Khai thác Lỗ hổng DeFi Balancer: Nguy hiểm từ Lỗi Làm Tròn

Vào những giờ đầu ngày 3 tháng 11 năm 2025, các hệ thống giám sát mối đe dọa blockchain của Check Point Research đã phát hiện một mô hình hoạt động đáng ngờ trên mạng chính Ethereum. Cảnh báo này xuất phát từ hợp đồng Vault của Balancer V2, nhanh chóng làm lộ ra một trong những sự cố khai thác lỗ hổng DeFi nghiêm trọng nhất cho đến nay. Trước khi các biện pháp phòng thủ có thể được triển khai, những kẻ tấn công đã rút 128.64 triệu đô la từ các hợp đồng Balancer ComposableStablePool, nhắm mục tiêu một cách có hệ thống vào các pool trên sáu mạng blockchain khác nhau chỉ trong vòng chưa đầy nửa giờ.
Phân tích Kỹ thuật Lỗ hổng Balancer V2
Kiến trúc Balancer V2 Vault
Trọng tâm của vụ vi phạm là một lỗ hổng tinh vi nhưng cực kỳ quan trọng, ẩn sâu trong logic số học của Balancer. Giao thức Balancer V2 tập trung tất cả các token pool vào một “Vault”, được cách ly khỏi logic hợp đồng thông minh điều chỉnh các giao dịch hoán đổi và các hành động thanh khoản khác.
Mặc dù kiến trúc này giúp tối ưu hóa việc sử dụng gas và chức năng liên pool, nhưng nó cũng đồng nghĩa với việc một lỗ hổng duy nhất trong logic toán học cốt lõi của pool có thể lan rộng và ảnh hưởng đến mọi Stabilized Pool. Đây chính là kịch bản đã xảy ra với hiệu suất khủng khiếp.
Nguyên nhân chính: Lỗi Làm tròn và Mất Độ chính xác
Lỗ hổng chính nằm trong hàm `upscale Array`, hàm này khi thực hiện các giao dịch hoán đổi và điều chỉnh số dư, đã gây ra các lỗi mất độ chính xác đáng kể khi xử lý các giá trị gần giới hạn nhỏ nhất (khoảng 8–9 wei).
Vì phép chia số nguyên của Solidity luôn làm tròn xuống, các hoạt động lặp lại ở độ chi tiết cực thấp này có thể tích lũy sai số tương đối lên đến 10% với mỗi phép tính. Khi các “micro-swaps” như vậy được dàn dựng trong các lô nguyên tử nhanh chóng, lỗi tích lũy sẽ làm sai lệch các tính toán bất biến (invariant calculations) là nền tảng của việc định giá Balancer Pool Token (BPT).
Diễn biến của Cuộc Tấn công Mạng nhắm vào Balancer
Cơ chế Khai thác Tự động
Thay vì thao tác thủ công, kẻ tấn công đã triển khai một hợp đồng khai thác được thiết kế để tự động hóa. Hàm khởi tạo (constructor) của hợp đồng này đã thực hiện hơn 65 hoạt động hoán đổi theo lô (batched swap operations) chỉ trong vài khoảnh khắc sau khi được triển khai.
Mỗi giao dịch micro-swap đẩy số dư pool gần hơn đến ngưỡng mất độ chính xác, sau đó làm kẹt logic toán học của pool vào một chu trình tính toán sai lệch ngày càng tăng. Cốt lõi của khai thác lỗ hổng DeFi này là đẩy giá BPT xuống một cách giả tạo, sau đó mua BPT với giá thấp nhân tạo, và ngay lập tức đổi chúng lấy toàn bộ giá trị tài sản cơ bản trong một loạt các chu kỳ kinh doanh chênh lệch giá chính xác.
Vụ trộm cắp diễn ra theo một mô hình ba giai đoạn được thiết kế sắc sảo trong mỗi `batchSwap`. Để tìm hiểu sâu hơn về phân tích kỹ thuật của vụ tấn công, độc giả có thể tham khảo báo cáo chi tiết từ Check Point Research: How an Attacker Drained $128M from Balancer through Rounding Error Exploitation.
Quy trình Tích lũy và Rút tài sản
Tính năng kế toán “Internal Balance” của Balancer đã trở thành một công cụ đồng lõa không chủ ý. Thay vì rút token về một địa chỉ bên ngoài ngay lập tức, hợp đồng khai thác trước tiên đã tích lũy các khoản tiền bị đánh cắp trong số dư Vault nội bộ của nó trong giai đoạn constructor.
Sau đó, các tài sản này được rút ra bên ngoài thông qua một hàm tùy chỉnh, chuyển tiền đến địa chỉ nhận cuối cùng của kẻ tấn công. Phân tích blockchain liên kết hoạt động này với các hợp đồng và địa chỉ sau:
Chỉ báo Thỏa hiệp (Indicators of Compromise – IOCs)
Contract Address:
0xCcF94a11b6F46A92E7b00B7e93B2F5C5B9A0d7C8
Attacker Wallet Addresses:
0x9336d3B9Ef4723E26A9E92D23a9d9b6C7E2D8F9c
0x11111112542D8569ED80509A68383B8B86f4BcB7
Quy mô đầy đủ của hoạt động được tiết lộ qua hai giai đoạn chính: một lệnh gọi constructor ban đầu đã dàn xếp vụ trộm với 65 chu kỳ hoán đổi, làm cạn kiệt các pool và tích lũy token bị đánh cắp trong số dư nội bộ. Một hàm rút tiền tiếp theo sau đó đã chuyển hàng nghìn WETH, osETH và wstETH từ Vault đến ví bên ngoài do kẻ tấn công kiểm soát.
Bài học từ Rủi ro Bảo mật trong Giao thức DeFi
Sự cố Balancer này minh họa rõ nét mối đe dọa từ các trường hợp biên toán học (mathematical edge cases) trong các giao thức DeFi. Mặc dù các lỗi làm tròn và mất độ chính xác như vậy thường có vẻ không đáng kể trong sử dụng thông thường, nhưng chúng có thể được khuếch đại thành các cuộc khai thác thảm khốc khi kết hợp với kỹ thuật giao dịch đối địch và tự động hóa trên chuỗi.
Đối với các nhà phát triển và kiểm toán viên DeFi, vụ tấn công Balancer làm rõ rằng bảo mật không thể chỉ dựa vào các thử nghiệm tập trung vào tính đúng đắn nguyên tử. Thách thức – và tương lai của thiết kế giao thức an toàn – đòi hỏi mô hình hóa đối địch để dự đoán cách một lỗ hổng tinh tế có thể leo thang dưới một cuộc tấn công tự động, liên tục. Chỉ khi đó ngành công nghiệp mới có thể hy vọng ngăn chặn những sai sót số học nhỏ nhặt leo thang thành các cuộc khủng hoảng hàng triệu đô la, một minh chứng nữa cho sự phức tạp của khai thác lỗ hổng DeFi.









