← Kembali ke artikel
July 17, 2026
5 menit baca

Anatomi MEV: sandwich, frontrunning, dan hutan gelap mempool

Anatomi MEV: sandwich, frontrunning, dan hutan gelap mempool
#mev
#sandwich attack
#frontrunning
#mempool
#flashbots
#defi
#ethereum

Saat kamu menandatangani swap di bursa terdesentralisasi dan menyiarkannya ke endpoint RPC publik, kamu bukan mengirim instruksi privat ke matching engine. Kamu mempublikasikan pernyataan niat yang sudah ditandatangani dan siap dieksekusi ke papan pengumuman global, dan kamu melampirkan hadiah — harga gas — bagi siapa pun yang bersedia mengeksekusinya. Semua orang bisa membaca pernyataan itu. Tidak ada yang wajib mengeksekusinya secara adil, sesuai urutan, atau bahkan mengeksekusinya sama sekali. Urutan kedatangannya relatif terhadap transaksi lain bukan properti dari pengiriman kamu; itu adalah keputusan yang dibuat oleh pihak ketiga yang justru diuntungkan dengan mengambil keputusan yang merugikan kamu.

Inilah inti yang tidak nyaman dari trading on-chain. Dalam Statistical Arbitrage and Pairs Trading in Crypto Markets kami sempat menyinggung, sekilas, bahwa memindahkan posisi antara CEX dan DEX membawa "risiko MEV" dan meninggalkannya begitu saja sebagai istilah yang menggantung. Artikel ini melunasi utang tersebut. Ini adalah pintu masuk untuk serangkaian tulisan tentang ekonomi eksekusi on-chain, dan tugasnya adalah mendefinisikan kosakata — mempool, bundle, backrun, sandwich, PBS — dengan cukup presisi sehingga tulisan-tulisan berikutnya tentang arbitrase atomik dengan flash loan dan likuiditas terkonsentrasi Uniswap v3 untuk quant bisa berasumsi kamu sudah memahami mesinnya.

MEV — Maximal (atau Maximum) Extractable Value — adalah profit yang bisa diambil sebuah pihak dengan memilih inklusi, eksklusi, dan urutan transaksi dalam sebuah blok, di luar block reward standar dan priority fee. Ini bukan bug; ini konsekuensi struktural dari cara blockchain permissionless mengurutkan transaksi. Sejak mekanisme ini dikarakterisasi secara formal pada 2019, nilai kumulatif yang diekstrak telah mencapai miliaran dolar, dan seluruh industri — searcher, builder, relay, block proposer — telah tumbuh untuk menangkap dan mendistribusikan ulang nilai tersebut. Jika kamu trading on-chain, kamu sedang membayar pajak ini atau kamu sudah mengambil langkah sengaja untuk menghindarinya.

1. Siklus hidup transaksi: mengapa niatmu bersifat publik

Untuk melihat di mana nilai bocor keluar, ikuti sebuah transaksi dari wallet kamu hingga ke blok yang sudah final.

Mempool publik

Saat wallet kamu menandatangani transaksi dan mengirimkannya ke endpoint RPC sebuah node standar, node tersebut memvalidasinya (signature, nonce, saldo yang cukup) dan, jika lolos, menyebarkannya (gossip) ke seluruh jaringan peer-to-peer ke node-node lain. Setiap node menyimpan transaksi-transaksi yang belum masuk blok ini dalam buffer lokal yang disebut mempool (memory pool). Dalam hitungan satu atau dua detik, hampir setiap node di jaringan — termasuk node yang dioperasikan oleh pihak yang seluruh bisnisnya adalah mengekstrak nilai dari transaksi pending — memegang salinan transaksi kamu yang sudah ditandatangani dan sepenuhnya terdekode.

