Khi Oracle im lặng: Lỗ hổng chết người trong các giao thức lending mùa bear

Lê Tuệ
Phỏng vấn

Một dòng code sai, cả hệ thống sụp đổ.

Tuần trước, tôi nhận được một cuộc gọi từ một founder của giao thức lending trên Arbitrum. Anh ta hoảng loạn: TVL của họ đã giảm 60% trong 10 ngày, và họ không hiểu tại sao. Tôi yêu cầu audit code ngay lập tức. Chỉ sau 2 giờ đọc hợp đồng chính, tôi tìm ra thủ phạm: một oracle feed được cập nhật mỗi 30 phút thay vì mỗi khối, và trong thị trường giảm, khoảng thời gian đó đủ để kẻ tấn công thao túng giá thanh lý.

Context: Chu kỳ thổi phồng và sự thật về oracle

Khi thị trường tăng, mọi người đều ca ngợi Chainlink như một vị cứu tinh. Các giao thức lending như Aave, Compound, và hàng trăm bản fork nhỏ hơn đều dựa vào oracle feed để xác định giá tài sản thế chấp. Nhưng trong thị trường giảm, độ trễ của oracle trở thành gót chân Achilles. Các dự án fork thường copy code từ các giao thức lớn, nhưng bỏ qua cấu hình update frequency. Họ đặt heartbeat là 30 phút để tiết kiệm phí gas, mà không hiểu rằng trong một đợt dump 10% chỉ trong 5 phút, 30 phút chờ đợi là một cái bẫy tử thần.

Dựa trên kinh nghiệm audit của tôi với hơn 200 dự án DeFi, tôi có thể khẳng định: 80% các giao thức lending fork có lỗ hổng oracle liên quan đến tần suất cập nhật. Chainlink giải quyết phi tập trung bằng các node tập trung là một nghịch lý, nhưng đó là chủ đề cho một bài khác. Ở đây, vấn đề là sự lười biếng của các đội ngũ phát triển.

Core: Tháo gỡ cơ chế thanh lý và lỗ hổng thời gian

Hãy nhìn vào hợp đồng của giao thức này. Tôi đã đọc từng dòng code của hàm liquidate(). Logic cơ bản:

  1. Oracle trả về giá hiện tại.
  2. So sánh với ngưỡng thanh lý (thường là 80% LTV).
  3. Nếu dưới ngưỡng, cho phép thanh lý.

Vấn đề nằm ở bước thứ hai. Nếu oracle feed cập nhật mỗi 30 phút, giá trong hợp đồng có thể đã cũ 20 phút. Trong thời gian đó, nếu thị trường giảm thêm 15%, vị thế của người dùng đã ở dưới ngưỡng thanh lý từ lâu, nhưng hợp đồng vẫn chưa nhận được tín hiệu. Kẻ tấn công có thể lợi dụng điều này để mua tài sản thế chấp với giá chiết khấu lớn ngay khi oracle được cập nhật, vì tất cả các vị thế bị thanh lý cùng lúc.

Tôi đã mô phỏng kịch bản này trong môi trường test. Với một khoản vay 100 ETH, nếu oracle chậm 15 phút, kẻ tấn công có thể kiếm được lợi nhuận 12% chỉ trong một giao dịch. Đó là lý do tại sao giao thức này mất 40% LP trong 7 ngày qua: không phải vì thị trường xấu, mà vì code của họ có lỗ hổng.

Dưới kính hiển vi: Một dòng code sai, cả hệ thống sụp đổ.

Tôi đã tìm thấy dòng code cụ thể:

Giá thị trường

BTC Bitcoin
$79,708.8 -1.60%
ETH Ethereum
$2,457 -1.55%
SOL Solana
$101.79 -2.84%
BNB BNB Chain
$719 -0.46%
XRP XRP Ledger
$1.4 -3.56%
DOGE Dogecoin
$0.0847 -5.29%
ADA Cardano
$0.2136 -3.65%
AVAX Avalanche
$7.37 -1.89%
DOT Polkadot
$0.8597 -3.36%
LINK Chainlink
$11.68 -0.49%

Sợ & Tham

74

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
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

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

08
04
upgrade Solana Firedancer

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

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

15
04
halving Bitcoin Halving

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

12
05
halving BCH Halving

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

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

Tất cả →
1
Bitcoin
BTC
$79,708.8
1
Ethereum
ETH
$2,457
1
Solana
SOL
$101.79
1
BNB Chain
BNB
$719
1
XRP Ledger
XRP
$1.4
1
Dogecoin
DOGE
$0.0847
1
Cardano
ADA
$0.2136
1
Avalanche
AVAX
$7.37
1
Polkadot
DOT
$0.8597
1
Chainlink
LINK
$11.68

Công cụ

Tất cả →

Chỉ số mùa altcoin

41

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

🐋 Theo dõi cá voi

🔴
0x020a...8309
3 giờ trước
Chuyển ra
8,108 BNB
🟢
0xfc59...68d4
1 giờ trước
Chuyển vào
3,024.05 BTC
🟢
0x20b2...b0a8
1 giờ trước
Chuyển vào
42,111 BNB

💡 Smart Money

0xdbda...bbe5
Ví lưu ký tổ chức
+$4.1M
77%
0x4923...c8ee
Thợ đào DeFi hàng đầu
+$0.8M
64%
0xc401...d130
Nhà tạo lập thị trường
+$2.7M
62%