Spam Attackとは?
Spam Attackは、ブロックチェーンに大量の低額トランザクションを流し込み、混雑させる行為です。クラブの列に空席埋め役を詰め込んで本来の客が長く待たされ、先に進むために余計に支払うようになるのを想像してください。単純な発想ですが、結果は厄介です。
Spam Attackがチェーンを完全に破壊すると思われがちですが、そうではありません。ほとんどは待機場と呼ばれる mempool を過負荷にするだけで、処理が遅くなる一方で履歴が書き換えられるわけではありません。
Spam Attackの仕組み
手短に流れだけ説明します。
- ステップ1:攻撃者は何千もの小さなトランザクションを作成してネットワーク nodes に大量送信します。
- ステップ2:非常に低い transaction fees を付けて、多く送っても支払いを抑えます。
- ステップ3:mempoolが満杯になります。通常のユーザーは確認を待つ時間が長くなり、保留キューが膨らみます。
- ステップ4:先に処理されるにはユーザーがより多く支払い、miners は価格順に処理するため、Transaction fees が上昇します。
- ステップ5:攻撃者がやめるか資金が尽きるか、あるいはユーザーがスパムに上乗せで入札すると混雑は収まります。
確かに迷惑ですが、主に列を混ませているに過ぎません。
なぜSpam Attackが問題になるのか
で、なぜ気にするべきか?
- 利点:早期に見分けられれば費用を節約できます。待ってやり過ごすか、混雑を抜けるのに必要な分だけ一度支払えばよく、慌てて大量に支払う必要はありません。
- 視点:51%攻撃や 51% attacks 、あるいは double spending attacks のようなより悪質な動きの煙幕になることがあります。
- 関連性:盛り上がったミントやエアドロップ、注目のトークンローンチでボットが群がるときによく見られます。
手数料が急騰した場合は、静かなブロックを待つか、一度だけ少し多めに支払うのが良いです。何度も再送すると混乱が増します。
Spam Attackの主な特徴
目立つ点:
- 量:大量の小さなトランザクションが発生し、しばしばボットで自動化されます。
- 圧力:待ち行列を混雑させて手数料を押し上げます。
- 持続性:攻撃者が支払いを続ける間だけ効果を持ちます。
変種
チェーンによってさまざまな形が現れます:
- ダスト:微小な出力を広く送ってストレージと追跡を膨らませる。
- コントラクト:繰り返し関数を呼びガスを消費させるが実際の意図はない。
- エアドロップ:ボットがクレームやミントをスパムして報酬を得ようとする。
- メッセージ:検証者やピアへの繰り返しのピングでネットワークノイズを増やす。
オープンなネットワークは誰でもトランザクションを送れることが特長であると同時に攻撃対象でもあります。手数料フィルターや優先ルールには意味があります。
例
人気のNFTミントが始まり、ボットネットが何千もの小額送信を行うとmempoolが膨張し、ウォレットが遅延し、ユーザーは順番を飛ばすために追加で支払います。
豆知識
ビットコインでは、送信者が大量のダストトランザクションを流した有名なフラッドキャンペーンがありました。部分的にはブロックサイズの議論への主張であり、部分的にはストレステストの一環でした。その出来事は数日間ミームとして話題になりました。
まとめ
Spam Attackはオープンなアクセスを悪用して金を払って列を混雑させ、処理を遅らせる行為だと考えてください。落ち着いて手数料を確認し、意図を持って一度だけ行動しましょう。