"Sepenuhnya terdekode" adalah frasa kuncinya. Transaksi kamu bukan blob buram. Ia adalah pemanggilan yang dikodekan ABI ke kontrak yang dikenal. Siapa pun yang mengawasi mempool bisa mendekodenya dan membaca, secara gamblang: alamat ini akan segera menukar 40 ETH dengan USDC di pool Uniswap v2 WETH/USDC, dan akan menerima paling sedikit 96.000 USDC. Klausa terakhir itu — output minimum yang bisa diterima — adalah toleransi slippage kamu, dan itu bukan sekadar petunjuk. Itu adalah parameter keras yang dikompilasi ke dalam calldata. Kita akan segera melihat bahwa itu juga merupakan batas anggaran bagi penyerang.

Mempool kadang disebut hutan gelap (dark forest), mengambil nama dari esai tahun 2020 oleh Dan Robinson dan Georgios Konstantopoulos yang meminjam metafora Liu Cixin: sebuah ruang di mana entitas apa pun yang terlihat langsung diburu oleh predator yang tidak bisa kamu lihat. Siarkan transaksi naif yang menguntungkan ke mempool publik, dan transaksi itu mungkin tidak akan pernah sampai ke blok dalam bentuk yang kamu tandatangani — sebuah bot akan telah menghabiskan peluang tersebut dan membentuk ulang blok di sekitarnya untuk melawan kamu.

Harga gas sebagai antrean prioritas

Pasar biaya Ethereum (pasca-EIP-1559) memecah harga gas menjadi base fee protokol, yang dibakar, dan priority fee ("tip"), yang masuk ke block proposer. Saat sebuah blok dibangun, builder secara ekonomi termotivasi untuk memasukkan transaksi-transaksi yang membayarnya paling banyak. Sebagai pendekatan pertama, mempool adalah antrean prioritas berdasarkan tip: tip lebih tinggi, inklusi lebih awal.

Inilah mekanisme yang membuat urutan bisa dibeli. Jika saya melihat swap pending kamu dan saya ingin transaksi saya dieksekusi tepat sebelum milik kamu, saya tidak perlu meretas apa pun. Saya cukup mengirimkan transaksi yang membayar tip lebih tinggi. Builder, mengikuti insentifnya, menempatkan transaksi saya lebih dulu. Urutan bukan jaminan keadilan yang disediakan protokol; itu adalah lelang yang dijalankan protokol, dan lot yang dilelang adalah hak untuk bertindak atas informasi dalam transaksi pending kamu.

Dua fakta ini bergabung menjadi keseluruhan masalah MEV:

  1. Transaksi pending bersifat terlihat (mempool publik).
  2. Urutannya dijual (lelang berbasis tip-priority).

Semua yang ada di bawah ini adalah akibat wajarnya.

Siklus hidup transaksi dari wallet ke blok: tx yang ditandatangani disiarkan ke mempool publik, terlihat oleh searcher, diurutkan berdasarkan priority fee ke dalam blok oleh builder

2. Mekanika sandwich, dengan matematika sebenarnya

Sandwich adalah strategi MEV toksik kanonik terhadap seorang swapper, dan layak untuk ditelusuri aritmetikanya karena angka-angkanya menjelaskan mengapa pengaturan slippage kamu adalah parameter defensif tunggal terpenting yang kamu kendalikan.

Invarian constant-product

Sebuah pool Uniswap v2 menyimpan reserve xx dari token X dan yy dari token Y, dan menegakkan invarian

xy=kx \cdot y = k

setelah setiap perdagangan (mengabaikan fee sejenak). Jika seorang trader menjual Δx\Delta x token X ke dalam pool, reserve X baru menjadi x+Δxx + \Delta x, dan untuk menjaga kk pool harus membayar

Δy=ykx+Δx=yΔxx+Δx.\Delta y = y - \frac{k}{x + \Delta x} = \frac{y \, \Delta x}{x + \Delta x}.

Dengan fee 0,3% Uniswap v2, input diskalakan oleh γ=0.997\gamma = 0.997:

Δy=yγΔxx+γΔx.\Delta y = \frac{y \, \gamma \, \Delta x}{x + \gamma \, \Delta x}.

Properti kuncinya: semakin banyak kamu membeli ke satu arah, semakin buruk harga marjinal kamu. Price impact bersifat konveks. Konveksitas inilah yang tepat dimonetisasi oleh penyerang.

