ブロックチェーンは「Satoshi Nakamoto」と名のる謎の人物が投稿した論文が発端になり、2009年のビットコイン運用開始につながった。この論文にあるのが図1に示すブロックチェーンの概念図だ。
基本的には参加者の公開鍵と秘密鍵のペアを用いる公開鍵暗号方式を用い、電子署名で通信の盗聴、改ざん、成りすまし、否認を防いでいることが分かる。その取引の仕組みの単位になるのが「ブロック」だ。図中の大きな四角がブロックに当たる。それが幾つも連なっていくので「ブロックチェーン」というわけだ。
ビットコインの場合の例でいうと、1つのブロックでは約10分間の入金と出金の取引記録をため、チェーンの前のブロックのデータの塊を自分の公開鍵を利用してハッシュする。ハッシュ関数はSHA-256はじめいろいろあるが、元のデータが1ビット違えば全く違った結果になる。多数の参加者が同じ作業を行うので、出てくる結果は多様だ。
その中で、例えば0が何桁そろっているというような特定の条件に一番近い結果(最小の値)を出した人が「勝ち」となり、その人に報酬と手数料が支払われ、同時にブロックチェーンにそのブロックをつなげる権利が与えられる。
あらかじめ想定したハッシュ値を出す方法は存在しないので、これはいわば「当たるも八卦」のクジ引きだ。計算能力を使って何度もトライしてみると、それだけ「当たる」可能性が高くなる。その作業が探鉱に似ているということで「マイニング」と呼ばれている。
参加すればするほど、マイニングすればするほどビットコインが生まれて参加者がもうかる可能性が広がるわけで、それがこの「ゲーム」に参加するインセンティブになっている。
これだけでは分かりにくいだろう。図2を見てみよう。ビットコインのアプリケーションを起動すると、参加者全員とP2Pの通信ネットワークに自動的に参加することになる。そのネットワーク内である人がビットコインを相手に支払うとする。するとその情報がネットワーク上にブロードキャストされる(図2左)。直接つながっていなくとも、バケツリレー式に中継されて、全参加者に行き届くようになっている(図2右)。
条件に当てはまるハッシュ値を出した参加者は、その値をブロードキャストし、他の参加者がそれを検証できる仕組みだ。もしも取引データを改ざんすると、ブロックのハッシュ値が変わるので、マイニングはやり直しになり、その次のブロックでもまたやり直しになる。正規取引で行われているマイニングの進行を追い越していくことはできず、これが改ざん防止の役目を果たしている。
なお、どこに取引台帳があるかというと、参加者それぞれが全部持つことになる。ビットコインの場合は公開取引台帳をインターネットで参照できる。
何となくイメージがつかめただろうか。ビットコインがお金をマイニングで作り出すと聞くと、何もないところからなぜ価値が生まれるのか不思議に思う向きもあるだろう。以上のような仕組みがあること、多数の参加者がいなければこの仕組みを支えられないことが分かれば、これを維持するために無償ボランティアに頼るのではなく、報酬目当ての参加者が必要なことも理解できよう。自分のコンピュータの計算能力を利用してこの仕組みを維持する報酬が得られるシステムだと考えると納得できるだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。