Anatomi MEV: sandwich, frontrunning, dan hutan gelap mempool
Apabila anda menandatangani satu swap pada bursa terdesentralisasi dan menyiarkannya ke titik akhir RPC awam, anda tidak menghantar arahan peribadi kepada enjin pemadanan. Anda telah menerbitkan pernyataan niat yang ditandatangani dan boleh dilaksanakan ke papan buletin global, dan anda telah melampirkan satu hadiah — harga gas — kepada sesiapa yang bersetuju untuk melaksanakannya. Semua orang boleh membaca pernyataan itu. Tiada siapa yang bertanggungjawab melaksanakannya secara adil, mengikut urutan, atau langsung tidak. Urutan di mana ia mendarat berbanding transaksi lain bukan sifat kepada penghantaran anda; ia adalah keputusan yang dibuat oleh pihak ketiga yang memperoleh keuntungan dengan membuatnya menentang anda.
Inilah inti tidak selesa dalam perdagangan on-chain. Dalam Arbitraj Statistik dan Perdagangan Pasangan dalam Pasaran Kripto kami menyebut, secara sepintas lalu, bahawa memindahkan kedudukan antara CEX dan DEX membawa "risiko MEV" dan membiarkannya sebagai istilah tergantung. Artikel ini membayar hutang itu. Ia adalah pintu depan kepada satu siri tentang ekonomi pelaksanaan on-chain, dan tugasnya adalah mentakrifkan kosa kata — mempool, bundle, backrun, sandwich, PBS — dengan cukup tepat supaya karya-karya seterusnya tentang arbitraj atomik dengan flash loan dan kecairan tertumpu Uniswap v3 untuk quant boleh menganggap anda sudah memahami mesin itu.
MEV — Maximal (atau Maximum) Extractable Value — ialah keuntungan yang boleh diekstrak oleh satu pihak dengan memilih kemasukan, pengecualian, dan penyusunan transaksi dalam sesuatu blok, melangkaui ganjaran blok standard dan yuran keutamaan. Ia bukan pepijat; ia adalah akibat struktur daripada cara blockchain tanpa keizinan menyusun transaksi. Sejak mekanisme ini dicirikan secara formal pada 2019, nilai terkumpul yang diekstrak telah mencecah berbilion dolar, dan satu industri penuh — searcher, builder, relay, penyampai blok — telah tumbuh untuk menangkap dan mengagihkannya semula. Jika anda berdagang on-chain, anda sama ada membayar cukai ini atau anda telah mengambil langkah yang disengajakan untuk tidak membayarnya.
1. Kitaran hayat transaksi: mengapa niat anda bersifat awam
Untuk melihat di mana nilai bocor keluar, ikuti satu transaksi dari dompet anda hingga ke blok yang dimuktamadkan.
Mempool awam
Apabila dompet anda menandatangani satu transaksi dan menghantarnya ke titik akhir RPC sesuatu nod standard, nod itu mengesahkannya (tandatangan, nonce, baki mencukupi) dan, jika ia lulus, ia menyebarkannya merentasi rangkaian rakan-ke-rakan kepada nod lain. Setiap nod menyimpan transaksi yang belum dimasukkan ini dalam penimbal setempat yang dipanggil mempool (memory pool). Dalam masa satu atau dua saat, pada dasarnya setiap nod pada rangkaian — termasuk nod yang dikendalikan oleh pihak yang keseluruhan perniagaannya adalah mengekstrak nilai daripada transaksi tertunggak — memegang salinan transaksi anda yang telah ditandatangani dan dinyahkod sepenuhnya.
"Dinyahkod sepenuhnya" ialah frasa yang menanggung beban. Transaksi anda bukan gumpalan legap. Ia adalah panggilan yang dikod-ABI kepada kontrak yang diketahui. Sesiapa yang memerhati mempool boleh menyahkodnya dan membacanya dalam istilah biasa: alamat ini akan menukar 40 ETH kepada USDC pada pool WETH/USDC Uniswap v2, dan ia akan menerima serendah 96,000 USDC. Klausa terakhir itu — output minimum yang boleh diterima — ialah toleransi slippage anda, dan ia bukan petunjuk. Ia adalah parameter keras yang disusun ke dalam calldata. Kita akan lihat sebentar lagi bahawa ia juga adalah garis belanjawan penyerang.
Mempool kadangkala dipanggil hutan gelap, sempena satu esei 2020 oleh Dan Robinson dan Georgios Konstantopoulos yang meminjam metafora Liu Cixin: satu ruang di mana mana-mana entiti yang kelihatan serta-merta diburu oleh pemangsa yang tidak dapat anda lihat. Siarkan satu transaksi naif yang menguntungkan ke dalam mempool awam dan ia mungkin tidak pernah sampai ke sesuatu blok dalam bentuk yang anda tandatangani — satu bot pasti telah menghabiskan peluang itu dan membentuk semula blok sekelilingnya menentang anda.
Harga gas sebagai baris gilir keutamaan
Pasaran yuran Ethereum (selepas EIP-1559) membahagikan harga gas kepada yuran asas protokol, yang dibakar, dan yuran keutamaan ("tip"), yang pergi kepada penyampai blok. Apabila sesuatu blok dibina, builder didorong secara ekonomi untuk memasukkan transaksi yang membayarnya paling banyak. Sebagai penghampiran pertama, mempool ialah baris gilir keutamaan yang berkunci pada tip: tip lebih tinggi, kemasukan lebih awal.
Inilah mekanisme yang menjadikan penyusunan boleh dibeli. Jika saya nampak swap tertunggak anda dan saya mahu transaksi saya dilaksanakan sejurus sebelum transaksi anda, saya tidak perlu menggodam apa-apa. Saya cuma menghantar satu transaksi yang membayar tip lebih tinggi. Builder, mengikut insentifnya, meletakkan transaksi saya dahulu. Penyusunan bukan jaminan keadilan yang disediakan oleh protokol; ia adalah lelongan yang dijalankan oleh protokol, dan lot yang dilelong ialah hak untuk bertindak atas maklumat dalam transaksi tertunggak anda.
Dua fakta bergabung menjadi keseluruhan masalah MEV:
- Transaksi tertunggak bersifat kelihatan (mempool awam).
- Penyusunannya dijual (lelongan keutamaan-tip).
Segala-galanya di bawah ini adalah lelaran.

