ツイッターを見ていて、POSチェーンへの攻撃について51%アタックと表現しているひとが居たので、今回はそのあたりを解説します。

まず、基本的なところですが、ビットコインやライトコイン、イーサリアム1.0はPOWで出来ており、ハッシュパワーの51%を占領すれば攻撃が出来ることが良く知られています。しかし、どういう攻撃が可能で、どういう事が出来ないのかは、整理して頭に入っている人は少ないのではないでしょうか。

次に、イーサリアム2.0や、BSC、Solana、CosmosといったところのPOSチェーンは、何%でどういう攻撃ができるのでしょうか?

以下、クイズ形式で書きますので、正解不正解を自分でカウントしてみてください。

○ビットコインの51%攻撃で出来ること出来ないことをマルバツつけてください

二重支払い

支払いの取り消し(巻き戻し)

無からコインを作る

コイン発行上限の変更

簡単ですかね。正解は、二重支払いと、取り消しは可能で、それ以外は無理です。もちろんハードフォークすれば可能ですが、そうするとコインが2つに別れるだけで、攻撃というより分裂になります。

○POSの攻撃には何%の何が必要か?答えてください。

正解は、33%です。何が必要かですが、コインの保有です。総発行量の33%のコインをコントロールする必要があります。このときPOSでは実際にコインをもっていなくてもバリデータが権利の委任をうければOKです。取引所などはユーザーのコインを大量に預かり、自社運営のバリデータに委任して運用していますから、特定の取引所だけで33%を超えることは難しくない状況のチェーンもあります。

○POSの攻撃では、何ができて何ができないのか?出来ること出来ないことをマルバツつけてください

二重支払い

支払いの取り消し(巻き戻し)

無からコインを作る

コイン発行上限の変更

さて、どれでしょうか? 正解は、どれでもないです。どういうことかというと、チェーンのコンセンサスそのものが取れなくなります。つまり、チェーンが止まって先に進まない、が正解です。全機能停止というのが正解で、不正が起きるのではなく、機能停止です。

○チェーンの機能停止に陥った場合、どうすればよいのでしょうか?POSとPOWの攻撃の特性の違いから考えてください。

POSとPOWの攻撃の最大の違いは何か?を考えることが大事です。POWは51%を維持するようにハッシュパワーを投入し続けなくてはいけまません。つまり電気を消費し続けなくてはいけません。POSの場合はいったん33%を取ると、未来永劫チェーンは動かなくなります。ユーザーに頼んで委任先を変更してもらうというような「呼びかけ」しか出来ませんが、チェーンが止まっているので再委任のトランザクションも実行できなくなります。出来る対処法は、「ハードフォーク」です。そのとき、コインの発行量を増やすとかで33%を割らせたり、攻撃者のバリデーターを恣意的にブラックリスト化するとか、その手の人為的操作によって回避することになります。アレな言い方をすれば、新チェーンへのアップデートwです。

つい最近ですが、SCRTというPOSチェーンで、コントラクトのバグがみつかりチェーン上の資産がまるごとやられてしまいそうな事態が発覚しました。そのときは、バリデータにより、すぐさまチェーンが停止され、アップデートされた新チェーンに移行ということになってます。まあ、いわゆるTHE DAO 事件(この言葉も知っている人は少なくなってきていますが)だとおもいます。

ということで、以上だけ抑えておけば、POW、POSの攻撃ネタで、咬み合わない議論になることを避けることができるとおもいますので、頭にいれておきましょう(大石)