見出し画像

ブロックチェーン入門_#10:ブロックチェーン技術 ナカモト・コンセンサス - 歴史を一つに

Bitcoin(ビットコイン)のみならず様々なブロックチェーンで採用されている「ナカモト・コンセンサス」とはどんなアルゴリズムなのでしょうか。概要と考え方を解説します。


コンセンサスとは何か

分散システムにおけるコンセンサスは、並行して計算に参加している、壊れていない複数のコンピュータから見て、同じ変数の値が一致することです。

人間が何かに合意することとは異なり、コンピュータの間で特定のアルゴリズムによって自動的に値を選んでいきます。

ブロックチェーンにおけるコンセンサス

ブロックチェーンでは、ブロック番号が変数の名前となり、ブロック(のダイジェスト)がその値となります。

壊れていないコンピュータなど正常な参加者から見て、同じブロック番号に対して同じブロックが見える状態を目指すことが、ブロックチェーンにおけるコンセンサスとなります。ですが、複数の参加者が同じ番号のブロックを別々に作って提案するようなことも起きるため、そのままにしておくとコンセンサスは実現できません。ではブロックチェーンではどのようにしてコンセンサスを実現しているのでしょうか。

ナカモト・コンセンサスの考え方

■ナカモト・コンセンサスとは?

ナカモト・コンセンサスとは、「作成に要したコストが最も高い履歴(チェーン)が一番正しい」というルールでコンセンサス、すなわち全員が同じブロック番号に対して同じブロックが見える状態を実現する考え方です。ブロックチェーンでは、ハッシュチェーンの構造により、累積したコストがより高いほど改ざんがより困難です。ブロックチェーンの目的の一つは耐改ざん性の実現のため、最も改ざんが困難な履歴を全員が選ぶというこの方法は、理に叶っていると言えます。

■プルーフ・オブ・ワークとナカモト・コンセンサス

プルーフ・オブ・ワークのコストは、ブロックのダイジェストを比較する対象であるターゲット値が小さいほど高くなるので、ターゲット値の変遷と、最終のブロック番号を見ていくことでコストを推定できます。ターゲット値が小さく、最終のブロック番号が大きいほど、推定されるダイジェストの計算の試行回数は大きくなります。

チェーンが分岐した場合、それぞれのチェーンの末端についてこの推定を行い、最もコストが大きい履歴を選択します。

Bitcoinは正にこの方法でナカモト・コンセンサスを動かしています。 Ethereum (イーサリアム)は、プルーフ・オブ・ステークに移行した2022年9月までの間、より複雑なチェーンの構造を用いた拡張的なナカモト・コンセンサス(GHOST : Greedy Heaviest Observed SubTree)を用いて正統なチェーンを決めていました。

■その他の方式とナカモト・コンセンサス

ネイティブトークン の デポジット 額に基づく「 プルーフ・オブ・ステーク 」においても、デポジット額というコストを用いてナカモト・コンセンサスを適用できます。2022年9月の移行以来、EthereumではLMD-GHOST(Latest Message Driven GHOST)と呼ばれる、デポジット額による重み付けを用いた方法を採用しています。(関連単元:ブロックチェーンの課題解決になるか - プルーフ・オブ・ステーク編

ここまでで、ブロックチェーン技術関する基本的な解説は完了します。具体的に手に触れて理解するのが難しい分野なので理解が不十分だと感じる方も多いと思いますが、ここでブロックチェーン入門#1を改めて読んでみると、学習前とは明らかに理解度に変化が生じていることを実感していただけると思います。

前回呼んだ時にはチンプンカンプンだった内容が、今は少し輪郭を帯びて理解できるのではないでしょうか。この内容は暗記するものではなく、今後実務を通じて触れた際に、都度確認することで、ロジックで理解できるようになりますので、ご安心ください。ひとまずはお疲れ様でした。

次回以降はブロックチェーン技術の課題やその解決策について解説していきます。


Web3ポケットキャンパスはスマホアプリでも学習ができます。
アプリではnote版にはない「クイズ」と「学習履歴」の機能もあり、
よりWeb3学習を楽しく続けられます。

ぜひご利用ください
▼スマホアプリインストールはこちら

この記事が気に入ったらサポートをしてみませんか?