ブロックチェーンの仕組みって!?基本構造と51%攻撃について
ブロックチェーンという言葉を聞いたことがある方は多いでしょう。ですがブロックチェーンがどのようなものか、またどのような構造になっているのかなどを知っている方はあまり多くはないのではないでしょうか。 今回はブロックチェーンの基本構造がどのようなものか説明していきます。


今日はブロックチェーンの構造についてじゃ

ブロックチェーン自体はイメージあるんだけど、そういえばその中身ってわかった気になっていたかも。それになんかすごい難しい印象なんだよ

なら今回はできるだけ噛み砕いてブロックチェーンの構造について説明していくぞい
ブロックチェーンの将来
ブロックチェーンというと、ビットコインなど仮想通貨を想い浮かべるかもしれません。
ですが近い将来、様々な分野のものに応用が可能だといわれています。例えば契約書や証券、債券などです。
現在でも、すでにブロックチェーンを使ったゲームがリリースされていますが、今後は今まで以上に面白いアプリケーションやブロックチェーンが出てくるのではないかと予測できます。
ブロックチェーンのブロックの仕組み
まずブロックチェーンのブロックがどのようなものなのか、またどのような構造になっているのかを説明していきます。
ブロックの中身
ブロックの中にはブロックヘッダといわれているものと、トランザクションリストといわれている2つが入っています。
ブロックヘッダの中には直前のブロックのハッシュ値、マークルルート、ナンスなど。トランザクションリストには取引データが入っています
ブロックヘッダとは
ブロックヘッダはツリー状になっている取引情報の一番上にあるものです。
ブロックヘッダの中には直前のブロックハッシュ値、ブロックが作られた時間やナンス値、トランザクションの数が入っています。
ハッシュをかけたとき必要なプルーフ・オブ・ワークの難易度を満たしていれば、正常なブロックとし、認められ、ブロックチェーンに繋ぐことが可能です。
ですが、直前のブロックの内容が少しでも変わってしまうと、ブロックのハッシュ値が変わってしまうので、後のブロックとの整合性が取れなくなってしまいます。以上のことからブロックチェーンが改ざんされ難いと言われている理由です。
他にもビッツという難易度とハッシュ値と比較して、条件が合っているかの検証やブロックを作った日にちが記録されるタイムスタンプなどがあります。
マークルルートとは
マークルートとはブロック内の全トランザクションの要約値です。
取引記録をツリー状にしてマークルルートを作る、これをマークルツリーと言います。またてっぺんにあるのがマークルルートです。
ブロックにこのブロックがどういうものなのかを記録していきます。
新しいブロックができる方法
新しいブロックを作るにはマイニングという作業が必要です。
マイニングとはブロックを完成させるために必要なナンスを探す競争といってよいでしょう。
マイニングを成功し報酬を得られるまでの工程をまとめると以下の通りになります。
1. 計算問題を誰よりも早く解く。
2. 次にナンスを見つけることでマイニングの報酬権利を得る。
3. 最後にブロックチェーンに新しくできたブロックを繋げマイニングの報酬が貰える。
ブロックチェーンの正当性と51%攻撃
最後にブロックチェーンの正当性とはどのようなものなのか。そしてブロックを改ざんしてしまうと51%攻撃について説明していきます。
最も長いチェーンが正しいチェーン
ビットコインなどのProof of Worksを採用しているブロックチェーンは最も長いチェーンが正当なチェーンと定義されています。
最も長くなったチェーンに記録されたトランザクションが、他のノードから承認されたとものだと認定されているからです。
仮に2つのブロックが誕生したとしましょう。一方はA、もう一方はBとします。
Aはマイニングが盛んでブロック生成のスピードが非常に速いのが特徴です。
ですがもう一方のBはマイニングをしている人があまり多くなく、ブロックを生成するスピードがもう一方に比べて非常に遅れてしまっています。
この場合マイナー達は「Aの方が正しいチェーンなんだ」と長いチェーンを掘るマイナーたちが増えるということです。
結果Aとの競争で負けてしまったチェーンは、トランザクションの未承認状態となり、時間がたつと正当なチェーンに取り込まれるようになります。
同じタイミングで条件をクリアした場合は?
もし同じタイミングで条件をクリアした人が複数いた場合どうになるのでしょうか。
ブロックは2つに分岐します。その後マイナー達は分岐したいずれかのブロックのマイニングにとりかかります。
この時、間違った方をマイニングしてしまったら損をしてしまうので、より多くのマイナー達が選ぶであろうブロックを選ばなければなりません。
またマイナー達はハッシュパワーの高い方のブロックを優先的にマイニングするようになります。
51%攻撃とは
51%攻撃というのは全体の過半数を支配することで、ブロックを改ざんしてしまう攻撃のことをいいます。
ブロックチェーンには『長いチェーンがより正しいチェーン』という定義があります。これを逆手に取った攻撃です。
つまり、先ほどのAとBのチェーンがあったとします。
正しいチェーンが仮にAだったとしても、多くの計算力を使いブロックを作り続けることによって、Bのチェーンの方がAよりチェーンが長くなってしまうと、元々正しいチェーンだったAが正しくないチェーンとなってしまいます。
結果、51%以上の過半数の計算力を有してしまえば、ブロックチェーンの書き換えができるようになってしまうというものです。この51%攻撃によって取引所が被害を受けるケースがあります。
ただ51%攻撃膨大な設備や費用などを考慮してもメリットはかなり低いといってよいでしょう。

どうじゃ少しはブロックチェーンの仕組みが分かったんじゃないか?

結構難しかったけど、少しわかったような気がするよ

ふむふむ。新しい技術の表面的なことだけでは無くコアな仕組みをしるのも重要なんじゃ。

ちょっと苦手だけど、ちゃんと技術的なことも学んで行く必要があるね!