2008年のBitcoinの開始以来、ピア・ツー・ピアの電子キャッシュシステムとして、他にも多くの仮想通貨が作成され、それぞれが特定のメカニズムを備えています。しかし、ほぼすべての仮想通貨に共通していることの1つは、アーキテクチャのコア要素としてのブロックチェーンです。
いくつかの例外を除いて、ブロックチェーンは意図的に分散化されるように設計されており、コンピュータノードの分散ネットワークによって維持されるデジタル元帳として機能します。このため、ブロックチェーン技術によって、仲介者を必要とせずに透明で信頼性の高い金融取引を実行できる信頼が不要な経済システムの作成が可能になりました。仮想通貨は、信頼に大きく依存している従来の銀行や支払いシステムの実行可能な代替手段として採用されています。
ほとんどの分散コンピューティングシステムと同様に、仮想通貨ネットワークの参加者は、ブロックチェーンの現在の状態について定期的に合意する必要があり、それがコンセンサス達成と呼ばれるものです。ただし、分散ネットワークで安全かつ効率的な方法で合意に達することは、簡単な作業ではありません。
では、一部のノードに障害が発生したり、不正に行動したりする可能性がある場合、コンピュータノードの分散ネットワークはどのようにして決定に同意できるのでしょうか。これは、ビザンチン・フォールト・トレランスの概念を生み出した、いわゆるビザンチン将軍問題の根本的な問題です。
ビザンチン将軍問題とは?
一言で言えば、ビザンチン将軍問題は、ビザンチン帝国の将軍たちが次の動きに同意しようとするときにコミュニケーションの問題をどのように抱えるかを示す論理的なジレンマとして1982年に考案されました。
ジレンマは、各将軍が独自の軍隊を持っており、各グループが攻撃しようとしている都市の周りのさまざまな場所に配置されていることを前提としています。将軍は攻撃するか後退するかに同意する必要があります。すべての将軍がコンセンサスに達する限り、つまり、それを調整して実行するために共通の決定に同意する限り、彼らが攻撃するか撤退するかは関係ありません。
したがって、次の要件を検討する場合があります。
各将軍は、攻撃するか撤退するかを判断しないといけません。
決定が下された後は、変更することはできません。
すべての将軍は同じ決定に同意し、同期した方法で実行する必要があります。
前述の通信の問題は、ある将軍が通信兵から渡されたメッセージを介してのみ別の将軍と通信できるという事実に関連しています。その結果、ビザンチン将軍問題の中心的な課題は、メッセージが何らかの形で遅れたり、破壊されたり、失われたりする可能性があることです。
さらに、メッセージが正常に配信されたとしても、1人以上の将軍が (何らかの理由で) 悪意を持って行動し、他の将軍を混乱させるために不正なメッセージを送信することを選択し、完全な失敗につながる可能性があります。
このジレンマをブロックチェーンのコンテキストに適用すると、各将軍はネットワークノードを表しており、ノードはシステムの現在の状態についてコンセンサスに達する必要があります。別の言い方をすれば、分散ネットワーク内の参加者の大多数は、完全な障害を回避するために、同じアクションに同意して実行する必要があります。
したがって、これらのタイプの分散システムでコンセンサスを達成する唯一の方法は、少なくとも2/3以上の信頼性が高く正直なネットワークノードを持つことです。これは、ネットワークの大部分が悪意のある行動を決定した場合、システムは障害や攻撃 (51%攻撃など) の影響を受けやすいことを意味します。
ビザンチン・フォールト・トレランス (BFT)
一言で言えば、ビザンチン・フォールト・トレランス (BFT) は、ビザンチン将軍問題に由来する障害に抵抗できるシステムの特性です。これは、BFTシステムが、一部のノードに障害が発生したり、悪意を持って動作したりしても、動作を継続できることを意味します。
ビザンチン将軍問題には複数の可能な解決策があり、したがって、BFTシステムを構築する方法は複数あります。同様に、ブロックチェーンがビザンチン・フォールト・トレランスを達成するためのさまざまなアプローチがあり、これはいわゆるコンセンサスアルゴリズムにつながります。
ブロックチェーン・コンセンサスアルゴリズム
コンセンサスアルゴリズムは、ブロックチェーンネットワークがコンセンサスに達するメカニズムとして定義できます。最も一般的な実装は、Proof of Work (PoW) とProof of Stake (PoS) です。ですが、今回はBitcoinを例として取り上げましょう。
Bitcoinプロトコルはシステムの主要なルールを規定していますが、PoWコンセンサスアルゴリズムは、コンセンサスに達するためにこれらのルールがどのように従うかを定義するものです (例えば、トランザクションの検証と承認)。
Proof of Workの概念は仮想通貨よりも古いですが、サトシナカモトはBFTシステムとしてのBitcoinの作成を可能にするアルゴリズムとして、それを修正したバージョンを開発しました。
PoWアルゴリズムはビザンチン・フォールトに対して100%耐性があるわけではありませんが、コストのかかるマイニングプロセスと基盤となる暗号化技術により、PoWはブロックチェーンネットワークにとって最も安全で信頼性の高い実装の1つであることが証明されています。その意味で、サトシナカモトによって設計されたProof of Workコンセンサスアルゴリズムは、ビザンチンの・フォールトに対する最も天才的な解決策の1つとして多くの人に考えられています。
まとめ
ビザンチン将軍問題は興味深いジレンマであり、最終的にはBFTシステムを生み出し、さまざまなシナリオで広く適用されています。ブロックチェーン業界以外にも、BFTシステムのユースケースには、航空、宇宙、原子力産業などがあります。
仮想通貨のコンテキスト内では、効率的なネットワーク通信と優れたコンセンサスメカニズムを持つことは、ブロックチェーンエコシステムにとって不可欠です。これらのシステムのセキュリティ保護は継続的な取り組みであり、既存のコンセンサスアルゴリズムはまだいくつかの制限 (スケーラビリティなど) を克服していません。そういう制限はありますが、PoWとPoSはBFTシステムとして非常に興味深いアプローチであり、潜在的なアプリケーションは確実に広範なイノベーションを刺激しています。