画期的!難題の合意形成にブロックチェーンが出した答えとは?|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  画期的!難題の合意形成にブロックチェーンが出した答えとは?

画期的!難題の合意形成にブロックチェーンが出した答えとは?

2018.12.20

コラム

画期的!難題の合意形成にブロックチェーンが出した答えとは?

ブロックチェーンがビザンチン障害を乗り越える!
ブロックチェーン技術は、いまやインターネット以来の革命をもたらす可能性を秘めた存在ともいわれ、あらゆる分野のシステムを根幹から変革する、次世代の基盤技術として注目されるものになっています。

仮想通貨をきっかけとして、飛躍的に知名度を上げたブロックチェーンですが、その応用範囲は社会全般に及ぶといっても過言ではないほどに幅広く、高い透明性と信頼性、耐改ざん性、ゼロダウンタイムを実現する安定性、永続的に運用可能な仕組みといった数々のメリットを備えています。

しかし、さらに画期的で注目すべきポイントは、ブロックチェーンがビザンチン障害の問題を克服できる、ビザンチン・フォールトトレラント性のある技術になっているという点でしょう。そこで今回は、この優れた性質を獲得したブロックチェーンにおける合意形成の仕組みについて、少し詳しくみていくこととします。

価値共有ネットワークだからこそ、その経済インセンティブを組み込む仕組みに!
ブロックチェーンは、特別な権限を有する管理者、中央となるポイントを置かない非中央集権的なネットワークで成り立っています。不特定多数の参加ノードはみな等しい地位にあり、PeerであるP2Pのネットワークとなっています。

こうしたP2Pの分散型ネットワークを採るシステムの場合、ビザンチン将軍問題と呼ばれる難問がつきもので、不正情報や障害により、ネットワーク全体としての合意形成ができなくなる、それによって全体が機能しなくなるリスクがあります。

この問題によって発生するビザンチン障害に対処できることをビザンチン・フォールトトレラント性(BFT)といいますが、ブロックチェーンでは、独自の合意形成の仕組み、コンセンサスアルゴリズムをあらかじめ組み込むことで、この性質を獲得、問題への現実的な解決策とし、適正な運用が継続されていくようにしています。

しかし、ネットワークに参加する不特定多数のみなで、意見をまとめる中央を置くことなく、この取引は正しいと認めて不正を防ぐ合意を行うこと、また誰がどのようにブロックを生成・追加するか、代表を決めるといったことは、やはり簡単にできることではありません。それ相応の工夫が必要であり、またその仕組みが継続的かつ自律的に機能していくよう設計しておくことが求められます。

そこでブロックチェーンでは、この合意形成が必要なシーンで、条件を満たす働きをしたノードに、また正しい選択をしたノードにのみ経済的利益を与え、そうでないものには利益が与えられないものとしました。

ブロックチェーンのネットワークは、いわば認め合う価値交換の記録の確かさを担保し合っている、同じ価値を共有し合った集まりですから、それに基づくインセンティブが設定されていれば、ノードはその利益となる行動をとるため、適正な合意の形成が常に導かれていく、合意が覆る可能性は時間経過とともにゼロに限りなく近づいていくと考えられたのです。

ビットコインにみる具体例
ブロックチェーンに組み込まれた合意形成のアルゴリズムには、いくつか種類があり、それぞれに特性がありますが、ビットコインの例でこれを具体的にみてみましょう。

ビットコインの場合、ブロックの生成権限はどのノードにも等しく存在します。この多数のノードの中で、誰が実際にブロックを生成し、追加するかは、いち早く条件を達成する計算力で決定する仕組みとなっています。

ブロックには、トランザクションデータの他に、1つ前のブロックのハッシュ値と、ハッシュ値をできる限り小さくする特別な使い捨ての値、ナンスが含まれますが、このナンスを発見するには膨大な計算リソースが必要になります。このリソースを提供し、最初に発見する労働を果たしたノードに、対価として報酬を与えるほか、ブロックの生成を可能とするのです。

こうした生成過程において、ほぼ同時のタイミングでナンスが発見されたり、不正にブロックの生成・追加が行われたりした場合、ブロックチェーンが枝分かれすることもあります。この分岐状態を解消し、正しいチェーンを決定するルールにも、計算力が鍵として用いられており、それぞれノードに計算を続けさせて、一定以上長さの差がついたら、その時点で長い方を正しいメインチェーンとして採用することになっています。同時にこのとき、短い方のチェーンは無効として破棄されます。そうして再び1つのチェーンに収束するのです。

長さが長いということは、それだけ多くの計算力が投入されたことを意味します。無効として破棄された短い方のチェーンは、承認が得られなかったものになりますから、ノードの活動にも報酬(ビットコイン)が支払われません。

よって、必然的に通常ノードは報酬が得られる可能性のある、正しいと思う方のチェーンについて計算活動を行うようになり、正しい合意がとれていくというわけです。

悪意のあるノードが不正なチェーンを正しいと認めさせようとするなら、こうしたネットワーク上の通常ノードが注ぎ込む総計算力を上回る莫大な計算力・リソースを投じ、ブロックの追加、チェーンの延伸をさせ続けなければならず、これ自体が現実的におよそ不可能であるほか、無効になれば報酬も得られないため、全くメリットがありません。ですから不正は非常に高い確率で防がれると考えられます。

このように、ビットコインが報酬として得られるという経済的利益を組み込むことで、ブロック生成にかかる代表ノードの決定も、分岐の解消も、ネットワーク全体の合意形成を図って半永続的に進められるようになっているのです。とくに一時的な合意の崩れは生じても、時間の経過によってそれが解消される点などは大きなポイントですね。

いかがでしたか。分かればシンプルな手法ですが、アイデアとしては非常に画期的です。ブロックチェーンを支える重要な仕組みとして、ぜひ理解を深めておきましょう。

▼DApps総研
https://dapps-info.com/

(画像は写真素材 足成より)