マナティ

入門 暗号通貨

第3回 Bitcoinについて -中編-

最も基本的なBitcoinとその論文を参考に、Bitcoinのしくみを学んでいきます(全3回、中編)

65061_ext_02_0.jpg

はじめに

前回に引き続き暗号通貨の基本と言えるBitcoinについて、その論文を参考にBitcoinのしくみを学んでいきたいと思います。

ブロック

udon_03_01.png
引用元 http://bitcoin.org/bitcoin.pdf Satoshi Nakamoto 4ページ目

Bitcoinは、取引データをある程度まとめてハッシュ化(連載第1回参照)し、ブロックという単位を作ることにしました。そして次のブロックを生成する際に、前のブロックのハッシュ値を入れ、そのブロックの取引データと一緒にハッシュ化することにしました。これは信頼できるコンピューターしか参加していないネットワークであれば、このままでも十分です。ですが、Bitcoinの目指す不特定多数が入り乱れるネットワークだとこれだけでは不十分です。ハッシュ化するのは非常に簡単なので、偽の取引を簡単に作成できてしまいます。

Proof of Work

そこでBitcoinは、Proof of Work(仕事量による証明)というシステムを作り出しました。簡単に言えばコンピューターに「ランダムな数値をハッシュ化した際に最初のN文字がすべて0になる数値」を総当たりで計算させるというものです。演算にかかる時間は、Nがだんだん増えることによって指数関数的に増加します。ですが、本当かどうかというのはたった一度ハッシュ化するだけでいいのです。これにより、非常に手間のかかる演算をこなしたという証明ができます(実際には、ブロック内の全取引データのルートハッシュ値+前ブロックのブロックハッシュ+Nonceを合わせてハッシュ化して最初のN文字がすべて0になる数値を求めてます。これが「ブロックハッシュ」になります)。

これにより、ネットワーク内での意思決定の問題もすべて解決します。1つのコンピューターにつき1票を割り当てるようでは、不特定多数のコンピューターが入り乱れるネットワークでは攻撃者が簡単にシステムを崩壊させることが可能になってしまいます。ですが、仕事量による証明は1回ハッシュ化するごとに1票投じる権利が与えられるようなものです。さらにもっとも計算されたチェーン、最も長いチェーンが正しいチェーンであるとします。このしくみにより、善良なコンピューターの演算能力が悪意あるコンピューターの演算能力を上回っていれば、不正のないチェーンがより早く伸びるようになるしくみになりました。

また、Nの値(難易度)は、2016ブロック(約2週間)ごとに、約10分ごとにブロックが生成されるように自動で調整されます。これにより、マイニングに参加する者が増えても早くブロックが生成されすぎないようになってます。

マイニング成功者への報酬

そして、コンピューターの演算にインセンティブ(動機)がなくては、善良なコンピューターはボランティアですることになってしまいます。電気代もかかります(笑)。悪意あるコンピューターの演算能力が比較的簡単に善良なコンピューターの演算能力を上回ることが可能になるかもしれません。そこで、ブロックの生成者に新たに生まれたBitcoinを与えることにしました。これが、各コンピューターが計算、Bitcoinの用語で採掘(マイニング)というのですが、演算をするインセンティブになり、また中央機関がコインを発行する代わりのしくみにもなります。

新たに生成されるBitcoinは210000Block、約4年ごとに半減していきます。最初の報酬は50BTCだったのですが、2012年11月に半分の25BTCに、そして、2016年7月にさらに半分の12.5BTCになりました。さらにだんだんと報酬が半減していき、33回目の半減期(=約132年)、つまりあと約123年後に最小単位以下になるため報酬がゼロになります
先ほど言い忘れたのですが、コインを送るときに払う少額(10円前後)の手数料もブロック報酬に含まれますので、それ以降はブロック報酬は、手数料のみになります。

ちなみにこの手数料には2つの目的があります。1つはマイナーへの報酬を増やすため、もう1つは悪意があるトランザクションを大量に流す(DoS or DDoS)攻撃を防ぐためです。そうしないとコンピュータが落ちてネットワークが作動しなくなってしまうからです。

そしてこの報酬には、不正を働かないように動機付ける役割もあります。もし、攻撃者のコンピューターの演算能力が、善良なコンピューターの演算能力を超えたとします。攻撃者は、自分の取引を取り消すという不正を犯すか、普通にマイニングをし新たなコインを生成してに入れるかのどちらかしか選択できません。そうしたら、ネットワークの信頼を崩壊させさらにBitcoinの価値自体をも崩壊させるよりも、マイニングした方が儲かると判断しやすいということになります。このように、Bitcoinには、皆が利己的であり、そのような状況であってもシステムが回るようにできているのです。

現在のマイニングの状況

現在は多くの場合、専用の機械(ASIC)が使われ、普通のPCでは太刀打ちが不可能になりました。そして大規模なデータセンターのようなところでマイニングがされています。主に電気代の安い中国でマイニングがされてます。日本でも出きますが電気代が高いため、採算が取れないことが多いのです。 また「単独でマイニングしても成功する確率が低く、安定的に報酬を得ることができなくなったので、安定的に報酬を得るためみんなで協力してマイニングを行い、成功したときには貢献度(演算能力)によって報酬を分け合う」という、プールと呼ばれるところに接続してマイニングすることが一般化しています。これにより、数個のプールだけで演算能力が全体の50%を超える事態になっており、集中化が懸念されています。

「Bitcoinについて -後編-」に続きます。

著者プロフィール

うどん(著者)
Mt.Goxの件からBitcoinに気づき、興味を持つように。その後、そのほかの暗号通貨にも手を出すようになる。Twitterやブログなどで情報発信中。
ブログ:http://udon-cryptocurrency.hatenablog.com/
Twitter ID:@udon_crypto
Bitcoin Address:1Mmr1ff9bYTFzjDx5hgDNijsVh6B88iuV3