Khi một hợp đồng thông minh bắt đầu tương tác với một pool thanh khoản "chết"...

Vào khoảng 13:00 ngày 1 tháng 4 năm 2023, một địa chỉ ví mới được tạo ra đã thực hiện một giao dịch kỳ lạ. Nó vay một khoản tiền khổng lồ từ Aave, không phải để mua hay bán, mà để tương tác với một pool thanh khoản gần như không có thanh khoản trên Allbridge. Chỉ số "số dư pool" ghi nhận mức giảm đột biến 99.8% trong vòng 30 giây. Khi dòng thanh khoản bắt đầu bị rút cạn khỏi một stablecoin pool, câu chuyện về một vụ tấn công giá trị cổ điển đã bắt đầu.

Allbridge là một cầu nối tài sản cross-chain, một loại hạ tầng cho phép người dùng di chuyển token giữa các blockchain khác nhau như BNB Chain, Polygon và Avalanche. Cơ chế cốt lõi của nó dựa trên các pool thanh khoản: người dùng gửi token vào pool trên một chain, và pool tương ứng trên chain khác sẽ giải phóng token đã được mint hoặc giải phóng. Để cung cấp trải nghiệm mượt mà, Allbridge cũng có tính năng "Quick Swap" – cho phép người dùng hoán đổi stablecoin với mức trượt giá (slippage) gần như bằng 0.
Tuy nhiên, chính tính năng "trượt giá bằng 0" này, kết hợp với một pool thanh khoản cạn kiệt, đã tạo ra một lỗ hổng chết người. Dựa trên kinh nghiệm phân tích data on-chain của tôi, tôi xây dựng lại chuỗi bằng chứng:
Bước 1: Kẻ tấn công sử dụng flash loan từ Aave để vay 3.2 triệu USDC và 2.1 triệu USDT. Đây là đòn bẩy tài chính không cần tài sản thế chấp.
Bước 2: Kẻ tấn công gửi 2 triệu USDT vào pool Allbridge trên BNB Chain. Pool này chỉ có tổng thanh khoản khoảng 500,000 USD. Hành động này làm lệch tỷ lệ pool, khiến giá USDT tăng vọt lên 1.08 USDC (thay vì 1:1).
Bước 3: Sau khi giá bị bóp méo, kẻ tấn công sử dụng tính năng "Quick Swap" để chuyển đổi 3.2 triệu USDC (vừa vay được) thành USDT. Tuy nhiên, do pool đã bị làm lệch, hợp đồng thông minh của Allbridge đã tính toán sai. Nó không sử dụng giá thị trường thực tế, mà sử dụng tỷ lệ dự trữ của pool bị thao túng. Kết quả: kẻ tấn công nhận được 3.47 triệu USDT thay vì 3.2 triệu – một khoản chênh lệch 270,000 USD.
Bước 4: Kẻ tấn công lặp lại quy trình này nhiều lần, mỗi lần rút thêm một ít. Tổng cộng, hắn đã "hút" được khoảng 1.65 triệu USD từ pool thanh khoản của Allbridge.
Bước 5: Cuối cùng, kẻ tấn công trả lại flash loan, giữ lại lợi nhuận. Hợp đồng thông minh của Allbridge hiển thị một khoản lỗ 1.65 triệu USD trên sổ sách.
Điểm quan trọng: cuộc tấn công này không phải là một lỗi kỹ thuật phức tạp. Đó là một cuộc tấn công kinh tế thuần túy. Nó khai thác một thiết kế giá cả không linh hoạt, nơi tỷ giá hối đoái được xác định bởi một pool thanh khoản mỏng, thay vì một oracle phi tập trung (như Chainlink). Nói cách khác, Allbridge đã giao quyền kiểm soát giá stablecoin của mình cho một vài nhà cung cấp thanh khoản nhỏ lẻ.
Tại thời điểm viết bài, đội ngũ Allbridge đã nhanh chóng tạm dừng hợp đồng thông minh và bắt đầu điều tra. Họ tuyên bố sẽ làm việc với các sàn giao dịch để đóng băng số tiền bị đánh cắp. Tuy nhiên, một câu hỏi quan trọng vẫn còn bỏ ngỏ: liệu Allbridge có đủ khả năng tài chính để bồi thường cho nạn nhân không?
Dựa trên số liệu TVL (Total Value Locked) trước vụ tấn công, Allbridge nắm giữ khoảng 12 triệu USD. Khoản lỗ 1.65 triệu USD chiếm khoảng 13.7% tổng tài sản. Trong thị trường tăng giá, khả năng họ bồi thường là khả quan. Tuy nhiên, nếu xảy ra trong thị trường gấu, khoản lỗ này có thể là "giọt nước tràn ly" đẩy dự án vào phá sản.
Một góc nhìn trái chiều: nhiều người sẽ đổ lỗi cho flash loan. Nhưng flash loan chỉ là công cụ. Vấn đề thực sự nằm ở thiết kế oracle giá của Allbridge. Các dự án DeFi khác, như Uniswap v3, đã giải quyết vấn đề này bằng cách sử dụng TWAP (Time-Weighted Average Price), một cơ chế chống thao túng giá trong một khối. Allbridge lại chọn sử dụng tỷ lệ pool tức thời, một điểm yếu đã biết từ năm 2020.
Sự kiện này là một hồi chuông cảnh tỉnh cho toàn bộ hệ sinh thái cầu nối cross-chain. Cho đến khi các giao thức như Allbridge giải quyết được lỗ hổng oracle của mình, những vụ tấn công tương tự sẽ tiếp diễn. Chúng ta đang chứng kiến một cuộc đua vũ trang giữa kẻ tấn công và người bảo vệ, và vũ khí chính là dữ liệu on-chain.
Liệu Allbridge có thể sống sót sau cuộc tấn công này? Câu trả lời phụ thuộc vào tốc độ họ tung ra bản vá, khả năng truy vết dòng tiền và sự sẵn lòng bồi thường. Nhưng một điều chắc chắn: lòng tin của người dùng đã bị tổn hại nghiêm trọng. Đây không chỉ là câu chuyện về một lỗ hổng kỹ thuật, mà là câu chuyện về một hệ thống mà sự tinh tế về mặt kỹ thuật đã bị đánh đổi lấy sự tiện lợi của người dùng.
