
Frontrunning là hành vi một cá nhân thực hiện giao dịch trước bạn nhằm thu lợi từ biến động giá phát sinh do lệnh của bạn. Việc này thường xảy ra khi giao dịch trên chuỗi vẫn đang ở trạng thái "chờ xác nhận".
Trên blockchain, giao dịch chưa xác nhận sẽ vào "pool giao dịch" công khai (gọi là memory pool hoặc mempool). Có thể hình dung pool này như hàng thanh toán ở siêu thị: giỏ hàng của bạn lộ cho người khác trước khi thanh toán. Phí giao dịch—thường gọi là phí gas—giống như "phí dịch vụ ưu tiên", ai trả phí cao hơn sẽ được xử lý trước. Nếu ai đó phát hiện bạn chuẩn bị mua lớn, họ có thể mua trước, đợi giao dịch của bạn đẩy giá lên rồi bán kiếm lời. Đây là ví dụ điển hình của frontrunning.
Frontrunning phổ biến vì pool giao dịch là công khai—ai cũng có thể quan sát các giao dịch chờ được ghi vào block, và thứ tự giao dịch thường quyết định bởi mức phí.
Về mặt kỹ thuật, mạng blockchain dùng cơ chế phát sóng tạo ra khoảng thời gian quan sát trước khi giao dịch được xác nhận. Thợ đào hoặc validator thường ưu tiên giao dịch có phí cao. Bot tự động còn khuếch đại điều này bằng cách liên tục theo dõi lệnh lớn hoặc lệnh có độ trượt thấp, tạo cơ hội frontrunning liên tục.
Quy trình frontrunning thường gồm các bước sau:
Trên các sàn phi tập trung (DEX), phương pháp frontrunning phổ biến nhất là sandwich attack. Ví dụ, bạn dự định mua token trị giá 1.000 USD trên Uniswap và đặt mức chịu trượt giá tối đa là 2%.
Một bot phát hiện lệnh của bạn và mua token với phí gas cao hơn, đẩy giá lên. Lệnh của bạn sau đó được khớp ở mức giá bất lợi hơn, tiêu tốn phần trượt giá cho phép. Bot tiếp tục bán ra, hưởng lợi từ việc tăng giá do chính nó tạo ra. Chuỗi này khai thác pool giao dịch công khai và cơ chế ưu tiên theo phí mà không cần sự thông đồng rõ ràng.
Frontrunning thường khiến bạn nhận giá khớp lệnh kém, tiêu tốn trượt giá nhanh và phải trả chi phí cao hơn. Nếu mức chịu trượt giá bạn đặt quá thấp, giao dịch có thể thất bại—và bạn vẫn phải trả phí gas cho lần thử đó.
Khi mạng tắc nghẽn, việc thử lại nhiều lần và phí cao hơn có thể tăng chi phí thực tế. Ngoài ra, bot còn có thể phân tích lịch sử giao dịch và thông số công khai của tài khoản bạn để tăng tỷ lệ thành công khi frontrunning.
Giảm thiểu frontrunning cần điều chỉnh thông số giao dịch, chọn kênh phù hợp và tận dụng công cụ nền tảng:
Lưu ý rủi ro: Không chiến lược nào loại bỏ hoàn toàn biến động giá hoặc rủi ro khớp lệnh; quản lý vốn và kiểm soát kỳ vọng vẫn rất quan trọng.
Frontrunning là một dạng Maximal Extractable Value (MEV). MEV là khoản lợi nhuận bổ sung có thể thu được nhờ sắp xếp lại hoặc kết hợp giao dịch chiến lược trong một block—không phải mọi hình thức MEV đều gây hại cho người dùng; ví dụ arbitrage giữa các pool và thanh lý giúp duy trì giá công bằng và sức khỏe vay mượn.
MEV ác ý thường liên quan đến sandwich attack hoặc sắp xếp lại giao dịch có chủ ý để trục lợi. Khi quy trình tạo block và chuyển tiếp phát triển, hệ sinh thái đang thử nghiệm các phương thức chuyển tiếp riêng tư và đấu giá theo lô để giảm tác động tiêu cực. Từ năm 2025, theo dữ liệu công khai, lượng MEV khai thác hàng ngày trên Ethereum và các chuỗi EVM khác thường đạt hàng triệu USD, biến động theo hoạt động thị trường và mức độ tắc nghẽn (nguồn: Flashbots và các bảng dữ liệu công khai, 2025).
Frontrunning xuất phát từ mempool công khai và cơ chế ưu tiên theo phí—bot lợi dụng điều này để đặt lệnh quanh lệnh của bạn, thu lợi từ biến động giá. Trên DEX, hình thức phổ biến là sandwich attack, dẫn đến khớp lệnh kém, giao dịch thất bại và chi phí cao cho người dùng. Biện pháp thực tế để giảm rủi ro gồm siết thông số trượt giá, dùng kênh riêng tư, áp dụng lệnh giới hạn/chia lệnh và tận dụng công cụ điều kiện trên nền tảng như Gate. Hiểu rõ mối liên hệ giữa frontrunning và MEV giúp phân biệt hoạt động duy trì hiệu quả thị trường với các hành vi làm giảm trải nghiệm người dùng—giúp bạn đưa ra quyết định giao dịch sáng suốt hơn.
Trượt giá lớn có thể do biến động thị trường, thiếu thanh khoản hoặc mạng tắc nghẽn. Trên sàn phi tập trung, frontrunner có thể dùng phí gas cao để ưu tiên giao dịch trước bạn, khiến giá khớp lệnh của bạn lệch khỏi kỳ vọng. Để giảm rủi ro này, hãy đặt mức chịu trượt giá hợp lý (thường từ 1–3%) và tránh giao dịch lớn vào giờ cao điểm.
MEV (Maximal Extractable Value) bao gồm toàn bộ lợi nhuận thợ đào hoặc validator có thể thu được bằng cách sắp xếp lại giao dịch trong block; frontrunning là một dạng MEV cụ thể khi thợ đào/bot đặt lệnh ngay trước hoặc sau lệnh của bạn để kiếm lời. Tóm lại, frontrunning là chiến thuật kỹ thuật như sandwich attack nhằm khai thác thứ tự giao dịch để trục lợi, còn MEV bao gồm mọi cơ hội arbitrage như vậy.
Có thể áp dụng các chiến lược sau: dùng mempool riêng tư (như Flashbots) để giảm bị lộ giao dịch; chia nhỏ lệnh lớn; chọn cặp giao dịch có thanh khoản cao để giảm trượt giá; và giao dịch vào giờ mạng ít tắc nghẽn. Một số DEX có tính năng bảo vệ frontrun—luôn kiểm tra thông báo nền tảng về hỗ trợ trước khi giao dịch.
Bot frontrunning giám sát mempool blockchain để tìm giao dịch chờ có khả năng sinh lời. Khi phát hiện, chúng tăng phí gas để giao dịch của mình được xử lý trước—mua trước lệnh của bạn và bán sau khi lệnh của bạn khớp để hưởng chênh lệch (sandwich attack điển hình). Lợi nhuận thu từ mức chênh lệch giá do lệnh của bạn tạo ra và phần trượt giá bạn chịu.
Sàn tập trung khớp lệnh nội bộ trên máy chủ riêng; chi tiết lệnh không công khai nên thợ đào không thể quan sát hoặc thao túng trước. Ngược lại, lệnh trên DEX minh bạch trên chuỗi—ai cũng có thể xem lệnh chờ trước khi hoàn tất, cho phép thợ đào hoặc bot điều chỉnh phí gas và sắp xếp lại giao dịch. Tính minh bạch này thúc đẩy phi tập trung nhưng cũng làm tăng rủi ro frontrunning—đây là điểm đánh đổi cốt lõi của thiết kế blockchain.


