ビットコインのシステムは、誰かが演算量証明を行うことにより成り立ちますが、演算量証明には電気代などのコストがかかります。コストを嫌がって誰もコンピュータを動かさなかったら、僅かなCPU能力でビットコインの世界を乗っ取れてしまいます。ではどうするか。そこも考えてあります。
6 ネットワーク参加者への報酬
ブロックの最初には、特殊な取引が記述される。ここに書かれるのは、コインが新たに生まれ、それをブロックの生成者が所有したという情報である。ブロックの生成者にコインを与えることは、各ノードがネットワークを維持する動機となり、また中央機関が権力を使ってコインを配分する代わりの枠組みともなる。新たなコインが一定量ずつ生まれることは、金鉱採掘に例えれば、資金を投入して金を採掘し流通に乗せることに該当する。資金に当たるのは、本システムではCPU時間や電力である。
コインの生成者は、報酬として取引手数料も受け取れる。これは、取引上の受取額を支払額よりも少なく設定できれば良い。その取引を含むブロックを生成した者が、差額を手数料として得る。将来、決められた全枚数のコインが流通に乗った暁には、インフレから解放された状況が出来上がるが、それ以降は取引手数料がブロックを生成する動機となる。
報酬には、各ノードが不正を働かないように動機付ける役割もある。もし、欲張りな攻撃者がCPU能力を集め、善良なノード群のそれを上回ったとする。攻撃者はその能力を、自身が支払った額を奪い戻して横領するか、真っ当な方法で新たなコインを生成するかのどちらかしか選択できない。この場合、ルールを破り通貨システムと自身が持つ価値を崩壊させるよりも、ルールに従って、新たに生まれるコインの過半数を得る方が賢明だと、判断するだろう。
中国で高級グラフィックスカードや専用機械が馬鹿売れした理由が、ここにあります。「善良なノードが大多数ならばシステムが上手く働く」という理屈を各自が理解しても、電気代やハードなどのコストを費やして演算量証明を実行しようとは思わないでしょう。報酬に釣られて多数の人がPCを動かすからこそ、結果的に不正が難しくなるわけです。
各自が利己的な選択を行っても上手く働くシステムというのは、作るのが難しいものです。ビットコインでは、むしろ参加者が利己的に動くことを利用して、ネットワークのセキュリティを確保します。「コインの最初の所有者をどう選ぶべきか」という問題もこれで解決するわけで、実に巧妙な仕組みだと感じます。
ところで、手数料の決定権は送信者側にあるそうです。そしてブロックの生成者は、手数料が低すぎだと思ったら、その取引をブロックに入れなくて良い(次のブロック生成者に先送りする)とされています。もっとも、ビットコインのソフトウェアでは、ほとんどが推奨の額で固定されていて末端ユーザは変えられないようですが。これが変えられるようになると、ゲーム理論的に面白そうです。一度しかブロックを生成しないのなら、すべての取引を受け入れるのが最適解でしょう。しかし何度もブロックを生成できるのなら、手数料が低い取引は落としてユーザが額を上げるよう仕向けた方が良いでしょう。囚人のジレンマ問題の亜種ですね。
最近のコメント