Tấn công race attack

Trung cấp
Đã cập nhật Aug 26, 2026

Tấn công race attack là gì?

Tấn công race attack là một hình thức lặp chi trong đó kẻ tấn công tạo ra 2 giao dịch xung đột chi tiêu cùng một khoản tiền cùng lúc rồi phát tán chúng theo cách được thiết kế để đánh lừa người nhận. 

Mục tiêu là khiến một thương nhân tin rằng họ đã được thanh toán trong khi một giao dịch xung đột thứ 2 gửi lại cùng số coin đó cho kẻ tấn công hoặc đến một địa chỉ khác.

Tấn công race attack nhắm cụ thể vào những người nhận chấp nhận một giao dịch chưa được xác nhận là cuối cùng, thường được gọi là khoản thanh toán không xác nhận. 

Vì mạng lưới vẫn chưa ghi lại vĩnh viễn giao dịch nào là hợp lệ nên có một khoảng thời gian ngắn mà kết quả có thể bị tác động. Điều này khiến cuộc tấn công đặc biệt liên quan trong các tình huống thanh toán nhanh khi người bán giao hàng hóa hoặc dịch vụ ngay lập tức.

Tấn công race attack hoạt động như thế nào?

Trong một kịch bản điển hình, kẻ tấn công gửi một giao dịch cho thương nhân và gần như cùng lúc phát tán một giao dịch cạnh tranh chi tiêu cùng số coin đó cho chính họ. Cả 2 giao dịch đều đi vào bể bộ nhớ (mempool) của các node khác nhau trên toàn mạng lưới. 

Vì các node có thể nhận 2 giao dịch theo các thứ tự khác nhau nên tạm thời chúng không thống nhất về giao dịch nào là hợp lệ.

Cuối cùng, chỉ một giao dịch có thể được đưa vào một khối. Nếu thợ đào xác nhận giao dịch trả coin về cho kẻ tấn công thì khoản thanh toán cho thương nhân trở nên không hợp lệ.

Kẻ tấn công có thể tăng cơ hội bằng cách kết nối trực tiếp với node của thương nhân để chuyển giao giao dịch thanh toán trong khi phát tán giao dịch xung đột rộng rãi hơn đến phần còn lại của mạng lưới. Nếu thương nhân chấp nhận khoản thanh toán trước khi có bất kỳ xác nhận nào thì họ có thể không nhận được gì.

Cách giảm rủi ro bị tấn công race attack

Cách hiệu quả nhất để giảm mức độ phơi nhiễm trước tấn công race attack là chờ một hoặc nhiều lượt xác nhận khối trước khi coi khoản thanh toán là cuối cùng. Khi một giao dịch được đưa vào một khối và các khối bổ sung được xây dựng trên đó thì việc đảo ngược sẽ ngày càng khó và tốn kém.
Các thương nhân xử lý số tiền lớn hơn thường chờ vài lượt xác nhận để giảm xác suất bị đảo ngược. Cần lưu ý rằng tấn công race attack khác với tấn công 51%, vốn đòi hỏi kiểm soát phần lớn sức mạnh đào của một mạng lưới và có thể viết lại các giao dịch đã được xác nhận. Tấn công race attack không đòi hỏi mức tài nguyên như vậy nhưng nhìn chung chỉ thành công khi chấp nhận thanh toán không xác nhận.

Trong thực tế, chờ xác nhận, theo dõi các giao dịch xung đột và tránh chấp nhận ngay các khoản thanh toán chưa được xác nhận có thể giảm đáng kể khả năng tấn công race attack thành công.

Tìm hiểu thêm: Giải thích về lặp chi