Sandwich Attack là gì? Làm thế nào để tránh được Sandwich Attack?

Đăng ngày 06/03/2023

Có thể đây là lần đầu tiên bạn nghe nói về một Sandwich Attack, vì đây là một khái niệm không phổ biến như các kiểu tấn công khác. Tuy nhiên, nó có thể có những hậu quả đáng kể dẫn đến thao túng thị trường. Nó đã được cảnh báo vào năm 2018 bởi người đồng sáng lập Ethereum – Vitalik Buterin. Vậy Sandwich Attack là gì? Hãy tìm hiểu tất cả về Sandwich Attack với Coinf0.

Bạn đang xem bài viết: Sandwich Attack là gì

Khái niệm Sandwich Attack là gì?

Về cốt lõi, một Sandwich Attack là một hình thức tấn công phủ đầu chống lại các giao thức và dịch vụ tài chính phi tập trung.

Trong Sandwich Attack, kẻ tấn công tìm kiếm các giao dịch đang chờ xử lý trên mạng mà chúng lựa chọn, chẳng hạn như Ethereum. Sau đó, họ tấn công bằng cách đặt một lệnh trước giao dịch và một lệnh sau giao dịch. Điều này có nghĩa là chúng sẽ được front-run (chạy trước) và back-run (chạy sau) cùng lúc với giao dịch đang chờ ban đầu. Vì vậy, Sandwich Attack chính xác là cách nó hoạt động, kẹp thứ gì đó ở giữa.

Mục đích của việc đặt hai lệnh này và lệnh chờ là để thao túng giá tài sản. Ví dụ: thủ phạm sẽ mua một tài sản mà người dùng đang trao đổi (sử dụng LINK để lấy ETH), hy vọng giá ETH sẽ tăng. Sau đó, thủ phạm sẽ mua ETH với giá thấp hơn để thúc giục nạn nhân mua nó với giá cao hơn. Lúc này kẻ tấn công sẽ bán ETH với giá cao hơn để kiếm lời.

Khái niệm Sandwich Attack là gì?
Khái niệm Sandwich Attack là gì?

Trong một ví dụ khác về thị trường chứng khoán, bạn biết ai đó sắp mua một lô cổ phiếu TELSA trị giá 10 triệu đô la. Bạn đặt lệnh mua trước khi lệnh mua 10 triệu USD được khớp và giá tăng lên, bạn sẽ ngay lập tức đặt lệnh bán để tận dụng lợi nhuận đó.

Tóm lại, Sandwich Attackh (hoặc chạy trước) đang lợi dụng một giao dịch được biết là sẽ ảnh hưởng đến giá trong tương lai và đặt một lệnh trước giao dịch đó để kiếm lợi nhuận.

Các yếu tố cần chú ý trong Sandwich Attack

Hầu hết Sandwich Attack sẽ được thực hiện thông qua các chương trình tạo thị trường tự động (AMM) trên Uniswap, PancakeSwap, Sushi hoặc các nền tảng khác. Thông qua thuật toán định giá, thanh khoản luôn có nhu cầu cao và các giao dịch được thực hiện liên tục. AMM cho phép các nhà cung cấp thanh khoản xem và giám sát thị trường, sau đó đặt giá mua/bán. Khi đến lượt người thực hiện thanh khoản, kẻ tấn công sẽ giao dịch với AMM.

Mặt khác, trượt giá cũng là một yếu tố có thể xảy ra khi khối lượng giao dịch và tính thanh khoản của tài sản thay đổi ngoài khuôn khổ dự đoán của một cuộc Sandwich Attack.

Ngoài ra, những kẻ tấn công phải đối mặt với giá thực hiện dự kiến, giá thực hiện thực tế và trượt giá không mong muốn. Những yếu tố này có thể ảnh hưởng đến tốc độ giao dịch và số lượng tài sản nhận được để đổi lấy tài sản ban đầu.

Ví dụ: một người nhận thanh khoản muốn đổi 1X lấy 20Y, tức là 0,05/1Y. Giao dịch mất một lúc để xử lý và khi hoàn tất, giá giao dịch đã thay đổi thành 0,1/1 năm. Ở mức giá này, người nhận thanh khoản chỉ có thể nhận được 10 năm thay vì 20 năm như kế hoạch ban đầu. Cơ hội trượt ngẫu nhiên là 0,05 (0,1 – 0,05). Ngược lại, nếu giá thực hiện lệnh giảm xuống 0,25/1 năm, thì người nhận thanh khoản hiện có thể nhận được 1X trong 40 năm. Do đó, xác suất trượt ngẫu nhiên là −0,15 (-0,25 – 0,1).

Hai tình huống thường gặp trong Sandwich Attack

Liquidity Taker vs Taker

Ví dụ: các nhà giao dịch thường tham gia thị trường với các giao dịch AMM đang chờ xử lý trên chuỗi khối. Tại thời điểm này, kẻ tấn công có thể tạo các giao dịch chạy đầu tiên và sau đó để thu lợi tài chính. Vì nhóm thanh khoản và cặp tài sản có ba giao dịch đang chờ xử lý, nên người khai thác sẽ quyết định giao dịch nào sẽ được phê duyệt trước.

Liquidity Taker vs Taker
Liquidity Taker vs Taker

Nguồn: hackernoon

