ビットコインSVブロック再編成攻撃とネットワークの対応について

Alex Speirs 150 x 150
By Jamie McKane Published: 8月 20, 2021
metallic nodes and links

過去数か月にわたるビットコインSV(BSV)ブロックチェーンに対する一連のブロック再編成攻撃(すべて撃退に成功)を受け、nChainの最高技術責任者およびビットコインSVインフラチームのテクニカルディレクターであるスティーブ・シャダーズ氏が、二重支出攻撃およびその試みに対するネットワークの対応について本日のブログで概説しています。

シャダーズ氏は攻撃を受け、氏がこれまで以上にビットコインプロトコルと、誠実なノードが圧倒的なハッシュパワーで狙われても回復できるその力に自信を持ったと述べています。ビットコインSVは、サトシ・ナカモトがホワイトペーパーで描いたビットコイン当初のプロトコルに最も即したブロックチェーンであり、ますます大きくなるブロックサイズと完全なスマートコントラクト機能を可能にする完成されたスクリプト言語によって強化された、無制限のスケーリングと超低コストのトランザクションを提供しています。

BSVブロックチェーンに対する最初のブロック再編成攻撃は2021年6月24日に行われました。ビットコインSVインフラチームは、この攻撃はZulupoolマイニングプールになりすましたマイナーによるものだと確信しています。Zulupoolがこれらのブロックをマイニングしていないことが判明したことから、チームは潜在的なブロック再編成攻撃を検出し対策をとるためのツールを構築しました。

ブロック再編成攻撃とは、正規のネットワークよりも優れたハッシュパワーを用いて長いブロックチェーンを非公開にマイニングし、別のトランザクション履歴を作成した上で別のチェーンを公開し、誠実なノードがこの不正な長いチェーンに切り替えるようにするものです。このチェーンは、ビットコインプロトコルで禁止されている二重支出が含まれている可能性があり、これらの無効なトランザクションを検出するツールを導入することで特定可能です。

攻撃への対応

この最初の攻撃およびビットコインSVインフラチームによるツール導入の後、しばらくは攻撃が止んでいたものの、再び信頼できるマイナーであるTAALになりすまし、8月上旬にブロック再編成攻撃が行われました。

シャダーズ氏はこれについて、「前回の攻撃後に準備を進めたことで、ビットコインSVインフラチームはリリースから数秒でこれらの不正なブロックを検出することができました。そして、自らのハッシュパワーで不正なブロックを拒否することを選択した信頼できる大手マイナーに対し攻撃について迅速に伝達し、最終的に攻撃者のフォークを追い越して二重支出が発生するのを防ぐことができました。」と説明しています。

また、Bitcoin Associationは、ブロックエクスプローラーやリスナーがすべての誠実なマイナーが取り組んでいる正しい信頼できるチェーンをたどることができるよう、チェーンの状態を伝えたとしています。

「この間、Bitcoin Associationは攻撃者によって隠された二重支出を含むブロックを無効にするために、信頼できるマイナーが使用していたコマンドを公開しました。

信頼できるマイナーが攻撃者のチェーンを追い越すのに時間がかかる可能性があることが周知されていることから、ビットコインSVノードソフトウェア(ブロックリスナーとして動作するアプリケーションなど)のマイナーではないその他のオペレーターには、多くの誠実なマイナーが構築しているチェーンが最長のチェーンになることを想定した上で、そのチェーンを追う仕組みを提供するものです。」とシャダーズ氏は述べています。

この対応の結果、第二弾の攻撃では二重支出は記録されず、攻撃者はBSVネットワークで不正を試みたことによって推定20万ドルを費やすこととなりました。この試みへの投資にもかかわらず攻撃は失敗に終わり、BSVは期待通りの効率で運営され続け、トランザクションスループットを向上させこの1ヶ月間に記録的な1GBブロックをいくつも採掘しました。

防御とビットコインプロトコルの整合性

ビットコインSVは、ホワイトペーパーに記載されてたビットコイン当初のプロトコルに基づいているため、プロトコルの開始時に定められたルールに従ってマイナーが行動することが重要です。シャダーズ氏は、ホワイトペーパーのどの部分が最近の攻撃に対する信頼できるマイナーの対応に当てはまっているのか具体的に説明しています。

これらの攻撃を防御するマイナーの対応についてのシャダーズ氏の説明のキーポイントは、ビットコインのホワイトペーパーに記載されている「元来のルール」を順守することです。

「ビットコインプロトコルに定められたルールを実行する責を負うマイナーは、基本的にビットコインホワイトペーパーで定義されている「元来のルール」に基づき無効なトランザクションを拒否したため、それらを含むブロックを拒絶することができました。」シャダーズ氏は説明します。

さらに、ブロックチェーンの状態を観察する際には、現在の視点からか、過去の視点から見ているかを示すことが重要であるとし、拡張したチェーンの先端では視点の違いによる小さな矛盾が起こることは自然でよくあることだとしています。シャダース氏は、ホワイトペーパーの様々な部分を参照しながら、この視点による矛盾をどのように調整するか、特にブロック再編成攻撃において示しています。

シャダーズ氏は、ホワイトペーパーに記載されている、不正行為、二重支出、正規のチェーン、有効性の定義を探索し、「受取人は、各トランザクション時に、大多数のノードがそれが最初に受け取ったものであることに同意しているという証明が必要である」とホワイトペーパーに記されているように、ブロックをブロードキャストする必要性は誠実なノードがその要件を満たすための重要要件であることを強調しています。

今回のBSVネットワークに対する一連の攻撃は、ネットワークルールの暗号化の難しさ、およびネットワークルールが侵害された場合にシステムの状態を保護するための人的介入の必要性を示しています。

「アルゴリズムが悪意を持って使用されると、潜在的な攻撃ベクトルを開かずにルールをアルゴリズムで表現することは必ずしも実用的ではありません。そのため、人間の判断や介入が必要になる場合があります。」とシャダーズ氏は説明しています。

「ビットコインはコードではなく、複数の独立した当事者がルールセットを実行し、他の当事者によるルールセットの違反を拒否するシステムなのです。」

攻撃の完全な詳細とビットコインホワイトペーパーに対するネットワークの対応の整合性については、スティーブ・シャダーズ氏のブログ投稿をご覧ください。