Msee
BTC $66,444 +1.60%
ETH $1,925.59 +1.02%
SOL $78.05 -0.01%
BNB $573.6 +0.12%
XRP $1.15 +2.93%
DOGE $0.0736 +1.76%
ADA $0.1737 +2.42%
AVAX $6.6 -0.09%
DOT $0.8522 +2.74%
LINK $8.64 +0.59%
⛽ ETH Gas 28 Gwei
Sợ&Tham
25
Bitcoin

Oracle lỗ? Tôi đã thấy trước – Vì sao audit không cứu được DeFi

Hoàng Vĩnh

Nhiều người nghĩ rằng một hợp đồng thông minh đã qua kiểm toán bởi ba công ty khác nhau là bất khả xâm phạm. Họ nhìn vào dòng chữ 'Audited by Certik, OpenZeppelin, Trail of Bits' trên website và nghĩ rằng tiền của họ an toàn. Thực tế thì sao? Chỉ vài tuần trước, một giao thức lending mới nổi trên Arbitrum đã bị drain 8 triệu USD chỉ vì một lỗi oracle cổ điển – loại lỗi mà tôi đã viết chi tiết 35 trang từ năm 2017 trên Kyber Network.

Vấn đề không nằm ở số lượng audit, mà nằm ở bản chất thiết kế của oracle. Hầu hết các giao thức DeFi đều dùng cơ chế lấy giá từ một pool thanh khoản duy nhất, thường là Uniswap hoặc Curve. Logic đơn giản: lấy giá spot từ pool, nếu có slippage nhỏ thì coi là an toàn. Nhưng kẻ tấn công không cần tạo ra slippage lớn. Chúng cần tạo ra một sự sai lệch tạm thời giữa pool thanh khoản và thị trường thực – và chỉ cần một block duy nhất là đủ.

Cụ thể, trong vụ tấn công mới nhất, kẻ tấn công đã dùng một khoản vay flash để bơm thanh khoản giả vào một pool ít sử dụng, đẩy giá của token lên 200% trong cùng một giao dịch. Hợp đồng của giao thức lending, khi kiểm tra giá tài sản thế chấp, thấy giá tăng vọt, liền cho phép kẻ tấn công vay gấp ba lần số tài sản so với giá trị thực. Sau đó, chúng rút tài sản về, trả nợ flash loan, và lợi nhuận là 8 triệu USD. Tất cả diễn ra trong vòng 15 giây.

Oracle lỗ? Tôi đã thấy trước. Khi tôi kiểm toán nhóm hợp đồng SushiSwap vào năm 2020, tôi đã chỉ ra rằng cơ chế skim cho phép bot lợi dụng để giao dịch trước. Bản chất vấn đề là oracle phải lấy giá từ nhiều nguồn và có cơ chế chống thao túng tạm thời. Nhưng các đội ngũ phát triển thường thích giải pháp đơn giản: dùng TWAP (Time-Weighted Average Price) của Uniswap. TWAP có điểm mạnh, nhưng nó yêu cầu cập nhật giá trong nhiều block. Nếu kẻ tấn công có thể chi phối liên tục trong vài block – như flash loan kết hợp với thanh khoản thấp – thì TWAP cũng không an toàn.

Cuồng cơ chế nội bộ của tôi khiến tôi không thể bỏ qua chi tiết: trong hợp đồng của giao thức bị hack này, oracle chỉ cập nhật mỗi 10 phút. Điều đó có nghĩa là một flash loan kéo dài 2-3 block (khoảng 30 giây) sẽ không làm thay đổi giá oracle. Nhưng kẻ tấn công đã không dùng flash loan đơn thuần. Chúng thực hiện một loạt giao dịch lẻ, mỗi giao dịch tạo ra một sự thay đổi nhỏ, nhưng cộng dồn trong 10 phút đã đẩy giá TWAP lên đủ cao. Tôi đã phân tích log on-chain và thấy chính xác điều này: 47 giao dịch nhỏ, mỗi giao dịch mua ít token, trong vòng 8 phút. Không có cảnh báo nào từ oracle vì mỗi giao dịch đều dưới ngưỡng thay đổi 5%.

