Dự án DeFi KyberSwap của Kyber Network thừa nhận việc người dùng gặp sự cố trong quá trình giao dịch, dẫn đến thiệt hại lớn.
Vào sáng ngày 11/03, Kyber Network nhận được thông tin một người dùng KyberSwap tiến hành giao dịch swap 2 triệu USD token, nhưng rốt cuộc chỉ thu về có 0.05 USDT gây xôn xao cộng đồng DeFi.
Cụ thể, một người dùng DeFi đã cố swap token 3CRV – vốn là token cung cấp thanh khoản cho 3pool của Curve – lấy stablecoin USDT. Tuy nhiên, thông thường thì người ta sẽ chỉ quy đổi 3CRV về lại stablecoin ngay trên Curve, chứ không giao dịch nó trên sàn DEX.
Chính vì vậy, KyberSwap đã gặp vấn đề trong việc tìm kiếm địa điểm swap theo yêu cầu của người dùng, trả về kết quả là pool 3CRV/USDC trên Uniswap v2 với thanh khoản cực kỳ kém vì chỉ có sẵn 2 USDC và đã không hoạt động trong 251 ngày, rồi kế đến tiếp tục swap USDC sang USDT.
Song, người dùng DeFi có lẽ vì hoảng loạn sau quãng thời gian USDC depeg liên tục trong ngày 11/03 nên vẫn đồng ý swap, bất chấp giao diện của KyberSwap có hiện kết quả swap là nhận lại lượng stablecoin thấp hơn nhiều lần so với tiền gốc. Kết quả là người này đã đổi 2 triệu USD token 3CRV để lấy 0.054 USDC. KyberSwap tiếp tục quy đổi 0.054 USDC này lấy 0.051 USDT và gửi lại về ví người dùng.
Sau khi giao dịch được thực hiện, một bot MEV phát hiện pool trên mất cân bằng và đã gửi 1.41 USDC vào pool rồi rút về 2 triệu USD token 3CRV lại. Để đảm bảo giao dịch được thực hiện nhanh nhất có thể, MEV đính kèm giao dịch nạp USDC lên pool số phí lên đến 23.7 ETH (khoảng 39.000 USD).
Vấn đề của giao dịch đến từ cả hai phía, đó là người dùng khi chọn cách thức lạ thường để chuyển đổi tài sản mà không thiết lập các biện pháp đề phòng trượt giá, cũng như KyberSwap khi điều hướng giao dịch đến một “pool chết”.
KyberSwap vào chiều ngày 11/03 lên tiếng xác nhận vụ việc. Dự án khẳng định trên thực tế đã đề xuất cho người dùng một lựa chọn swap với tỷ giá hợp lý, và được người này chấp thuận.
Tuy nhiên, vì thị trường tiền mã hóa sáng ngày 11/03 có biến động mạnh, chức năng router của KyberSwap đã không thể ước tính được phí gas cần dùng cho phương án swap khả thi. Sau một hồi tìm kiếm, nó chỉ có thể ước tính được gas cho pool Uniswap v2 thông qua 0x, và đề xuất lại cho người dùng.
Người dùng khi được hiển thị thông tin mới vẫn chọn swap dù tỷ giá chênh lệch khủng khiếp, dẫn đến việc nhận lại số tiền USDT ít ỏi. KyberSwap đã cố mô phỏng lại những điều kiện hình thành nên giao dịch trên, với kết quả gần như tương tự.
Kyber thừa nhận giao diện swap của họ cần được điều chỉnh để hiển thị ước tính kết quả swap sao cho nổi bật hơn. Đồng thời, dự án cân nhắc cài đặt thêm chức năng đưa buộc người sử dụng phải thiết lập giao dịch từ đầu nếu giá swap được cập nhật thấp hơn thông tin được hiển thị trước đó.
Dự án đã nhanh chóng cho hiển thị thêm cảnh báo về thay đổi tỷ giá và yêu cầu người dùng phải có thêm bước chấp nhận nó rồi mới cho swap.
KyberSwap đang liên hệ đến người dùng bị thiệt hại, đơn vị phát triển bot MEV và người sử dụng bot đó để rút tiền nhằm đạt thỏa thuận giữa các bên.
Vào sáng ngày 11/03, Kyber Network nhận được thông tin một người dùng KyberSwap tiến hành giao dịch swap 2 triệu USD token, nhưng rốt cuộc chỉ thu về có 0.05 USDT gây xôn xao cộng đồng DeFi.
Cụ thể, một người dùng DeFi đã cố swap token 3CRV – vốn là token cung cấp thanh khoản cho 3pool của Curve – lấy stablecoin USDT. Tuy nhiên, thông thường thì người ta sẽ chỉ quy đổi 3CRV về lại stablecoin ngay trên Curve, chứ không giao dịch nó trên sàn DEX.
Chính vì vậy, KyberSwap đã gặp vấn đề trong việc tìm kiếm địa điểm swap theo yêu cầu của người dùng, trả về kết quả là pool 3CRV/USDC trên Uniswap v2 với thanh khoản cực kỳ kém vì chỉ có sẵn 2 USDC và đã không hoạt động trong 251 ngày, rồi kế đến tiếp tục swap USDC sang USDT.
Song, người dùng DeFi có lẽ vì hoảng loạn sau quãng thời gian USDC depeg liên tục trong ngày 11/03 nên vẫn đồng ý swap, bất chấp giao diện của KyberSwap có hiện kết quả swap là nhận lại lượng stablecoin thấp hơn nhiều lần so với tiền gốc. Kết quả là người này đã đổi 2 triệu USD token 3CRV để lấy 0.054 USDC. KyberSwap tiếp tục quy đổi 0.054 USDC này lấy 0.051 USDT và gửi lại về ví người dùng.
Sau khi giao dịch được thực hiện, một bot MEV phát hiện pool trên mất cân bằng và đã gửi 1.41 USDC vào pool rồi rút về 2 triệu USD token 3CRV lại. Để đảm bảo giao dịch được thực hiện nhanh nhất có thể, MEV đính kèm giao dịch nạp USDC lên pool số phí lên đến 23.7 ETH (khoảng 39.000 USD).
Vấn đề của giao dịch đến từ cả hai phía, đó là người dùng khi chọn cách thức lạ thường để chuyển đổi tài sản mà không thiết lập các biện pháp đề phòng trượt giá, cũng như KyberSwap khi điều hướng giao dịch đến một “pool chết”.
KyberSwap vào chiều ngày 11/03 lên tiếng xác nhận vụ việc. Dự án khẳng định trên thực tế đã đề xuất cho người dùng một lựa chọn swap với tỷ giá hợp lý, và được người này chấp thuận.
Tuy nhiên, vì thị trường tiền mã hóa sáng ngày 11/03 có biến động mạnh, chức năng router của KyberSwap đã không thể ước tính được phí gas cần dùng cho phương án swap khả thi. Sau một hồi tìm kiếm, nó chỉ có thể ước tính được gas cho pool Uniswap v2 thông qua 0x, và đề xuất lại cho người dùng.
Người dùng khi được hiển thị thông tin mới vẫn chọn swap dù tỷ giá chênh lệch khủng khiếp, dẫn đến việc nhận lại số tiền USDT ít ỏi. KyberSwap đã cố mô phỏng lại những điều kiện hình thành nên giao dịch trên, với kết quả gần như tương tự.
Kyber thừa nhận giao diện swap của họ cần được điều chỉnh để hiển thị ước tính kết quả swap sao cho nổi bật hơn. Đồng thời, dự án cân nhắc cài đặt thêm chức năng đưa buộc người sử dụng phải thiết lập giao dịch từ đầu nếu giá swap được cập nhật thấp hơn thông tin được hiển thị trước đó.
Dự án đã nhanh chóng cho hiển thị thêm cảnh báo về thay đổi tỷ giá và yêu cầu người dùng phải có thêm bước chấp nhận nó rồi mới cho swap.
KyberSwap đang liên hệ đến người dùng bị thiệt hại, đơn vị phát triển bot MEV và người sử dụng bot đó để rút tiền nhằm đạt thỏa thuận giữa các bên.