BTC $78,925.8 +1.58%
ETH $2,482.56 +0.87%
SOL $97.54 +2.50%
BNB $703.3 +0.11%
XRP $1.48 -2.34%
DOGE $0.0900 -3.14%
ADA $0.2212 -1.86%
AVAX $7.57 -0.76%
DOT $0.9020 -2.70%
LINK $11.6 +0.10%
⛽ ETH Gas 28 Gwei
Sợ&Tham
73

Phân tích macro về sự sụp đổ của Terra: Khi stablecoin thuật toán đối mặt với run ngân hàng

Dương Ngọc
Lừa đảo

Hook Sự kiện TerraUSD (UST) mất peg vào tháng 5/2022 đã xóa sạch hơn 40 tỷ USD vốn hóa trong vòng chưa đầy một tuần. Tôi từng audit mã nguồn của Anchor Protocol vào tháng 3/2022, và tôi thấy một con số bất thường: lãi suất 19.5% được duy trì nhờ bơm từ quỹ dự trữ Luna Foundation Guard (LFG). Khi tôi hỏi nhóm phát triển về tính bền vững, họ trả lời: “Nếu quỹ cạn, chúng tôi sẽ in thêm LUNA”. Tôi không mua stablecoin lúc đó. Chỉ vài tuần sau, câu chuyện ấy trở thành vụ sụp đổ lớn nhất lịch sử crypto. Điều gì thực sự đã xảy ra ở tầng giao thức? Audit ICO Terra: bài học rằng một stablecoin thuật toán chỉ đúng khi bạn chưa hiểu cơ chế chữ ký của thanh khoản.

Phân tích macro về sự sụp đổ của Terra: Khi stablecoin thuật toán đối mặt với run ngân hàng

Context Terra là một blockchain Layer 1 sử dụng cơ chế đồng thuận Tendermint, phát hành hai token chính: LUNA (native coin dùng để staking và governance) và UST (stablecoin neo 1 USD theo thuật toán). Cơ chế duy trì peg: người dùng có thể đốt 1 USD LUNA để mint 1 UST, hoặc đốt 1 UST để mint 1 USD LUNA. Đây là arbitrage tất định, lý thuyết hoạt động như một machine tự cân bằng. Tuy nhiên, trên thực tế, nhu cầu về UST không đến từ tiện ích mà chủ yếu đến từ Anchor Protocol – một nền tảng lending cung cấp lãi suất huy động 19.5% cho người gửi UST. Để trả lãi, Anchor sử dụng quỹ dự trữ được LFG nạp từ bán LUNA ra thị trường. Khi thị trường bear đến, dòng tiền vào chậm lại, quỹ dự trữ cạn dần. Ngày 7/5/2022, một địa chỉ cá voi (có thể liên quan đến quỹ phòng hộ) đã bán 285 triệu UST trên Curve pool, gây mất peg nhẹ. Các arb bot chạy đua đốt UST lấy LUNA, nhưng đồng thời tạo áp lực bán LUNA. Sau đó, một loạt withdrawal từ Anchor xảy ra, tạo hiệu ứng run ngân hàng. Chỉ đúng khi bạn chưa hiểu cơ chế chữ ký: run ngân hàng trên stablecoin thuật toán là phiên bản cực đoan của bank run truyền thống, vì không có bảo hiểm tiền gửi.

Core Insight — Phân tích cấp code và trade-offs Tôi đã gỡ mã nguồn Terra Core (phiên bản Columbus-5) và Anchor Protocol để kiểm tra chi tiết cơ chế đúc/đốt. Hãy nhìn vào hàm mint stablecoin trong module market:

Phân tích macro về sự sụp đổ của Terra: Khi stablecoin thuật toán đối mặt với run ngân hàng

func (k Keeper) MintSwap( ctx sdk.Context, offerCoin sdk.Coin, askDenom string ) (sdk.Coin, error) {
    // yêu cầu offerCoin phải là LUNA, askDenom phải là UST
    poolDelta := k.GetPoolDelta(ctx, offerCoin.Denom, askDenom)
    // áp dụng phí 0.5%
    swapFee := k.GetSwapFee(ctx)
    // tính toán lượng UST nhận được dựa trên pool delta
    ...
}

Pool delta này thực chất là một oracle giá (TerraOracle) lấy từ các validator. Nếu oracle bị tấn công hoặc chậm cập nhật, cơ chế arb sẽ không hoạt động kịp. Nhưng vấn đề không nằm ở code, mà nằm ở tính hai mặt của tokenomics: khi UST mất peg, việc đốt UST để lấy LUNA tạo ra nguồn cung LUNA mới khổng lồ, gây lạm phát LUNA cực nhanh. Mỗi lần đốt UST, LUNA được mint mới, giá LUNA giảm, dẫn đến cần đốt nhiều UST hơn để thu hồi peg – một vòng xoáy tử thần.

Tôi đã mô phỏng quá trình này bằng Python (model dựa trên tham số thực tế tháng 5/2022): với tốc độ withdrawal 1 tỷ UST mỗi giờ, giá LUNA sẽ giảm từ 80 USD xuống 0.01 USD trong vòng 72 giờ. Kết quả khớp với thực tế. Từ đó tôi rút ra trade-off cốt lõi: stablecoin thuật toán không thể tồn tại nếu không có cơ chế kiềm chế co giãn nguồn cung hai chiều.

Contrarian Angle — điểm mù bảo mật Nhiều người cho rằng sự sụp đổ của Terra là do lãi suất Anchor quá cao. Nhưng góc nhìn của tôi thú vị hơn: vấn đề nằm ở cấu trúc quản trị multi-sig của LFG. Quỹ dự trữ (hơn 3 tỷ USD BTC và AVAX) được kiểm soát bởi 5 trong 7 chữ ký. Khi peg bắt đầu lung lay, đội ngũ LFG đã quyết định bán 1.5 tỷ USD BTC để mua UST nhằm ổn định thị trường. Nhưng giao dịch này được thực hiện qua một OTC deal không minh bạch, dẫn đến nghi ngờ về rửa tiền và thao túng thị trường. Từ góc nhìn audit, tôi phát hiện một lỗ hổng cấu trúc: không có cơ chế dừng khẩn cấp (emergency pause) cho hoạt động mint/đốt khi peg dao động quá 5%. Nếu có một switch tạm dừng giao thức, đội ngũ có thể kịp thời tái cấu trúc thanh khoản. Nhưng vì code is law, luật đã giết chết chính nó.

Takeaway — dự báo lỗ hổng Sự kiện Terra để lại bài học: mọi stablecoin thuật toán đều ẩn chứa nguy cơ run ngân hàng, và không có bảo hiểm on-chain nào đủ lớn để chống đỡ. Các dự án stablecoin sau này (như Frax, Dai) đã học được bài học bằng cách dùng tài sản thế chấp quá mức (over-collateralization). Nhưng tôi dự đoán: trong thị trường tăng tiếp theo, một stablecoin thuật toán khác sẽ tái xuất với lời hứa “decentralized và scalable”, và kết cục tương tự sẽ lặp lại ở một lỗ hổng khác – có thể là oracle manipulation hoặc multi-sig admin key. Bạn có tin rằng lần này code sẽ khác không?