ビットコインのブロックチェーンで承認に10分かかる理由

ブロックチェーン技術は、複数のコンピューター間で取引台帳を改ざんが限りなく難しい形で分散管理する仕組みですが、なぜビットコインの承認(取引のConfirmation=台帳への書き込み)には最低10分もかかるのでしょうか?
こちらを解説していきたいと思います。

取引履歴を台帳に書き込めるコンピューターは世界中で10分に1つだけ

ビットコインでは、そのネットワークに参加する複数のコンピューターで計算問題(クイズのような物)の回答を10分間の間競って探しています。

このクイズは前回のクイズが解かれるまでにどれぐらいの時間がかかったかで、難易度が決定されるためいきなりネットワーク上のコンピューターの数が膨大な数、減ったり増えたりしなければ、かならず10分ほどで解けるようになっています。

そして、このクイズを解いたコンピュターだけが取引履歴を、クイズの回答とくっつけて台帳に書き込めるのです。(この時ビットコインの送受信が初めてネットワーク上で1承認されることになります)

※取引履歴とはA→Bに0.1BTC送った 等の取引内容でトランザクションと呼ばれます。クイズの回答と取引履歴はセットで台帳に書き込まれ、この1単位をブロックと呼びます

この時、クイズの回答を見つけたコンピューターはすべての取引履歴の手数料と、報酬であるビットコインを自分がもらったことにして一緒に台帳に書き込むためビットコインをゲットすることができるわけです。

この報酬目当てで世界中で多数のコンピューターがビットコインをマイニングしています。

どんなクイズを解いているのでしょうか?

ビットコインネットワークに参加していて、クイズを解き続けているコンピュターをマイナー(採掘者)といいます。ビットコインのマイナーが解いているクイズは、下記のようなものです。

何らかの数値AをSHAというハッシュ化関数で変換すると0が複数先頭に並ぶ数値A

※厳密にいうとハッシュ化された文字列より大きな数を探しているのですが0が結果として先頭に複数並んでいる形になります

マイナーたちが見つけたハッシュ値はこちらのページなどから確認できます

ハッシュ化とは、特定の情報を64文字の16進数文字列に変えてしまう変換方法で、何らかの情報をハッシュ化するのは簡単ですが、ハッシュ化された文字列から元の情報を探し出すのは非常に困難になっています。

つまり、ハッシュ化された文字列がクイズの回答であるかを判定するのは簡単ですが、逆にクイズの答えのハッシュだけを見つけるのは非常に難しいという特性を持っています。

上記のハッシュ値探しのクイズの難易度は、0がいくつ先頭に並ぶかを調整する変更可能であることから前回までの回答が見つかったまでの時間から決定されます。

なぜハッシュ値の計算が難しい必要があるの?

なぜこんなややこしいことをして台帳書き込みを制限するかについてですが、例えば悪意を持ったコンピュターが自分に巨額のビットコインが送信されたという取引履歴を台帳に書き込みたいと思った場合、必ずクイズの回答も一緒に書き込まないと他のビットコインネットワークのコンピュターはその取引履歴を受け入れないため、そのハッシュ値も作る必要がありますが、前述のように膨大な計算が必要なことからそれが困難になります。
ビットコインのネットワークのルールに従っている参加者が多ければ多いほど台帳の堅実さが増す形になります。

たくさんのネットワーク参加者が不正なブロックを承認してしまったらどうなる?

不正なトランザクションを含む、嘘のクイズの回答を多数のコンピューターが台帳に書き込んでしまったらどうなるのでしょうか?
これは可能ではありますが、ビットコインのルールに従っているコンピューターの方が多い場合、その台帳は拒否されるためネットワーク上の主流とはなりません。もし50%以上の不正なコンピューターがあればビットコインの信頼性は上記の理由によって崩壊します。この攻撃は51%攻撃と呼ばれています。

回答を見つけたマイナーがうその取引履歴まで書き込んだらどうなる?

クイズの回答を見つけたマイナーはどんな取引履歴も書き込むことができます。しかし、ビットコインには、台帳のクイズの回答と取引内容の正確性も検証するプログラムがついているためこちらも複数の善意のネットワーク参加者が拒否すると、せっかくクイズの回答を見つけたのにネットワーク上で孤立したデータとなってしまうので無駄になってしまうようになっています。

複数のマイナーが10分以内に回答を見つけてしまうことはあるの?その時はどうなる?

これも実は可能性としてはあり得る話で、この場合台帳は2つに分岐してしまうことになりますが、ネットワークに参加しているコンピューターは最も記録が長い取引台帳を受け入れるために、このような状態が何回も起こらない限り、やがて台帳記録は1つの鎖に戻り、どちらかのブロックはネットワークから消えてしまうことになります。

承認にある程度時間がかかる事こそが、ブロックチェーンの改ざん不可能性を高めている

ビットコインの承認に10分かかる理由は、その間に無数のコンピューターが大量のリソースを消費して計算したことがハードルとなるため、ブロックチェーン事態の安全性を担保するための必要条件であることがわかります。

ただ、リップル等、非常に高速に取引履歴が承認される通貨もあります(数秒)。これらの通貨はビットコインと違い中央管理のコンピューターがあり、分散型台帳と中央サーバーが混在して機能することで承認を早くする仕組みが組み込まれているのです。

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です


    上の計算式の答えを入力してください