TÓM TẮT
Frontrunning là hành vi bot giám sát mempool, phát hiện transaction lợi nhuận của người dùng, rồi gửi transaction tương tự với gas cao hơn để được xử lý trước. Thiệt hại ước tính hàng trăm triệu USD/năm. Phòng chống hiệu quả nhất: dùng private mempool (Flashbots Protect, MEV Blocker) hoặc DEX có MEV protection tích hợp.
IFrontrunning là gì?
Frontrunning (chạy trước) là hành vi một bên thứ ba — thường là bot tự động — theo dõi mempool (pool các transaction chờ xử lý), phát hiện transaction có lợi nhuận của người dùng khác, rồi gửi transaction tương tự với gas price cao hơn để được miner/validator xử lý trước.
Kết quả: bot kiếm lợi nhuận từ thông tin trong pending transaction của nạn nhân, trong khi nạn nhân nhận được kết quả tệ hơn — giá trượt, transaction revert, hoặc mất cơ hội hoàn toàn.
Frontrunning là một dạng MEV (Maximal Extractable Value) — phần giá trị mà miner/validator và searcher có thể extract từ việc kiểm soát thứ tự transaction trong block.
IICơ chế hoạt động
Bước 1: Giám sát mempool
Bot kết nối đến nhiều Ethereum node, lắng nghe toàn bộ transaction được broadcast vào mempool. Hàng nghìn transaction mới xuất hiện mỗi giây — bot phân tích real-time để phát hiện cơ hội trong millisecond.
Bước 2: Phát hiện và mô phỏng
Bot decode calldata của pending transaction, mô phỏng (simulate) kết quả nếu transaction đó được thực thi. Nếu phát hiện cơ hội lợi nhuận — ví dụ một DEX swap lớn sẽ dịch chuyển giá — bot tính toán strategy tối ưu để extract giá trị đó.
Bước 3: Gas price bidding
Bot gửi transaction của mình với gas price cao hơn transaction nạn nhân — đủ cao để miner/validator ưu tiên include vào block trước. Cuộc đua này gọi là "Priority Gas Auction (PGA)" — bot cạnh tranh nhau đẩy gas lên cao nhất.
Bước 4: Thu lợi nhuận
Transaction của bot được xử lý trước, extract giá trị. Transaction của nạn nhân được xử lý sau — ở mức giá bất lợi hơn hoặc bị revert hoàn toàn nếu điều kiện đã thay đổi.
IIICác dạng Frontrunning phổ biến
1. Plain Frontrunning (Displacement)
Bot copy y nguyên transaction của nạn nhân nhưng gửi với gas cao hơn. Ví dụ: nạn nhân phát hiện arbitrage giữa Uniswap và SushiSwap, gửi transaction để capture lợi nhuận — bot thấy, copy, gửi trước và lấy hết profit. Nạn nhân bị revert, tốn gas không nhận được gì.
2. Insertion Frontrunning
Bot chèn transaction vào trước nạn nhân để thay đổi điều kiện có lợi. Phổ biến khi người dùng mua token lớn trên DEX — bot mua trước ở giá thấp hơn, sau khi nạn nhân mua (đẩy giá lên), bot bán lại. Đây là nền tảng của sandwich attack.
3. Suppression
Bot gửi nhiều transaction spam để lấp đầy block, ngăn transaction của nạn nhân được include. Nạn nhân bị delay — bot tranh thủ thực hiện action trong khoảng thời gian đó. Kỹ thuật này tốn kém hơn và ít phổ biến hơn hai dạng trên.
4. Liquidation Frontrunning
Trên lending protocol như Aave hay Compound, khi vị thế eligible for liquidation, nhiều bot race để là người liquidate đầu tiên (nhận liquidation bonus 5–10%). Bot theo dõi giá oracle real-time và gửi transaction ngay microsecond sau khi điều kiện thỏa mãn.
| Dạng | Cơ chế | Mục tiêu phổ biến |
|---|---|---|
| Plain / Displacement | Copy transaction, gas cao hơn | Arbitrage, NFT mint |
| Insertion | Chèn trước để dịch giá | DEX large swap |
| Suppression | Spam block để delay | Time-sensitive action |
| Liquidation race | Race to liquidate first | DeFi lending protocol |
IVVí dụ thực tế
NFT Mint Frontrunning
Khi một NFT collection hot ra mắt mint public, bot phát hiện transaction mint của người dùng trong mempool. Bot gửi transaction mint với gas cao hơn → được xử lý trước → mint được NFT. Người dùng bị revert. Hiện tượng này phổ biến đến mức hầu hết project lớn chuyển sang allowlist-only hoặc commit-reveal mint để phòng chống.
DEX Arbitrage Displacement
Trader phát hiện ETH/USDC chênh lệch $10 giữa Uniswap và SushiSwap. Trader gửi transaction flash loan + arbitrage. Bot thấy, copy toàn bộ calldata, gửi với gas +5 Gwei. Bot thực hiện arbitrage trước, thu hết profit. Transaction của trader bị revert vì giá đã cân bằng — tốn gas không nhận được gì.
Liquidation Bot War
Giá ETH drop mạnh, hàng loạt vị thế trên Aave đủ điều kiện bị liquidate. Hàng trăm bot cùng gửi transaction liquidation trong cùng block — chỉ 1 bot thắng, nhận bonus. Những bot thua bị revert, tốn gas. Gas war giữa các liquidation bot đôi khi đẩy gas lên hàng nghìn Gwei.
VQuy mô thiệt hại
Theo dữ liệu Flashbots và EigenPhi, tổng MEV extracted trên Ethereum từ 2020–2024 vượt $1.38 tỷ USD, trong đó frontrunning và sandwich attack chiếm phần lớn. Riêng năm 2021 — đỉnh DeFi summer và NFT boom — MEV extraction đạt kỷ lục, với gas war giữa bot đẩy phí lên hàng nghìn Gwei cho toàn mạng.
Trên Solana, dù mempool không public, frontrunning tồn tại dưới dạng spam transaction — bot gửi hàng nghìn transaction fee cao để thắng race condition. Giai đoạn 2022–2023, Solana bị outage nhiều lần một phần do spam transaction từ MEV bot.
VIFrontrunning vs Sandwich Attack
| Tiêu chí | Frontrunning | Sandwich Attack |
|---|---|---|
| Số transaction bot | 1 (chỉ chạy trước) | 2 (chạy trước + chạy sau) |
| Cơ chế profit | Lấy cơ hội của nạn nhân | Extract slippage từ price impact |
| Nạn nhân chịu | Mất cơ hội / revert | Giá xấu hơn dự kiến |
| Phổ biến ở | Arbitrage, NFT mint | DEX swap lớn |
Sandwich attack = frontrunning + backrunning kết hợp. Frontrunning là thành phần đầu của sandwich — bot mua trước để đẩy giá lên, rồi bán sau khi nạn nhân mua. Xem chi tiết tại bài Sandwich Attack là gì.
VIICách phòng chống Frontrunning
1. Private Mempool / RPC đặc biệt
Flashbots Protect và MEV Blocker cho phép gửi transaction trực tiếp đến builder, không qua public mempool — bot không thể thấy transaction trước khi include. Đây là biện pháp hiệu quả nhất và đơn giản nhất cho người dùng thông thường.
2. Commit-Reveal Scheme
Thay vì gửi hành động đầy đủ ngay, người dùng gửi hash của hành động (commit) trước, reveal sau. Bot không biết hành động thực là gì cho đến khi quá muộn. Thường dùng trong on-chain auction và NFT mint fair launch.
3. Slippage Tolerance thấp
Khi swap DEX, đặt slippage tolerance thấp (0.1–0.5%). Nếu bot frontrun làm giá trượt vượt ngưỡng, transaction của bạn revert — bảo vệ bạn khỏi nhận giá quá xấu, dù phải tốn gas.
4. DEX có MEV Protection tích hợp
CoW Protocol gom lệnh theo batch và match nội bộ trước khi đưa ra AMM — giảm MEV exposure đáng kể. 1inch Fusion và Paraswap cũng có cơ chế tương tự.
VIIITương lai: MEV có biến mất không?
MEV và frontrunning là hệ quả tất yếu của public mempool và khả năng sắp xếp transaction. Ngay cả với PBS và encrypted mempool, MEV không biến mất — nó chỉ được phân phối lại.
Encrypted mempool (dự án SUAVE của Flashbots) là hướng nghiên cứu quan trọng: transaction mã hóa khi broadcast, chỉ decrypt khi include vào block — bot không thể frontrun. Nhưng có trade-off về latency và độ phức tạp protocol.
Fair ordering protocol như Chainlink FSS đề xuất sắp xếp theo thứ tự nhận được thay vì gas price — nhưng "thứ tự nhận được" trong hệ thống phân tán là khái niệm không rõ ràng và dễ bị thao túng theo cách khác.
Thực tế gần hạn: frontrunning tiếp tục tồn tại. Giải pháp tốt nhất là private mempool và MEV-aware DEX design. Xem thêm ecosystem MEV tại Flashbots là gì và MEV-Boost là gì.
❓Câu Hỏi Thường Gặp
Frontrunning là hành vi bot theo dõi mempool, phát hiện transaction lợi nhuận của người dùng, sau đó gửi transaction tương tự với gas cao hơn để được xử lý trước. Bot kiếm lợi nhuận trong khi nạn nhân nhận kết quả xấu hơn hoặc bị revert.
Frontrunning chỉ chạy trước nạn nhân (1 transaction). Sandwich attack kết hợp frontrun + backrun — bot vừa chạy trước vừa chạy sau để extract slippage từ nạn nhân. Sandwich attack phức tạp hơn nhưng lợi nhuận cao hơn với DEX trade lớn.
Dùng private mempool như Flashbots Protect hoặc MEV Blocker RPC (miễn phí). Đặt slippage tolerance thấp (0.1–0.5%). Dùng DEX có MEV protection như CoW Protocol. Với on-chain auction, dùng commit-reveal scheme.
Trong tài chính truyền thống, frontrunning bởi broker là bất hợp pháp. Trong blockchain, không có luật cấm rõ ràng — nó là hành vi tận dụng đặc tính kỹ thuật của public mempool. Community coi đây là hành vi phi đạo đức và nhiều dự án chủ động xây cơ chế chống frontrunning.
📚Tài liệu tham khảo
- Daian, P. et al. (2020). Flash Boys 2.0: Frontrunning in Decentralized Exchanges. IEEE S&P 2020.
- Flashbots. MEV Explore — MEV data dashboard. explore.flashbots.net
- EigenPhi. MEV Analytics. eigenphi.io
- MEV Blocker. Open-source MEV protection RPC. mevblocker.io
- CoW Protocol. How CoW Protocol protects users from MEV. docs.cow.fi