2008年にピアツーピアの電子マネーシステムとしてビットコインが誕生して以来、他の多くの暗号通貨が生まれ、それぞれが特定のメカニズムを持つようになりました。 しかし、ほぼすべての暗号通貨に共通しているのは、アーキテクチャの中核要素として、ブロックチェーンがあることです。
少数の例外を除き、ブロックチェーンは意図的に分散型に設計されており、コンピューター ノードの分散ネットワークによって維持されるデジタル台帳として機能します。 このため、ブロックチェーン技術は、透明で信頼性の高い金融取引を仲介者なしで実行できる、信頼性のない経済システムの構築を可能にした。 暗号通貨は、信頼に大きく依存する従来の銀行や決済システムに代わるものとして採用されています。
ほとんどの分散コンピューティング システムと同様に、暗号通貨ネットワークの参加者は、ブロックチェーンの現在の状態について定期的に合意する必要があり、これがコンセンサス達成と呼ばれるものです。 しかし、分散ネットワークで、安全かつ効率的な方法でコンセンサスを達成することは、容易な作業ではありません。
では、一部のノードが失敗したり不正に行動したりする可能性がある場合、コンピューター ノードの分散ネットワークはどのようにして決定に合意できるでしょうか。 これが、いわゆるビザンチン将軍問題の根本的な疑問であり、ビザンチン耐故障の概念を生んだ。
一言で言えば、ビザンツ将軍問題は、ビザンツ将軍のグループが次の行動について合意しようとするときに、どのようにコミュニケーションの問題が生じるかを示す論理的ジレンマとして 1982 年に考え出された。 将軍たちは攻撃するか退却するかのどちらかに合意する必要があります。 攻めるか退くかは、全将軍がコンセンサスに達していれば問題ない。
したがって、以下の要件を考えることができる。
- 各将軍は攻撃か撤退か(イエスかノー)を決定しなければならない。
- 決定後は変更できない。
- すべての将軍は同じ決定に合意して、同期してそれを実行しなければならない。
前述したコミュニケーションの問題は、ある将軍が他の将軍と、宅配便で転送されるメッセージを通してしかコミュニケーションできないことに関連しています。 その結果、ビザンチン将軍問題の中心的な課題は、メッセージが何らかの形で遅れたり、破壊されたり、失われたりすることである。
さらに、メッセージが正常に配信されたとしても、1人または複数の将軍が(何らかの理由で)悪意を持って行動し、他の将軍を混乱させようと不正なメッセージを送り、完全に失敗する可能性がある。
このジレンマをブロックチェーンのコンテキストに適用すると、各将軍はネットワーク ノードを表し、ノードはシステムの現在の状態について合意に達する必要があります。 別の言い方をすれば、分散ネットワーク内の参加者の大多数は、完全な障害を回避するために、同意して同じ行動を実行する必要があります。
したがって、この種の分散システムで合意を達成する唯一の方法は、少なくとも⅔以上の信頼性と誠実なネットワークノードを持つことです。 これは、ネットワークの大多数が悪意を持って行動することを決定した場合、システムは障害や攻撃(51%攻撃など)を受けやすいことを意味します。
Byzantine Fault Tolerance (BFT)
簡単に言うと、ビザンツ障害耐性 (BFT) とはビザンツ将軍問題から派生する障害クラスに抵抗できるシステムの特性のことです。 つまり、BFTシステムは、一部のノードが故障したり、悪意ある行動をとったりしても、動作を継続することができるのである。
Byzantine Generals’ Problemに対する解は複数存在し、したがってBFTシステムを構築する方法も複数存在する。 同様に、ブロックチェーンがビザンチンフォールトトレランスを達成するための異なるアプローチがあり、これはいわゆるコンセンサスアルゴリズムにつながります。
Blockchain consensus algorithms
我々は、ブロックチェーンネットワークが合意に達するメカニズムとしてコンセンサスアルゴリズムを定義することができます。 最も一般的な実装は、Proof of Work (PoW) と Proof of Stake (PoS) です。 しかし、ビットコインの場合を例にとってみましょう。
ビットコインのプロトコルはシステムの主要なルールを規定しますが、PoW コンセンサス アルゴリズムは、コンセンサスに達するために(たとえば、取引の検証や確認の際に)これらのルールがどのように従われるかを定義したものです。
Proof of Work の概念は暗号通貨よりも古いものですが、Satoshi Nakamoto は、BFT システムとしてのビットコインの作成を可能にしたアルゴリズムとして、その修正版を開発しました。
PoWアルゴリズムはビザンチン障害に 100% 耐えられるわけではないものの、コスト集約型のマイニング プロセスと基盤となる暗号技術により、PoWがブロックチェーン ネットワークにとって最も安全で信頼できる実装の 1 つであることが実証されていることに留意してください。 その意味で、Satoshi Nakamoto が設計した Proof of Work コンセンサス アルゴリズムは、ビザンチン断層に対する最も天才的なソリューションの 1 つとして多くの人に考えられています。
Final thoughts
The Byzantine Generals’ Problem is an introring dilemma that eventually given to the BFT systems, which are extensive applied in various scenarios.The The Therapy for the Byzantine Generals’ Problem, is an complicated diletma, but it was created in the BFT systems. ブロックチェーン業界以外では、BFT システムのいくつかの使用例として、航空、宇宙、および原子力発電業界があります。
暗号通貨のコンテキストでは、優れた合意メカニズムとともに効率的なネットワーク通信を持つことは、ブロックチェーンエコシステムにとって不可欠です。 これらのシステムを保護することは継続的な努力であり、既存のコンセンサスアルゴリズムは、いくつかの制限(スケーラビリティなど)をまだ克服していません。 それでも、PoWとPoSは、BFTシステムとして非常に興味深いアプローチであり、その潜在的なアプリケーションは、確実に広範なイノベーションを刺激します。