Setup-nya

Ambil pool WETH/USDC. Agar angka tetap rapi, asumsikan reserve yang menempatkan ETH pada sekitar 2.500 USDC:

  • x=10,000x = 10{,}000 WETH
  • y=25,000,000y = 25{,}000{,}000 USDC
  • k=2.5×1011k = 2.5 \times 10^{11}

Kamu ingin membeli USDC dengan 40 WETH (menjual WETH ke dalam pool). Mengabaikan fee untuk ilustrasi, fill yang jujur di blok kosong akan memberikan kamu

Δy=25,000,0004010,000+40=1,000,000,00010,04099,601 USDC.\Delta y = \frac{25{,}000{,}000 \cdot 40}{10{,}000 + 40} = \frac{1{,}000{,}000{,}000}{10{,}040} \approx 99{,}601 \text{ USDC}.

Harga spot sebelum perdagangan kamu adalah 25,000,000/10,000=2,50025{,}000{,}000 / 10{,}000 = 2{,}500 USDC/WETH, jadi 40 WETH "bernilai" 100.000 USDC pada mid pre-trade. Kamu menerima 99.601 — selisih ~399 USDC adalah price impact kamu sendiri ditambah fee. Sekarang misalkan kamu mengatur toleransi slippage 1%. amountOutMin transaksi kamu adalah

99,601×0.9998,605 USDC.99{,}601 \times 0.99 \approx 98{,}605 \text{ USDC}.

Angka itu sekarang publik di mempool. Ini memberi tahu siapa pun yang mengawasi: orang ini akan menerima paling sedikit 98.605 USDC untuk 40 WETH mereka. Selisih antara apa yang akan kamu dapatkan di blok bersih (99.601) dan batas bawah kamu (98.605) — sekitar 996 USDC — adalah ruang yang secara sukarela kamu serahkan kepada siapa pun yang melakukan front-run terhadap kamu. Inilah anggaran penyerang.

Serangannya, langkah demi langkah

Seorang searcher menyusun tiga transaksi dan memaksanya masuk ke dalam urutan ini dalam satu blok:

1. Front-run (penyerang membeli lebih dulu). Penyerang menjual WETH miliknya sendiri ke dalam pool sebelum kamu, mendorong harga USDC naik (WETH turun) sehingga saat perdagangan kamu masuk, kamu mendapatkan lebih sedikit USDC per WETH. Penyerang mengatur ukurannya sedemikian rupa sehingga transaksi kamu masih memenuhi amountOutMin kamu — jika tidak, swap kamu revert dan tidak ada korban untuk disandwich. Ukuran front-run optimal adalah yang terbesar yang tetap membuat kamu persis di batas bawah kamu.

Misalkan penyerang melakukan front-run dengan 40 WETH miliknya sendiri. Pool bergerak ke x=10,040x = 10{,}040, dan berdasarkan invarian, penyerang menerima

25,000,0004010,04099,601 USDC out,\frac{25{,}000{,}000 \cdot 40}{10{,}040} \approx 99{,}601 \text{ USDC out},

menyisakan reserve x=10,040x = 10{,}040 WETH, y24,900,399y \approx 24{,}900{,}399 USDC.

2. Korban (swap kamu dieksekusi ke pool yang sudah memburuk). 40 WETH kamu sekarang masuk melawan reserve ini:

Δy=24,900,3994010,040+40=996,015,96010,08098,811 USDC.\Delta y = \frac{24{,}900{,}399 \cdot 40}{10{,}040 + 40} = \frac{996{,}015{,}960}{10{,}080} \approx 98{,}811 \text{ USDC}.

Periksa batasannya: 98.811 > 98.605, jadi transaksi kamu tidak revert — kamu tetap terisi, hanya lebih buruk. Kamu menerima 98.811, bukan 99.601 yang akan kamu dapatkan di blok bersih. Kamu rugi sekitar 790 USDC, dan kamu tidak tahu itu terjadi; swap kamu "berhasil." Pool sekarang x=10,080x = 10{,}080 WETH, y24,801,588y \approx 24{,}801{,}588 USDC.

