TransIT

ツイッターで見つけた英語記事を和訳しています。

ビットコインのソフトに含まれていた巨大バグは通貨そのものを破壊していたかもしれない

ビットコインは暗号通貨のゴールドスタンダードと呼ばれることがよくあるが、OGブロックチェーンをベースにしている通貨は、サポートのソフトウェアが災害を招きかねない欠陥がある。

 

Bitcoin Core(実質的にビットコインを動かしているソフトウェア)の開発者が新バージョンをリリースした。悪意のユーザがネットワークを破壊し、全員のデジタルコインを実質無価値にしてしまう脆弱性を繕うものだ。このバグは様々な呼び名を持ち「very scary」「major」、さらにはビットコイン内で発見された中でも「上から三、四番目」に危険なバグである。

 

 

コーネル大学コンピュータサイエンス学部准教授のEmin Gün Sirer氏は電話を通じて記者に語った。

「8万ドル未満の投資で、ネットワーク全体をダウンさせられていた可能性があります。数多くの企業が多くの機器にゼロデイ攻撃対策を講じる投資額よりも少ない金額です。今回のケースのように熱意のある人々が多いと、彼らの企みによってネットワークがダウンさせられる危険がありました」

 

このバグはビットコインプロトコル自体には含まれていなかったが、ポピュラーなソフトウェアを導入する際に取り込んだものだ。Bitcoin Coreのコードをベースにして構築した他の暗号通貨も同様に感染していた。たとえば同様の脆弱性対策パッチを当てたlitcoinだ。

 

ドキュメンテーションでは、このバグは「DoS攻撃脆弱性」であり、去年のアップデートでBitcoin Core内に混入したものだ。この脆弱性こそが採掘家たちに(24時間コンピュータを稼働し、ビットコインの取引に使うブロックをブロックチェーンに提供して対価を得る人々)同じコインを二度使用しようとする試みなどの取り引きを通じて、感染したブロックを作らせることになる。感染済みブロックはビットコインのネットワーク中に拡散し、それを受け取ったユーザのソフトウェアをクラッシュするのだ。

 

ビットコインは一種のビアツーピア(P2P)ネットワークで、「ノード」ネットワークの恩恵を受けて、ブロックチェーンの仕組みに準じた確実な取引ができる(たとえば、同じコインを二回使うことができないなど)。およそ95%のユーザはCoreを使用してビットコインのノードを作動している。

そして、感染したブロックを受けとったCoreノードは単純に無効化されるどころか、一瞬でキルされていた可能性があったことが今回修正されたバグから分かる。

 

最悪のシナリオだとネットワーク全体をクラッシュしたり、ノードのクラスタが互いに分離するように変形していたかもしれない。Sirer氏によると「攻撃を受けた後もコミュニティの取引活動によって、感染したシステムをオンライン上に戻していた可能性があり、壊滅ほどでなくとも大混乱を招いていたことでしょう」

 

この脆弱性をエクスプロイトすることで、悪意の採掘家は感染したブロックを作成するためにブロックの利益を手放したと思われる。(12.5ビットコイン、または8万USドルを少し下回る相当の現在のビットコイン価値分)しかし、それに見合うだけの価値がビットコイン攻撃にあったのだろう。

 

「多くの人々が愛用しているからといって、その人達がコードの核心部まで確認しているわけではありません。そうでなければ初歩的なミスを見逃すわけがありませんから。一つのソフトウェアの複数のバージョンを持つと良いでしょう」と同氏は語った。

 

「今回の件で得られたもう一つの教訓は、モノカルチャーは非常に危険だということです」

 

motherboard.vice.com