リプレイ攻撃とは何か、なぜ今回問題になるのか

ビットコインのチェーンが分岐した際、両方のチェーンで同じ残高を保有することになる。フォーク先の新しいコインだけを売却したつもりでも、取引データが本家ビットコインのチェーンでもそのまま通用してしまうケースがある。これが「リプレイ攻撃」だ。
リプレイ攻撃とは、あるチェーンで署名されたトランザクションを、別のチェーンにそのままブロードキャスト(送信)することで意図しない送金を引き起こす手法を指す。二つのチェーンが同一の取引形式とアドレス構造を共有している場合、片方で有効な署名はもう片方でも有効になってしまうのだ。
具体的に言えば、フォーク先チェーン上で新コインを誰かに送る取引に署名すると、その取引は本物のビットコインネットワークでも実行可能になる。買い手はフォークコインの対価を支払うだけで、同じ量の本物のBTCも受け取れてしまう。売り手は「無料のお金」と思って手放した新コインと引き換えに、実際のBTCまで失うことになる。
ビットコイン開発者のケビン・ロエック氏は今週、X(旧Twitter)上でこのリスクを警告した。大口保有者が最初の標的になる可能性が高く、コインを一切動かさなければ署名済みトランザクションそのものが存在しないため、リプレイ攻撃の対象にならないと述べている。
BIP-110が招いた分岐の仕組み

BIP-110とは何か
今回の騒動の発端は「BIP-110」と呼ばれる提案だ。BIPとは「Bitcoin Improvement Proposal(ビットコイン改善提案)」の略で、ビットコインの仕様変更を議論するための標準的な文書形式である。
BIP-110は、画像やテキストといった支払い以外のデータをビットコインのトランザクション(取引記録)に含めることを、約1年間にわたって制限しようとする内容だ。ビットコインのブロックチェーン上に任意のデータを刻む行為を規制する狙いがある。
マイナーの支持率はわずか2.6%
ビットコインのルールを変更するには、マイナー(採掘者)の合意が必要だ。通常はマイナーが生成するブロックに「支持」の印を付けることで意思表示を行う。BIP-110の成立には、2016ブロック(約2週間分)のうち1109ブロック、つまり55%以上の支持表明が求められる。
しかし8月8日(金)時点での支持率はわずか2.6%程度と、必要水準を大きく下回っている。このルートでの成立は事実上閉ざされていると言ってよい。
第二の仕組み、「強制発動」とは
問題はBIP-110に組み込まれた第二の仕組みにある。ブロック番号961,632(今週末に到達見込み)以降、BIP-110に対応したソフトウェアを実行するコンピュータは、マイナーの支持の有無にかかわらず、BIP-110の印が付いていないブロックをすべて拒否し始める。
現在採掘されているブロックのほとんどはこの印を付けていない。つまり、BIP-110対応ノードはビットコインネットワークの大多数が構築しているチェーンを拒否することになる。もし一部のマイナーがBIP-110対応の枝(ブランチ)を伸ばし続ければ、取引履歴の異なる二つのバージョンが並存する状態、いわゆる「チェーン分岐」が発生する。
支持率2.6%という数字はノードの割合であり、そのまま採算力(ハッシュレート)には換算できない。この水準では、少数派チェーンは極めて遅いペースでしかブロックを生成できないか、まったく進まなくなる可能性もある。分岐が起こるかどうかは、現時点では不確実だ。
開発者が警告する危険性と安全策

リプレイ防止機能は9月初旬まで未実装
通常、計画的なチェーン分岐では「リプレイ防止」と呼ばれる仕組みが組み込まれる。これは二つのチェーン間で取引の互換性を意図的に断ち切ることで、リプレイ攻撃を不可能にする機能だ。
しかしBIP-110では、取引データへの実際の制限が発動するのはブロック965,664からだ。これは9月初旬頃に到達する見込みで、それまではリプレイ防止機能が自動的に働くことはない。分岐が今週末に発生した場合、少なくとも数週間は利用者が自衛する必要がある。
取引を分離するには高度な技術が必要
リプレイ防止機能がない環境で安全にコインを動かすには、片方のチェーンにしか存在しないコインを意図的に作り出す操作が必要になる。具体的には、分岐後に新しく採掘されたコイン(コインベース取引)を受け取るなどして、チェーン固有のUTXO(未使用トランザクション出力)を生成しなければならない。
これは専門知識を持つ開発者や上級ユーザーでなければ安全に実行するのが難しい操作だ。一般的なビットコイン保有者にとって、最も安全な選択肢は「何もしないこと」だとロエック氏は強調している。
被害はウォレット全体には及ばないが
リプレイ攻撃によってウォレット内の全資産が奪われるわけではない点は重要だ。売却に出したコインだけが移動し、しかもそれがフォークコインではなく本物のBTCとして送金されてしまう。さらに両方のチェーンで取引手数料も支払うことになる。
「無料のお金」に見えた新コインの売却が、結果的に保有BTCの一部を失う取引になってしまうというわけだ。特に「フォークコインを高値で買い取る」という甘いオファーには警戒が必要となる。
この記事のポイント
- BIP-110に伴うビットコインのチェーン分岐で、フォーク先のコインを売却すると本物のBTCも失うリプレイ攻撃の危険性がある
- BIP-110の支持率は2.6%と極めて低いが、ブロック961,632(今週末)から強制発動の仕組みが作動する
- リプレイ防止機能は9月初旬のブロック965,664まで実装されず、それまでは利用者の自衛が必要
- 開発者は専門知識がない一般保有者に対し、分岐期間中はコインを一切動かさないことを推奨している

暗号資産とブロックチェーンの可能性を追求するエミリー。
暗号資産投資、DeFi、NFT、WEB3、メタバースといった最先端分野を深く理解し、「エミリーズ・クリプト・インサイダー」を運営。
分かりやすい解説で、ブロックチェーン革命の潮流を一般に広めることを目指す。初心者から上級者まで、最新情報を求めるすべての人に役立つ情報発信を心がけている。
