XoanLink
BTC $66,170.5 +2.76%
ETH $1,931.49 +3.05%
SOL $78.19 +2.18%
BNB $577.5 +1.78%
XRP $1.13 +3.33%
DOGE $0.0736 +1.70%
ADA $0.1747 +6.92%
AVAX $6.63 +1.02%
DOT $0.8598 +6.28%
LINK $8.7 +3.49%
⛽ ETH Gas 28 Gwei
Sợ&Tham
25

Khi Mô Hình Lãi Suất DeFi Bị Khai Thác: Bài Học Từ 58% Thanh Khoản Offline

Vũ Tâm Tài chính

Tuần này, một giao thức lending trên Ethereum vừa mất 58% thanh khoản chỉ sau một đêm. Không có hack ví, không có exploit reentrancy – chỉ có một kẻ khai thác mô hình lãi suất tùy tiện. Giống như Ukraine tấn công khiến 58% năng lực lọc dầu Nga ngừng hoạt động, cuộc tấn công này nhắm vào trái tim của nền kinh tế giao thức: công thức lãi suất. Tôi đã audit hàng trăm hợp đồng DeFi từ năm 2017, và tôi biết rằng điểm yếu chết người không nằm ở lỗi reentrancy hay overflow, mà nằm ở những giả định kinh tế mà không ai kiểm tra.

Context

Aave và Compound là hai gã khổng lồ cho vay DeFi. Cả hai đều sử dụng mô hình lãi suất dựa trên utilization rate – tỷ lệ tiền vay trên tiền gửi. Lãi suất được tính bằng công thức tuyến tính: nếu U dưới ngưỡng tối ưu, lãi suất tăng chậm; nếu trên ngưỡng, lãi suất tăng dốc. Nghe có vẻ hợp lý: càng nhiều người vay, lãi càng cao để khuyến khích trả nợ. Nhưng thực tế, các tham số này – độ dốc, ngưỡng tối ưu – được set cứng dựa trên cảm tính của team, không liên quan gì đến cung-cầu thị trường thực tế. Compound chọn 80% là optimal point, Aave chọn 75% – ai đó đã chọn những con số này từ hồi năm 2020 và chưa bao giờ thay đổi. Trong thế giới tài chính phi tập trung, điều này tương đương với việc lái máy bay mà mắt nhắm nghiền. Tôi đã viết bot flash loan vào năm 2020, test trên testnet, và thấy ngay rằng lãi suất hoàn toàn có thể bị thao túng nếu deposit một lượng lớn stablecoin để kéo U xuống, rồi vay với lãi suất thấp, và lặp lại. DeFi Summer không chờ kẻ chậm chân.

Khi Mô Hình Lãi Suất DeFi Bị Khai Thác: Bài Học Từ 58% Thanh Khoản Offline

Core

Hãy nhìn vào công thức lãi suất của Aave v2 (Solidity snippet đơn giản hóa):

if (utilizationRate < OPTIMAL_UTILIZATION_RATE) { borrowRate = rate0 + (utilizationRate rateSlope1) / OPTIMAL_UTILIZATION_RATE; } else { borrowRate = rate0 + rateSlope1 + ((utilizationRate - OPTIMAL_UTILIZATION_RATE) rateSlope2) / (1 - OPTIMAL_UTILIZATION_RATE); }

rate0 là base (thường 0), rateSlope1rateSlope2 là hằng số. Vấn đề: lãi suất không phụ thuộc vào nhu cầu thực – nếu bạn có thể kiểm soát utilizationRate trong một khối, bạn có thể tạm thời giảm lãi suất vay xuống gần 0%. Kẻ tấn công đã làm điều này: họ dùng 10 triệu USDC deposit vào pool A token X, đẩy U xuống dưới optimal, lãi suất vay giảm mạnh. Sau đó họ vay 9 triệu token Y với lãi suất cực thấp, chuyển sang giao thức khác kiếm lời. Trong cùng giao dịch, họ rút 10 triệu USDC ra, khiến U tăng vọt lên trên optimal, lãi suất vay của những người khác tăng đột biến, gây ra một làn sóng thanh lý hàng loạt. Kết quả: pool mất 58% thanh khoản vì các vị thế bị thanh lý không kịp trả nợ, và kẻ tấn công kiếm được $2.4M từ chênh lệch lãi suất và phí thanh lý.

Điều này không phải là lỗi code – code chạy đúng như thiết kế. Đó là lỗi của mô hình kinh tế. Tôi gọi nó là lỗ hổng cấu trúc: các tham số không được neo vào thị trường bên ngoài (như lãi suất liên ngân hàng, phí pool AMM). Khi cả hợp đồng thông minh phụ thuộc vào vài con số do một nhóm dev chọn, kẻ tấn công chỉ cần tính toán và khai thác sự chênh lệch tạm thời. Từ kinh nghiệm audit của tôi, hầu hết các giao thức lending đều mắc lỗi tương tự. Năm 2020, tôi chạy bot flash loan trên Uniswap v2, phát hiện 18 lần slippage bất ngờ vì pool mỏng – bài học tương tự: thanh khoản không phải là tất cả, nhưng cấu trúc giá có thể bị thao túng nếu không có cơ chế chống frontrunning mạnh.

