ブロックチェーンビザンチン将軍問題

暗号資産の基礎知識の中で必ずと言っていいほど出てくる「ビザンチン将軍問題」について解説していきます。

ビザンチン将軍問題とは

ビザンチン将軍問題とは複数がある選択肢に対して全員の合意形成を求めるときに、一部が不正を行なうことで複数の間で合意形成を正しく行うことができない問題のことを言います。

まずは、ビザンチン将軍問題の由来となったビザンチン帝国の話を例に進めていきます。

ビザンチン帝国のビザンチン将軍問題

ビザンチン帝国の将軍9人がとある王国に攻め入るために王国の周囲一帯を取り囲んでいました。

この王国を攻め落とす方法は、各方面に散らばった将軍9人全員の一斉攻撃が条件で、もし1人でも欠けてしまえば攻撃は失敗に終わってしまいます。

そのため、ビザンチン帝国に一斉攻撃をするかしないかを判断するために将軍全員に多数決を取ることにことにしました。当時は携帯やスマホなどがありませんので、伝達係が順々に伝令を回し「攻撃」か「撤退」かを各将軍に確認します。

しかし、ビザンチン帝国の作戦を失敗に終わらせようとする裏切り者Zが将軍の中に1人だけ混ざっています。裏切り者Zを除く将軍8人の票が「攻撃」と「撤退」にそれぞれ4票ずつが入ったとして、残りのあと1票は裏切り者Zの1票のみです。

さて、裏切り者Zはどのようにして将軍達の作戦を失敗に終わらせるのでしょうか?

裏切り者Zは「攻撃」の意思表示をしている軍には「攻撃」、「撤退」の意思表示をしている軍には「撤退」の票を入れました。その結果、攻撃の意思表示をした軍は多数決で「全軍攻撃」と判断し、撤退の意思表示をした軍は表明した軍は多数決で「全軍撤退」と判断します。

つまり、複数人が分散した状態では全体の合意を正しく取れないため、誰かひとりの裏切りによって不正行為が行われるリスクが発生します。

このように全体の合意形成をとることができない問題をビザンチン将軍問題と言います。そして、ビザンチン将軍問題が原因で発生する障害のことをビザンチン障害と言います。

ブロックチェーンによるビザンチン将軍問題への対策

PoWでビザンチン将軍問題を解決

ビザンチン将軍問題を解決するために、暗号資産ビットコインではPoW(プルーフオブワーク)と呼ばれるコンセンサスアルゴリズム(承認方式)を採用しています。

ブロックチェーンのネットワークでは、中央に管理者が存在せず各ノード(コンピュータ)が分散するようにネットワーク上に散らばっています。そのため、ネットワークの参加者全員で取引データの正当性を確認する必要があります。

PoWではネットワーク上の取引を膨大な計算作業を通して精査しており、最も早くある値を割り出したノードは、他のノードに対して計算結果が合っているかどうかの合意をとります。

合意が取れれば、ブロックチェーンに新たに生成したブロックを追加することができ、マイニング報酬を受け取ることができます。

つまり、PoWの承認方式は膨大な計算作業を行うことで不正が起きにくいシステムを実現していると言えます。

PoWシステムの仕組み

ビットコインにおいては、取引データを正しくブロックチェーンに記録していくことが重要です。

例えば、1BTC送金したのに0.5BTCしか送金されなかったというデータの改ざん問題などが発生してしまっては、誰もビットコインを利用してくれなくなりビットコインの価値は下がってしまいます。

そのため、ブロックを生成するマイナーも不正をしない信用できる者でなければなりません。そこで、PoWシステムでは膨大な計算作業の仕組みをはじめ、盗難や改ざんなどの不正を行うメリットよりもマイニング報酬を得るメリットの方が上回るように設計されました。

PoWを採用するリスク

PoWには51%攻撃と呼ばれるシステム面の脆弱性があります。

PoWのマイニングでブロックの正当性を確認するには、ひとつのノードだけで取引を承認するのではなく、他のノードにも計算が正しいかどうかの合意形成をとります。その際、ビットコインでは全体のノードから51%以上の承認を得た場合にその取引は承認されるようになっています。

しかし、PoWのように多数決で合意形成をとるシステムでは、仮に不当な計算結果であったとしても正しいデータであると判断される可能性があります。つまり、悪意のあるノードが改ざんした取引データがブロックチェーンに記録されるリスクがあります。この問題のことを「51%攻撃」と言います。

現実的には膨大な設備費用や維持費がかかることやマイニングの難易度が高いことから、51%攻撃が発生する可能性は極めて低いと考えられています。

ビザンチン将軍問題は完全に解決されていない

ビットコインにおけるビザンチン将軍問題は厳密には解決されたわけではなく、「ビザンチン将軍問題が発生する可能性を限りなくゼロにした」と考えるのが適切です。

なぜなら、PoWの承認システムはあくまで多数決型で、第三者からのシステムの脆弱性を狙った犯行が行われる可能性がゼロではないためです。

ただし、ビットコインが世に誕生してからの約10年間で合意形成が正しく取れなかったということはありません。

友だち追加