「ブロックチェーン」が盛り上がっています。スキャンダラスに騒がれているのは、ブロックチェーンを利用したビットコインなどの「仮想通貨」です。
「コインチェック社が580億円盗まれて、消えちゃった!?」
「ビットコインは、5年で1000倍になったらしい・・・」
「マネーロンダリングの温床じゃないか!?」
「あやしい・・・」
「こわい・・・」
などいろいろな感想をもたれていると思います。
今回は、この「ブロックチェーン」をものすごく短くシンプルに解説します。
インターネットだってそもそもあやしかった
インターネットそのものも、インターネット上で発展し普及した技術も、そもそもみんな出た当初は、怪しいものとして認知されていました。
なので、あやしい感じがするからやめとこう、避けておこう、というのは合理的な判断ではありません。
そして、専門家の間では、ビットコインなどの「仮想通貨」よりは、その基盤技術である「ブロックチェーン」のほうが期待され盛り上がってきています。
「ブロックチェーン」とは、
参加者は、全員が、読み書きできるが、絶対に「ズル」できない記録方法。
(34文字)
コンピュータは普通、一回書いても、あとから自由に書き換えられます。あとから自由に書き換えられるのがそもそものメリットだったはずです。
しかし、「ブロックチェーン」は、「1回書いたらあとから書き換えできない」を実現します。そもそも自由に書き換えやコピーができるコンピュータ技術の上でこれを実現するところがミソです。
ブロックチェーンは「分散型台帳」:みんなで同じコピーを持つ
関連の書籍を読むと、ブロックチェーンとは分散型台帳である、と書かれています。分散型台帳には、次の2つの要素が含まれています。
- 1)管理者が必要ない(取り締まったり監視したりするヒトは不要)
- 2)突然1人ぐらいいなくなっても平気(突然増えても平気)
これを実現する考え方はおそろしくシンプルです。
「みんなで同じコピーを持つから。」
「ブロックチェーン」とは、みんなで同じ台帳のコピーを持ち続けるための技術、と言い換えできます。
「ズルできない」を実現する2つの技術
そもそもコピーも修正も可能なパソコンのデータを、書き換え不可能にするために次の2つの技術が使われています。
- 1)ハッシュ関数
- 2)公開鍵暗号
ハッシュ関数とは、
計算してみないと出てくる値がわからない(予測できない)関数
ブロックチェーンで利用される一方向ハッシュ関数
ハッシュ関数にはいろいろな計算がありえるのですが、ブロックチェーンで利用されるハッシュ関数の条件は次の3つです。
- 出てきた値をみても、入れた値がわからない(元の値を計算できない)。
- 違う値を入れたら、違う値が出る(かぶらない)。
- どんな値を入れても、同じ桁数になる(送りやすい)。
頭の良い人達が考えると、こういう数式ができるんですね! と軽く考えましょう(笑)
公開鍵暗号方式が世に出た背景
公開鍵暗号を理解するには、そもそも公開鍵暗号が出てきた背景、解決したかった課題を考えるのがわかりやすいです。
「暗号」と聞いて、ごく普通に連想するのは、送る側は秘密の合言葉を使って暗号を作り(暗号化)、受け取る側はその秘密の合言葉を使って解読する(復号化)ことです。これを「共通鍵暗号方式」と呼びます。(秘密の合言葉=共通鍵、と言い換えています。)ここで問題が発生します。
「秘密の合言葉は、どうやって送ったらいいの?」
暗号文と同じようにメールで送ったら意味がない感じがします。(実際にはビジネス現場などで行われていますが・・・)暗号文を盗み読みできるヒトは秘密の合言葉も盗み読みできるはずです。とすると、電話でしょうか、手紙?FAX?・・・かっこ悪いですね。
「公開鍵暗号方式」が登場する背景には、秘密の合言葉を送らずに、暗号文を送ることができたら・・・というニーズがあったのです。
公開鍵暗号方式とは
そこで、こういうことができる計算方法(数学)が発明されました:
- 全員が、「公開鍵」「秘密鍵」の2つのカギを作っておく。
- 自分の「秘密鍵」と相手の「公開鍵」を使って、暗号化したら、
- 相手の「公開鍵」と自分の「秘密鍵」を使って、復号化できる。
ややこしいです。
「公開鍵」は全世界に広く公開します。
「秘密鍵」は完全に秘密にします。
「公開鍵」と「秘密鍵」の作成は、ネットにつながなくても計算できます。よって、秘密の合言葉を使わなくても、暗号文を盗み読みされずに送ることが可能となりました。
ビットコインでは、「公開鍵」=「口座番号」となっています。
その対になる、「秘密鍵」は絶対漏らしちゃダメ、なくしちゃダメです。なぜなら、ビットコインの世界では、秘密鍵紛失=お金紛失となるからです。さらに、秘密鍵が盗み読みされた場合、その口座=公開鍵にあるおカネは自由に引き出し可能となります。
「分散型台帳」には何が書かれているか
ビットコインを例にしてブロックチェーン=分散型台帳に何が書かれているかを見ていきます。
台帳には、取引の記録がひたすら書かれています、つまり、たとえば:
- AさんからBさんに送金:3コイン
- CさんからDさんに送金:2コイン
- EさんからAさんに送金:1コイン
- ・・・
という記録がえんえんと書かれています。
ビットコインでは、AさんBさんを表現しているのは「公開鍵」そのものです。1行の送金の記録を、「トランザクション」と呼びます。「トランザクション」をいくつかまとめて台帳に追加する1回分を「ブロック」と呼びます。ビットコインでは、この「ブロック」が10分おきに追加されます。
このブロックをハッシュ関数で計算して、数字を作ります。その数字を使って次のブロックを追加します。つまり、「ブロック」が、ハッシュ関数でつくられた「チェーン」でつなげられた状態です。
よって、この技術を「ブロックチェーン」と呼びます。
たとえば、いったん追加された「ブロック」を書き換えた場合、「チェーン」の数字も変わります。つまり、ズルするとバレちゃうわけです。「ブロック」にはその前の「チェーン」が含まれていますから、1つの「ブロック」を書き換えようと思ったら、そのあとの「ブロック」もすべて書き換えないとズルできないわけです。
まとめ
ビットコインなどの仮想通貨を支える技術である「ブロックチェーン」を紹介しました。
コメント