3. Back-run (penyerang menjual kembali). Penyerang sekarang menjual USDC yang dibelinya pada langkah 1 kembali ke dalam pool — atau setara dengan membeli kembali WETH-nya — menangkap harga yang meningkat yang diciptakan oleh perdagangan kamu. Membeli kembali WETH dengan ~99.601 USDC yang dipegangnya:

Δx=10,08099,60124,801,588+99,6011,004,010,08024,901,18940.32 WETH.\Delta x = \frac{10{,}080 \cdot 99{,}601}{24{,}801{,}588 + 99{,}601} \approx \frac{1{,}004{,}010{,}080}{24{,}901{,}189} \approx 40.32 \text{ WETH}.

Penyerang mengeluarkan 40 WETH pada langkah 1 dan mendapatkan kembali 40,32 WETH pada langkah 3 — profit sekitar 0,32 WETH (~800 USDC) sebelum gas, diekstrak hampir seluruhnya dari anggaran slippage kamu. Perketat slippage kamu dan anggaran itu menyusut; ukuran front-run optimal penyerang turun, dan di bawah ambang batas tertentu sandwich berhenti menguntungkan setelah gas dan searcher melewatkan kamu.

Pelajarannya bukan "toleransi slippage itu buruk." Kamu membutuhkan toleransi tertentu atau transaksi kamu akan revert pada pergerakan harga biasa. Pelajarannya adalah toleransi slippage merupakan kuantitas yang bisa langsung diekstrak, dan mengaturnya ke default yang malas seperti 1% atau, lebih buruk lagi, "auto" pada pool yang tipis, setara dengan meninggalkan uang sebanyak itu di atas meja bagi siapa pun yang mengawasi. Pada pool dengan likuiditas rendah di mana perdagangan kamu sendiri menggerakkan harga beberapa persen, slippage default bisa menyerahkan sebagian mengejutkan dari nosional kamu.

Sketsa minimal dari kondisi profit 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 optimasi kecil atas attack_dx untuk menemukan front-run terbesar yang tetap menjaga vout >= victim_min_out. Optimum tersebut adalah tempat di mana batas bawah slippage kamu mengikat — yang merupakan cara lain untuk mengatakan bahwa hasil penyerang dibatasi secara tepat oleh ruang yang kamu tinggalkan.

3. Taksonomi MEV: toksik versus benign

"MEV" sering digunakan sebagai kata makian, tetapi tidak semuanya adalah ekstraksi dari korban. Membantu untuk mengelompokkan strategi berdasarkan apakah ada seseorang yang dirugikan oleh urutannya.

Frontrunning. Mengamati transaksi pending yang menguntungkan, menyalin atau mendahuluinya, dan membayar tip lebih tinggi untuk dieksekusi lebih dulu. Arketipnya adalah melihat pembelian besar yang akan menggerakkan harga dan membeli sebelumnya. Murni toksik: korban mendapatkan harga yang lebih buruk, atau peluangnya dicuri secara langsung.

Backrunning. Menempatkan transaksi kamu tepat setelah transaksi target untuk bertindak atas state yang diciptakannya. Yang krusial, backrun murni tidak menurunkan kualitas eksekusi target — ia berjalan setelahnya, jadi harga korban sudah terkunci. Jika swap besar kamu membuat pool WETH/USDC tidak selaras dengan Binance, seorang arbitraseur melakukan backrun terhadap kamu untuk menyelaraskannya kembali dan mengantongi selisihnya. Kamu tidak dirugikan; bahkan arbitrase ini yang menjaga harga on-chain tetap mengikuti pasar yang lebih luas. Backrunning adalah ujung yang benign dari spektrum ini, dan — seperti yang akan kita lihat — sistem perlindungan MEV modern dibangun secara tepat untuk mengembalikan profit backrun kepada pengguna yang menciptakannya.

Sandwiching. Sebuah frontrun dan backrun yang dibungkus di sekitar korban yang sama, seperti yang dibedah di atas. Toksik secara konstruksi: frontrun ada hanya untuk memperburuk fill korban sehingga backrun bisa memanennya.

