MEVとは何でしょうか。MEVは「最大抽出可能価値」の略で、ブロックが最終確認されオンチェーンに書き込まれる前に、「このバッチの取引をどの順序で並べるか」を決める権限を持つ者——マイナー、バリデーター、保留中の取引を見張るサーチャーボット——が、並べ替え、挿入、自分の取引の便乗で追加的に絞り取れる利益を指します。根源は、ブロックチェーンで処理を待つ取引が確認前に公開で見えること、そして順序を決められる者が操作する力を握ることです。一般ユーザーには、MEVは「取引がなぜか悪い価格で約定する」形で最もよく現れます。
サンドイッチ攻撃は具体的にどうあなたを挟むのでしょうか。DEXでコインを買おうとすると想像してください。ステップ1、買い注文を出すと公開の保留エリアに入り、全員(攻撃ボットを含む)があなたが「買おうとしている」のを見られます。ステップ2、攻撃者のボットがあなたの前に同じコインを買い、価格を押し上げます。ステップ3、あなたの買いが約定しますが、価格がすでに押し上げられているので予想より悪い価格で買います。ステップ4、攻撃者がすぐあなたの後ろで買ったばかりのものを売り、押し上げとあなたの引き受けが作った差額を懐に入れます。あなたの取引が攻撃者の「先に買い」と「後で売り」に挟まれ、サンドイッチの具のようで、名前の由来であり、なぜか高く買わされた理由です。
なぜサンドイッチ攻撃に狙われ、どんな取引が最も危険なのでしょうか。2つの根本原因。第一に公開性:ほとんどのパブリックチェーンで、出した取引は確認前に公開の保留エリアに入り、攻撃ボットがリアルタイムでスキャンし、あなたがしようとする取引を見られます。第二に、あなたが制御できる鍵——スリッページ許容度。スリッページを緩く設定する(約定価格と見た価格の大きな差を許す)と、攻撃者に「この価格まで受け入れる」と能動的に伝え、彼は安心して価格を許容上限まで押し上げてから約定させられます。だから最も危険な取引は、額が大きい(絞る旨味が多い)、流動性の浅いペア(価格が動かされやすい)、スリッページが緩い(攻撃者に大きな余地)。3つが重なると、ほぼボットに挟んでくれと招くようなものです。
どう自衛し、挟まれるリスクを最小化するのでしょうか。いくつかの実用的措置、簡単から高度まで。第一に、最も簡単:スリッページ許容度をきつく設定する(約定する合理的範囲内)。スリッページがきついほど攻撃者が価格を動かす余地が小さく、絞り取れる利益が少なくなりますが、きつすぎると小さな価格変動で取引が失敗し得るので調整を。第二に、「プライベート取引」やMEV保護内蔵のウォレット、アグリゲーター、ルートを使い、取引が公開保留エリアを迂回すれば、攻撃者は見えず自然に挟めません。第三に、大口取引を分割し、単一取引で露出する価値を減らします。第四に、流動性が極めて浅い小型コインのペアをできるだけ避けます。挟まれる高リスク地帯です。これらを組み合わせれば、一般ユーザーは実際このリスクをかなり低く抑えられます。