ビザンチン・フォールト・トレランス (Byzantine Fault Tolerance (BFT))
要約: ビザンチン・フォールト・トレランス(BFT)とは、分散型のコンピューターシステムにおいて、一部の構成要素が故障したり、意図的に誤った情報を送ったりしても、中…
ビザンチン・フォールト・トレランス(BFT)とは、分散型のコンピューターシステムにおいて、一部の構成要素が故障したり、意図的に誤った情報を送ったりしても、中央の調整役なしに自律的に合意(コンセンサス)に達することを可能にする性質です。この名称は「ビザンチン将軍問題」に由来します。これは、一部が裏切り者かもしれない指揮官たちが、それでも作戦について合意しなければならないという思考実験です。
重要な理由
ブロックチェーンは互いを信頼しない多数の独立したノードによって運営されているため、合意された一つの履歴を維持するにはBFTが必要です。古典的なBFTプロトコルは、故障した参加者や不正な参加者がネットワーク全体の3分の1未満である限り、機能し続けます。プルーフ・オブ・ワークとプルーフ・オブ・ステークは異なる方法でビザンチン・フォールト・トレランスを実現しており、多くのPoSチェーンはブロックをファイナライズするためにBFT型の投票を用いています。この性質がなければ、少数の不正なノードがネットワークを分裂させたり、無効なトランザクションを押し通したりできてしまいます。
具体例
4つのバリデーターが次のブロックについて投票しており、そのうち1つが乗っ取られていて、一部のノードには「賛成」、他のノードには「反対」と伝えている場面を想像してください。BFTプロトコルは、一致する票が十分に集まったとき、この例では4つのうち3つがそろったときにのみ、ブロックを承認します。そのため、3つの誠実なバリデーターは引き続き同じブロックに合意し、虚偽を伝えるノードが競合する2つの履歴を作り出すことはできません。