Apa Itu Sandwich Attack dan Cara Melindungi Diri di DeFi
Penjelasan sandwich attack (MEV) di DeFi — apa itu, bagaimana cara kerjanya, mengapa bisa merugikan Anda saat swap di DEX, dan cara efektif untuk.
Sandwich attack adalah salah satu bentuk MEV (Maximal Extractable Value) yang paling merugikan trader di DeFi. Jika Anda pernah mendapat harga lebih buruk dari yang diharapkan saat swap, mungkin ini penyebabnya.
Apa Itu MEV (Maximal Extractable Value)
Sebelum masuk ke sandwich attack, perlu pahami MEV.
MEV adalah keuntungan yang bisa diambil dari menyusun ulang, memasukkan, atau menyensor transaksi dalam satu blok blockchain.
Di Ethereum, sebelum sebuah transaksi dikonfirmasi, ia berada di “mempool” (memory pool) — ruang tunggu yang bisa dilihat oleh semua orang. Bot yang disebut “searchers” atau “MEV bots” terus-menerus monitoring mempool untuk menemukan peluang profit.
Jenis MEV utama:
- Arbitrage: Mengambil keuntungan dari perbedaan harga antar DEX (ini relatif harmless bagi trader)
- Sandwich attack: Merugikan trader individual
- Liquidations: Berlomba untuk eksekusi liquidation position
Cara Kerja Sandwich Attack
Langkah demi Langkah
Setup: Anda mau swap 1 ETH ke USDC di Uniswap. Anda set slippage tolerance 5% (artinya Anda terima harga sampai 5% lebih buruk dari yang diharapkan).
Step 1: Bot deteksi transaksi Anda di mempool
Sebelum transaksi Anda dikonfirmasi (sementara masih di mempool), bot melihat:
- Anda mau swap 1 ETH ke USDC
- Slippage Anda 5% (artinya bot bisa manipulasi harga sampai 5% dan Anda masih accept)
Step 2: Bot “front-run” — transaksi sebelum Anda
Bot langsung membuat transaksi yang sama (beli ETH atau beli USDC, tergantung direction swap Anda) SEBELUM transaksi Anda. Bot membayar gas fee lebih tinggi agar transaksinya masuk di blok lebih awal.
Karena bot beli USDC sebelum Anda → harga USDC naik (supply berkurang)
Step 3: Transaksi Anda dieksekusi
Sekarang ketika transaksi Anda jalan, harga sudah lebih tinggi karena bot baru beli. Anda dapat USDC lebih sedikit dari yang seharusnya.
Step 4: Bot “back-run” — transaksi setelah Anda
Segera setelah transaksi Anda, bot menjual USDC yang baru dibeli. Karena Anda baru beli (menaikkan harga), bot bisa jual lebih mahal.
Hasilnya:
- Bot: Profit dari selisih harga
- Anda: Dapat USDC lebih sedikit dari yang seharusnya
Ini disebut “sandwich” karena transaksi Anda “ter挟” (sandwiched) antara transaksi beli dan jual bot.
Contoh Konkret
Tanpa sandwich attack:
- 1 ETH = 3,000 USDC
- Anda swap 1 ETH, dapat ~2,985 USDC (dikurangi fee biasa)
Dengan sandwich attack (slippage 5%):
- Bot beli USDC sebelum Anda → harga naik, 1 ETH = 2,850 USDC
- Anda swap 1 ETH, dapat ~2,850 USDC (dalam range slippage Anda 5%)
- Bot jual USDC setelah Anda → profit dari selisih
Kerugian Anda: ~135 USDC dari yang seharusnya didapat
Mengapa Ini Bisa Terjadi
Ini bisa terjadi karena arsitektur blockchain:
- Transaksi di mempool bisa dilihat semua orang sebelum dikonfirmasi
- Miner/validator bisa pilih urutan transaksi dalam blok
- Siapapun bisa submit transaksi dengan gas lebih tinggi untuk prioritas lebih tinggi
Apakah ini ilegal? Tidak, karena tidak ada hukum blockchain yang melarang. Ini adalah “permissionless” system — siapapun bisa berpartisipasi termasuk MEV bots. Ini dianalogikan sebagai high-frequency trading yang kontroversial di pasar tradisional.
Seberapa Umum dan Berapa Kerugiannya
MEV/sandwich attack sangat umum di Ethereum mainnet. Data onchain menunjukkan miliaran dollar per tahun diekstrak sebagai MEV.
Tapi tidak semua transaksi di-sandwich:
- Hanya yang punya slippage tolerance tinggi
- Hanya yang swap jumlah cukup besar untuk worth diattack
- Lebih jarang di L2 karena mempool yang berbeda
Cara Melindungi Diri
1. Kurangi Slippage Tolerance
Ini adalah cara paling simpel. Jika slippage Anda rendah, bot tidak punya ruang yang cukup untuk profit dari manipulasi.
Untuk stablecoin swap (USDC → USDT): Gunakan slippage 0.1% atau bahkan lebih rendah. Stablecoin harusnya hampir 1:1.
Untuk crypto swap (ETH → WBTC): 0.5% sudah cukup untuk banyak kasus. Terlalu rendah bisa menyebabkan transaksi gagal di pasar yang volatile.
Hindari: Slippage >1% kecuali ada alasan yang jelas
Cara set di Uniswap: Klik ⚙️ settings → Custom → input slippage
Risiko setting terlalu rendah: Transaksi gagal (revert) jika harga berubah. Anda tetap bayar gas fee tapi tidak dapat token. Untuk stablecoin ini jarang masalah, tapi untuk token volatile bisa frustrasi.
2. Gunakan Private RPC / Flashbots Protect
Cara kerja: Private RPC mengirim transaksi Anda langsung ke builder/miner terpercaya, bypass public mempool. Bot MEV tidak bisa melihat transaksi Anda sebelum dikonfirmasi.
Flashbots Protect RPC:
- URL:
https://rpc.flashbots.net - Tambahkan ke MetaMask sebagai custom RPC untuk Ethereum Mainnet
- Transaksi tetap on-chain tapi routing melalui sistem yang melindungi dari MEV
Cara tambah ke MetaMask: Settings → Networks → Add Network
- Network Name: Ethereum Flashbots
- RPC URL: https://rpc.flashbots.net
- Chain ID: 1
Gunakan network ini saat mau swap jumlah besar di Ethereum mainnet.
Catatan: Ini untuk Ethereum mainnet. Di L2 (Arbitrum, Base), mempool berbeda dan MEV attack lebih jarang dan berbeda mekanismenya.
3. Gunakan DEX Aggregator Anti-MEV
1inch dan Paraswap punya fitur routing yang mempertimbangkan MEV protection.
1inch punya “Fusion Mode” yang routing swap melalui solvers yang compete untuk berikan harga terbaik, dengan MEV protection built-in.
Cara aktifkan di 1inch: Settings → Use Fusion Mode
4. Swap Jumlah Lebih Kecil
Bot MEV hanya tertarik jika potential profit cukup besar (gas cost bot juga ada). Swap kecil (di bawah ~$10,000) seringkali tidak menarik untuk di-sandwich.
Tapi ini bukan solusi sempurna dan tidak selalu practical.
5. Waktu Transaksi (Kurang Reliable)
Beberapa orang menyarankan transaksi di jam sepi untuk menghindari MEV. Ini kurang reliable karena bot bekerja 24/7.
MEV di Layer 2
Di L2 seperti Arbitrum dan Base, mekanisme MEV berbeda:
- Sequencer (biasanya single entity) yang tentukan urutan transaksi
- Mempool biasanya private
- Sandwich attack lebih sulit karena mempool tidak public
Ini adalah salah satu keunggulan L2 — pengguna lebih terlindungi dari MEV. Bukan karena MEV tidak ada, tapi karena sequencer lebih terkontrol.
Checklist: Sebelum Swap Jumlah Besar di DEX
- Apakah slippage tolerance saya sudah dikurangi ke angka minimal yang masuk akal?
- Untuk swap >$10,000 di Ethereum mainnet: Pertimbangkan Flashbots Protect RPC
- Gunakan 1inch Fusion Mode untuk agregasi yang lebih aman
- Pertimbangkan swap di L2 (Arbitrum, Base) jika bisa — MEV lebih jarang
Kesimpulan
Sandwich attack adalah realita di DeFi yang bisa mengurangi return dari swap Anda. Dengan memahami mekanismenya dan mengambil langkah perlindungan yang tepat:
- Slippage tolerance rendah (0.1-0.5%)
- Private RPC (Flashbots Protect) untuk swap besar
- DEX aggregator dengan anti-MEV
…Anda bisa meminimalkan dampaknya secara signifikan.
💡 Mau praktik langsung, bukan hanya teori? Di kelas WhaleX, Anda belajar hands-on — setup wallet, yield strategy, dan navigasi protokol DeFi nyata. Coba kelas Web3 gratis →
⚠️ Disclaimer: MEV adalah area yang terus berkembang. Tools dan strategi perlindungan bisa berubah seiring evolusi ekosistem DeFi. Selalu verifikasi tools yang Anda gunakan dari sumber terpercaya.
Elite Vault WhaleX: join membership via USDC di Base Network — akses penuh tanpa proses bank tradisional.
Lihat Elite Vault →Pertanyaan Umum
Apa itu sandwich attack dan apakah ini legal?
Sandwich attack adalah bentuk MEV (Maximal Extractable Value) di mana bot front-run transaksi Anda, menaikkan harga sebelum swap Anda eksekusi, lalu menjual setelahnya untuk profit. Di blockchain ini bisa dilakukan karena transaksi pending bisa dilihat di mempool sebelum dikonfirmasi. Secara teknis tidak 'ilegal' karena tidak ada hukum yang mengatur — tapi merugikan trader biasa.
Bagaimana cara menghindari sandwich attack?
Empat cara: (1) Kurangi slippage tolerance (0.1-0.5% untuk stablecoin); (2) Gunakan private mempool/private RPC seperti Flashbots Protect; (3) Gunakan DEX aggregator yang routing anti-MEV; (4) Swap jumlah yang lebih kecil untuk kurangi profit potensial bagi attacker.