2. Mekanik sandwich, dengan matematik sebenar
Sandwich ialah strategi MEV toksik kanonik terhadap seorang swapper, dan ia berbaloi untuk menggilap aritmetiknya kerana angka-angka itu menjelaskan mengapa tetapan slippage anda ialah parameter pertahanan tunggal yang paling penting yang anda kawal.
Invarian hasil-darab-tetap
Sesuatu pool Uniswap v2 memegang rizab bagi token X dan bagi token Y, dan menguatkuasakan invarian
selepas setiap dagangan (mengabaikan yuran buat seketika). Jika seorang pedagang menjual token X ke dalam pool, rizab X baharu ialah , dan untuk mengekalkan pool mesti membayar keluar
Dengan yuran Uniswap v2 sebanyak 0.3%, input diskalakan dengan :
Sifat utama: semakin banyak anda beli dalam satu arah, semakin buruk harga marginal anda. Impak harga bersifat cembung. Kecembungan inilah tepat yang diwangkan oleh penyerang.
Persediaan
Ambil satu pool WETH/USDC. Untuk mengekalkan angka bersih, andaikan rizab yang meletakkan ETH pada kira-kira 2,500 USDC:
- WETH
- USDC
Anda mahu membeli USDC dengan 40 WETH (jualan WETH ke dalam pool). Mengabaikan yuran untuk ilustrasi, satu pengisian jujur dalam blok kosong akan memberi anda
Harga spot sebelum dagangan anda ialah USDC/WETH, jadi 40 WETH "bernilai" 100,000 USDC pada mid pra-dagangan. Anda menerima 99,601 — jurang ~399 USDC itu ialah impak harga anda sendiri campur yuran. Sekarang andaikan anda tetapkan toleransi slippage 1%. amountOutMin transaksi anda ialah
Angka itu kini bersifat awam dalam mempool. Ia memberitahu mana-mana pemerhati: orang ini akan menerima serendah 98,605 USDC untuk 40 WETH mereka. Perbezaan antara apa yang anda akan dapat dalam blok bersih (99,601) dan lantai anda (98,605) — kira-kira 996 USDC — ialah ruang yang telah anda serahkan secara sukarela kepada sesiapa yang frontrun anda. Inilah belanjawan penyerang.
Serangan, langkah demi langkah
Seorang searcher membina tiga transaksi dan memaksanya masuk ke dalam urutan ini dalam satu blok:
1. Front-run (penyerang membeli dahulu). Penyerang menjual WETH mereka sendiri ke dalam pool mendahului anda, menolak harga USDC naik (WETH turun) supaya apabila dagangan anda mendarat, anda mendapat lebih sedikit USDC per WETH. Penyerang menyaiznya supaya transaksi anda masih melepasi amountOutMin anda — jika tidak, swap anda revert dan tiada mangsa untuk disandwich. Saiz front-run optimum ialah saiz terbesar yang meninggalkan anda tepat pada lantai anda.
Andaikan penyerang frontrun dengan 40 WETH milik mereka sendiri. Pool bergerak kepada , dan mengikut invarian penyerang menerima
meninggalkan rizab WETH, USDC.
2. Mangsa (swap anda dilaksanakan ke dalam pool yang telah diburukkan). 40 WETH anda kini mendarat terhadap rizab ini:
Semak kekangan: 98,811 > 98,605, jadi transaksi anda tidak revert — anda dapat diisi, cuma lebih buruk. Anda menerima 98,811 dan bukan 99,601 yang anda akan dapat dalam blok bersih. Anda rugi kira-kira 790 USDC, dan anda langsung tidak sedar ia berlaku; swap anda "berjaya". Pool kini WETH, USDC.
3. Back-run (penyerang menjual balik). Penyerang kini menjual USDC yang dibelinya dalam langkah 1 kembali ke dalam pool — atau setara dengannya membeli balik WETHnya — menangkap harga tinggi yang dicipta oleh dagangan anda. Membeli WETH balik dengan ~99,601 USDC yang dipegangnya:
Penyerang membelanjakan 40 WETH dalam langkah 1 dan mendapat 40.32 WETH balik dalam langkah 3 — keuntungan kira-kira 0.32 WETH (~800 USDC) sebelum gas, diekstrak hampir keseluruhannya daripada belanjawan slippage anda. Ketatkan slippage anda dan belanjawan itu mengecil; saiz front-run optimum penyerang jatuh, dan di bawah sesuatu ambang sandwich itu berhenti menguntungkan selepas gas dan searcher melangkau anda.
Pengajarannya bukan "toleransi slippage itu buruk." Anda memerlukan sedikit toleransi atau transaksi anda revert atas pergerakan harga biasa. Pengajarannya ialah bahawa toleransi slippage ialah kuantiti yang boleh diekstrak secara langsung, dan menetapkannya kepada nilai lalai yang malas seperti 1% atau, lebih teruk, "auto" pada pool nipis, adalah setara dengan meninggalkan wang sebanyak itu di atas meja untuk sesiapa yang memerhati. Pada pool berkecairan rendah di mana dagangan anda sendiri menggerakkan harga beberapa peratus, slippage lalai boleh menyerahkan sebahagian besar yang mengejutkan daripada notional anda.
Lakaran minimum bagi syarat keuntungan seorang searcher:
def sandwich_profit(x, y, gamma, victim_dx, victim_min_out, attack_dx, gas_cost):
out1 = (y * gamma * attack_dx) / (x + gamma * attack_dx)
x1, y1 = x + attack_dx, y - out1
vout = (y1 * gamma * victim_dx) / (x1 + gamma * victim_dx)
if vout < victim_min_out:
return None # victim would revert; no sandwich
x2, y2 = x1 + victim_dx, y1 - vout
got_back = (x2 * gamma * out1) / (y2 + gamma * out1)
return got_back - attack_dx - gas_cost # profit in WETH
Searcher menjalankan pengoptimuman kecil ke atas attack_dx untuk mencari front-run terbesar yang mengekalkan vout >= victim_min_out. Optimum itu adalah di mana lantai slippage anda terikat — yang merupakan cara lain untuk mengatakan bahawa jumlah ambilan penyerang dibataskan tepat oleh ruang yang anda tinggalkan.
3. Taksonomi MEV: toksik lawan jinak
"MEV" digunakan sebagai satu cacian, tetapi tidak semuanya adalah pengekstrakan daripada seorang mangsa. Ia membantu untuk menyusun strategi mengikut sama ada seseorang dijadikan lebih rugi oleh penyusunan itu.
Frontrunning. Perhatikan satu transaksi tertunggak yang menguntungkan, salin atau dahului, dan bayar tip lebih tinggi untuk dilaksanakan dahulu. Arketaipnya ialah melihat satu pembelian besar yang akan menggerakkan harga dan membeli mendahuluinya. Toksik semata-mata: mangsa mendapat harga lebih buruk, atau peluang mereka dicuri secara langsung.
Backrunning. Letakkan transaksi anda sejurus selepas satu transaksi sasaran untuk bertindak atas keadaan yang diciptanya. Yang penting, backrun tulen tidak merosakkan pelaksanaan sasaran — ia berjalan selepas, jadi harga mangsa sudah terkunci. Jika swap besar anda menolak pool WETH/USDC keluar daripada sejajar dengan Binance, seorang arbitrajer membackrun anda untuk menjajarkannya semula dan menyimpan bezanya. Anda tidak dirugikan; malah arbitraj ini adalah yang mengekalkan harga on-chain menjejaki pasaran yang lebih luas. Backrunning ialah hujung jinak pada spektrum, dan — seperti yang kita akan lihat — sistem perlindungan-MEV moden dibina tepat untuk memulangkan keuntungan backrun kepada pengguna yang menciptanya.
Sandwiching. Satu frontrun dan satu backrun dibalut sekeliling mangsa yang sama, seperti dibedah di atas. Toksik secara binaan: frontrun wujud hanya untuk memburukkan pengisian mangsa supaya backrun boleh menuainya.
Arbitraj atomik. Satu transaksi tunggal yang membeli aset murah pada satu tempat dan menjualnya mahal pada satu lagi — katakan WETH lebih murah pada Uniswap berbanding pada Sushiswap — memperoleh keuntungan tanpa risiko, semua-atau-tiada dalam satu transaksi (ia revert jika tidak menguntungkan). Tiada mangsa tertentu; ia menutup percanggahan harga yang ditinggalkan terbuka oleh pasaran. Amnya dianggap jinak — ia memperbaiki konsistensi harga silang-tempat — dan ia adalah subjek karya arbitraj atomik dan flash loan dalam siri ini, di mana sifat "tiada modal diperlukan" bagi flash loan menjadikannya amat tajam.
Likuidasi. Apabila kedudukan pinjaman (Aave, Compound, Maker) jatuh di bawah ambang cagarannya, protokol menawarkan bonus kepada sesiapa yang membayar balik hutang buruk itu dan merampas cagaran. Searcher bersaing untuk menjadi likuidator itu. Ada seorang "mangsa" — peminjam yang dilikuidasi — tetapi mereka sedang dilikuidasi oleh peraturan protokol tidak kira apa pun; persaingan MEV kebanyakannya menentukan siapa mendapat bonus dan, melalui persaingan, boleh mengecilkannya. Panggilnya neutral-ke-jinak untuk kesihatan pasaran, tidak menyenangkan bagi peminjam.
Satu peta kasar:
| Strategi | Mangsa dirugikan? | Keputusan |
|---|---|---|
| Frontrun | Ya | Toksik |
| Sandwich | Ya | Toksik |
| Backrun (tulen) | Tidak | Jinak |
| Arbitraj atomik | Tidak | Jinak (memperbaiki konsistensi harga) |
| Likuidasi | Peminjam (mengikut peraturan protokol) | Neutral |
Garis toksik/jinak penting kerana keseluruhan tindanan mitigasi-MEV moden ialah percubaan untuk menyekat strategi toksik sambil memelihara — dan mengagihkan semula — yang jinak. Anda tidak boleh mengharamkan permainan penyusunan tanpa turut merosakkan arbitraj yang mengekalkan harga DEX jujur. Helahnya adalah menghalakan nilai toksik kembali kepada orang yang diambilnya.
4. Sejarah ringkas: dari lelongan gas ke Flashbots
Flash Boys 2.0 dan lelongan gas keutamaan
Fenomena ini dinamakan dan diukur dalam kertas 2019 "Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges" oleh Philip Daian, Steven Goldfeder, Tyler Kell, Yunqi Li, Xueyuan Zhao, Iddo Bentov, Lorenz Breidenbach, dan Ari Juels. Kertas itu memperkenalkan istilah "miner extractable value" (kemudian digeneralisasikan kepada maximal extractable value apabila industri beralih daripada pelombong proof-of-work kepada penyampai proof-of-stake) dan mendokumenkan lelongan gas keutamaan (PGA): bot yang membida menaikkan antara satu sama lain pada harga gas, dalam masa nyata, untuk memenangi penyusunan sesuatu peluang yang menguntungkan.
PGA jelas patologi. Kerana satu-satunya tuas yang ada pada bot ialah harga gas awam, mereka bertelagah dalam perang bidaan terbuka — berulang kali menghantar semula dengan tip lebih tinggi dan lebih tinggi dalam beberapa saat yang sama — untuk menuntut satu arbitraj atau likuidasi tunggal. Dua akibat hodoh menyusul. Pertama, ini menyesakkan rangkaian dan menaikkan harga gas untuk semua orang, berkaitan-MEV atau tidak. Kedua, dan lebih membimbangkan, kertas itu berhujah bahawa jika MEV yang tersedia dalam sesuatu blok melebihi ganjaran blok, pelombong rasional akan didorong untuk menyusun semula rantaian untuk mencurinya, mengancam kestabilan konsensus itu sendiri. MEV bukan sekadar masalah keadilan-pengguna; ia adalah ancaman kepada rantaian.
Flashbots sebagai respons
Flashbots dilancarkan pada 2020 untuk meleraikan PGA. Wawasannya: pindahkan lelongan penyusunan keluar daripada mempool awam dan ke dalam saluran luar-rantaian, bidaan-termeterai. Bukannya menyiarkan satu transaksi dan bertelagah dalam perang gas awam, seorang searcher memasang satu bundle — senarai transaksi tersusun yang akan dimasukkan secara atomik, semua-atau-tiada, dalam urutan relatif tertentu — dan menghantarnya secara peribadi kepada seorang block builder, bersama satu bidaan (selalunya dibayar sebagai pemindahan terus kepada penyampai dan bukan melalui harga gas). Builder memasang blok paling bernilai yang boleh dibinanya daripada semua bundle dan transaksi yang diterimanya dan menawarkannya kepada penyampai.
Dua perkara bertambah baik serentak. Searcher berhenti membanjiri mempool awam dengan bidaan gagal, jadi eksternaliti harga-gas ke atas pengguna biasa jatuh. Dan bundle yang menang sama ada mendarat utuh atau langsung tidak, menghapuskan transaksi "frontrun gagal" yang dahulunya menyumbat blok. Perang bidaan masih berlaku — cuma ia berlaku sebagai lelongan peribadi di dalam builder dan bukannya pertengkaran laung awam on-chain.
PBS: pemisahan penyampai-builder
Seni bina Flashbots digeneralisasikan menjadi pemisahan penyampai-builder (PBS), model dominan pada Ethereum hari ini. Peranan berpecah:
- Searcher mencari peluang MEV dan membungkusnya ke dalam bundle.
- Builder bersaing untuk memasang blok penuh tunggal yang paling bernilai daripada bundle dan transaksi awam.
- Relay duduk antara builder dan penyampai, menerima blok penuh daripada builder dan menyampaikan hanya pengepala blok campur satu bidaan nilai kepada penyampai, supaya penyampai komited kepada sesuatu blok sebelum melihat kandungannya (menghalang penyampai daripada sekadar mencuri MEV).
- Penyampai (validator) memilih pengepala dengan bidaan tertinggi, menandatanganinya, dan mengutip bayaran.
Ini dilaksanakan luar-protokol melalui MEV-Boost, middleware yang dijalankan oleh majoriti besar validator Ethereum — pada susunan 80–90% blok dibina melalui builder luaran melalui MEV-Boost. Ia berfungsi, tetapi ia bergantung pada relay yang dipercayai. Langkah seterusnya, PBS termeteri (ePBS, EIP-7732), bertujuan membakar pemisahan penyampai-builder terus ke dalam protokol Ethereum dan membuang kebergantungan pada relay-dipercayai. Sehingga pertengahan 2026 ia dijadualkan untuk naik taraf Glamsterdam, mensasarkan pengaktifan mainnet lewat 2026, dengan penyokong mendakwa ia boleh memotong kerugian MEV kepada pengguna secara ketara dengan memperbaiki cara blok dikomitkan dan dengan menyempitkan tetingkap untuk penyusunan semula toksik. Anggap angka tepat itu sebagai aspirasi sehingga ia dihantar, tetapi arahnya jelas: protokol sedang menyerap rantaian bekalan MEV yang selama bertahun-tahun ia berpura-pura tidak wujud.
MEV-Share: memulangkan nilai
Perkembangan paling berakibat besar untuk pedagang biasa ialah MEV-Share, lelongan aliran-order Flashbots. Ideanya membalikkan hutan gelap. Bukannya transaksi anda kelihatan oleh setiap pemangsa, anda menghantarnya secara peribadi kepada satu nod MEV-Share, yang mendedahkan hanya petunjuk separa tentangnya (anda memilih berapa banyak) kepada searcher. Searcher membida untuk membackrun transaksi anda — ingat, backrun tidak menyakiti anda — dan sebahagian besar keuntungan yang terhasil dipulangkan kepada anda, dengan bakinya dibahagikan antara searcher dan penyampai untuk memasukkan bundle itu.
Pembingkaian semula ekonominya elegan. Satu swap besar mencipta peluang backrun; persoalannya ialah siapa yang menangkapnya. Dalam dunia hutan-gelap, searcher dan builder mengambil kesemuanya. Di bawah MEV-Share, nilai yang dicipta oleh transaksi anda sendiri sebahagian besarnya dipulangkan kepada anda. RPC berhadapan-pengguna Flashbots, Flashbots Protect, menghala transaksi runcit melalui sistem ini, dan pada 2025 ia menambah pemulangan yuran-gas di atasnya, meningkatkan secara bermakna apa yang pengguna dapat balik. Inilah prinsip "agih semula yang jinak, sekat yang toksik" yang dijadikan konkrit.
5. Pertahanan praktikal untuk seorang pedagang
Anda tidak perlu menjalankan searcher untuk berhenti menjadi mangsa buruan. Dalam urutan impak kasar:
Tetapkan slippage secara sengaja, per pool
Seksyen 2 menegakkan bahawa toleransi slippage anda ialah belanjawan penyerang. Dua peraturan menyusul. Pertama, saizkan slippage kepada kecairan sebenar pool dan impak harga dagangan anda, bukan kepada 1% yang menjadi tabiat. Pada pool dalam, toleransi 0.1–0.3% mungkin lebih daripada cukup; pada pool nipis, sama ada terima bahawa anda tidak boleh berdagang saiz dengan selamat atau pecahkannya ke dalam klip yang lebih kecil. Kedua, jangan sekali-kali guna slippage "auto"/"tanpa had" pada pasangan berkecairan rendah — ia adalah cek kosong bertandatangan. Jika swap terus revert pada toleransi ketat, itu adalah pasaran memberitahu anda bahawa dagangan anda terlalu besar untuk pool itu, bukan gesaan untuk melonggarkan lantai.
Halakan melalui RPC peribadi
Pembetulan struktur paling bersih ialah mengekalkan transaksi anda keluar daripada mempool awam sepenuhnya. Halakan dompet anda ke satu RPC peribadi yang memajukan transaksi terus kepada builder dan bukannya menyebarkannya:
- Flashbots Protect — menghantar transaksi anda ke dalam sistem MEV-Share, jadi ia tidak pernah kelihatan secara awam kepada frontrunner, dan memulangkan sebahagian daripada nilai backrun campur pemulangan gas.
- MEV Blocker (oleh CoW Protocol dan lain-lain) — perkhidmatan RPC-peribadi serupa yang melindungi daripada frontrunning dan sandwiching serta merebet keuntungan backrun kepada pengguna, dengan model yuran percuma-untuk-diguna.
Kerana sandwich memerlukan penyerang melihat transaksi tertunggak anda dan menyisipkan satu frontrun sebelumnya, membuang transaksi anda daripada mempool awam membuang peluang frontrun secara langsung. Peluang backrun kekal, tetapi ia kini dilelong balik kepada anda dan bukannya dicuri. Timbal balasnya ialah sedikit kepercayaan pada pengendali RPC dan, sesekali, kemasukan yang lebih perlahan sedikit — biasanya remeh berbanding menghapuskan risiko sandwich. (Satu kajian penanda aras 2025 bagi RPC perlindungan-peribadi mendapati penyelesaian dunia sebenar mereka tidak selalu lebih baik secara mutlak daripada penghantaran awam, jadi kesannya kuat tetapi tidak sejagat; untuk kebanyakan swap DEX bersaiz runcit, penghalaan peribadi masih merupakan lalai yang betul.)
Utamakan tempat berasaskan lelongan-kelompok dan niat
Sesetengah reka bentuk DEX membuang kelebihan penyusunan secara binaan. CoW Protocol menyelesaikan dagangan dalam lelongan kelompok dengan harga pelunasan seragam — setiap dagangan dalam satu kelompok dilunaskan pada harga yang sama, jadi tiada kedudukan "pertama" dan "terakhir" untuk dieksploitasi, dan solver bersaing untuk memberi anda pelaksanaan terbaik dan bukannya menyusun semula sekeliling anda. Sistem berasaskan niat di mana anda menandatangani apa yang anda mahu dan membiarkan solver mencari pelaksanaan, dan bukannya menandatangani laluan tertentu, sama-sama menafikan sandwich pijakannya. Jika anda berdagang saiz, tempat-tempat ini lebih bernilai daripada mana-mana penalaan slippage.
Fahami mengapa L2 berbeza
Pada kebanyakan rollup Ethereum hari ini (Arbitrum, Optimism, Base), blok dihasilkan oleh satu sequencer tunggal yang dikendalikan oleh pasukan rollup. Tiada mempool awam bagi transaksi tertunggak untuk diperhatikan searcher, dan ada satu pihak dipercayai yang memutuskan urutan. Dalam praktik kebanyakan sequencer menyusun transaksi siapa-datang-dahulu-dilayan-dahulu dan tidak menjalankan serangan sandwich terhadap penggunanya, jadi sandwiching kebanyakannya tidak wujud pada rantaian ini pada lapisan protokol.
Tetapi baca timbal balasnya dengan tepat: sebab anda selamat daripada pengekstrakan MEV terdesentralisasi ialah kerana anda mempercayai penyusun berpusat untuk tidak mengekstraknya. Sequencer boleh frontrun anda; ia sekadar memilih (dan terikat secara reputasi) untuk tidak. Ini adalah keseimbangan sementara. Apabila rollup mendesentralisasikan sequencer mereka — sequencer dikongsi, penyusunan berasaskan, lelongan gaya-PBS pada L2 — dinamik keterlihatan mempool dan penyusunan-untuk-dijual yang sama boleh muncul semula, dan persoalan MEV L2 menjadi masalah reka bentuk terbuka dan bukannya yang telah diselesaikan. Jangan andaikan "saya pada L2" bermaksud "MEV tidak boleh menyentuh saya" selama-lamanya; ia bermaksud "satu pihak dipercayai telah berjanji untuk tidak, buat masa ini."
Apa yang perlu dibawa ke seluruh siri ini
Kupas topik ini kepada fakta-fakta yang menanggung beban:
- Satu swap mempool-awam ialah niat awam campur satu slot penyusunan yang boleh dibeli. Gabungan itu, bukan mana-mana pepijat tunggal, ialah keseluruhan masalahnya.
- Pada AMM hasil-darab-tetap, toleransi slippage anda ialah kuantiti yang boleh diekstrak oleh penyerang, dan ambilan sandwich dibataskan tepat oleh ruang yang anda tinggalkan. Menetapkan slippage ialah keputusan keselamatan, bukan togol kemudahan.
- MEV bukan monolitik: frontrun dan sandwich adalah toksik; backrun dan arbitraj atomik adalah jinak dan malah berguna, kerana ia mengekalkan harga on-chain konsisten. Mitigasi yang baik menyekat yang pertama dan mengagihkan semula yang kedua.
- Respons industri bergerak dari PGA (perang gas awam, Flash Boys 2.0, 2019) ke Flashbots / bundle / PBS (lelongan peribadi termeterai) ke MEV-Share (memulangkan nilai backrun kepada pengguna) dan, seterusnya, PBS termeteri dalam protokol.
- Sebagai seorang pedagang, pertahanan anda ialah slippage per-pool yang ketat, RPC peribadi (Flashbots Protect, MEV Blocker), dan tempat lelongan-kelompok — dan kesedaran bahawa keselamatan L2 kini adalah andaian kepercayaan pada sequencer, bukan hukum fizik.
Karya arbitraj atomik dan flash loan mengambil pihak searcher pada meja ini — bagaimana pengekstrakan jinak dibina, dengan modal dipinjam dan revert atomik sebagai jaring keselamatan. Karya kecairan tertumpu Uniswap v3 menyemak semula matematik hasil-darab-tetap di atas dan menunjukkan bagaimana kecairan tertumpu membentuk semula lengkung impak-harga — dan oleh itu belanjawan sandwich — yang kita terbitkan di sini. Mempool ialah hutan gelap. Kini anda tahu apa yang memburu di dalamnya.
Rujukan
- Daian, Goldfeder, Kell, Li, Zhao, Bentov, Breidenbach, Juels (2019), Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges. arXiv:1904.05234.
- Robinson & Konstantopoulos (2020), Ethereum is a Dark Forest.
- Dokumentasi Flashbots: MEV-Boost, MEV-Share, Flashbots Protect, pemulangan MEV (docs.flashbots.net).
- Ethereum PBS / EIP-7732 (pemisahan penyampai-builder termeteri), bahan naik taraf Glamsterdam.
- MEV Blocker (mevblocker.io); reka bentuk lelongan-kelompok CoW Protocol.
- Private MEV Protection RPCs: A Benchmark Study (arXiv:2505.19708, 2025).
Pengarang
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.