Bifrost bị khai thác: Lỗi trọng số thưởng biến pool thanh khoản thành máy rút tiền
Nguyễn Phúc
Một lỗi trong công thức tính thưởng đã biến ba pool thanh khoản của Bifrost thành máy rút tiền tự động. Kẻ tấn công chỉ cần vài thao tác tham số là rút được 720.000 USD từ Keeper Vault dùng chung. Con số biết nói: 720.000 USD chỉ là con số nhỏ trong DeFi, nhưng ba pool cùng sập cho thấy mức độ nghiêm trọng.
Bifrost là giao thức liquid staking hàng đầu trên Polkadot, phát hành vDOT neo 1:1 với DOT. Để tăng tính thanh khoản, họ triển khai các pool mining: vDOT đơn lẻ, vASTR/ASTR, vMANTA/MANTA. Các pool này chia sẻ một Keeper Vault – nơi giữ tiền gốc. Nghe có vẻ tiết kiệm, nhưng chính sự dùng chung này đã tạo ra lỗ hổng chết người. Thực tế phũ phàng: Keeper Vault dùng chung là một điểm thất bại duy nhất.
Theo phân tích, kẻ tấn công đã khai thác cơ chế 'reward weight amplification' – một tham số điều chỉnh trọng số thưởng. Bằng cách thao túng tham số này, hắn có thể yêu cầu rút nhiều hơn số tiền đáng lẽ được hưởng, và vì không có lớp cách ly giữa các pool, hắn rút thẳng từ Keeper Vault chung. Thiệt hại 720k USD, nhưng con số có thể lớn hơn nếu dự án không kịp tạm dừng pool. Dự án đã liên hệ sàn để đóng băng, và tuyên bố vDOT vẫn neo 1:1. Nhưng câu hỏi là: liệu có đủ dự trữ để bù đắp? Nếu không, vDOT có thể mất neo. Tôi đã từng mất 2.000 USD vì BitConnect, nên tôi biết cảm giác khi thấy một dự án bị khai thác. Nhưng ít nhất BitConnect là scam, còn Bifrost là lỗi kỹ thuật. Điều đó còn đáng sợ hơn.
Nhiều người sẽ đổ lỗi cho Polkadot hoặc hợp đồng thông minh. Nhưng thực tế phũ phàng: lỗi nằm ở thiết kế incentive. Giống như tôi từng thấy ở BitConnect, khi phần thưởng quá hấp dẫn thì thường có mánh khóe. Ở đây, việc dùng chung vault mà không có cô lập rủi ro là một sai lầm cơ bản. Các dự án DeFi khác nên học hỏi: đừng hy sinh an toàn để tiết kiệm gas. Tương phản: vDOT vẫn neo 1:1 nhưng thị trường có tin không? Từ góc nhìn của tôi, các pool mining với APY cao thường là con dao hai lưỡi, như tôi từng cảnh báo trong bài viết về DeFi Summer. Đây không phải là lỗi của blockchain layer nền tảng, mà là lỗi của lớp ứng dụng – một lỗi có thể phòng tránh được nếu team chịu khó audit kỹ và thiết kế cô lập tài sản.
Sự cố Bifrost là hồi chuông cảnh tỉnh cho toàn bộ hệ sinh thái LSD. Khi bạn dùng chung một két sắt cho nhiều cửa hàng, chỉ cần một cửa yếu là cả két có thể bị lấy sạch. Câu hỏi còn lại: liệu các giao thức khác có đang ẩn giấu những lỗ hổng tương tự? Tôi đã từng nói, dùng Bitcoin làm nền tảng cho các sản phẩm phái sinh phức tạp là sai lầm; nhưng ở đây, Polkadot cũng có vấn đề riêng. Các Layer2 cắt nhỏ thanh khoản, Bifrost cũng vậy với Keeper Vault dùng chung. Nếu không có cải tiến về cách ly, chúng ta sẽ còn thấy nhiều vụ tấn công tương tự.