Với cơn sốt của decentralized finance (defi) cùng nhiều cơ hội đem đến nguồn thù lao bắt mắt, mọi người luôn phải thú nhận một sự thực rằng giới đầu tư defi vẫn phải đương đầu với các cuộc tấn công xảy ra khá liên tục. Trong những loại attack (tấn công), việc thu thập hợp đồng thông minh là một loại tấn công dễ diễn ra nhất. Những lúc đó, các attacker (người tấn công) sẽ tận dụng các lỗ hở trong code defi, để thâm nhập vào các khoản flash loan nhằm rug pull và vừa qua là sandwich attack (cuộc tấn công sandwich).
Có thể đây chính là lần đầu bạn nghe đến sandwich attack bởi đây không phải là định nghĩa thông dụng như những loại attack khác. Dẫu vậy, nó có thể tạo ra những tác hại khá nhiều, dẫn tới việc thao túng thị trường. Để hiểu rõ hơn về loại hình tấn công này, cùng theo dõi bài viết dưới đây nhé.
Sandwich attack là gì?
Về cốt lõi, sandwich attack là một cách thức front-running (tấn công chạy trước) chĩa vào các giao thức và dịch vụ tài chính phi tập trung.
Trong một cuộc sandwich attack, người tấn công sẽ tìm một giao dịch đang đợi giải quyết trên network mà họ chọn lựa (chẳng hạn như ethereum). Tiếp theo, họ xây dựng tấn công bằng cách đặt một lệnh ngay trước giao dịch và một lệnh ngay sau lệnh đó. Chuyện này có thể hiểu là, họ sẽ front-run (chạy trước) và back-run (chạy sau) song song với giao dịch đang đợi xử lý đầu tiên. Như thế là, sandwich attack là cách hoạt động đúng theo tên của chúng, kẹp một thứ gì đó ở giữa.
Mục tiêu của việc đặt hai lệnh này và các giao dịch đang đợi khắc phục xung quanh là để mua chuộc giá tài sản. Ví dụ, kẻ phạm tội sẽ mua tài sản mà khách hàng đang swap (dùng đường dẫn để swap sang eth), với phỏng đoán về chuyện giá eth đang tăng lên. Tiếp đó, kẻ phạm tội sẽ mua eth với giá rẻ hơn để đẩy người bị hại mua với giá cao hơn. Khi này, người tấn công sẽ bán eth với giá cao hơn nữa để đem về lãi.
Trường hợp khác trong thị trường chứng khoán, bạn thấy được rằng có người sắp mua rất nhiều cổ phiếu của telsa giá trị 10 triệu đô. Bạn đặt một lệnh mua trước thời điểm lệnh mua 10 triệu đô đó được hoàn thành và khiến giá tăng vọt, chúng ta sẽ ngay tức thì đặt một lệnh bán để hưởng phần tiền lãi đó.
Tóm lại, sandwich attack (hay front-running) là việc tận dụng việc dự đoán một giao dịch trong tương lai có ảnh hưởng đến thị trường và đặt lệnh ngay trước giao dịch đó nhằm mục tiêu kiếm tiền.
Cách sandwich attack hoạt động
Trên thực tế, việc thi hành thủ thuật sandwich attack khá đơn giản dựa vào bản tính rõ ràng của blockchain, tỷ lệ trượt giá của các dex và độ trễ thấp lúc thực hiện đặt lệnh trên các hệ thống có vận tốc xử lý chậm như ethereum.
Toàn bộ những giao dịch được làm trên blockchain có khả năng được quan sát trong mempool – một nơi chứa các giao dịch đang trong tình trạng pending. Bên cạnh đó, nhiều hợp đồng thông minh của defi không chứa các tác dụng kháng cự lại những thủ thuật này.
Bước khởi đầu của thủ thuật sandwich attack là dùng một con bot tự động quét các giao dịch trong một sàn dex nhất định. Bình thường, con bot này sẽ tìm những giao dịch có phí gas thấp và các giao dịch trong hồ thanh khoản nào đồng ý các thành viên phân phối thanh khoản có thể nhận danh hiệu và thay đổi chúng sang các token đã được chuẩn bị sẵn. Phần lớn những đợt sandwich attack đều được thực hành trên các công cụ xây dựng thị trường tự động (amm) như uniswap và sushiswap.
Các amm cam kết các giao dịch sẽ được thi hành dày đặc thông qua thuật toán áp giá của chúng. Chính góc cạnh này của amm ưu tiên cho các đợt sandwich attack này thành công, vì một khi con bot hoặc người tấn công ngửi ra giao dịch, họ có thể thi hành front-run và back-run một giao dịch quy chuẩn cùng một thời điểm, trong khi đó mua bán gốc đầu tiên vẫn sẽ được giải quyết vì các giao dịch trên amm đồng ý tỷ lệ trượt giá.
Xem thêm:
- Đầu tư gì để sinh lời hiệu quả với số vốn 500-1000$?
- Cách cắt lỗ cơ bản nhất và các nguyên tắc cần biết
- Những quan niệm sai lầm trong Trade Coin mà các Trader nên biết
Tình huống thường gặp trong sandwich attack
Liquidity taker vs taker
Ví dụ: trader dự thị trường bình thường với một giao dịch amm đang đợi xử lí trên blockchain. Thời điểm hiện nay, attacker có khả năng định hình nên các giao dịch front-run (chạy trước) và back-run (chạy sau) để thu lợi tài chính. Vì liquidity pool và asset pair (cặp tài sản) có ba giao dịch đang đợi xử lý nên các miner sẽ lựa chọn giao dịch nào được đồng ý trước.
Khi này, nếu attacker mua chuộc miner bằng cách nộp tiền giao dịch cao hơn với cá nhân khác, thì cơ hội giao dịch này sẽ được giải quyết trước. Đây không phải là một kiểu sandwich attack tiêu biểu với tỉ lệ thành công hoàn toàn, mà chỉ thuần túy là minh họa về chuyện làm mua chuộc bằng sandwich attack khá đơn giản.
Liquidity provider với taker
Một liquidity provider có thể tấn công liquidity taker theo một cách rất đồng nhất. Xây dựng lúc đầu vẫn hoàn toàn giống nhau, tuy nhiên người tấn công sẽ cần làm ba bước:
- Đầu tiên, họ trừ diệt tính thanh khoản như một cách front-run để tăng mức trượt giá của người bị hại.
- Thứ 2, họ thêm vào lại tính thanh khoản, chạy lại để phục hồi số dư lúc đầu của nhóm.
- Thứ ba, họ đánh đổi tài sản y cho x để vực dậy số dư tài sản của x về như trước thời điểm bị hành hung.
Việc rút tiền thanh khoản khỏi liquidity pool trước thời điểm giao dịch của người bị hại được thi hành sẽ vô hiệu hóa phí hoa hồng cho giao dịch đó. Bình thường, liquidity provider kiếm được một khoản phí nhỏ tương xứng với tính thanh khoản mà họ đem đến cho thị trường amm dex.
Làm cách nào để tránh khỏi sandwich attack?
Cho đến bây giờ, khách hàng vẫn chưa thể chủ động tiêu diệt được sandwich attack. Tuy nhiên, đây chính là một cách thức tấn công dựa theo trình amm để làm. Vì vậy, các phương án ứng xử nên được gia tăng ngay trên mấu chốt của vấn đề nhằm xử lý vẹn toàn nhất. Trước bối cảnh này, nền tảng 1inch network đã giới thiệu một thể loại đặt lệnh với mệnh danh flashbot transactions. Đây chính là phương pháp ẩn hiển thị trong mempool, về sau kết nối trực tiếp với miner uy tín để tiến hành giao dịch. Những giao dịch hoàn thành sẽ được hiển thị tại mempool ngay tiếp theo.
Ngược với đợi chờ, giải pháp này cũng tạo ra một số tranh cải quay quanh cách hoạt động. Gồm việc khách hàng hiện vẫn chưa đủ niềm tin bởi các amm có khả năng tranh thủ việc ẩn hiển thị và không điều tra được tính rõ ràng, để làm giả việc ghép nối với miner mà không thông qua mempool.
Hiện nay thì sandwich attack đã không phải là thủ thuật gì mới, tuy nhiên trong thế giới defi hùng cường hiện tại, việc đảm bảo an toàn giới đầu tư có ít trải nghiệm thực tế sẽ trở thành ưu tiên hàng đầu đối với những người có kiến thức chuyên môn blockchain. Định nghĩa phân quyền cho rằng chẳng bao giờ có thể có một bên thứ ba được ủy quyền để phòng vệ, bảo mật và đền bù cho bất cứ cá nhân hoặc tổ chức nào. Tuy nhiên, trước bối cảnh ở thời điểm hiện tại, những phương án xử lý vân đang trong quá trình phá triển.
Xem thêm:
- Chỉ số Bitcoin Fear & Greed Index là gì?
- Giới thiệu 12 loại coin Proof of Stake tạo ra thu nhập thụ động
- Thị trường giảm mạnh, nên mua vào hay bán tháo?