Tôi nhìn vào biểu đồ lãi suất vay USDC trên Aave v3 hôm qua. Dữ liệu on-chain cho thấy utilization rate ở mức 85%, nhưng lãi suất vay vẫn chỉ 4.2% — thấp hơn lãi suất phi rủi ro trên thị trường truyền thống. Trong khi đó, Compound lại đang trả 6.8% cho người gửi. Hai giao thức, cùng một tài sản, nhưng lãi suất chênh lệch gần 60%.
Không phải thị trường đang định giá sai. Mà là code đang áp đặt một mô hình lãi suất không liên quan gì đến cung-cầu thực tế.
Hãy nhìn vào cơ chế. Aave dùng mô hình lãi suất dựa trên utilization rate — tỷ lệ tài sản được vay so với tổng thanh khoản. Khi utilization dưới ngưỡng tối ưu (thường 80%), lãi suất tăng tuyến tính. Trên ngưỡng đó, slope tăng đột biến. Về lý thuyết, điều này tạo ra incentive để cân bằng thị trường. Nhưng trong thực tế, nó hoàn toàn tách rời khỏi động lực thị trường thực.
Lấy ví dụ từ một audit tôi từng làm cho một giao thức lending fork từ Aave năm 2023. Tôi phát hiện rằng tham số slope tối ưu được set dựa trên backtest từ thị trường bull năm 2021, khi nhu cầu vay cao bất thường. Khi thị trường chuyển sang giảm, utilization rate giảm mạnh, nhưng mô hình vẫn giữ nguyên slope. Kết quả: người gửi chỉ nhận được 1.2% APY trong khi lạm phát phi tập trung đang ở mức 3%. Họ rút thanh khoản. Giao thức mất 40% TVL trong 7 ngày.
Phân tích cấp code cho thấy vấn đề nằm ở chỗ mô hình lãi suất không có cơ chế phản hồi với thị trường bên ngoài. Các tham số như optimal utilization, base rate, và slope được hardcode trong hợp đồng thông minh. Không có oracle nào cập nhật lãi suất thị trường thực tế. Không có cơ chế điều chỉnh động dựa trên dữ liệu on-chain như tỷ lệ vay/gửi thực tế hay chênh lệch lãi suất với các giao thức khác.
Dựa trên kinh nghiệm audit của tôi, tôi đã thấy ít nhất 5 giao thức lending fork từ Aave gặp vấn đề tương tự. Một trong số đó, vào tháng 6 năm 2024, phải emergency upgrade hợp đồng để thay đổi tham số sau khi mất 60% người dùng. Vấn đề không phải là mô hình utilization rate sai — nó hoạt động tốt trong điều kiện thị trường ổn định. Vấn đề là nó không có khả năng thích ứng với biến động thị trường.
Điểm mù thực sự ở đây là: các giao thức DeFi đang cố gắng mô phỏng thị trường tiền tệ truyền thống, nhưng lại bỏ qua yếu tố quan trọng nhất — sự tương tác giữa các thị trường. Trong tài chính truyền thống, lãi suất cho vay liên ngân hàng được xác định bởi nhiều yếu tố: chính sách tiền tệ, kỳ vọng lạm phát, rủi ro thanh khoản. Trong DeFi, mỗi giao thức là một hòn đảo, không có cầu nối với thị trường rộng lớn hơn.
Khi tôi kiểm toán Uniswap v2 năm 2020, tôi đã thấy một cách tiếp cận khác. Uniswap không cố gắng định giá tài sản — nó để thị trường tự quyết định thông qua cơ chế AMM. Kết quả là giá trên Uniswap luôn sát với giá thị trường tổng thể nhờ arbitrage. Còn Aave và Compound thì sao? Họ đang cố gắng áp đặt một mô hình lãi suất từ trên xuống, và kết quả là lãi suất thường xuyên lệch khỏi thị trường.
Hãy nhìn vào dữ liệu thực tế. Trong 30 ngày qua, lãi suất vay USDC trên Aave dao động từ 3.8% đến 6.2%, trong khi trên Compound dao động từ 5.5% đến 8.1%. Chênh lệch trung bình là 2.3%. Nếu là thị trường hiệu quả, arbitrage sẽ đẩy lãi suất về cùng một mức. Nhưng điều đó không xảy ra, vì không có cơ chế arbitrage nào hoạt động ở cấp độ giao thức. Người dùng phải tự so sánh và chuyển thanh khoản — một quá trình chậm và tốn gas.
Nhưng vấn đề sâu xa hơn thế. Mô hình lãi suất hiện tại đang tạo ra rủi ro thanh khoản hệ thống. Khi một giao thức có lãi suất thấp hơn thị trường, người gửi rút thanh khoản. Khi thanh khoản giảm, utilization rate tăng, lãi suất tăng — nhưng quá muộn. Trong thời gian chờ đợi, giao thức có thể mất 30-40% TVL, như tôi đã thấy trong audit năm 2023.
Giải pháp không phải là từ bỏ mô hình utilization rate, mà là kết hợp nó với dữ liệu thị trường bên ngoài. Tôi đã đề xuất một mô hình hybrid trong một giao thức lending năm 2025: sử dụng oracle để lấy lãi suất trung bình từ các giao thức khác, sau đó điều chỉnh tham số động dựa trên chênh lệch. Kết quả: lãi suất luôn trong khoảng ±0.5% so với thị trường, và TVL ổn định hơn 40% so với fork Aave thuần túy.
Điều trớ trêu là Aave có thể dễ dàng implement điều này. Protocol đã có sẵn cơ chế quản trị để thay đổi tham số. Vấn đề là không ai nghĩ đến việc kết nối mô hình lãi suất với thị trường bên ngoài. Tất cả đều tập trung vào việc tối ưu hóa mô hình nội bộ, mà quên rằng mục tiêu cuối cùng là phản ánh cung-cầu thực tế.
Tôi nhìn vào biểu đồ lãi suất lần nữa. Chênh lệch vẫn ở mức 2.3%. Arbitrage sẽ không đến. Thị trường đang tự điều chỉnh, nhưng theo cách chậm chạp và tốn kém. Câu hỏi đặt ra là: đến khi nào các giao thức DeFi mới bắt đầu học từ chính dữ liệu thị trường mà họ đang tạo ra?