Arbitrase atomik. Sebuah transaksi tunggal yang membeli aset murah di satu venue dan menjualnya mahal di venue lain — katakanlah WETH lebih murah di Uniswap dibanding di Sushiswap — meraih profit bebas risiko, all-or-nothing dalam satu transaksi (ia revert jika tidak menguntungkan). Tidak ada korban spesifik; ini menutup celah harga yang dibiarkan terbuka oleh pasar. Umumnya dianggap benign — ia meningkatkan konsistensi harga lintas-venue — dan menjadi topik tulisan arbitrase atomik dan flash loan dalam seri ini, di mana properti "tanpa modal yang dibutuhkan" dari flash loan membuatnya sangat tajam.

Likuidasi. Ketika posisi lending (Aave, Compound, Maker) turun di bawah ambang batas kolateralnya, protokol menawarkan bonus kepada siapa pun yang melunasi utang buruk dan menyita kolateral. Searcher bersaing untuk menjadi likuidator tersebut. Ada "korban" — peminjam yang dilikuidasi — tetapi mereka akan dilikuidasi sesuai aturan protokol bagaimanapun juga; kompetisi MEV sebagian besar menentukan siapa yang mendapatkan bonus dan, melalui kompetisi, bisa memperkecilnya. Sebut saja netral-hingga-benign bagi kesehatan pasar, tidak menyenangkan bagi peminjam.

Peta kasarnya:

Strategi Korban dirugikan? Vonis
Frontrun Ya Toksik
Sandwich Ya Toksik
Backrun (murni) Tidak Benign
Arbitrase atomik Tidak Benign (meningkatkan konsistensi harga)
Likuidasi Peminjam (sesuai aturan protokol) Netral

Garis toksik/benign ini penting karena seluruh stack mitigasi MEV modern adalah upaya untuk menekan strategi toksik sambil mempertahankan — dan mendistribusikan ulang — yang benign. Kamu tidak bisa melarang permainan urutan tanpa juga merusak arbitrase yang menjaga harga DEX tetap jujur. Triknya adalah mengarahkan kembali nilai toksik ke orang yang diambil darinya.

4. Sejarah singkat: dari lelang gas hingga Flashbots

Flash Boys 2.0 dan priority gas auction

Fenomena ini diberi nama dan diukur dalam paper 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. Paper ini memperkenalkan istilah "miner extractable value" (kemudian digeneralisasi menjadi maximal extractable value seiring industri beralih dari miner proof-of-work ke proposer proof-of-stake) dan mendokumentasikan priority gas auction (PGA): bot-bot saling menawar satu sama lain pada harga gas, secara real time, untuk memenangkan urutan sebuah peluang yang menguntungkan.

PGA secara kasat mata patologis. Karena satu-satunya tuas yang dimiliki bot adalah harga gas publik, mereka berperang tawar terbuka — berulang kali mengirim ulang dengan tip yang semakin tinggi dalam beberapa detik yang sama — untuk merebut satu arbitrase atau likuidasi. Dua konsekuensi buruk mengikuti. Pertama, ini membuat jaringan macet dan menaikkan harga gas bagi semua orang, terkait MEV atau tidak. Kedua, dan lebih mengkhawatirkan, paper tersebut berargumen bahwa jika MEV yang tersedia dalam sebuah blok melebihi block reward, miner yang rasional akan terdorong untuk mereorganisasi chain untuk mencurinya, mengancam stabilitas konsensus itu sendiri. MEV bukan sekadar masalah keadilan bagi pengguna; ini adalah ancaman bagi chain.

Flashbots sebagai respons

