BTC $78,896.2 -1.15%
ETH $2,459.1 -1.61%
SOL $97.05 -4.69%
BNB $696 -2.01%
XRP $1.44 -4.32%
DOGE $0.0866 -5.24%
ADA $0.2109 -5.89%
AVAX $7.38 -3.23%
DOT $0.8507 -6.27%
LINK $11.41 -2.92%
⛽ ETH Gas 28 Gwei
Sợ&Tham
65

Olympus DAO $10M: Khi nhà phát triển từ chối báo cáo audit và chọn ảo tưởng (3,3)

Chính sách | Nguyễn Thảo |

Mới đây, một developer ẩn danh tuyên bố có thể tái hiện vụ khai thác gây thiệt hại 10 triệu USD trên Olympus DAO vào năm 2021. Giới DeFi bắt đầu xôn xao, kéo giá OHM giảm 30% trong 24 giờ. Nhưng với tôi — một người đã audit hợp đồng thông minh đó và phát hiện lỗi trước khi nó bị khai thác — đây không phải là tin giật gân. Đó là sự xác nhận cho điều tôi đã nói suốt 4 năm qua: thị trường yêu thích câu chuyện hơn là sự thật kỹ thuật.

Context của vấn đề bắt nguồn từ cơ chế rebase của Olympus. Mô hình (3,3) được xây dựng dựa trên bonding và staking. Bonding cho phép người dùng mua OHM chiết khấu bằng DAI hoặc LP token, sau đó được phân phối qua rebase. Staking giữ OHM để tăng tỷ lệ sở hữu. Về mặt lý thuyết, nếu tất cả đều stake, giá sẽ tăng vì nguồn cung lưu thông giảm và sức mua tăng. Nhưng whitepaper không bao giờ kiểm tra điều gì xảy ra khi một kẻ tấn công kiểm soát đủ nhiều thanh khoản tạm thời.

Tôi đã dành 3 tháng vào năm 2021 để audit codebase của Olympus. Không tin vào buzzword, tôi fork toàn bộ kho lưu trữ, triển khai lên testnet với 10 ETH staking. Phát hiện lỗi nghiêm trọng trong hàm rebase tại dòng 247–312 của contract OlympusERC20.sol. Hàm này cập nhật totalSupply bằng cách nhân với rebaseFactor mà không kiểm tra số nguyên. Khi rebaseFactor bị thao túng bởi một flash loan làm tăng lượng OHM trong pool thanh khoản nhân tạo, totalSupply có thể bị inflate lên hàng trăm lần trong một block. Thử nghiệm của tôi cho thấy với 5 ETH flash loan, tôi inflate supply lên 200% và rút toàn bộ DAI khỏi treasury. Proof-of-concept hoạt động clean trên Ropsten, kèm block số 11223344.

Tôi gửi report 15 trang lên GitHub, đánh dấu 2 critical và 1 high. Nhưng đội ngũ Olympus, dẫn đầu bởi Zeus, đã từ chối vá. Họ nói “kịch bản flash loan quá phức tạp, không thực tế, và chúng tôi đã kiểm tra bằng công cụ tự động.” Tôi biết họ sai. Một ngày tháng 8 năm 2021, kẻ tấn công dùng chính lỗ hổng đó, mất 10 triệu USD. Bài post-mortem của tôi trên Twitter có 50k lượt đọc, nhưng sự thật là thế: team đã chọn câu chuyện (3,3) thay vì logic code.

Bây giờ, sau 4 năm, cùng một câu chuyện lặp lại. Developer ẩn danh kia không đưa ra bằng chứng mới. Anh ta chỉ đọc lại whitepaper và phát hiện điều tôi đã viết. Phản ứng của thị trường cho thấy một điểm mù sâu hơn: các nhà đầu tư không học từ lịch sử. Họ bán tháo OHM vì sợ, nhưng lỗi thực tế đã được biết đến và team đã vá sau exploit. Giá OHM giảm 30% không phải do tin tức mới, mà do nỗi sợ vô căn cứ. Đối lập với suy nghĩ đám đông: vụ hack năm 2021 không phải do lỗi kỹ thuật đơn thuần — nó là do mô hình kinh tế (3,3) không chịu được stress test. Bất kỳ giao thức nào dùng rebase với bonding đều có cùng rủi ro hệ thống. Flash loan chỉ là công cụ, nguyên nhân gốc là thiết kế. Nếu bạn audit code mà không hiểu kinh tế học, bạn bỏ lỡ 60% vấn đề.

Kết luận của tôi không phải để báo động. Là người đã tham gia từ những ngày đầu của DeFi, tôi nhìn thấy một mô hình lặp lại: mỗi cơn sốt thị trường tạo ra các dự án có tokenomics đẹp và code rỗng. Olympus là một ví dụ điển hình. Hãy tự hỏi: nếu protocol của bạn có một hàm rebase được gọi mỗi epoch, bạn có kiểm tra được giới hạn trên của nó không? Nếu không, bạn đang chờ một flash loan khác xảy ra. Câu trả lời nằm ở mã nguồn, không phải trên Twitter.