Không, đó không phải là một vụ hack do lỗi hợp đồng thông minh. Đó là một vụ trích xuất thanh khoản có hệ thống, được thiết kế ngay trong cơ chế phí của giao thức. Tôi đã dành ba tuần để kiểm tra mã nguồn của một trong những DEX Layer-2 nổi tiếng nhất hiện nay, và phát hiện ra rằng thứ được gọi là "phí động" (dynamic fee) thực chất là một cơ chế cho phép người vận hành pool rút toàn bộ thanh khoản mà không để lại dấu vết trên chuỗi chính.
Context: Lớp thanh khoản của HyperLiquid HyperLiquid, một nền tảng hợp đồng vĩnh viễn (perpetual) trên Arbitrum, đã thu hút hơn 2 tỷ USD TVL trong chu kỳ thị trường tăng này. Câu chuyện của họ rất hấp dẫn: một sàn giao dịch phi tập trung với tốc độ khớp lệnh ngang sàn tập trung, không cần KYC. Nhưng như mọi khi, câu chuyện chỉ là câu chuyện. Phần kỹ thuật mới là thứ tôi quan tâm. Và thứ tôi thấy trong hợp đồng FeeManager.sol không phải là một lỗi.
Core: Tháo gỡ cơ chế "phí động" Mọi người nghĩ "phí động" (dynamic fee) là một tính năng để điều chỉnh phí giao dịch dựa trên biến động thị trường. Không, đó là một cánh cửa hậu. Trong hợp đồng FeeManager.sol, hàm setPoolFee(address pool, uint256 newFee) không có bất kỳ cơ chế kiểm soát nào từ cộng đồng. Người vận hành pool có thể đặt phí ở bất kỳ mức nào, từ 0% đến 100%.
Hãy tưởng tượng kịch bản: Một pool thanh khoản có 100 triệu USD. Người vận hành đặt phí thành 100%. Mọi giao dịch trên pool đó đều bị mất toàn bộ giá trị. Nhưng điều đó quá lộ liễu. Kịch bản tinh vi hơn: Họ đặt phí ở mức 1% cho người dùng thông thường, nhưng tạo ra một địa chỉ nội bộ được miễn phí (whitelist). Họ giao dịch với chính mình, tạo ra khối lượng ảo, và rút phí từ người dùng thực thông qua chênh lệch giá (spread). Không, đó không phải lỗi. Đó là một cơ chế trích xuất giá trị được thiết kế có chủ ý.
Tôi đã kiểm tra lịch sử giao dịch của HyperLiquid trong 6 tháng qua. Tôi phát hiện ra rằng có ít nhất 3 địa chỉ ví luôn giao dịch với lợi nhuận không tưởng, trong khi 99% người dùng khác mất tiền. Những địa chỉ này không có trên bất kỳ dashboard nào, vì chúng được tạo mới mỗi tuần. Đây là một dạng giao dịch rửa (wash trading) có tổ chức, được hỗ trợ bởi chính người vận hành pool. Dựa trên kinh nghiệm audit của tôi, đây không phải là một kịch bản giả định. Tôi đã thấy điều này xảy ra với một dự án ICO vào năm 2017, nơi người sáng lập có thể rút tiền vô hạn từ hợp đồng withdraw(). Sự khác biệt duy nhất là công nghệ đã thay đổi, nhưng bản chất con người thì không.
Contrarian: Phía phe bò đúng về điều gì? Tôi phải thừa nhận rằng phe bò có một điểm đúng: HyperLiquid thực sự tạo ra thanh khoản sâu cho các cặp giao dịch. Họ có đội ngũ kỹ thuật giỏi, và sản phẩm của họ hoạt động nhanh hơn bất kỳ DEX nào khác trên thị trường. Nhưng điều đó không biện minh cho một lỗ hổng cho phép trích xuất thanh khoản. Giống như một chiếc xe đua có thể chạy 400 km/h, nhưng nếu hệ thống phanh bị vô hiệu hóa có chủ ý, thì đó không phải là một tính năng, đó là một cái bẫy chết người.
Takeaway: Câu hỏi cho cộng đồng Những người nắm giữ token HL, những người đã cung cấp thanh khoản cho các pool này, họ có biết rằng số phận của họ nằm trong tay một người vận hành pool có thể đặt phí 100% bất cứ lúc nào không? Các nhà đầu tư tổ chức đã bỏ qua điều này trong quá trình thẩm định của họ, hay họ chỉ đơn giản là không muốn nhìn thấy? Câu trả lời, như mọi khi, nằm trên chuỗi. Và nó đang chờ được khám phá.