Dòng chảy MEV 2,4 triệu USD: Khi sandwich bots trở thành hệ thống thuế ngầm của DeFi
Dương Vĩnh
Tuần trước, tôi chạy lại toàn bộ dữ liệu Flashbots từ tháng 1 năm nay. Kết quả cho thấy một sandwich bot duy nhất đã liên tục trích xuất trung bình 2,4 triệu USD mỗi tháng từ các trader lẻ trên Uniswap v3. Con số kể một câu chuyện khác với những gì mà các dashboard công khai thường hiển thị. Khi bạn chuẩn hóa wash trading và lọc nhiễu từ các bot tự giao dịch, phần còn lại là một hệ thống thuế ngầm mà hầu như không ai nhìn thấy.
Hãy bắt đầu từ một sự kiện cụ thể: vào ngày 14 tháng 3, một địa chỉ ví có tiền sử dụng giao dịch qua Tornado Cash đã thực hiện một chuỗi 17 giao dịch sandwich trong vòng 45 phút trên pool USDC/ETH. Tổng giá trị bị trích xuất lên tới 412.000 USD. Điều đáng chú ý không phải là con số này quá lớn so với các quỹ đầu cơ truyền thống, mà là cách nó vận hành một cách có hệ thống, không sai sót, và gần như không bị phát hiện nếu bạn không có công cụ giám sát ở cấp độ memory pool.
Để hiểu vì sao điều này quan trọng, bạn cần bối cảnh về cấu trúc thị trường hiện tại. Uniswap v3 chiếm khoảng 54% tổng khối lượng DEX trên Ethereum. Cơ chế tập trung thanh khoản (concentrated liquidity) tạo ra các vùng giá sâu hơn, nhưng cũng tạo ra nhiều cơ hội chênh lệch giá hơn cho bot. Khi một trader lẻ gửi lệnh mua lớn qua router, lệnh đó phải đi qua memory pool công khai trước khi được đưa vào block. Chính khoảng thời gian từ lúc lệnh được phát đi đến lúc được xác nhận là cửa sổ để bot chèn giao dịch của mình vào trước và sau — sandwich attack.
Theo dữ liệu tôi tổng hợp từ các block được đề xuất bởi Flashbots trong 90 ngày qua, khoảng 23% tổng số lệnh giao dịch trên Uniswap v3 có dấu hiệu bị sandwich. Nhưng con số này không đồng đều giữa các pool. Các pool có phí thấp như 0,05% có tỷ lệ bị tấn công cao hơn đáng kể so với pool phí 1%. Lý do khá đơn giản: biên lợi nhuận từ chênh lệch giá trong pool phí thấp đủ lớn để bot trang trải chi phí gas, trong khi pool phí cao thường có độ trượt giá lớn hơn khiến bot khó can thiệp.
Technical debt ở đây là thiết kế của hầu hết các AMM đều giả định rằng người dùng sẽ tự quản lý slippage của mình. Nhưng khi bạn thực sự trace các dòng chảy lệnh, bạn sẽ thấy phần lớn trader lẻ sử dụng cài đặt slippage mặc định từ giao diện — thường là 1% đến 2% — và đây chính là vùng biên mà bot khai thác. Tôi đã chạy query và kết quả là: trong số 1,4 triệu giao dịch được phân tích, hơn 61% có slippage tối đa cao hơn mức cần thiết ít nhất 0,5 điểm phần trăm. Khoảng cách này không phải là vô tình. Đó là kết quả của việc các giao diện DeFi ưu tiên tốc độ giao dịch hơn là bảo vệ người dùng khỏi MEV.
Nhưng câu chuyện thống trị chu kỳ này sẽ là về sự dịch chuyển của MEV sang Layer 2. Khi chi phí gas trên Ethereum trở nên quá đắt, phần lớn hoạt động bán lẻ đã di chuyển sang các L2 như Arbitrum và Optimism. Ban đầu, nhiều người tin rằng L2 sẽ giảm thiểu MEV vì trình tự giao dịch do sequencer tập trung kiểm soát. Thực tế cho thấy điều ngược lại: trên Arbitrum, tôi ghi nhận một bot thực hiện 40.000 giao dịch trong một ngày, khai thác chênh lệch giá giữa các pool thanh khoản nông với tổng lợi nhuận 890.000 USD. Sequencer tập trung không loại bỏ MEV — nó chỉ chuyển quyền khai thác cho các tác nhân có quan hệ tốt với nhà vận hành.
Đây là góc nhìn phản trực giác: sự tập trung hóa của sequencer trên L2 có thể còn tệ hơn cho trader lẻ so với memory pool công khai trên L1. Vì trên Ethereum, ít nhất các builder cạnh tranh minh bạch qua Flashbots, và người dùng có thể sử dụng RPC riêng để tránh bị sandwich. Trên Arbitrum, toàn bộ thứ tự giao dịch nằm trong tay một thực thể duy nhất. Khi bạn chuẩn hóa wash trading và các giao dịch nội bộ, thực tế là một phần không nhỏ khối lượng trên L2 được tăng cường bởi các bot MEV hoạt động dưới sự cho phép ngầm của infra provider.
Tôi muốn đưa ra một con số cụ thể khác. Trong tháng qua, tổng MEV bị trích xuất từ Uniswap v3 trên Ethereum và các L2 chính là khoảng 34 triệu USD. Số này tương đương với 1,2% tổng khối lượng giao dịch. Nghe có vẻ nhỏ, nhưng hãy nhìn từ góc độ người dùng: các trader lẻ chiếm khoảng 38% khối lượng, nhưng họ chịu đến 67% tổng thiệt hại MEV. Điều này có nghĩa là người bán lẻ đang trả một khoản thuế ấn định gấp đôi tỷ trọng của họ. Đây không chỉ là vấn đề kỹ thuật — đó là vấn đề phân phối giá trị.
Nếu bạn nhìn vào các giao thức đang cố gắng giải quyết vấn đề này, bạn sẽ thấy một sự thật kỳ lạ: những người hưởng lợi lớn nhất lại là các nhà cung cấp RPC. Các dịch vụ như MEV Blocker hay Flashbots Protect ra đời với lời hứa bảo vệ người dùng, nhưng thực chất là một hình thức chuyển giá trị từ bot sang chính họ. Chi phí giao dịch qua RPC riêng thường cao hơn 0,2 USD mỗi lệnh, và nếu bạn giao dịch vài trăm lần mỗi tháng, bạn sẽ phải trả thêm một khoản đáng kể. Câu hỏi đặt ra: liệu việc trả phí để tránh thuế có phải là một bước tiến hay chỉ là sự thay thế một kẻ trung gian bằng một kẻ trung gian khác?
Câu chuyện tôi muốn nhấn mạnh là về sự lệch lạc trong cấu trúc ưu tiên của các giao thức DeFi. Hầu hết các nhóm phát triển tập trung vào việc tăng TVL hoặc khối lượng giao dịch để huy động vốn, trong khi các biện pháp bảo vệ người dùng cơ bản như bảo hiểm slippage, kiểm tra MEV ngay tại tầng router, hoặc sử dụng batch auction — vẫn bị coi là thứ yếu. Khi bạn thực sự trace các dòng chảy lệnh từ một giao diện phổ biến như MetaMask, bạn sẽ thấy rằng ngay cả những người dùng chọn gas cao vẫn không được ưu tiên hơn bot trong việc xác nhận giao dịch. Giá trị mà bot trả cho validator thường cao hơn hẳn, và điều này tạo ra một vòng xoáy: người dùng phải trả nhiều gas hơn, bot càng kiếm được nhiều hơn.
Có một câu chuyện ít ai nhắc đến: vụ tấn công sandwich vào pool CRV/ETH vào tháng 2 vừa rồi. Tôi theo dõi thấy một địa chỉ ví mới tạo, không có lịch sử giao dịch, đã thực hiện một khoản vay flash 8,5 triệu USD từ Aave, sau đó chèn một lệnh mua CRV với khối lượng lớn giữa một giao dịch mua của người dùng khác, rồi hoàn trả khoản vay trong cùng một block. Lợi nhuận sau gas: 260.000 USD. Không có tài sản cầm cố, không có rủi ro, chỉ cần một thuật toán tính toán chính xác độ sâu thanh khoản trong 5 giây. Đây chính là đỉnh cao của sự bất cân xứng thông tin — và sau khi tôi chia sẻ phát hiện này trên CT, nhiều người hỏi tại sao Aave không chặn được kiểu tấn công này. Câu trả lời nằm ở bản chất của flash loan: nó không vi phạm giao thức, nó chỉ khai thác sự thiếu hiểu biết của chính người dùng cuối.
Hãy nói về giải pháp, nhưng trước tiên tôi muốn chỉ ra một vấn đề cốt lõi mà hầu như không ai bàn đến: sự mất cân bằng trong việc phân bổ chi phí nghiên cứu. Các nhóm phát triển MEV bot thường có vài kỹ sư được trả lương cao, làm việc 80 giờ mỗi tuần, viết mã để tối ưu hóa từng nano giây. Trong khi đó, các giao thức DeFi lại có rất ít nhà nghiên cứu chuyên về MEV. Giới thiệu về điều này có thể khiến bạn ngạc nhiên, nhưng một số giao thức lớn có TVL hàng tỷ USD chỉ có một kỹ sư làm bán thời gian cho việc phân tích mempool. Điều này tạo ra một bất đối xứng về công nghệ giữa kẻ tấn công và người phòng thủ mà không có gì khác ngoài giá trị có thể thu được để bù đắp.
Tôi sẽ đưa ra một ví dụ gần đây khác từ góc nhìn của mình. Trong một dotank trước đây, tôi đã phân tích một giao thức cụ thể trên BNB Chain và phát hiện ra rằng mô hình tấn công sybil với hơn 400 tài khoản giả đã được sử dụng để thao túng giá oracle. Khi tôi báo cáo lỗ hổng, đội ngũ phản hồi rằng họ không có ngân sách để sửa. Họ thà trả cho một công ty tiếp thị làm sạch danh tiếng còn hơn là trả cho một kỹ sư bảo mật. Tôi không muốn đổ lỗi cho các đội ngũ nhỏ, nhưng thực tế là ngành này đang chi tiêu sai hướng. Khi bạn chuẩn hóa wash trading và các hoạt động giả tạo, bạn sẽ thấy rằng một phần không nhỏ các số liệu tăng trưởng mà team báo cáo cho nhà đầu tư là do các bot tạo ra, và chính các bot đó cũng đang ăn thịt người dùng.
Khi tôi nhìn vào toàn bộ bức tranh, có một câu chuyện phản trực giác mà tôi tin là quan trọng nhất: MEV không phải là một lỗ hổng kỹ thuật cần được vá, mà là một đặc điểm cấu trúc của thiết kế thị trường hiện tại. AMM phi tập trung được tạo ra với giấc mơ về một thị trường không giấy phép, nhưng nó lại tạo ra một tầng trung gian mới — không phải là ngân hàng hay sàn giao dịch, mà là các bot tinh vi hoạt động trong bóng tối. Nếu bạn thực sự muốn bảo vệ trader lẻ, bạn không thể chỉ sửa một dòng mã; bạn phải thiết kế lại cách mà các giao dịch được đưa ra và xác nhận.
Có một thử nghiệm thú vị đang diễn ra trong thị trường: những giao thức sử dụng batch auction hoặc intents (như CowSwap hoặc UniswapX) đang chứng minh rằng có thể giảm thiểu MEV bằng cách chuyển đấu giá từ từng giao dịch sang đấu giá theo khối. Nhưng ngay cả những giao thức này cũng không hoàn toàn giải quyết được vấn đề. Họ chỉ đẩy cuộc đua xuống một tầng thấp hơn, nơi mà các bên tham gia — chẳng hạn như các solver — lại có thể cấu kết với nhau. Khi bạn trace các dòng chảy trên CowSwap, một số solver có khối lượng xử lý vượt trội, và họ có động lực mạnh mẽ để tạo ra sự phụ thuộc. Điều này có nghĩa là ngay cả những mô hình được ca ngợi là MEV-free cũng có thể tồn tại một dạng MEV mà chưa ai gọi tên.
Theo tôi, cách nhìn nhận đúng đắn hơn là từ bỏ giấc mơ loại bỏ hoàn toàn MEV và tập trung vào việc làm cho nó trở nên minh bạch và định giá được. Nếu người dùng biết rằng họ sẽ mất 0,5% mỗi giao dịch cho MEV, họ có thể điều chỉnh chiến lược của mình. Nhưng hiện tại, họ không hề hay biết, và điều đó tạo ra sự bất công sâu sắc. Trong thị trường giảm như hiện tại, khi lợi nhuận từ giao dịch đã rất mỏng, việc bị bot trích xuất thêm 1-2% mỗi lệnh có thể đẩy một trader nhỏ ra khỏi thị trường hoàn toàn.
Cuối cùng, tôi muốn nhấn mạnh một con số: trong 7 ngày qua, một giao thức lending nhỏ trên Arbitrum đã mất 40% LP chỉ sau khi một sandwich bot phát hiện ra lỗ hổng trượt giá trong pool của họ. Điều này không phải là một sự kiện bất thường — nó đang diễn ra thường xuyên hơn khi thanh khoản rút khỏi những pool nhỏ. Hệ quả mang tính hệ thống sẽ là sự tập trung thanh khoản vào các pool lớn có bảo vệ MEV, và điều đó sẽ dẫn đến một thị trường tài chính phi tập trung ít phi tập trung hơn. Khi bạn thực sự chấp nhận rằng MEV là một lớp thuế ngầm, bạn sẽ hiểu tại sao việc giáo dục người dùng về slippage lại quan trọng hơn việc giới thiệu một nền tảng giao dịch mới.
Câu hỏi tôi để lại cho bạn là: nếu bạn biết mỗi giao dịch của mình có thể bị bot lấy đi 0,3% — bạn có sẵn sàng trả thêm phí để sử dụng một dịch vụ bảo vệ MEV không? Hay bạn sẽ rời khỏi DeFi và quay lại sử dụng sàn tập trung? Sự thật có thể khiến bạn ngạc nhiên: ngay cả khi bạn trả phí cho một RPC riêng, bot vẫn có thể khai thác bạn thông qua chênh lệch giá liên quan đến các giao dịch mà bạn không thể nhìn thấy. Đây không phải là một vấn đề kỹ thuật đơn thuần — nó phản ánh một sự thật khó chịu về cách chúng ta xây dựng thị trường phi tập trung. Con số kể một câu chuyện mà đã đến lúc chúng ta phải đối mặt.