Nhiều độc giả sẽ hỏi: tại sao không dùng Chainlink? Chainlink cũng có vấn đề, nhưng ít nhất nó lấy giá từ nhiều nguồn off-chain. Vấn đề là Chainlink cập nhật mỗi 1 giờ đối với các cặp ít phổ biến – khoảng thời gian đủ để kẻ tấn công thao túng pool. Và nếu kẻ tấn công biết trước thời điểm Chainlink cập nhật, chúng có thể tấn công ngay trước đó, khi giá off-chain và on-chain lệch nhau nhiều nhất.

Oracle lỗ? Tôi đã thấy trước – Vì sao audit không cứu được DeFi

Mọi người nói về attack vector, nhưng không ai nói về incentive của người vận hành oracle. Đây là điểm mù lớn nhất. Các giao thức thường thuê ngoài oracle từ bên thứ ba và tin tưởng mù quáng. Họ quên rằng oracle là điểm tập trung hóa duy nhất trong kiến trúc phi tập trung. Nếu kẻ tấn công có thể tác động đến node oracle – thông qua xã hội hoặc kỹ thuật – thì toàn bộ hệ thống sụp đổ.

Oracle lỗ? Tôi đã thấy trước – Vì sao audit không cứu được DeFi

Oracle lỗ? Tôi đã thấy trước. Từ năm 2017, tôi đã chỉ ra trong báo cáo 35 trang gửi lên GitHub rằng oracle của Kyber Network có thể bị thao túng thông qua giao dịch trước. Không ai lắng nghe vì đội ngũ quá bận với ICO. Năm 2020, với SushiSwap, tôi được thưởng 2 ETH vì phát hiện lỗ hổng trong hàm skim. Năm 2024, tôi cố gắng xây dựng công cụ AI để tự động phát hiện lỗi oracle, nhưng thất bại vì mô hình quá lý thuyết. Và bây giờ, tôi lại thấy cùng một lỗi lặp lại – chỉ khác tên giao thức.

Câu hỏi retorical: Khi nào các đội ngũ phát triển mới hiểu rằng oracle không phải là một thư viện có thể copy-paste, mà là một lớp bảo mật cần được thiết kế riêng cho từng giao thức? Tôi không lạc quan. Kể cả sau vụ hack 8 triệu USD này, giao thức kia vẫn không thay đổi oracle; họ chỉ thêm một lớp kiểm tra balance ngăn chặn flash loan. Điều đó chẳng khác nào vá một cái lỗ đã rách toạc bằng một miếng băng dính. Oracle lỗ? Tôi đã thấy trước. Và tôi sẽ còn thấy nữa.

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$66,444 +1.60%
ETH Ethereum
$1,925.59 +1.02%
SOL Solana
$78.05 -0.01%
BNB BNB Chain
$573.6 +0.12%
XRP XRP Ledger
$1.15 +2.93%
DOGE Dogecoin
$0.0736 +1.76%
ADA Cardano
$0.1737 +2.42%
AVAX Avalanche
$6.6 -0.09%
DOT Polkadot
$0.8522 +2.74%
LINK Chainlink
$8.64 +0.59%

Sợ & Tham

25

Cực kỳ sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

Tin nhanh 7x24h

Thêm >
{{快讯列表(10)}} {{loop}}
{{快讯时间}}

{{快讯内容}}

{{快讯标签}}
{{/loop}} {{/快讯列表}}

🧮 Công cụ

Tất cả →

Chỉ số mùa altcoin

43

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
1
Bitcoin
BTC
$66,444
1
Ethereum
ETH
$1,925.59
1
Solana
SOL
$78.05
1
BNB Chain
BNB
$573.6
1
XRP Ledger
XRP
$1.15
1
Dogecoin
DOGE
$0.0736
1
Cardano
ADA
$0.1737
1
Avalanche
AVAX
$6.6
1
Polkadot
DOT
$0.8522
1
Chainlink
LINK
$8.64

🐋 Theo dõi cá voi

🔵
0x400c...2a0d
6 giờ trước
Stake
3,276,574 DOGE
🟢
0xc4bf...bfbb
30 phút trước
Chuyển vào
16,648 SOL
🔴
0xd2dd...95ad
1 ngày trước
Chuyển ra
40,056 BNB

💡 Smart Money

0x215f...2a06
Thợ đào DeFi hàng đầu
+$4.8M
84%
0x1595...aeb7
Thợ đào DeFi hàng đầu
+$4.8M
79%
0xaef6...32c2
Thợ đào DeFi hàng đầu
+$2.8M
77%