Chạy trước là hành động đặt một giao dịch vào hàng đợi với biết về giao dịch trong tương lai. Chạy trước trên nền tảng chuỗi khối thường xảy ra khi một người khai thác có quyền truy cập vào thông tin về các giao dịch đang chờ xử lý, đặt một lệnh sẽ giúp anh ta kiếm được lợi nhuận dựa trên giao dịch đang chờ xử lý. Ví dụ: trên chuỗi khối Ethereum, hoạt động chạy trước có thể xảy ra khi các bot có thể báo giá gas cao hơn giao dịch đang chờ xử lý, do đó đẩy nhanh quá trình xử lý.
Các bên khác có khả năng chạy trước là các nhà khai thác nút đầy đủ, là các bên được giao nhiệm vụ theo dõi các hoạt động mạng, do đó, có kiến thức về các giao dịch chưa được xác nhận. Các sàn giao dịch tập trung cũng có thể tiến hành chạy trước, tuy nhiên, việc lừa dối khách hàng của chính họ sẽ đi ngược lại lợi ích tốt nhất của họ. Chạy trước cũng có thể được sắp xếp thông qua các phương pháp khác. Khai thác trước tổng quát các cuộc gọi hợp đồng có khả năng sinh lời.
Các loại tấn công khác bao gồm dịch chuyển, chèn và đàn áp. Với một cuộc tấn công dịch chuyển, tác nhân độc hại sẽ thay thế một giao dịch thực sự của chính họ. Mặc dù giao dịch ban đầu có thể vẫn chạy nhưng nó sẽ không mang lại hiệu quả tích cực như dự định. Mặt khác, một cuộc tấn công chèn vào sẽ kẹp một giao dịch thực sự giữa hai giao dịch với mục đích kiếm lợi nhuận mà không cần nắm giữ tài sản.
Cuộc tấn công ngăn chặn nhằm mục đích trì hoãn việc người khác thực hiện giao dịch. Khi khoản khấu trừ được dỡ bỏ, người dẫn đầu sẽ ít lo ngại hơn về hoạt động buôn bán bị ngăn chặn.
Việc chạy trước có thể được giảm thiểu bằng cách sắp xếp thứ tự các giao dịch và cải thiện tính bảo mật của giao dịch. Có thể đạt được trình tự giao dịch thông qua việc triển khai như Quy tắc đặt hàng giao dịch chuẩn giống như quy tắc được sử dụng bởi BCH (Bitcoin Cash). Mặt khác, tính bảo mật được áp dụng trên các phần khác nhau của một ứng dụng phi tập trung (DApp).
