読者です 読者をやめる 読者になる 読者になる

とってもやさしいビットコイン

ビットコインの知識が全くない初心者の方でもビットコインがどういうものなのか分かりやすく理解できるブログを目指してます。

広告

ビットコインブロックチェーンが二分する時

ビットコイン基礎知識

f:id:jyutakugyoseiku:20161113215440j:plain

 

 

 

ビットコインはブロックチェーンという技術によって支えられております。そのブロックチェーンという技術だけを取り出してコスト削減に励む企業もあったりします。

ビットコインブロックチェーンの構造でマイニングをするマイナーが同時にブロックの承認をした場合はどうなるのでしょうか?

 

ブロックチェーンとは⇒ブロックチェーンとは - とってもやさしいビットコイン

マイニングとは⇒ビットコイン用語最頻出⁉「マイニング」とは - とってもやさしいビットコイン

 

 

 

 

ビットコインブロックチェーンで同時に承認されたブロック

 

ビットコインのブロックチェーンのシステムでは、ブロックの生成と承認をノードと呼ばれる参加者が行っていきます。

その順序としては

・ブロックに取引記録がたまっていく

・ブロックの取引が正当かどうか判断する計算が行われていく

・最初に計算に成功したノード(マイナー)がそれを全ノードに広める

・それを他のノードが正当かどうか判断する

・正当とみなせば前のブロックの一部を埋め込んだ次のブロックを各ノードが生成する

 

という順序でブロックチェーンは生成されていきます。

 

その際に、

・最初に計算に成功したノード(マイナー)がそれを全ノードに広める 

 という部分で全く同時に計算を成功したノードが皆に同じタイミングでそれを知らせてしまうという現象が起こることがあります。

 

するとブロックチェーンが二分されてしまいます。今まで一つの長いブロックチェーンにより皆が閲覧していた取引記録は二つに分割して存在してしまうのでしょうか?

 

 

サトシナカモトの答え

 

ビットコインを考案したサトシナカモトと呼ばれる人物(又は組織)はこのような現象にもしっかりと答えを用意しております。

それは、「最も長いブロックチェーンを正しいブロックチェーンとする」というものです。

つまり先ほどのような現象が起きた場合、

・受け取った二つの承認ブロックどちらも各ノードは保存をする

・次にブロックが承認するまで各ノードはどちらかのブロックで計算をしておく

・誰かがどちらかのブロックの次のブロックの承認をしたらそれを受け取り二つに分かれていたブロックの繋がらなかったブロックを破棄する

 

という方法でこの問題を解決します。

つまり、ブロックがもし二分してもいずれ一つになっていくようにできているのです。

更にこの方法で誰かが不正承認をしたとしても、ずっと同じような不正承認を続けなくてはならない為、計算に必要な多大な出力消費をしてまで不正を働く理由が無い、というモチベーション不在の方法を利用してサトシナカモトは中央管理者不在のシステムを作り上げたのです。

(このような不正承認をし続ける問題を51%攻撃と呼びます⇒ビットコイン問題点「51%攻撃」 - とってもやさしいビットコイン

 

 

まとめ

 

今回取り上げたのはビットコインブロックチェーンのシステムの一部です。学べば学ぶほど面白いビットコインの仕組み。世界のエンジニアが熱狂する理由がきっとわかるはずです。

 

 

ビットコインとブロックチェーン:暗号通貨を支える技術

ビットコインとブロックチェーン:暗号通貨を支える技術