Cuối tháng 10, các ví nóng của Binance bị rút ước tính 5,5–5,8 tỷ USD chỉ trong khoảng 40 phút. Vụ việc đang được kể như một câu chuyện giải cứu, vì các nhà phát hành stablecoin đã đóng băng gần một nửa số tiền. Nhưng cách đọc hữu ích hơn thì ngược lại: lệnh đóng băng chỉ là lưới đỡ may mắn. Thất bại thật sự nằm ở kiến trúc để hàng tỷ USD đứng sau một đường ký duyệt duy nhất.
Chuyện gì xảy ra trong 40 phút
Từ 20:24 UTC ngày 29/10 (tức 3:24 sáng 30/10 giờ Việt Nam), dòng tiền bất thường bắt đầu chảy khỏi nhiều ví nóng của Binance. Các luồng liên quan cũng xuất hiện trên Bitcoin và Tron. Đến 21:04, phần lớn đã xong.
Arkham, Glassnode và Blockaid ước tính tổng lượng rút từ 5,5 đến 5,84 tỷ USD. Riêng Ethereum chiếm khoảng 3,3–3,55 tỷ USD, còn trên Bitcoin có khoảng 18.000 BTC bị chuyển đi.
Ví được gắn nhãn Binance 14 mất khoảng 167.464 ETH, 1,615 tỷ USDT và 61 token ERC-20 khác trong một lần thực thi gộp. Binance 34 mất 823 triệu USDC. Binance 16 mất khoảng 28.006 ETH.
Binance phản ứng theo từng bước:
- 22:15 UTC: tạm dừng rút tiền.
- 23:06 UTC: ngừng giao dịch trên Binance Alpha.
- Ngay sau nửa đêm: đóng băng toàn bộ nạp rút.
Sàn khẳng định số dư khách hàng vẫn an toàn, và quỹ công ty cùng quỹ SAFU sẽ bù đắp thiệt hại thực tế. Dù vậy, thị trường vẫn chao đảo: khoảng 1,5 tỷ USD vị thế phái sinh bị thanh lý, BTC rơi dưới 77.000 USD, BNB giảm hơn 8%.
Một chữ ký trao luôn cả chiếc ví

Các phân tích ban đầu, đáng chú ý là từ Blockaid, chỉ về EIP-7702. Tính năng này của Ethereum cho phép một tài khoản EOA (ví thông thường do khóa riêng kiểm soát) ủy quyền việc thực thi cho mã smart contract thông qua một chữ ký. Đây là tính năng hữu ích thật: ví thường có thể gộp nhiều thao tác, hoặc được bên khác trả phí giao dịch, mà không cần chuyển sang địa chỉ mới.
Vấn đề là chữ ký ủy quyền không phải lệnh chuyển tiền. Nó thay đổi ai là người vận hành tài khoản.
Theo dấu vết được công bố, kẻ tấn công đi ba bước:
- Nạp tiền cho ví qua Tornado Cash từ một ngày trước.
- Triển khai một hợp đồng “sweeper” (quét tài sản) chưa xác minh mã nguồn.
- Có được khoảng 50 chữ ký ủy quyền trỏ các ví nóng của Binance vào hợp đồng đó.
Những chữ ký này được tạo ra bằng cách nào thì đến nay chưa được công bố rõ. Sau khi được ủy quyền, hợp đồng có thể chuyển hàng chục loại số dư trong một giao dịch nguyên tử. Giao dịch nguyên tử là loại hoặc thành công trọn vẹn, hoặc không xảy ra gì. Nhờ vậy, nó qua mặt được giới hạn tốc độ và cổng phê duyệt vốn thiết kế cho từng lệnh rút thông thường.
Đó là bài học cốt lõi. Hệ thống ký duyệt dường như vẫn kiểm tra giao dịch theo kiểu cũ, trong khi một loại chữ ký mới lặng lẽ trao đi toàn bộ chiếc ví.
Blockchain thấy trước, con người phản ứng sau