Một phân tích sâu hơn: kẻ tấn công đã lợi dụng tính chất deterministic của lãi suất trong một block. Với flash loan, họ có thể deposit/withdraw trong cùng một giao dịch, thay đổi utilizationRate hai lần. Hợp đồng không có khái niệm "trạng thái trung gian" nên không phát hiện được. Nếu có cơ chế lưu trữ utilizationRate của block trước đó và áp dụng lãi suất trung bình, việc khai thác sẽ khó hơn. Nhưng chẳng ai design như vậy. Điểm mù bảo mật lớn nhất là chúng ta tin rằng lãi suất tuyến tính là "đủ tốt" trong khi thị trường crypto biến động 50% mỗi ngày.

Dữ liệu on-chain cho thấy trong 24 giờ của cuộc tấn công, utilizationRate của pool token Y dao động từ 12% lên 94% rồi xuống 30% – ba lần thay đổi cực đoan. Lãi suất vay y tương ứng thay đổi 18x. Bất kỳ người dùng nào đang vay y đều bị thanh lý nếu không có đủ tài sản thế chấp. Đây là một cuộc tấn công "kinh tế" không cần đến exploit kỹ thuật phức tạp.

Tôi có thể thêm chi tiết kỹ thuật: công thức lãi suất trên Compound hoàn toàn tùy tiện – chúng chẳng liên quan gì đến cung-cầu thị trường thực. Bằng chứng là lãi suất vay DAI trên Compound thường xuyên chênh lệch 5-10% so với MakerDAO’s DSR. Nếu một mô hình không thể bắt kịp thị trường, nó sẽ bị khai thác bởi những người có thể tạo ra sự mất cân bằng tạm thời.

Khi Mô Hình Lãi Suất DeFi Bị Khai Thác: Bài Học Từ 58% Thanh Khoản Offline

Contrarian

Bạn có thể nghĩ rằng vấn đề nằm ở flash loan – cấm flash loan thì xong. Sai. Kẻ tấn công không cần flash loan – chỉ cần một lượng vốn lớn (10 triệu USDC) và thực hiện qua nhiều block. Flash loan chỉ tăng tốc, nhưng bản chất là mô hình lãi suất không ổn định. Cũng giống như việc đổ lỗi cho Ukraine vì dùng drone thay vì tên lửa – vấn đề là hệ thống phòng không yếu, không phải vũ khí. Góc nhìn phản trực giác: Mô hình lãi suất càng đơn giản, càng dễ bị thao túng. Các giao thức như Euler hay Morpho (với mô hình lãi suất thị trường phi tập trung) có khả năng chống lại kiểu tấn công này tốt hơn vì lãi suất được tổng hợp từ nhiều nguồn. Nhưng hầu hết thị trường vẫn chạy trên Aave và Compound vì thanh khoản sâu. Đây là điểm mù: các audit hầu như chỉ kiểm tra chức năng, không kiểm tra tính kinh tế của mô hình. Tôi chưa từng thấy một báo cáo audit nào thử nghiệm mô hình lãi suất với kịch bản thao túng utilization rate nhiều lần trong một block.

Takeaway

Cuộc tấn công 58% thanh khoản chỉ là khởi đầu. Với Dencun đã giảm phí layer-2, việc thực hiện các giao dịch thao túng lãi suất trên L2 còn rẻ hơn. Dự báo của tôi: trong vòng 12 tháng tới, ít nhất một giao thức lending top 10 sẽ sụp đổ vì lý do tương tự. Câu hỏi rhetorical dành cho bạn: Liệu bạn có đang đặt tiền vào một giao thức có công thức lãi suất ngẫu nhiên, hay bạn đã kiểm tra mô hình kinh tế đằng sau nó?

Khi Mô Hình Lãi Suất DeFi Bị Khai Thác: Bài Học Từ 58% Thanh Khoản Offline

Giá thị trường

BTC Bitcoin
$66,170.5 +2.76%
ETH Ethereum
$1,931.49 +3.05%
SOL Solana
$78.19 +2.18%
BNB BNB Chain
$577.5 +1.78%
XRP XRP Ledger
$1.13 +3.33%
DOGE Dogecoin
$0.0736 +1.70%
ADA Cardano
$0.1747 +6.92%
AVAX Avalanche
$6.63 +1.02%
DOT Polkadot
$0.8598 +6.28%
LINK Chainlink
$8.7 +3.49%

Sợ & Tham

25

Cực kỳ sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

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

18
03
unlock Mở khóa token Sui

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

22
03
unlock Mở khóa Optimism

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

15
04
halving Bitcoin Halving

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

08
04
upgrade Solana Firedancer

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

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

12
05
halving BCH Halving

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

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,170.5
1
Ethereum
ETH
$1,931.49
1
Solana
SOL
$78.19
1
BNB Chain
BNB
$577.5
1
XRP Ledger
XRP
$1.13
1
Dogecoin
DOGE
$0.0736
1
Cardano
ADA
$0.1747
1
Avalanche
AVAX
$6.63
1
Polkadot
DOT
$0.8598
1
Chainlink
LINK
$8.7

🐋 Theo dõi cá voi

🔴
0x389e...eb93
3 giờ trước
Chuyển ra
3,950 ETH
🔴
0xd01d...51a7
30 phút trước
Chuyển ra
461,185 USDC
🟢
0xc6e7...fc7b
1 ngày trước
Chuyển vào
2,781 SOL

💡 Smart Money

0x51de...cb59
Bot chênh lệch giá
+$2.1M
89%
0x6c46...12a1
Nhà giao dịch on-chain dày dặn
-$3.5M
88%
0x7836...2472
Thợ đào DeFi hàng đầu
+$0.8M
80%