Flashbots diluncurkan pada 2020 untuk meredam PGA. Wawasannya: memindahkan lelang urutan keluar dari mempool publik dan ke dalam kanal sealed-bid, off-chain. Alih-alih menyiarkan transaksi dan bertarung dalam perang gas publik, seorang searcher menyusun sebuah bundle — daftar transaksi berurutan yang akan dimasukkan secara atomik, all-or-nothing, dalam urutan relatif tertentu — dan mengirimkannya secara privat ke block builder, bersama dengan sebuah bid (sering dibayar sebagai transfer langsung ke proposer alih-alih melalui harga gas). Builder menyusun blok paling berharga yang bisa dibuatnya dari semua bundle dan transaksi yang diterimanya dan menawarkannya kepada proposer.

Dua hal membaik sekaligus. Searcher berhenti membanjiri mempool publik dengan bid yang gagal, sehingga eksternalitas harga gas bagi pengguna biasa turun. Dan bundle pemenang mendarat utuh atau tidak sama sekali, menghilangkan transaksi "frontrun gagal" yang dulu menyumbat blok. Perang tawar tetap terjadi — hanya saja sekarang terjadi sebagai lelang privat di dalam builder alih-alih pertarungan teriak publik on-chain.

PBS: pemisahan proposer-builder

Arsitektur Flashbots kemudian digeneralisasi menjadi proposer-builder separation (PBS), model dominan di Ethereum saat ini. Peran-perannya terbagi:

  • Searcher menemukan peluang MEV dan mengemasnya menjadi bundle.
  • Builder bersaing untuk menyusun satu blok penuh paling berharga dari bundle dan transaksi publik.
  • Relay berada di antara builder dan proposer, menerima blok penuh dari builder dan hanya meneruskan header blok plus sebuah bid nilai kepada proposer, sehingga proposer berkomitmen pada sebuah blok sebelum melihat isinya (mencegah proposer sekadar mencuri MEV tersebut).
  • Proposer (validator) memilih header dengan bid tertinggi, menandatanganinya, dan menerima pembayaran.

Ini diimplementasikan di luar protokol melalui MEV-Boost, middleware yang dijalankan oleh mayoritas besar validator Ethereum — sekitar 80–90% blok dibangun melalui builder eksternal via MEV-Boost. Ini berhasil, tetapi bergantung pada relay tepercaya. Langkah berikutnya, enshrined PBS (ePBS, EIP-7732), bertujuan untuk membakukan pemisahan proposer-builder langsung ke dalam protokol Ethereum dan menghilangkan ketergantungan pada relay tepercaya. Per pertengahan 2026 ini dijadwalkan untuk upgrade Glamsterdam, menargetkan aktivasi mainnet nanti di 2026, dengan pendukungnya mengklaim bisa memangkas kerugian MEV bagi pengguna secara substansial dengan memperbaiki cara blok dikomitkan dan mempersempit jendela untuk reordering toksik. Perlakukan angka pastinya sebagai aspirasional sampai benar-benar dirilis, tetapi arahnya jelas: protokol sedang menyerap rantai pasok MEV yang selama bertahun-tahun berpura-pura tidak ada.

MEV-Share: mengembalikan nilai

Perkembangan paling konsekuensial bagi trader biasa adalah MEV-Share, lelang order-flow milik Flashbots. Idenya membalik hutan gelap. Alih-alih transaksi kamu terlihat oleh setiap predator, kamu mengirimkannya secara privat ke sebuah node MEV-Share, yang hanya mengungkapkan petunjuk parsial tentangnya (kamu memilih seberapa banyak) kepada searcher. Searcher menawar untuk melakukan backrun terhadap transaksi kamu — ingat, backrun tidak merugikan kamu — dan sebagian besar dari profit yang dihasilkan dikembalikan kepada kamu, dengan sisanya dibagi antara searcher dan proposer untuk memasukkan bundle-nya.

Pembingkaian ulang ekonominya elegan. Sebuah swap besar menciptakan peluang backrun; pertanyaannya adalah siapa yang menangkapnya. Di dunia hutan gelap, searcher dan builder mengambil semuanya. Di bawah MEV-Share, nilai yang diciptakan oleh transaksi kamu sendiri sebagian besar dikembalikan kepada kamu. RPC yang menghadap konsumen milik Flashbots, Flashbots Protect, merutekan transaksi ritel melalui sistem ini, dan pada 2025 ditambahkan pengembalian biaya gas di atasnya, secara berarti meningkatkan apa yang didapatkan pengguna kembali. Ini adalah prinsip "distribusikan ulang yang benign, tekan yang toksik" yang diwujudkan secara konkret.

