2008 年にピアツーピア電子金融システムとしてビットコインが誕生して以来、多くのデジタル通貨が作成され、それぞれが特別なメカニズムで動作します。しかし、すべてのデジタル通貨に共通しているのは、その構造の基本要素としてブロックチェーンであることです。
すべてのブロックチェーンは意図的に分散化されるように設計されており、いくつかの例外を除いて、コンピューター ノードの分散ネットワークによって維持されるデジタル台帳として機能します。このため、ブロックチェーン技術により、仲介業者を必要とせずに透明かつ信頼できる方法で金融取引を実行できる、信頼できる経済システムの構築が可能になりました。
デジタル通貨の使用は現在、信頼に大きく依存する従来の銀行システムや支払い方法に代わる実行可能な代替手段として受け入れられています。
ほとんどの分散コンピューティング システムの場合と同様、暗号通貨ネットワークの参加者は、ブロックチェーンが動作する現在の状態について定期的に合意する必要があります。これをコンセンサス達成と呼びます。しかし、分散ネットワークに関して安全かつ確実な方法で合意に達することは非常に困難な作業です。
では、コンピュータ ノードの分散ネットワークは、一部のノードが故障する可能性があるか、または違法に動作する可能性があるかどうかについて、どのように合意できるのでしょうか?これは、ビザンチン フォールト トレランスの概念が生まれた、いわゆるビザンチン将軍問題の基本的な問題です。
ビザンチンの将軍の問題は何ですか?
つまり、1982 年のビザンチン将軍問題は、ビザンチン将軍のグループが計画の次のステップについて合意しようとする際に、相互の意思疎通にどのように問題があるかを示す論理的なジレンマとして考えられました。
このジレンマは、各将軍が独自の軍隊を持っていること、各グループが攻撃しようとしている都市の周囲の異なる場所に位置していること、そして各将軍が攻撃か撤退のどちらかに同意しなければならないことを前提としています。すべての将軍が合意に達する限り、つまり、協調して実行するための共同決定に同意する限り、彼らが攻撃するか退却するかは問題ではありません。
したがって、次の目標を検討できます。
各将軍は攻撃するか撤退するかを決定しなければなりません (はいまたはいいえ)。
一度決定すると変更することはできません。
すべての将軍は同じ決定に同意し、それを同期した方法で実行する必要があります。
上記の通信の問題は、各将軍が別の将軍と通信できるのは、運送業者/宅配業者によって送信されるメッセージを通じてのみであるという事実に関連しています。したがって、ビザンチンの将軍にとってこの問題の主な課題は、メッセージが遅延、破損、または失われる可能性があることでした。
さらに、たとえメッセージが正常に配信されたとしても、1 人以上の将軍が (何らかの理由で) 悪意を持って行動し、なりすましのメッセージを送信して他の将軍を混乱させ、ミッションが完全に失敗する可能性があります。
このジレンマをブロックチェーンのコンテキストに適用すると、各世代はネットワーク ノードを表し、ノードはシステムの現在の状態について合意に達する必要があります。別の言い方をすると、完全な障害を回避するには、分散ネットワークの参加者の大多数が同意し、同じアクションを実行する必要があります。
したがって、この種の分散システムで合意に達する唯一の方法は、2/3 (3 分の 2) 以上の正直なノードを持つことです。これは、ネットワークの大部分が悪意のある動作を決定した場合、システムは障害や攻撃 (例: 51% 攻撃) に対して脆弱になることを意味します。
ビザンチンフォールトトレランス - BFT
つまり、ビザンチン フォールト トレランス (BFT) は、ビザンチン将軍問題に由来する種類の障害に耐えることができるシステムの特性です。これは、一部のノードに障害が発生したり、悪意のある動作が発生したりしても、BFT システムは動作を継続できることを意味します。
ビザンチン将軍の問題には複数の解決策が考えられます。これは、BFT システムを構築する方法が複数あることを意味します。同様に、ブロックチェーンでビザンチンフォールトトレランスを実現するには複数の異なるアプローチがあり、これがいわゆるコンセンサスアルゴリズムにつながります。
ブロックチェーンのコンセンサスアルゴリズム
コンセンサス アルゴリズムは、ブロックチェーン ネットワークがコンセンサスに達するメカニズムとして定義できます。最も一般的なアプリケーションは、Proof of Work (PoW) と Proof of Stake (PoS) です。しかし、ビットコインの場合を例として考えてみましょう。
ビットコイン プロトコルはシステムの基本ルールを規定していますが、コンセンサスに達するために(たとえば、トランザクションの検証中に)これらのルールにどのように従うかを定義するのは、Proof of Work(PoW)として知られるコンセンサス アルゴリズムです。
Proof of Work の概念は暗号通貨よりも古いですが、サトシ ナカモトは、BFT システムとしてビットコインの作成を可能にするアルゴリズムとしてその修正版を開発しました。
Proof of Work (PoW) アルゴリズムは 100% ビザンチン フォールト トレラントではないことに注意してください。ただし、コストがかかるマイニング プロセスと暗号化技術により、PoW はブロックチェーン ネットワークの最も安全で信頼できる実装の 1 つであることが証明されています。
したがって、サトシ・ナカモトによって設計された Proof of Work アルゴリズムは、ビザンチン エラーに対する最も独創的な解決策の 1 つとして多くの人に使用されています。
結論
ビザンチンの将軍の問題は興味深いジレンマであり、最終的にはさまざまなシナリオに広く適用される BFT システムが誕生しました。ブロックチェーン業界以外でも、航空、宇宙、原子力産業などの BFT の使用例がいくつかあります。
デジタル通貨のコンテキストでは、コンセンサスメカニズムとともに効率的な通信ネットワークを持つことが、あらゆるブロックチェーンシステムにとって不可欠です。これらのシステムを保護することは継続的な取り組みであり、既存のコンセンサス アルゴリズムは、いくつかの制限 (スケーラビリティなど) を克服するためにまだ機能しています。ただし、Proof of Work (PoW) と Proof of Stake (PoS) は、BFT システムに対する 2 つの非常に興味深いアプローチであり、潜在的なアプリケーションは確かに広範なインスピレーションの源です。
