ビザンチン将軍問題は、2人の将軍問題とも呼ばれ、1982年に分散ピアツーピアネットワーク通信のフォールトトレランスに関するレスリーランバートの論文で提案されました。 分散システムの通信では、ローカルの問題により、コンピューターがエラー メッセージを送信し、システムの一貫性が損なわれる可能性があります。 したがって、ビザンチン将軍問題は本質的にポイントツーポイントコミュニケーションにおけるコンセンサスの問題です。
ビザンチン将軍問題は中世に始まりました。 ビザンチウムの広大な領土のために、軍隊間のコミュニケーションはメッセンジャーにしか頼ることができません。 裏切り者が軍の指導者の情報を故意に誤って伝えた場合、それは一貫性のない作戦計画につながり、「ビザンチンの失敗」をもたらします。
この問題を解決するためには、口頭での合意によってメッセンジャーを互いに送り、単純な多数決で合意に達するという2つの解決策がありますが、潜在的な裏切り者を区別することは困難です。2つ目は、書面による合意の形でメッセンジャーを送信して、各軍が出向すべき排他的署名付きの書面によるメッセージを配信することですが、送信が遅すぎると署名が失われる可能性があります。 どちらのソリューションも問題の一部しか解決できず、コンセンサスに達するには時間とリソースがかかりすぎるため、役に立ちません。
インターネットにおけるビザンチン将軍問題は、チャネル伝送の過程で、過度の作業負荷または悪意のある攻撃のために、一部のノードが情報の同期を達成することが困難な場合があることを意味します。 1999年、ミゲルカストロとバーバラリスコフはビザンチンフォールトトレランス(BFT)を提案しました。 彼らは、システム内のノードの3分の2が正常に機能すれば、システムの一貫性と正確性が保証されると信じていました。 その後、中本聡はプルーフオブワーク(PoW)メカニズムとビットコインの非対称暗号アルゴリズムを提案し、ビザンチン将軍問題の新しい解決策を提供しました。
n人の将軍とt人の裏切り者がいるとします。 n = 3、t = 1と言うと、A、B、Cのいずれかが裏切り者です。 Aが[攻撃]コマンドを発行したが、裏切り者BがCに[撤退]するように指示した場合、Cは判断を下すことができません。裏切り者BがAに[攻撃]コマンドを送信し、Cに[撤退]コマンドを送信した場合、AとCは合意に達することができません。 したがって、裏切り者の数が1/3以上の場合、ビザンチン将軍問題は解決できません。
同様に、ネットワークノードの総数がNで悪意のあるノードの数がTであると仮定すると、N>=3T+1、つまりネットワーク内の通常のノードの数が少なくとも(2/3)Nの場合にのみ問題を解決し、情報の一貫性を確保できます。 信頼性の高いネットワーク通信では、ビザンチンフォールトトレランスはノード障害の問題をある程度解決できるため、システムはコンセンサスに達することができます。
将軍Aが最初に[攻撃]コマンドを発行し、署名を添付したとします。 それを受け取った後、他の将軍も攻撃を計画している場合は、A将軍の命令の後に[攻撃]コマンドと彼の署名に従います。 Aが送信後にAが[攻撃]コマンドを実行しない場合、他の将軍はAを裏切り者と判断し、それを使用して正しい情報を区別することができます。
同様に、複数の参加ノードが一連の作業を通じて結果を取得し、結果を取得する最初のノードがそれをネットワーク全体にブロードキャストします。 結果が正しければ、他のノードはブロックチェーンにトランザクションを記録する権利を獲得するために、結果を自分の元帳に追加して計算の準備をします。
ハッカーは、ネットワークセキュリティを破壊したり、偽のブロックを公開したりするために、51%以上の計算能力を持っている必要があります。 コストはリターンよりもはるかに大きいです。 したがって、このメカニズムは、誤った情報の可能性を減らし、システムをより早くコンセンサスに到達させることができます。
非対称鍵アルゴリズムの暗号化と復号化には、公開鍵と秘密鍵の2つの別々の秘密鍵が必要であり、通常はペアで表示されます。 A が B にメッセージを送信する場合、A は情報を暗号化するために B の公開鍵を必要とし、B は情報を復号化するために自分の秘密鍵を必要とします。 Bが自分の身元を示したい場合は、秘密鍵に署名し、「署名テキスト」を作成してブロードキャストすることができます。 他の人は、Bの公開鍵に従って自分の身元を確認することができます。
ID と署名は偽造できないため、非対称キー アルゴリズムにより、送信と信頼できる署名のプライバシーが確保されます。
ビザンチン将軍問題は、2人の将軍問題とも呼ばれ、1982年に分散ピアツーピアネットワーク通信のフォールトトレランスに関するレスリーランバートの論文で提案されました。 分散システムの通信では、ローカルの問題により、コンピューターがエラー メッセージを送信し、システムの一貫性が損なわれる可能性があります。 したがって、ビザンチン将軍問題は本質的にポイントツーポイントコミュニケーションにおけるコンセンサスの問題です。
ビザンチン将軍問題は中世に始まりました。 ビザンチウムの広大な領土のために、軍隊間のコミュニケーションはメッセンジャーにしか頼ることができません。 裏切り者が軍の指導者の情報を故意に誤って伝えた場合、それは一貫性のない作戦計画につながり、「ビザンチンの失敗」をもたらします。
この問題を解決するためには、口頭での合意によってメッセンジャーを互いに送り、単純な多数決で合意に達するという2つの解決策がありますが、潜在的な裏切り者を区別することは困難です。2つ目は、書面による合意の形でメッセンジャーを送信して、各軍が出向すべき排他的署名付きの書面によるメッセージを配信することですが、送信が遅すぎると署名が失われる可能性があります。 どちらのソリューションも問題の一部しか解決できず、コンセンサスに達するには時間とリソースがかかりすぎるため、役に立ちません。
インターネットにおけるビザンチン将軍問題は、チャネル伝送の過程で、過度の作業負荷または悪意のある攻撃のために、一部のノードが情報の同期を達成することが困難な場合があることを意味します。 1999年、ミゲルカストロとバーバラリスコフはビザンチンフォールトトレランス(BFT)を提案しました。 彼らは、システム内のノードの3分の2が正常に機能すれば、システムの一貫性と正確性が保証されると信じていました。 その後、中本聡はプルーフオブワーク(PoW)メカニズムとビットコインの非対称暗号アルゴリズムを提案し、ビザンチン将軍問題の新しい解決策を提供しました。
n人の将軍とt人の裏切り者がいるとします。 n = 3、t = 1と言うと、A、B、Cのいずれかが裏切り者です。 Aが[攻撃]コマンドを発行したが、裏切り者BがCに[撤退]するように指示した場合、Cは判断を下すことができません。裏切り者BがAに[攻撃]コマンドを送信し、Cに[撤退]コマンドを送信した場合、AとCは合意に達することができません。 したがって、裏切り者の数が1/3以上の場合、ビザンチン将軍問題は解決できません。
同様に、ネットワークノードの総数がNで悪意のあるノードの数がTであると仮定すると、N>=3T+1、つまりネットワーク内の通常のノードの数が少なくとも(2/3)Nの場合にのみ問題を解決し、情報の一貫性を確保できます。 信頼性の高いネットワーク通信では、ビザンチンフォールトトレランスはノード障害の問題をある程度解決できるため、システムはコンセンサスに達することができます。
将軍Aが最初に[攻撃]コマンドを発行し、署名を添付したとします。 それを受け取った後、他の将軍も攻撃を計画している場合は、A将軍の命令の後に[攻撃]コマンドと彼の署名に従います。 Aが送信後にAが[攻撃]コマンドを実行しない場合、他の将軍はAを裏切り者と判断し、それを使用して正しい情報を区別することができます。
同様に、複数の参加ノードが一連の作業を通じて結果を取得し、結果を取得する最初のノードがそれをネットワーク全体にブロードキャストします。 結果が正しければ、他のノードはブロックチェーンにトランザクションを記録する権利を獲得するために、結果を自分の元帳に追加して計算の準備をします。
ハッカーは、ネットワークセキュリティを破壊したり、偽のブロックを公開したりするために、51%以上の計算能力を持っている必要があります。 コストはリターンよりもはるかに大きいです。 したがって、このメカニズムは、誤った情報の可能性を減らし、システムをより早くコンセンサスに到達させることができます。
非対称鍵アルゴリズムの暗号化と復号化には、公開鍵と秘密鍵の2つの別々の秘密鍵が必要であり、通常はペアで表示されます。 A が B にメッセージを送信する場合、A は情報を暗号化するために B の公開鍵を必要とし、B は情報を復号化するために自分の秘密鍵を必要とします。 Bが自分の身元を示したい場合は、秘密鍵に署名し、「署名テキスト」を作成してブロードキャストすることができます。 他の人は、Bの公開鍵に従って自分の身元を確認することができます。
ID と署名は偽造できないため、非対称キー アルゴリズムにより、送信と信頼できる署名のプライバシーが確保されます。