5. Pertahanan praktis bagi seorang trader

Kamu tidak perlu menjalankan searcher untuk berhenti menjadi mangsa. Dalam urutan dampak kasar:

Atur slippage secara sengaja, per pool

Bagian 2 menetapkan bahwa toleransi slippage kamu adalah anggaran penyerang. Dua aturan mengikuti. Pertama, sesuaikan ukuran slippage dengan likuiditas aktual pool dan price impact perdagangan kamu, bukan dengan kebiasaan 1%. Pada pool yang dalam, toleransi 0,1–0,3% mungkin sudah lebih dari cukup; pada yang tipis, terimalah bahwa kamu tidak bisa berdagang dengan ukuran besar secara aman atau pecah menjadi klip yang lebih kecil. Kedua, jangan pernah menggunakan slippage "auto"/"unlimited" pada pasangan berlikuiditas rendah — itu adalah cek kosong yang ditandatangani. Jika sebuah swap terus revert pada toleransi yang ketat, itu adalah pasar yang memberi tahu kamu bahwa perdagangan kamu terlalu besar untuk pool tersebut, bukan dorongan untuk melonggarkan batas bawahnya.

Rutekan melalui RPC privat

Perbaikan struktural paling bersih adalah menjaga transaksi kamu tetap keluar dari mempool publik sepenuhnya. Arahkan wallet kamu ke sebuah RPC privat yang meneruskan transaksi langsung ke builder alih-alih menyebarkannya melalui gossip:

  • Flashbots Protect — mengirimkan transaksi kamu ke dalam sistem MEV-Share, sehingga tidak pernah terlihat secara publik oleh frontrunner, dan mengembalikan sebagian dari nilai backrun apa pun plus pengembalian gas.
  • MEV Blocker (oleh CoW Protocol dan lainnya) — layanan RPC privat serupa yang melindungi dari frontrunning dan sandwiching serta merebate profit backrun kepada pengguna, dengan model biaya gratis digunakan.

Karena sebuah sandwich membutuhkan penyerang untuk melihat transaksi pending kamu dan menyisipkan sebuah frontrun sebelumnya, menghilangkan transaksi kamu dari mempool publik menghilangkan peluang frontrun itu sama sekali. Peluang backrun tetap ada, tetapi sekarang dilelang kembali kepada kamu alih-alih dicuri. Trade-off-nya adalah sedikit kepercayaan pada operator RPC dan, kadang-kadang, inklusi yang sedikit lebih lambat — biasanya sepele dibandingkan menghilangkan risiko sandwich. (Sebuah studi benchmark 2025 tentang RPC perlindungan privat menemukan bahwa penyelesaian dunia nyata mereka tidak selalu secara ketat lebih baik daripada pengiriman publik, jadi efeknya kuat tetapi tidak universal; untuk sebagian besar swap DEX berukuran ritel, perutean privat tetap menjadi default yang benar.)

Utamakan venue batch-auction dan berbasis intent

Beberapa desain DEX menghilangkan keunggulan urutan secara konstruksi. CoW Protocol menyelesaikan perdagangan dalam lelang batch dengan harga kliring seragam — setiap perdagangan dalam sebuah batch dikliring pada harga yang sama, sehingga tidak ada posisi "pertama" dan "terakhir" untuk dieksploitasi, dan solver bersaing untuk memberi kamu eksekusi terbaik alih-alih mengurutkan ulang di sekitar kamu. Sistem berbasis intent di mana kamu menandatangani apa yang kamu inginkan dan membiarkan solver menemukan eksekusinya, alih-alih menandatangani jalur spesifik, serupa menolak pijakan bagi sandwich. Jika kamu bertransaksi dalam ukuran besar, venue-venue ini bernilai lebih dari penyesuaian slippage apa pun.

Pahami mengapa L2 berbeda

