Tại sao DeFi lending cần liquidation?
DeFi lending không có tòa án, không có nhân viên thu hồi nợ. Khi người vay không còn đủ tài sản thế chấp để bảo đảm khoản vay, hệ thống cần một cơ chế tự động để bảo vệ người gửi tiền — những người cung cấp thanh khoản cho pool.
Liquidation là cơ chế đó: smart contract cho phép bên thứ ba (liquidator) trả bớt nợ hộ người vay, đổi lại nhận collateral với giá ưu đãi. Kết quả: nợ giảm, vị thế trở về trạng thái an toàn, pool không bị thua lỗ.
Cơ chế hoạt động step-by-step
- Trigger: Health Factor của một vị thế giảm xuống dưới 1.0 — do giá collateral giảm hoặc giá tài sản vay tăng
- Phát hiện: Bot MEV scanning liên tục on-chain — phát hiện vị thế HF < 1.0 trong vài giây
- Tính toán: Bot tính lợi nhuận: chọn collateral nào nhận, trả bao nhiêu nợ, ước tính gas và slippage
- Gọi hàm:
liquidationCall(collateralAsset, debtAsset, user, debtToCover, receiveAToken) - Thực thi: Smart contract trừ nợ, chuyển collateral + bonus cho liquidator
- Kiểm tra lại: Nếu HF vẫn < 1.0, quá trình tiếp tục cho đến khi đủ an toàn
// Simplified liquidationCall logic (Aave V3)
function liquidationCall(
collateralAsset, // tài sản collateral muốn nhận
debtAsset, // tài sản nợ muốn trả
user, // địa chỉ người bị liquidate
debtToCover, // số nợ muốn trả (tối đa 50% = close factor)
receiveAToken // nhận aToken hay token gốc?
) {
require(HF[user] < 1e18, "Health factor not below threshold");
// Tính toán collateral nhận = debtToCover × oracle_price × (1 + bonus)
// Transfer debt from liquidator → protocol
// Transfer collateral + bonus từ user → liquidator
}
Liquidator là ai?
Bất kỳ địa chỉ nào cũng có thể là liquidator — không cần whitelist, không cần permission. Thực tế, liquidation bị dominate bởi:
- MEV bot chuyên nghiệp — scan mempool liên tục, thực thi trong vài giây hoặc cùng block
- Liquidation protocol — Gelato, Chainlink Automation tự động hóa quá trình
- Người dùng thủ công — ít gặp vì bot nhanh hơn nhiều, chỉ có lợi với vị thế rất lớn
Close Factor: Tại sao chỉ 50%?
Close factor là phần trăm nợ tối đa một liquidator có thể trả trong một lần. Aave và Compound chọn 50%. Tại sao không 100%?
| Kịch bản | Close Factor 100% | Close Factor 50% |
|---|---|---|
| HF chỉ vừa chạm 0.99 | Mất toàn bộ collateral trừ nợ | Chỉ mất đủ để đưa HF về an toàn |
| Giá phục hồi sau liquidation | Người vay đã mất hết, không hưởng lợi | Phần collateral còn lại hưởng lợi từ phục hồi |
| Market impact | Sell pressure lớn, cascade risk cao | Sell pressure nhỏ hơn, ổn định hơn |
| Incentive bot | Chờ HF xuống thấp để maximise profit | Liquidate sớm khi HF < 1.0 là đủ |
Liquidation Bonus — Cân bằng incentive và rủi ro
Liquidation bonus là phần thưởng liquidator nhận thêm trên giá trị collateral. Nếu bonus quá thấp, không ai muốn liquidate → nợ xấu tích lũy. Nếu bonus quá cao → death spiral.
Ví dụ: Trả $8,000 nợ, bonus 5%:
Collateral nhận = $8,000 × 1.05 = $8,400 giá trị ETH
| Tài sản | Liquidation Bonus | Lý do |
|---|---|---|
| ETH, WBTC (liquid) | 5–6.25% | Thanh khoản cao, slippage thấp |
| LINK, SNX (mid-cap) | 7–10% | Thanh khoản vừa, cần bù đắp slippage |
| Long-tail assets | 10–15% | Thanh khoản thấp, rủi ro bán cao hơn |
Ví dụ số thực tế
Vị thế ban đầu:
Collateral: 10 ETH @ $1,800 = $18,000 (LT 82.5%)
Nợ: $16,000 USDC
HF = ($18,000 × 0.825) / $16,000 = 0.928 → bị liquidate
Liquidator thực hiện:
Trả: $8,000 USDC (50% × $16,000 = close factor)
Nhận: $8,000 × 1.05 (bonus 5%) = $8,400 giá trị ETH
= $8,400 / $1,800 = 4.67 ETH
Sau liquidation:
Collateral còn: (10 - 4.67) ETH = 5.33 ETH × $1,800 = $9,594
Nợ còn: $16,000 - $8,000 = $8,000
HF mới = ($9,594 × 0.825) / $8,000 = 0.990 → vẫn dưới 1!
Lần liquidation thứ 2:
Trả: $4,000 USDC (50% × $8,000)
Nhận: $4,000 × 1.05 = $4,200 giá trị ETH = 2.33 ETH
Còn lại: 2.99 ETH = $5,382, nợ $4,000
HF = ($5,382 × 0.825) / $4,000 = 1.11 → an toàn
Tổng thiệt hại người vay:
Mất: 4.67 + 2.33 = 7.0 ETH ($12,600 tại $1,800)
Nợ xóa: $12,000
Thực mất thêm: $600 = penalty từ liquidation bonus
Death Spiral — Rủi ro systemic
Death spiral xảy ra khi một sự kiện liquidation lớn tạo sell pressure → giá collateral giảm → kích hoạt thêm liquidation → sell pressure tăng → vòng lặp không dừng.
Tại sao Aave ít bị death spiral hơn?
- Supply Cap: Giới hạn tổng lượng tài sản có thể gửi làm collateral — kiểm soát concentration risk
- Oracle đa nguồn + TWAP: Giá dùng để tính HF không thể bị bơm trong 1 block
- Tài sản có thanh khoản lớn: ETH, WBTC, USDC — bán lượng lớn không ảnh hưởng giá đáng kể
Hiểu thêm về oracle risk: Oracle Risk trong DeFi: Điểm yếu cấu trúc và cách phòng vệ →
Chiến lược tránh bị liquidate
1. Vay ở LTV thực tế 50–60%, không phải 75–80%
LTV 80% trông hấp dẫn nhưng buffer quá mỏng. Với volatility crypto thông thường (±30% mỗi tháng), LTV 50% mới đủ an toàn để ngủ ngon.
2. Cài alert bắt buộc ở HF = 1.5
DeFi Saver hoặc Instadapp. Alert ở 1.5 cho bạn thời gian phản ứng trước khi chạm 1.0, kể cả khi có một cú flash crash.
3. Không dùng toàn bộ vốn vào một vị thế
Giữ lại 20–30% dưới dạng stablecoin để có thể repay nhanh khi cần, không cần bán tài sản ở đáy.
4. Theo dõi utilization rate pool nợ
Khi utilization cao, lãi vay variable có thể tăng đột biến lên 50–200%/năm. Điều này làm tổng nợ tăng nhanh, kéo HF giảm ngay cả khi giá collateral không đổi.
5. Self-liquidation nếu không còn lựa chọn khác
Dùng flash loan để tự thanh lý, tiết kiệm 4–14% so với bị liquidate bởi bot. Xem: Flash Loan và self-liquidation →
Lỡ bị liquidate rồi — làm gì tiếp?
- Kiểm tra lại dashboard Aave — xem còn bao nhiêu collateral, còn bao nhiêu nợ
- Nếu HF vẫn < 1.0, tiếp tục bị liquidate cho đến khi HF > 1.0
- Khi HF > 1.0: quyết định repay toàn bộ hoặc rút bớt collateral về
- Đánh giá lại chiến lược: tại sao bị liquidate, điều chỉnh LTV target cho lần sau
- Phần collateral còn lại sau liquidation vẫn thuộc về bạn — rút về khi ổn