暗号資産におけるサンドイッチ攻撃とは何か、そしてそれに対する保護方法
分散型取引所(DEX)は、仮想通貨トレーダーに多くの機会と明確な利点を提供します。同時に、これらのプラットフォームは、疑うことのない仲間トレーダーを犠牲にして、被害をもたらし、利益を得るという悪質な攻撃者を誘致することが多いです。ラグプルやフラッシュローン攻撃は、分散型取引プラットフォームの固有の脅威について議論する際によく言及されますが、別のタイプの悪意のある攻撃、つまりサンドイッチ攻撃は、あまり注目されません。
最も標準的なサンドイッチ攻撃では、不正な動機を持つトレーダーがブロックチェーン上で保留中のスワップ取引を特定し、対象取引の前後に2つの注文を発注して資産価格を操作します。犯人の目標は、予想価格が上昇する前に資産を購入し、価格インフレ後にすぐに売却することです。攻撃の被害者は、資産を騰貴価格で購入し、その後価格が急落するにつれて無力に見守ることになります。
サンドイッチ攻撃は、分散型金融(DeFi)の世界における他のセキュリティ脆弱性よりもあまり公表されていませんが、これらの悪用の被害に遭ったトレーダーにとっては依然として壊滅的な被害をもたらす可能性があります。このような攻撃の標的に気付いていないトレーダーは、特に攻撃段階で積極的に注文を行った場合、多額の資金をすぐに失い、抹消される可能性があります。
幸いなことに、攻撃者のブレックファーストサンドイッチが「満杯」になる可能性を最小限に抑えるために、トレーダーが実行できる対策がいくつかあります。この記事では、サンドイッチ攻撃、その2つの主な種類、そしてそれらを回避する主な方法を詳しく見ていきます。
この記事のポイント:
サンドイッチ攻撃は、被害者のスワップ注文に2回(1つのバリエーションでは3回)の取引を行い、被害者の犠牲を払って資産価格と利益を操作することを意図するDEXプラットフォームでよくある攻撃です。
サンドイッチ攻撃から身を守る主な方法は、許容可能なスリッページ率のコントロール、より大きなスワッププールの使用、ガス代の高騰、中央集権型取引所(CEX)プラットフォームの使用などです。
暗号資産におけるサンドイッチ攻撃とは?
サンドイッチ攻撃は、DEXプラットフォーム上の悪質な取引の一種であり、攻撃者は保留中のスワップ操作を特定し、資産の価格を操作するために、対象取引の前後に1つの注文を発注します。 悪質なトレーダーは、保留中の取引をフロントランとバックランで同時に処理し、その名前を狙います。彼らの目標は、想定外のトレーダーが選んだ資産を低い価格で購入し、バックランニング取引の直後に売却することです。
サンドイッチ攻撃の結果、被害者は予想執行価格と比較して騰貴価格で資産を購入します。バックラン取引の後、資産価格は下落し、被害者は支払った資産よりも低い資産価値を手にします。被害者の取引高や取引活動によっては、サンドイッチ攻撃による損失や、その一連の損失が壊滅的なものとなる可能性があります。これらの攻撃は、DEXではかなり一般的ですが、フラッシュローン攻撃などの他のエクスプロイトよりもカバレッジが低くなります。
サンドイッチ攻撃は、アービトラージ取引の一形態と見なされる可能性があります。しかし、他のアービトラージとは異なり、これらの攻撃は被害に遭ったトレーダーに直接被害を与えます。サンドイッチ攻撃者は、被害者の費用で利益を得るために、被害者の取引前後に意図的に価格を操作します。そのため、これらの攻撃は悪質な市場操作にとどまらず、DeFiコミュニティでは広く非難されています。
技術的には、ブロックチェーンの一般性により、分散型取引プラットフォームでサンドイッチ攻撃が発生する可能性があります。すべてのパブリックブロックチェーンは、保留中の取引をミームプールエリアに保管します。このエリアは、最終的にブロックチェーンの永久記録台帳に書き込まれるまで、取引の待ち場となります。攻撃者は、こうしたエクスプロイトの可能性が高い取引について、積極的にミームプールを探しています。
サンドイッチ攻撃のしくみ
典型的なサンドイッチ攻撃が実際にどのように起こるかを考えてみましょう。
たとえば、あるトレーダーが自動マーケットメイカー(AMM)ベースのDEXにスワップ注文を発注し、USDTをETHに交換するとします。 サンドイッチ攻撃者は、被害者の取引を保留リストに見つけ、ETHの購入注文を迅速に発注し、最初に自身の取引を実行しようとします。ブロックチェーン技術の性質上、攻撃者はこれを達成する方法があります(例えば、より高いガス代を支払って自身の取引の優先順位を上げるなど)。攻撃者は、最初に独自の取引を実行することで、ETHの低価格を利用します。買い注文の結果、取引プールのETH価格が上昇します。
したがって、被害者がUSDTをETHにスワップする注文を経ると、実際の執行価格が期待していたものと異なり、ETHはさらに高価になるため、被害者は資産を騰貴な価格で受け取ります。また、犯人は別の取引をスケジュールし、被害者の取引後すぐに実行されます。このバックラン取引では、犯人は騰貴価格でETHを売却し、利益を分配します。売却取引の結果、ETHの価格は下落し、被害者は現在、支払った金額よりも低い価値の資産を保有しています。
サンドイッチ攻撃の種類
流動性テイカーとテイカーの比較
サンドイッチ攻撃には主に2種類あります。最も一般的なのは、テイカーとテイカーのシナリオです。通常、サンドイッチ攻撃者は、AMMで流動性プールを使用して攻撃を実行します。テイカー対テイカーのシナリオでは、スワップ操作がプールに対して実行され、設定は上記のとおりです。悪意のあるテイカーは、被害者の注文の周囲にフロントラン取引とバックラン取引の両方を配置して、資産価格を操作しようとします。
流動性プロバイダーとテイカーの比較
また、攻撃者は、流動性プロバイダーとして行動することで、標準的なサンドイッチ攻撃を変更しています。流動性テイカーは2つの取引を使用して攻撃しますが、攻撃者は流動性プロバイダーとテイカーモードで3つの注文を実行します。
最初の注文では、犯人はフロントラン方式としてスワッププールから流動性を取り除き、被害者の注文のスリッページ率を高めます。2番目の取引では、流動性を元に戻すことでバックラン方式を実行し、初期プール残高を復元します。最後に、ターゲット資産をスワップします。上記の例では、ETHを元の資産に、USDTをスワップして、プールの資産残高を攻撃前の状態に復元します。
テイカーの取引前に流動性を取り除くことで、流動性プロバイダーは手数料の支払いを避けます(通常、すべての流動性プロバイダー間で共有されます)。つまり、スリッページの増加により、テイカーはより多くの支払いをする必要があり、流動性プロバイダーは手数料を削減し続けることになります。
サンドイッチ攻撃からの保護
一部のDEXプラットフォーム(1インチなど)は、ミームプールでは見えない取引を導入することで、サンドイッチ攻撃に対する保護措置を講じています。一部のプラットフォームでは、サンドイッチ攻撃で頻繁に使用されるボットの一種であるMEV(最大抽出可能価額)ボットからユーザーを保護します。ただし、DeFiトレーダーは、これらの攻撃の被害者になるリスクを最小限に抑えるために、独自の予防措置を取る必要があります。以下に、資金が悪意のある攻撃に満ちているジューシーなサンドイッチになるのを避けるために利用できる積極的な方法をいくつか挙げます。
低スリッページを設定する
スリッページ率は、分散型プロトコルでのスワップ取引の予想コストと実際のコストの差です。多くのDEXプラットフォームでは、スワップ取引で許容されるスリッページ率を設定できます。サンドイッチ攻撃(特に流動性プロバイダーとテイカーの変動)では、価格スリッページが顕著であるため、このオプションを積極的に使用してください。
流動性プールを増やす
大型の流動性プールは、資金が大量に流れているため、サンドイッチ攻撃の影響を受けにくくなります。使用するプールが小さいほど、サンドイッチ攻撃による価格変動が顕著になります。価格変動が極端になると、こうした攻撃による損失が大きくなるという、非常に不愉快なことが1つ意味します。
ただし、サンドイッチ攻撃者は、Uniswap(UNI)やSushiSwap(SUSHI)などの大規模なDEXで最も活発です。 したがって、プラットフォームのサイズや、特定のプールの流動性量については、それほど重要ではありません。サンドイッチ攻撃者は、大規模なDEXの低流動性プールが大好きです。したがって、プラットフォームの業界における大きな足跡や評判に惑わされてはなりません。関心のあるプールで通常利用可能な実際の流動性レベルに注意してください。
DEXアグリゲーターは、複数の流動性プールに1回の取引を分配するため、1つのプールがターゲットになる可能性を減らすことで、サンドイッチ攻撃の影響を軽減できます。また、DEXアグリゲーターはより効率的な取引の実行を目指しているため、取引時にスリッページが減少する傾向があります。
より高いガス代を支払う
サンドイッチ攻撃者が不正な取引を行う主な方法の1つは、ブロックチェーンでより高いガス代を支払うことです。そうすることで、被害者の取引前にフロントラン取引が執行されることを(決して保証しませんが)保証することがよくあります。これらの攻撃に対する脆弱性を減らすには、ガス代を高くして、悪意のあるフロントラン注文が実行される前にマイナーが取引を処理します。
集中型取引所の利用
Bybitを含む中央集権型取引所(CEX)は、サンドイッチ攻撃の影響を受けません。この種の攻撃はDEXに特有の攻撃であるためです。 上記の対策は、そのような攻撃のリスクを最小限に抑える(決して排除しない)可能性がありますが、CEXで取引を行うことは、攻撃者を挟む可能性を完全に回避する唯一の信頼できる方法です。
終わりに
サンドイッチ攻撃は、ブロックチェーン上の取引注文の本質的に非同期的な性質を利用します。有名なフラッシュローン攻撃ほど注目を集めるものではありませんが、DEXやコストトレーダーには遍在しています。幸いなことに、これらの攻撃による潜在的な脅威を最小限に抑える方法はいくつかあります。スリッページ率を厳密にコントロールし、より大きな流動性プールを使用し、注文の優先順位を上げるためにガス代を高く支払い、CEXプラットフォームを使用することで、サンドイッチ攻撃の被害者になるリスクを大幅に軽減できます。
#LearnWithBybit