Di sebagian besar rollup Ethereum saat ini (Arbitrum, Optimism, Base), blok diproduksi oleh sebuah sequencer tunggal yang dioperasikan oleh tim rollup. Tidak ada mempool publik transaksi pending bagi searcher untuk diawasi, dan ada satu pihak tepercaya yang memutuskan urutan. Dalam praktiknya sebagian besar sequencer mengurutkan transaksi secara first-come-first-served dan tidak menjalankan serangan sandwich terhadap penggunanya, sehingga sandwiching sebagian besar absen pada chain-chain ini pada lapisan protokol.

Tetapi baca trade-off-nya secara presisi: alasan kamu aman dari ekstraksi MEV yang terdesentralisasi adalah karena kamu mempercayai seorang orderer yang tersentralisasi untuk tidak mengekstraknya. Sequencer bisa melakukan frontrun terhadap kamu; ia hanya memilih (dan terikat secara reputasi) untuk tidak melakukannya. Ini adalah kesetimbangan sementara. Seiring rollup mendesentralisasi sequencer mereka — shared sequencer, based sequencing, lelang bergaya PBS di L2 — dinamika visibilitas mempool dan urutan-yang-dijual yang sama bisa muncul kembali, dan pertanyaan MEV L2 menjadi masalah desain terbuka alih-alih yang sudah terpecahkan. Jangan berasumsi "saya di L2" berarti "MEV tidak bisa menyentuh saya" selamanya; itu berarti "satu pihak tepercaya telah berjanji untuk tidak melakukannya, untuk saat ini."

Apa yang perlu dibawa ke sisa seri ini

Ringkas topik ini ke fakta-fakta intinya:

  1. Sebuah swap mempool-publik adalah niat publik ditambah slot urutan yang bisa dibeli. Kombinasi itu, bukan bug tunggal apa pun, adalah keseluruhan masalahnya.
  2. Pada sebuah AMM constant-product, toleransi slippage kamu adalah kuantitas yang bisa diekstrak penyerang, dan hasil sebuah sandwich dibatasi secara tepat oleh ruang yang kamu tinggalkan. Mengatur slippage adalah keputusan keamanan, bukan tombol kenyamanan.
  3. MEV tidak monolitik: frontrun dan sandwich itu toksik; backrun dan arbitrase atomik itu benign dan bahkan berguna, karena mereka menjaga harga on-chain tetap konsisten. Mitigasi yang baik menekan yang pertama dan mendistribusikan ulang yang kedua.
  4. Respons industri berjalan dari PGA (perang gas publik, Flash Boys 2.0, 2019) ke Flashbots / bundle / PBS (lelang privat sealed) ke MEV-Share (mengembalikan nilai backrun kepada pengguna) dan, selanjutnya, enshrined PBS dalam protokol.
  5. Sebagai trader, pertahanan kamu adalah slippage ketat per pool, RPC privat (Flashbots Protect, MEV Blocker), dan venue batch-auction — serta kesadaran bahwa keamanan L2 saat ini adalah asumsi kepercayaan pada sequencer, bukan hukum fisika.

Tulisan arbitrase atomik dan flash loan mengambil sisi searcher dari tabel ini — bagaimana ekstraksi benign dibangun, dengan modal pinjaman dan revert atomik sebagai jaring pengaman. Tulisan likuiditas terkonsentrasi Uniswap v3 meninjau kembali matematika constant-product di atas dan menunjukkan bagaimana likuiditas terkonsentrasi membentuk ulang kurva price-impact — dan karenanya anggaran sandwich — yang kita turunkan di sini. Mempool adalah hutan gelap. Sekarang kamu tahu apa yang berburu di dalamnya.

Referensi

  • 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, MEV refunds (docs.flashbots.net).
  • Ethereum PBS / EIP-7732 (enshrined proposer-builder separation), materi upgrade Glamsterdam.
  • MEV Blocker (mevblocker.io); desain batch-auction CoW Protocol.
  • Private MEV Protection RPCs: A Benchmark Study (arXiv:2505.19708, 2025).
Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.