Sổ cái công khai khiến các vụ trộm lớn lộ diện gần như ngay lập tức. Giới phân tích đã cảnh báo trong vòng một giờ, và Changpeng Zhao lên tiếng thừa nhận lúc 21:15.
Nhưng dòng tiền đã rút xong từ 21:04, còn lệnh dừng rút tiền đến 22:15 mới có. Phát hiện on-chain thì nhanh; phản ứng của con người thì không. Mọi biện pháp phải chờ ai đó đọc cảnh báo đều sẽ đến muộn hơn một lần quét nguyên tử.
Lệnh đóng băng cứu được một nửa
Thứ hạn chế thiệt hại lại chính là quyền lực tập trung:
- Tether đưa vào danh sách đen khoảng 1,567 tỷ USDT tại các địa chỉ của kẻ tấn công.
- Circle đóng băng khoảng 823 triệu USDC.
- Ripple đóng băng khoảng 200 triệu USD RLUSD.
- World Liberty Financial cùng BitGo đóng băng thêm khoảng 29 triệu USD.
Tổng số được báo cáo dao động từ 2,54 đến 2,83 tỷ USD, gần một nửa lượng tiền bị rút.
Hãy để ý phần thoát được: ETH và BTC, những tài sản không ai có thể đưa vào danh sách đen. Đó là lý do Aave dùng cơ chế quản trị khẩn cấp để chặn kẻ tấn công đem stablecoin đi thế chấp nhằm vay tài sản gốc. Đổi tiền có thể đóng băng sang tiền không thể đóng băng trước khi nhà phát hành kịp ra tay là nước đi hiển nhiên đầu tiên của kẻ tấn công.
Sự đánh đổi không thể né
Chức năng đã cứu Binance cũng chính là điều giới phê bình cảnh báo nhiều năm nay: một công ty có thể tắt hàng tỷ USD on-chain trong vài phút. Các stablecoin lớn không có tính kháng kiểm duyệt. Chúng vận hành như khoản nợ của ngân hàng, chỉ khác là được ghi trên sổ cái công khai.
Lần này, điều đó bảo vệ nạn nhân. Nhưng cùng một cần gạt ấy có thể bị kéo nhầm, bị kéo dưới áp lực pháp lý, hoặc nhắm vào người dùng vô tội.
Với người xây hệ thống, kết luận thực tế không phải là chọn phe hệ tư tưởng. Điều cần làm là thôi tính lệnh đóng băng vào mô hình bảo mật. Lệnh đóng băng có ba giới hạn:
- Nó chỉ áp dụng cho token do nhà phát hành kiểm soát.
- Nó phụ thuộc vào tốc độ và phán đoán của một công ty khác.
- Nó vô dụng với tài sản gốc, thứ kẻ tấn công nhắm tới đầu tiên.
Thiết kế ví nóng với giả định bộ ký sẽ hỏng
Các bước khắc phục được nêu sau sự cố có thể gói lại thành bốn thói quen:
- Giới hạn số dư mỗi ví. Thay các địa chỉ vận hành chứa hàng tỷ USD bằng nhiều ví nhỏ luân phiên, mỗi ví chừng 25–50 triệu USD. Phần dư tự động chuyển về kho lạnh đa chữ ký.
- Coi ủy quyền là thao tác đặc quyền. Bộ ký HSM hoặc MPC phải từ chối mọi ủy quyền EIP-7702 tới hợp đồng ngoài danh sách trắng. Trường hợp ngoại lệ cần phê duyệt đa bên cùng khóa thời gian (timelock).
- Đặt giới hạn tốc độ ngay trong mã. Hạn mức rút theo từng chu kỳ, tự khóa khi dòng tiền lệch khỏi mức bình thường, sẽ phản ứng nhanh hơn bất kỳ kỹ sư trực ca nào.
- Nối sẵn kênh leo thang. Kênh tự động tới nhà phát hành stablecoin và các multisig khẩn cấp của DeFi có thể biến hai giờ chạy vạy thành vài phút.
Bản thân bước kiểm tra ở bộ ký có thể rất ngắn:
def review(tx, policy):
for auth in tx.authorization_list: # các ủy quyền EIP-7702
if auth.address not in policy.delegate_allowlist:
return reject('unapproved delegation target')
if window_outflow_usd() + tx.value_usd > policy.epoch_cap_usd:
return hold_for_timelock(tx)
return sign(tx)
Mỗi tính năng tài khoản mới lại nới rộng những gì một chữ ký có thể làm. Hãy khoanh vùng thiệt hại trước khi chữ ký ấy tồn tại. Lệnh đóng băng nên là tuyến phòng thủ cuối cùng, không phải kế hoạch.




Đang tải bình luận…