Crypto Newbie

Crypto Cho Người Mới / Mô phỏng / MEV Sandwich

Simulator MEV Sandwich Attack

Mỗi lần bạn swap trên DEX công khai (Uniswap, Sushiswap, Raydium), có khả năng bot đang front-run bạn. Cơ chế brutal: bot thấy tx pending, mua cùng asset trước để đẩy giá lên, để tx bạn execute giá xấu hơn, rồi dump. Bạn trả slippage; bot bỏ túi chênh lệch. Simulator này chạy đúng toán Uniswap V2 x·y=k để bạn thấy 1 sandwich tốn bao nhiêu ở size swap khác nhau — và học cách bảo vệ.

Trạng thái pool DEX

Spot price (USDC mỗi ETH)

$3.50k

Swap user

USDC user kỳ vọng (không bot)

$17.36k

Size front-run bot

Flow tấn công

1. Bot front-runs (mua ETH)

Bot thấy swap user pending trong mempool. Front-run bằng chi USDC mua ETH TRƯỚC — đẩy giá ETH lên trong pool.

2. Swap user execute giá xấu hơn

Swap user giờ hit pool nơi ETH đắt hơn. Họ nhận ÍT USDC hơn kỳ vọng — slippage họ trả là profit bot.

3. Bot back-runs (bán ETH đã mua)

Bot ngay bán ETH vừa mua, giờ giá cao hơn từ swap user. Bỏ túi chênh lệch.

Kết quả

User (victim)

USDC user thực nhận: $17.86k

Loss user do slippage (USDC): $-497.55

Slippage % user: -2.87%

Bot (attacker)

ETH bot mua (front-run): 14.0428 ETH

USDC bot nhận từ back-run: $49.21k

Gross profit bot: $-791.45

NET loss bot (sau gas): $-821.45

Mempool: nơi attack sống

Ethereum, BSC, Polygon, Arbitrum, và đa số chain có 'public mempool' — queue toàn cầu giao dịch pending visible cho ai chạy node. Swap DEX bạn ngồi đó ~1-12 giây trước khi mined. Bot watch queue này 24/7 với polling dưới giây. Khi spot swap profitable, họ simulate locally, tính sandwich size tối ưu, và submit transaction bracket riêng với gas đủ để land cùng block, TRƯỚC và SAU bạn.

Sao bot target swap lớn disproportionately

Profit sandwich scale roughly với swap_size^2 vs thanh khoản pool. Swap 0.1% di chuyển giá ~0.1% (cơ hội sandwich minimal). Swap 5% di chuyển giá ~5% (cửa sổ sandwich lớn). Size optimal front-run bot cũng scale với size user — nên swap $50k bị hit nặng hơn nhiều swap $500. Nếu phải trade lớn, dùng RPC bảo vệ.

RPC bảo vệ và hoạt động thế nào

Flashbots Protect, MEV Blocker, BloXroute Protect: forward transaction bạn cho validator TRỰC TIẾP qua channel riêng tư, bypass public mempool hoàn toàn. Bot không bao giờ thấy tx bạn đến khi mined. Vài cái đi xa hơn chạy tx qua auction riêng tư nơi searcher bid include tx bạn nhưng không thể front-run. Đánh đổi: hơi chậm hơn confirm (~2-5 giây thêm) và đôi khi gas cao hơn. Cho swap > $1k gần như luôn đáng dùng.

Slippage tolerance — phòng thủ đầu của user

Mọi UI DEX cho set 'max slippage'. Nếu giá execute thực tệ hơn tolerance này, tx revert (bạn giữ token, chỉ trả gas). Set 0.1-0.5% là setting phòng thủ chuẩn. Vài UI default 5-10% — ĐỪNG chấp nhận default này. Tolerance slippage 5% nghĩa bot sandwich có thể extract tới 5% từ trade bạn không bị trừng phạt. Tolerance càng thấp càng khó sandwich, nhưng tx càng khả năng fail hoàn toàn trong volatility cao.

Câu hỏi thường gặp

+Sandwich attack xảy ra mọi chain không?

Chain nào có public mempool + DEX trading đều vulnerable. Ethereum + L2, BSC, Polygon = có. Solana có model transaction khác (không mempool) nhưng vẫn có MEV qua 'priority fee' bidding war, cộng MEV market của Jito explicitly auction block-space. Động lực giống dù cơ chế khác.

+Sandwich attack có phạm pháp không?

Không. Trái TINH THẦN thị trường fair nhưng hợp pháp mọi nơi vì: (1) bot trả gas như user khác, (2) protocol cho phép ordering tx nào validator chọn, (3) user explicit chấp nhận slippage tolerance. Vài người cho MEV nên được điều chỉnh; consensus pháp lý hiện 'caveat emptor — dùng RPC bảo vệ nếu không muốn bị sandwich'.

+Sandwich và front-running attack khác gì?

Front-running = bot copy trade bạn và submit trước. Bạn nhận execution hơi xấu hơn thứ 2. Sandwich = front-running + back-running combined. Bot front-run để đẩy giá, để bạn execute giá xấu, rồi đóng position để capture SLIPPAGE BẠN. Sandwich strictly xấu hơn cho bạn vì profit bot LÀ loss bạn; pure front-running đôi khi neutral.

+Aggregator (1inch, CowSwap) an toàn hơn không?

Đa số có. 1inch split swap qua nhiều pool (size mỗi pool nhỏ hơn = cơ hội sandwich nhỏ hơn). CowSwap đi xa hơn: batch swap user vào auction riêng tư nơi searcher MEV bid fill nhưng không sandwich được. CowSwap claim ~50% giảm MEV thực tế. Aggregator là defence in depth tốt, nhưng dùng CÙNG VỚI RPC bảo vệ cho trade nghiêm túc.

+Sao simulator hiện bot profit âm đôi khi?

Size front-run bot có sweet spot. Quá nhỏ = giá không di chuyển đủ cho back-run profitable. Quá lớn = slippage bot riêng trên front-run ăn profit. Nút 'Find optimal' compute size maximise profit. Bot thực tế giải analytically trong mili giây và thường có margin profit chỉ vài đô mỗi attack — họ thắng bằng volume, không size mỗi attack.