Tổng quan
Hiện nay, có rất nhiều vụ tấn công, lừa đảo, hack trong thị trường Crypto nhưng khi nói đến Sandwich Attack sẽ có rất nhiều người không biết khái niệm này là gì. Vậy Sandwich Attack là gì? Cách phòng tránh như thế nào? Bài viết sao đây GFI sẽ mang đến cho các bạn một khái niệm đầy đủ và cách để phòng tránh về Sandwich Attack.
Theo thống kê thì từ năm 2017 đến nay thị trường Crypto bị thất thoát hàng tỷ đô mỗi năm do các vụ tấn công, lừa đảo, hack… Các bạn có thể từng nghe nói đến những vụ hack triệu đô như Ronin Network, Poly Network hoặc những hình thức Scam nổi tiếng như: Phishing, Ponzi, Rug Pull… Nhưng khi nói tới Sandwich Attack nếu các bạn chưa hình dung được là gì thì các bạn không hề cô đơn.
Dù đã được Vitalik, Co-Founder của Ethereum nhắc đến vào năm 2018 qua sự kiện Uniswap thường xuyên bị tấn công theo hình thức Sandwich Attack. Nhưng Sandwich Attack là một khái niệm không được phổ biến nhiều.
Trong bối cảnh tài chính phi tập trung (Defi) ngày càng phát triển và mở rộng, tạo ra một không gian mới mang lại cho người dùng nhiều cơ hội đầu tư tài chính hơn. Tuy nhiên, Defi cũng mang lại những tìm ẩn bất chính từ những kẻ giấu mặt lợi dụng vào lỗ hổng bảo mật của hợp đồng thông minh để thực hiện các vụ tấn công nhằm mục đích trục lợi cá nhân. Và một trong những hình thức khá phổ biến trong năm 2021 là Sandwich Attack.
Sandwich Attack là gì?
Sandwich Attack là một loại tấn công chủ yếu nhắm vào các dịch vụ và giao thức Defi như các DEX (sàn giao dịch phi tập trung) hoạt động trên các giao thức AMM (Automated Market Maker) nhằm mục đích trục lợi cho cá nhân.
Người tấn công (Attacker) lợi dụng lỗ hổng trên các hợp đồng thông minh tìm kiếm một giao dịch với số lượng lớn đang chờ xử lý trên DEX. Sau đó, Attacker sẽ đặt một lệnh mua ngay trước và một lệnh bán ngay sau giao dịch đang chờ xử lý đó.
Nói dễ hiểu hơn, các Attacker sẽ tạo ra hai giao dịch trước và sau giao dịch của người bị tấn công. Có nghĩa là giao dịch đang chờ xử lý với số tiền cực lớn của người bị tấn công nằm giữa hai giao dịch của Attacker theo đúng nghĩa đen là “bánh mì kẹp thịt”, dù không phổ biến như các hình thức tấn công khác nhưng Sandwich Attack có thể gây ra các hậu quả nghiêm trọng dẫn đến việc thao túng giá cả thị trường.
Ví dụ đơn giản: Bằng một cách nào đó Attacker biết được có một giao dịch hoán đổi USDT sang ETH với số lượng 5 triệu đô đang chờ thực hiện trên các DEX như: Uniswap, Sushiswap… Attacker sẽ mua trước một số ETH trước khi giao dịch 5 triệu đô đó được thực hiện và sẽ đợi cho đến khi giao dịch 5 triệu đô đó thực hiện xong, Attacker sẽ bán số ETH đã mua trước đó với giá cao hơn để thu về lợi nhuận.
Sandwich Attack có mục đích gì?
Các Attacker nhắm vào các giao dịch các DEX để tạo ra khoản chênh lệch giá nhằm thu về lợi nhuận trong khoảng thời gian ngắn. Theo thống kê trong hai năm từ 2020 đến 2022 đã có hơn 457.000 cuộc tấn công Sandwich. Và Sandwich Attack đáng chú ý nhất xảy ra vào tháng 5 năm 2021 khi cuộc tấn công này đã thu về 56 ETH lợi nhuận chỉ trong hai giao dịch mua và bán.
Cách thức hoạt động
Chúng ta sẽ đi sâu vào cách thức hoạt động để tìm hiểu xem cách một Sandwich Attack đã tạo ra sự chênh lệch giá và thu về lợi nhuận như thế nào? Về cơ bản một Sandwich Attack sẽ có những bước thực hiện như sau:
- Tìm và phát hiện ra một giao dịch hoán đổi với số lượng lớn trước khi giao dịch đó được thực hiện trên các DEX.
- Mua một số lượng token (tùy theo nhu cầu của Attacker) mà giao dịch đó đang hoán đổi trước khi giao dịch đó được thực hiện.
- Đợi giao dịch hoán đổi số lượng lớn đó được thực hiện.
- Bán tất cả số lượng token đã mua trước đó.
- Tận hưởng lợi nhuận chỉ sau hai giao dịch.
Sandwich Attack thành công khi nào?
Cần có hai điều kiện xảy ra để một Sandwich Attack có thể thành công.
Thứ nhất: Lợi nhuận thu được cần phải cao hơn chi phí Gas.
Thứ hai: Trượt giá (Slippage), độ trượt giá càng cao thì khả năng thành công của Sandwich Attack sẽ càng cao.
Các hình thức Sandwich Attack
Đa số các Sandwich Attack được thực hiện thông qua các giải pháp AMM trên DEX, nơi thanh khoản luôn luôn cao hơn các giao dịch đang diễn ra vì thế sẽ có hai hình thức Sandwich Attack.
Sandwich Attack giữa Trader với Trader
Các Trader này sẽ sử dụng một Bot được lập trình sẵn để tìm kiếm các giao dịch có giá trị cao đang chờ xử lý rồi thực hiện Sandwich Attack. Lúc này sẽ có 3 giao dịch cần được các nhà cung cấp thanh khoản (liquidity provider) của cặp tiền mã hóa đó xử lý và quyết định giao dịch nào sẽ được phê duyệt trước. Nếu Attacker sẵn sàng chi trả nhiều phí Gas hơn người bị tấn công, thì sẽ có nhiều khả năng giao dịch đó sẽ được hoàn thành trước và Sandwich Attack lúc này sẽ diễn ra.
Sandwich Attack giữa Liquidity Provider với Trader
Các Liquidity Provider có thể dễ dàng thực hiện Sandwich Attack như sau:
- Khi người dùng thực hiện một giao dịch, các công cụ khai thác của AMM sẽ đưa giao dịch đó vào chuỗi khối và lưu trữ các giao dịch đang chờ xử lý đó vào một tiện ích gọi là “Mempool”.
- Các Liquidity Provider hoàn toàn có quyền truy cập vào “Mempool” để xử lý các giao dịch này và thu về phần thưởng cung cấp thanh khoản. Do đó các Liquidity Provider sẽ có động cơ rõ ràng để thực hiện Sandwich Attack.
- Sau khi đã xác định được giao dịch cần tấn công các Liquidity Provider sẽ thực hiện theo 3 bước: Đầu tiên Liquidity Provider sẽ rút thanh khoản của cặp giao dịch đó để tăng độ trượt giá cho nạn nhân. Thứ hai, Liquidity Provider sẽ cung cấp lại thanh khoản cho cặp đó để cân bằng lại nhóm thanh khoản. Thứ ba, bán các tài sản đã mua giá thấp trước đó với giá cao và hưởng lợi.
Cách nhận biết khi nào có Sandwich Attack
Vì bản chất của Blockchain là công khai, minh bạch nên rất dễ để nhận biết một Sandwich Attack khi nó xảy ra. Một cuộc tấn công được coi là Sandwich Attack nếu thỏa mãn các điều kiện sau:
- Xuất hiện ba giao dịch liên tiếp trên cùng một chuỗi, một mã thông báo.
- Giao dịch đầu tiên và giao dịch cuối cùng đều xuất phát từ một ví duy nhất.
- Hai giao dịch đầu tiên phải là giao dịch mua và giao dịch cuối cùng sẽ là giao dịch bán.
- Giao dịch đầu tiên và giao dịch cuối cùng mua và bán cùng một số lượng token.
- Số tiền thu được ở giao dịch thứ ba lớn hơn so với số tiền mua của giao dịch đầu.
Cách phòng tránh Sandwich Attack
Hiểu được bản chất và cách thức mà một Sandwich Attack hoạt động chúng ta hoàn toàn có thể tránh được khả năng bị tấn công và đúc kết lại bằng một số cách sau:
- Hạn chế giao dịch với số tiền lớn trên các DEX.
- Các cuộc tấn công chủ yếu xảy ra trên các DEX vì thế chúng ta có thể hạn chế giao dịch trên các DEX, và nếu như buộc phải giao dịch chúng ta cần xem xét về độ trượt giá xảy ra, vì nếu trượt giá càng cao khả năng bị Sandwich Attack sẽ càng cao.
Nhận thấy được nguy cơ tiềm ẩn từ Sandwich Attack, các nhà phát triển của 1inch đã ra mắt một sản phẩm có tên là “Flashbot Transactions” nơi các giao dịch sẽ được ẩn đi và sẽ không hiển thị trong “Mempool” cho đến khi được hoàn thành. Bằng cách sử dụng một thuật toán riêng do 1inch phát triển và sau đó các giao dịch sẽ được gửi trực tiếp đến những người xác thực đáng tin cậy.
Tổng kết
Mặc dù không gây ảnh hưởng nhiều cho thị trường nhưng Sandwich Attack cũng là một vấn đề đáng lo ngại liên quan đến sự thao túng giá cả. Hiện nay, tuy các cuộc Sandwich Attack đã giảm hơn so với năm 2021 nhưng đối với một thị trường tiềm năng như Crypto thì Sandwich Attack luôn luôn rình rập và chuẩn bị sẵn sàng để chờ cơ hội.
Một cuộc điều tra theo dõi những kẻ tấn công vào chuỗi khối Ethereum đã cho ra một kết quả thú vị là “hai trên ba ví top của các cuộc tấn công là ví từ các nhóm khai thác nổi tiếng” cho thấy tiềm ẩn rủi ro luôn ở xung quanh chúng ta.
Qua bài viết này GFI hy vọng các bạn sẽ có thêm thật nhiều kiến thức bổ ích trên con đường đầu tư của mình và luôn nhớ rằng “trước khi kiếm tiền hãy tìm cách giữ tiền trước”. Chúc các bạn một ngày tốt lành và hẹn gặp lại ở các bài viết sau.