Bitcoin Core ソフトウェア ライブラリでは、最近、 OP_Return 出力サイズのポリシー制限を削除する提案がありました。この問題について私たちはすでに意見を表明しました。この動きは論争を巻き起こし、ビットコインブロックチェーン上でスパム取引を構成するものは何であり、どのように対処すべきかについての議論が再燃した。この記事では、10年前の2015年夏に発生したビットコインネットワークへのスパム攻撃を振り返ります。その目的は、当時何が起こったのか、現在何が起こっているのかを比較し、そこからどのような教訓が得られたかを探ることです。
2015 年夏のスパム攻撃は、ブロック サイズに関する議論の初期の対立でした。攻撃者は、ブロックサイズの制限を増やそうとする「ビッグブロッカー」です。当時、ビッグブロック支持者の主な主張の 1 つは、1 MB の制限は小さすぎるため、比較的コストの少ないジャンクトランザクションでブロックを簡単に埋め尽くすことができるというものでした。このブロックを埋める状況は、ビッグブロック支持者から見ると、スパマーの勝利を意味する極めて悪い結果です。ビッグブロック支持者の視点から見ると、ブロックを埋めることでビットコインを使った支払いが信頼できなくなるだろう。ビッグブロック支持者は、ブロックサイズの制限を引き上げ、スパマーがブロック内のすべてのスペースを埋めるのにコストがかかるようにしたいと考えています。その論理は、固定手数料率では、ジャンクトランザクションで 8MB のブロックを埋めるコストは 1MB のブロックを埋めるコストよりも高くなるというものです。
この議論に対する「スモールブロッカー」の反論は、ビッグブロッカーの考え方は逆であり、ジャンクトランザクションがある場合、それらをすべて迅速かつ安価にチェーンに載せてもジャンクトランザクションの送信者を止めることはできず、むしろジャンクトランザクションの送信者が勝利することを可能にするというものです。さらに、ブロック サイズの制限が増加すると、手数料が下がり、スパム取引のコストが削減されます。しかし、ビッグブロック支持者にとって重要な指標は、ブロックを埋めるのにどれだけのコストがかかるかだ。彼らは、この数値はビットコインのセキュリティには低すぎると考えており、ブロックサイズの制限を引き上げることによってこの数値を増やし、ビットコインの耐性を高めることができると考えています。
スパム攻撃
第1ラウンド
2015 年 6 月 20 日、ロンドンに拠点を置くと主張するあまり知られていないビットコイン ウォレット プロバイダーおよび取引所であるCoinWallet.euが、 BitcoinTalkおよびRedditで「ビットコイン ストレス テスト」を実施していると発表した。この企業については、経営陣や株主が誰であるかなど、多くの情報を得ることができませんでした。意味のある WHOIS 記録や会社登録文書は見つかりませんでした。ロンドンの住所 (78 York Street) は架空の住所のようです。
ロンドンのヨークストリート78番地(Googleストリートビュー)
しかし、攻撃者であるCoinWallet.EUは、ブロックサイズの制限を増やすことを正当化するという動機を明確にしました。
ビットコインは崩壊の危機に瀕しているが、コア開発者は些細な議論に巻き込まれ、長期的な持続可能性のために必要な変更を加えることができていない。何もしなければ、ビットコインはいつまでも単なる高価な科学プロジェクトのままです。システムのストレス テストを実施することで、大規模なスパム トランザクションによるネットワーク攻撃がいかに容易であるかを示し、ブロック サイズを増やす明確な根拠を提供したいと考えています。
攻撃者は「5分ごとに1MBの取引データを生成する」と説明した。攻撃は2015年6月22日に予定されていた。計画では「トランザクションのバックログは約241ブロック、つまり1.67日に達する」とされている。これは 241 MB を超えるトランザクション バックログになります。
当時、ルーク・ジュニアはRedditで攻撃者たちに反応し、次のように述べた。
ビットコインには、まさにこの種の攻撃に対抗するために、マイナーとブロックのサイズ制限が設けられています。
出典: https://www.reddit.com/r/Bitcoin/comments/3agk61/comment/cscgipz/
2015 年 6 月 24 日、攻撃者は、メモリプールのサイズが約 12 MB に達した約 2 時間後にサーバーがクラッシュし始めたため、攻撃は予想ほど成功しなかったと発表しました。攻撃者は「Bitcoindはこの規模の取引の処理には適していない」と述べた。攻撃者はまた、この失敗した攻撃に約2ビットコイン、つまり434ユーロの手数料を費やしたことも明らかにした。
第2ラウンド
同日、2015 年 6 月 24 日、CoinWallet.EU は 2 回目のスパム攻撃を 2015 年 6 月 29 日に実行すると発表しました。同様に、目標はメモリプールのバックログを 241 MB にすることです。
上のグラフに示されているように、今回の攻撃はより効果的であるように思われ、一部のユーザーは、ビットコインが使用不可能になるというビッグブロック支持者の意見に同意しているようだ。
何が起こっているのか誰か説明してくれませんか?私は地元のウェブ取引所で 0.05 BTC を購入し、取引手数料 0.0001 でウォレットに送金されました。このトランザクションには 226 バイトあります。確認のために7時間待った後、blockchain.infoノードによって拒否されました。取引所は0.0002の取引手数料でそれを私に再度送信しました。ステータスには、確認予定時刻として「近日中」(高優先度)が表示されます。でももう6時間経ちました! BTC で具体的に何をしましたか? !これは普通ですか?この方法では、BTC は日常の取引に使用できなくなります。 226 バイトのトランザクションの場合、0.0002 のトランザクション手数料で十分ではないでしょうか?
出典: https://bitcointalk.org/index.php?topic=1098263.msg11847265#msg11847265
当時の Luke-Jr 氏のマイニングプール Eligius は、スパム取引をうまく排除していたようです。攻撃中、Eligius マイニング プールは、設定された制限に関係なく、通常は 1 MB または 750 KB である他のマイニング プールよりもはるかに小さいブロックを生成しました。
ルーク氏の以前の予測は正しく、ブロックサイズの制限とマイナーが攻撃の影響を軽減するのに役立ちました。しかし、これはすべてのマイナーに当てはまるわけではなく、自分のマイニングプールにのみ当てはまります。私たちの見解では、ブロック サイズの制限は、スパム トランザクションがチェーンに追加されるのを防ぐ上でより強力な役割を果たします。当時のルーク氏のスパムフィルタリングポリシーは論争を巻き起こした。ルーク氏の「ブラックリスト」はビットコインの代替性を損ない、メモリプールを長時間肥大化させることで攻撃を長引かせたと考える人もいる。たとえば、Kano マイニング プールの運営者は、BitcoinTalk フォーラムでスパム取引について次のような主張をしました。
単純な事実は、それらは手数料がかかる有効な取引であるということです。
もう一人のフォーラムメンバー、Eligiusのルーク氏の同僚であるwizkid057氏も、Ocean Poolのルーク氏の同僚が今日のフィルタリングの立場を支持したのと同じように、フィルタリングを擁護した。
攻撃を長引かせた唯一の要因は、攻撃者と他のマイニングプール/マイナーが詐欺師のスパム取引をフィルタリングしなかったことです。他のプール/マイナーは、ビットコイン全体を保護するよりも、攻撃者のトランザクションでブロックを埋めて、手数料として 0.1 BTC の追加収入を得ようとします... あるいは、それは単なる怠惰なのかもしれません。いずれにせよ、この攻撃による悪影響は、いくつかの大規模なマイニングプールの参加によって簡単に 100% 相殺される可能性があります。出典: https://bitcointalk.org/index.php?topic=1098263.msg11760038#msg11760038
私たちの知る限り、wizkid057 は現在、Ocean Mining Pool で Luke と共同作業を行っています。 BitcoinTalkフォーラムの別のユーザー「spartacusrex」はカノ氏に同意し、次のように述べた。
有効なトランザクションは有効なトランザクションです。期間。物語は終わり。政治は無し。もし誰かが、どの取引がシステムを通過できるかを「編集」することが可能だと示唆し始めたら、それは非常に悪い前例になると思います。
第3ラウンド
2015年7月7日、 3回目の攻撃が発生した。しかし、私たちが知る限り、CoinWallet.EU は今回公式発表を行っていないものの、過去の行動から見て同社と関係者らが第一容疑者となっている。その後数日間で、人々はメモリプールに 27,000 から80,000 件のトランザクションがあると報告しました。これはこれまでで最も暴力的かつ多面的な攻撃であり、インターネット上である程度の混乱を引き起こした。
マザーボードは、この攻撃の手数料は8,000ドル(30ビットコイン)以上で、前回の434ユーロを大幅に上回ったと報じた。今回、攻撃者はより多様な戦略を使用して、できるだけ多くのジャンクトランザクションを生成しました。たとえば、多くのダスト取引は、WikiLeaks ウォレットやスタートアップ Reddit の競合企業 Voat のウォレットなどのパブリック ウォレットに送信されます。
スパマーはまた、「cat」や「dog」という単語で生成されたブレインウォレットなど、秘密鍵が公開されているアドレスに少量のビットコインを送信します。これにより、攻撃者のサーバー自体がスパムトランザクションを作成しなくても、他のユーザーがさらに多くのスパムトランザクションを作成して資金の引き換えを試みることができるため、さらに多くのスパムトランザクションの作成が容易になります。たとえば、2015 年 7 月には、非圧縮キーを使用して「cat」という単語から生成されたビットコインアドレスに、41,000 件を超えるトランザクションが関連付けられました。このアドレスは、それぞれ 0.00001 BTC 相当の出力を数千件受信しました。 2015 年 7 月、非圧縮キーを使用して「password」という単語から生成されたビットコイン アドレスには、45,000 件のビットコイン取引が関連付けられました。 「dog」という単語で生成されたアドレスには、43,000件を超えるトランザクションがありました。したがって、スパマーはこの攻撃を実行するにあたり、明らかに創意工夫と専門知識を発揮しました。
攻撃が激化した当時、ビットコイン開発者であり、大規模ブロックの提唱者であるマイク・ハーンは、ブロックサイズの制限を増やすことが、このような攻撃に対する最善の防御策であると主張した。
この攻撃に対する最善の防御策は、ブロック サイズの制限を増やして、攻撃にかかるコストをできるだけ高くすることです。これは確かに私が取り組んでいることです。
出典: https://www.reddit.com/r/Bitcoin/comments/3ck5z9/comment/cswda6x/
マイニングプール F2Pool は、1MB のトランザクションを作成してこれらのジャンク トランザクション出力を統合し、UTXO の肥大化を軽減することで混乱を解消するのに役立ちました。 1MB のトランザクションには 5,000 を超える入力が含まれており、検証は計算的に困難で、当時のビットコインの sighash 操作の二次スケーリングの弱点により、ノードによるチェックに最大 20 秒を要しました。数日後、ビットコイン開発者のグレゴリー・マクスウェル氏がF2Poolに協力し、すべての入力に同じ署名を使用し、取引の検証を容易にしたと報じられている。たとえば、これは 7,000 を超える入力を含む別の 1MB のトランザクションです。より正確に言うと、最初の入力にはトランザクションのハッシュに署名する一意の署名があり、他のすべての入力は同じ署名を持ち、トランザクションのハッシュに署名しません。 Gregory のより効率的な統合により、各入力は SIGHASH_ALL ではなく SIGHASH_SINGLE で署名されます。 SIGHASH_ALL は、署名がすべての入力と出力に署名することを意味します。これはデフォルトの動作です。この区別は、2025 年 5 月に追加された優れた新機能であるmempool.space Web サイトにうまく反映され、SIGHASH_ALL は緑のキーで示され、SIGHASH_SINGLE は青のキーで示されます。
第4ラウンド
CoinWallet はその後、 2015 年 9 月に 4 回目かつ最終回のストレス テストを受けました。
明日発表されるストレステストについては反対意見が多い。これをネットワークへの攻撃と呼ぶ人もいますが、私たちはこれを、誰かが電車のチケットをすべて購入して、電車を独り占めしようとするのと何ら変わりないと考えています。私たちは多くの弁護士に相談しましたが、そのようなテストはEUや他の地域の法律に違反しないというのが一般的な見解です。
CoinWallet.EU の最高執行責任者 (COO) または最高商務責任者 (CCO) を名乗る「ジェームズ・ウィルソン」が、攻撃について話すために各メディアに電子取引を送信しました。ウィルソン氏はこう語った。
目標はコミュニティがビットコインを修正することです。今は壊れています。小さなウォレットのスタートアップがネットワークを崩壊させることはできないはずだ。
この 4 回目の攻撃では、CoinWallet.EU は異なるアプローチを採用しました。同社は、BitcoinTalkフォーラムに秘密鍵を直接投稿することで200ビットコインを配布すると発表した。元の投稿には 5 つの秘密鍵が含まれており、それぞれの残高は 0.53918 BTC でした。その後数日間にわたって、Coinwallet アカウントはスレッド内に数千個の秘密鍵と残高を公開しました。その結果、90,000 件を超えるトランザクションが生成されましたが、その多くは競合するトランザクションであったため、First Seen Safe (FSS) 原則を使用して破棄することができました。このため、第 4 ラウンドの攻撃の影響は第 3 ラウンドの攻撃ほど深刻ではありませんでした。
この最新の試みにより、同社は「ストレステストの日は正式に終了した」と発表し、多くのビットコイン保有者が勝利を宣言した。
CoinWallet.EU の背後に誰がいるのかは、依然として謎のままです。推測としては次のようなものがあります。
- 顧客がCoinWalletに送金する際、受取人をQuadrigaと同じ名前の1009926 BC LTDに設定するよう指示されていることから、Quadrigaの元CEOであるジェラルド・コットンがCoinWalletの黒幕である可能性がある。ただし、これは単に CoinWallet が Quadriga を支払いプロセッサとして使用しているだけである可能性があります。
- CoinWalletのCOO、 ジェームズ・ウィルソンは、クレイグ・ライトの元同僚ジェイミー・ウィルソンと同一人物である可能性があり、つまりライトがスパム攻撃に関与していた可能性がある。あるいは、彼はもう一人の偽サトシ、フィル・ジェームズ・ウィルソン(別名 スクロニー)である可能性があり、彼の家族は彼をよくジェームズ・ウィルソンと呼ぶそうだ。 (ジェームズ・ウィルソンはかなり一般的な名前です)
私たちにとって、上記の理論はあまりにも弱く、現段階では CoinWallet が背後にいると結論付けるには証拠が不十分です。
学術分析
2015 年のスパム攻撃を取り上げた学術論文が発表されました。発表されたデータによると、メモリプールのサイズが 2 回にわたって急上昇し、約 175,000 件のトランザクションに達しました。これは、スパム攻撃の第 3 ラウンドと第 4 ラウンドと一致しています。
この論文は最終的に次のような結論を導き出しています。
ビットコインに対するスパムベースの「ストレス テスト」DoS 攻撃の実証的研究を紹介します。クラスタリングベースのアプローチを使用すると、スパム活動がピークに達した 10 日間に発生した合計 1,645,667 件のビットコイン取引のうち 385,256 件 (23.41%) がスパムであったことがわかります。また、この攻撃は非スパムトランザクションに悪影響を及ぼし、平均手数料が 51% (45 サトシ/バイトから 68 サトシ/バイトへ) 増加し、処理遅延が 7 倍 (0.33 時間から 2.67 時間へ) 増加したことも示されています。これは、少額のビットコイン(少なくとも 49,000 ドル)を費やして高額の手数料を支払うことをいとわない攻撃者が、ビットコインに対して DoS 攻撃を実行できる可能性を示唆しています。
結論は
私たちの意見では、2015 年のスパム攻撃はビットコインにかなりの影響を与えました。これはビットコインのリレー戦略に技術的な影響を与えただけでなく、ビットコインにおけるスパム取引の認識を形成する上で影響力のある一連の出来事でもありました。おそらくこれらの攻撃の結果として、ネットワークに次のような変化が生じました。
- マイナーはブロックサイズ制限ポリシーを 250 KB または 750 KB から 1 MB に増やしています。 1MB はコンセンサス制限であり、マイナーは戦略をデフォルトから 1MB に変更しました。これは、マイナーがコンセンサス ルールに準拠するために戦略制限を変更する例です。ここでの考え方は、ブロック容量を増やし、スパマーがブロックを埋めてユーザーエクスペリエンスを損なうことが難しくなるというものです。
- 2015年10月、Bitcoin Coreの最小中継手数料は5倍の5,000サトシに増加しました。この決定はスパム取引に対抗するために行われたものと思われます。
- このスパム攻撃は、Bitcoin Core にメモリプール制限とデフォルトのメモリプール サイズ制限 300 MB が導入されるきっかけにもなったようです。議論のほとんどは2015年10月に行われました。
- スパム攻撃は、ブロックサイズ制限をめぐる議論の緊張と二極化を高めたようにも見える。ビッグブロック支持者(一部は攻撃に参加)は、攻撃中にユーザーエクスペリエンスが低下したことを、ブロックサイズの制限を増やす必要がある証拠だと指摘している。大規模ブロックの支持者の中には、この攻撃によってブロックサイズ制限が議題のトップに躍り出て、さらなる議論のきっかけになったことを喜んだ者もいるようだ。懐疑的な人は、これはブロック サイズの制限を増やすために草の根のユーザーからの支持を得るための組織的かつ意図的な試みだと言うかもしれません。しかし、小ブロック支持者たちは揺るぎない態度を保ち、自らの立場を守り続けた。
もちろん、小型ブロッカーが戦争に勝利しました。ブロックが満杯になりつつありますが、これは今や当たり前のことになっています。これは解決済みの問題ですが、ブロック サイズの制限を増やして、より多くのジャンク トランザクションがチェーン上に流れるようにするのは良い考えではありません。しかし、スパムを構成する要素と、リレーおよびマイニング戦略の観点からスパムをどう処理するかについては、議論が続いています。 2015 年を生きていなかった人にとって、この記事から得られる主な教訓の 1 つは、スパム攻撃は新しいものではないということでしょう。私たちの見解では、2015 年の攻撃者の悪意は、2023 年以降に JPEG 関連トランザクションを生成した人々の曖昧で、おそらくより正当な意図よりも、どちらかといえば明確だった可能性が高いです。もう一つの興味深い比較は、損害に対して支払われた金額です。2015 年は損害額はおそらく約 10,000 ドルでした。そして2023年以降、「ジャンク」取引の手数料に数億ドルが費やされてきました。