Tại thời điểm này, nếu kẻ tấn công “hối lộ” người khai thác bằng cách trả phí giao dịch cao hơn người khác, thì cơ hội giao dịch này sẽ được xử lý trước. Đây không phải là Sandwich Attack điển hình với tỷ lệ thành công tuyệt đối, mà chỉ minh họa việc thực hiện thao tác bằng cách sử dụng một Sandwich Attack dễ dàng như thế nào.

Liquidity Provider vs Taker

Các nhà cung cấp thanh khoản có thể tấn công những người nhận thanh khoản theo cách rất giống nhau. Về cơ bản, kịch bản này vẫn sử dụng các giao dịch chạy trước và chạy sau, tuy nhiên, kẻ tấn công cần tiến hành theo trình tự 3 bước.

Đầu tiên, họ loại bỏ tính thanh khoản như một phương pháp chạy trước để tăng trượt giá cho các nạn nhân. Tiếp theo, họ đã thêm thanh khoản để khôi phục số dư ban đầu để giúp nhóm hoạt động trở lại. Cuối cùng, kẻ tấn công hoán đổi tài sản của Y cho X, khôi phục số dư tài sản của X về trạng thái trước khi tấn công.

 

Liquidity Taker vs Taker
Liquidity Taker vs Taker

Việc rút tất cả tài sản khỏi nhóm thanh khoản trước khi thực hiện giao dịch của nạn nhân sẽ vô hiệu hóa hoa hồng cho giao dịch đó. Khi làm như vậy, kẻ tấn công tính phí hoa hồng trả trước cho nạn nhân cho giao dịch. Các nhà cung cấp thanh khoản nhận được hoa hồng tương ứng với thanh khoản mà họ cung cấp cho thị trường AMM DEX.

Nhược điểm của Sandwich Attack

Mặc dù rất dễ thiết lập một cuộc tấn công kiểu sandwich, nhưng không phải lúc nào kẻ tấn công cũng có lợi thế lớn. Như đã đề cập trước đó, kẻ tấn công buộc phải nhập chi tiết phí giao dịch cao hơn để thu hút những người khai thác và thiết lập hai giao dịch để thực hiện cùng một lúc. Hoặc một cách khác, một nhà giao dịch khác cũng chấp nhận mức phí cao hơn và vô tình bị “mắc kẹt” trong cuộc tấn công. Do đó, đôi khi khoản phí này có thể cao hơn số tiền mà kẻ tấn công có thể nhận được sau đó, đặc biệt là khi sử dụng Ethereum, vốn có phí giao dịch khá cao. Điều này sẽ làm cho cuộc tấn công sandwich “phản tác dụng”.

Mặt khác, trong điều kiện giao dịch bình thường, chi phí giao dịch của một Sandwich Attack thấp hơn số tiền giao dịch của nạn nhân và khả năng xảy ra Sandwich Attack là hiển nhiên.

Bạn đang xem bài viết tại Kiến thức cơ bản của CoinF0, hãy truy cập để xem thêm nhiều thông tin hữu ích nữa nhé

Làm thế nào để tránh được Sandwich Attack?

Cho đến nay, người dùng đã thất bại trong việc chủ động “loại bỏ” Sandwich Attack. Tuy nhiên, đây là một cuộc tấn công dựa trên AMM để thực hiện. Do đó, cần phải đưa ra các biện pháp khắc phục từ nguyên nhân gốc rễ để giải quyết vấn đề một cách triệt để nhất.

Trước tình hình này, nền tảng trực tuyến 1inch đã đưa ra một phương thức đặt hàng được gọi là “giao dịch flash sale”. Đây là một phương pháp ẩn trong một mempool và sau đó kết nối trực tiếp với những người khai thác đáng tin cậy để giao dịch.

Làm thế nào để tránh được Sandwich Attack
Làm thế nào để tránh được Sandwich Attack

Ngay sau đó, các giao dịch đã hoàn thành sẽ xuất hiện trong mempool. Trái ngược với mong đợi, biện pháp này cũng đã gây ra một số tranh cãi về cách thức hoạt động của nó.

Điều này bao gồm thực tế là người dùng vẫn chưa thực sự tin tưởng vào AMM, AMM có thể sử dụng các biện pháp kiểm tra khả năng hiển thị và tính minh bạch để giả mạo kết nối với các công cụ khai thác mà không cần thông qua mempool.

Lời kết

Mặc dù các cuộc Sandwich Attack không phải là một ý tưởng mới ngày nay. Kể từ khi ý tưởng về DeFi xuất hiện, các khái niệm và nhược điểm có thể có của tất cả những người tham gia thị trường đã được thảo luận. Các nhà tạo lập thị trường tự động (AMM) có vẻ như là lựa chọn tốt nhất cho các sàn giao dịch phi tập trung, nhưng nó vẫn để lại nhiều lỗ hổng cho các cuộc tấn công xảy ra. Vì vậy người đầu tư thông minh nên cân nhắc trong những cuộc giao dịch của mình. Trên đây là nội dung về Sandwich Attack là gì của CoinF0 tổng hợp. Cảm ơn các bạn đã theo dõi.

Tham gia cộng đồng CoinF0 trên Telegram để cập nhật tin tức thị trường Crypto nhanh nhất và tiếp cận thông tin những dự án tiềm năng
Tham Gia CoinF0 Ngay