ビザンチン将軍問題とは
ビザンチン将軍問題は分散型システムに関する問題であり、「離れた場所にいる担当者達が、中央管理者なしで合意形成するのは難しい」ということを示します。
分散的な状態での合意形成はなぜ難しいのでしょうか。これを理解するために、「将軍が敵地ビザンティウムの周りにおり、一斉に攻撃できれば勝てる」という設定で考えてみましょう。
将軍達は手紙で相談します。アナログな手段なので時間がかかりそうですが、攻撃タイミングは決められそうな気もします。
しかしよく考えてみると、将軍のふりをした敵兵が嘘の情報を流すかもしれません。手柄のために嘘の手紙を出す将軍や、合意事項に背く将軍がいるかもしれません。
それらを考慮すると、将軍達は疑心暗鬼になったり、手紙に書かれた嘘の情報を真に受けたりして、一斉攻撃に失敗しそうですよね。
ブロックチェーンではノードが将軍に当たりますね。
ビザンチン障害耐性(BFT)とは
ビザンチン将軍問題が提起したことは、悪意のある者の紛れ込みや合意事項に背く担当者の存在がシステム障害を起こしかねないということです。
これらの原因によるシステム障害は「ビザンチン障害」と呼ばれ、対策が求められています。万全な対策がされた合意形成プロセスは「BFTコンセンサス」と呼ばれ、安定性が高いとみなされています。
BFTはByzantine Fault Tolerant(ビザンチン障害耐性)という意味です。
ブロックチェーンにふさわしいコンセンサスアルゴリズムも、当然BFTコンセンサスであるべきです。ビザンチン障害が起こると不正に儲けられちゃいますし、そのブロックチェーンへの信頼が落ちてしまい、エコシステムが崩壊するかもしれません。
コメント