昨天談去中心化交易所與 AMM 時,我們拆解了 x*y=k 恆定乘積、流動性池、無常損失,以及 Uniswap V3/V4 的集中流動性與 MEV。AMM 解決了「換幣」的去中心化問題,但 DeFi 這座樂高還缺另一根支柱:借貸。你手上有 ETH 不想賣,卻想借出穩定幣去花用;或是你有閒置的 USDC 想賺利息——這正是 Aave、Compound 這類借貸協議做的事。更關鍵的是,今天你會看到借貸與 AMM 並不是兩個獨立世界:清算得靠 DEX 換手,閃電貸建立在資金池之上,兩者互相咬合才組成完整的 DeFi。

📖 學

為什麼一定要超額抵押

傳統銀行借錢會查你的信用、收入、擔保品,靠的是「身分」與法律追索權。鏈上協議面對的是匿名地址,違約了無法上法院討債,也不能凍結你的帳戶。既然無法追人,就只能追物——要求你先鎖進價值高於借款的抵押品。這就是「超額抵押」(over-collateralization)。

舉例:你在 Aave 存入價值 1 萬美元的 ETH,若該資產的抵押率(LTV, Loan-to-Value)是 80%,你最多只能借出 8000 美元等值的資產。你借的比你抵押的少,協議永遠握有安全邊際。萬一 ETH 跌價,協議還有緩衝時間把抵押品賣掉還債。這種模式犧牲了資本效率(你得先鎖更多錢才能借更少),換來的是不需要信任任何人的可行性。

資金池模式 vs 點對點

早期借貸協議曾嘗試「點對點」撮合:把每一個放款人和借款人配對,像媒人一樣牽線。問題是配對慢、利率談不攏、資金常常閒置。Aave 與 Compound 採用的是「資金池」(pool-based)模式:所有放款人把資產丟進同一個大水池,借款人直接從池子裡借,不需要一對一配對。

好處是流動性即時、隨借隨還、利率由演算法自動決定。你存入 USDC 後拿到的是生息憑證——Aave 給你 aToken(如 aUSDC)、Compound 給你 cToken(如 cUSDC)。這些憑證會隨時間自動累積利息:aToken 採 1:1 rebase,餘額數字直接變多;cToken 則是匯率上升,1 個 cToken 能換回越來越多的底層資產。憑證本身可轉讓、可再拿去當抵押品,這正是「可組合性」的體現。

健康因子與清算

抵押後最需要盯著的數字是「健康因子」(Health Factor)。Aave 的公式是:健康因子 = (抵押品價值 × 加權平均清算門檻) ÷ 借款總值。只要這個值大於 1,你的部位就安全;一旦跌到 1 以下,就進入可被清算狀態。

清算門檻(liquidation threshold)通常比 LTV 高一點,例如某資產 LTV 80%、清算門檻 82.5%,中間留一段緩衝。假設你抵押 1 萬美元 ETH、借了 7000 美元穩定幣,健康因子還很健康;但若 ETH 暴跌到抵押品只剩 8400 美元,健康因子逼近 1,任何人都能來清算你。

清算是這樣運作的:清算人替你償還一部分債務,並以折扣價拿走你的部分抵押品,這個折扣就是「清算獎勵」(liquidation bonus),例如 5%~10%。清算人賺的是這個差價,協議靠這誘因確保永遠有人願意搶著把壞帳清掉。Aave V4 更進一步引入「浮動清算獎勵」:健康因子越低、獎勵越高,讓清算誘因隨風險動態調整,避免過度懲罰只是輕微越界的借款人。

利率怎麼算:利用率與 kink

池子裡的利率不是人訂的,而是演算法根據「利用率」(utilization)自動計算。利用率 = 已借出金額 ÷ 池內總資產。池子被借得越滿,代表可用流動性越少,利率就該越高,一方面吸引更多人來存、一方面勸退借款人。

Compound 與 Aave 都採用「拐點型」(kink / jump rate)利率曲線。在利用率低於某個拐點(kink,常設在 80%~90%)之前,利率隨利用率緩慢線性上升;一旦超過拐點,斜率陡然拉高,利率急速飆升。這個設計是刻意的保護機制:當池子快被借空(利用率逼近 100%,存款人可能領不出錢)時,用高到嚇人的利率把利用率硬拉回安全區。這些拐點、斜率、基準利率參數,都由社群治理(governance)投票調整。

閃電貸:無抵押的一區塊借款

閃電貸(flash loan)是 DeFi 獨有、傳統金融不可能存在的產物:你可以無抵押借出上百萬美元,唯一條件是——必須在「同一筆交易」內連本帶利還清。以太坊的交易具有原子性,若交易結束時沒還錢,整筆交易就會被回滾(revert),彷彿從沒發生過。既然借款和還款保證在同一個原子區塊內完成,協議根本不承擔違約風險,於是可以不要求抵押。

正當用途包括套利、抵押品置換、自我清算。但閃電貸也放大了攻擊者的火力。2023 年間,因閃電貸相關攻擊造成的損失超過 2 億美元;Euler Finance 在 2023 年 3 月遭閃電貸攻擊、被盜約 1.97 億美元(後多數追回)。典型手法是:借出巨額資金去操縱某個低流動性池子的價格,再利用被扭曲的價格在另一個協議借出被高估的資產牟利。閃電貸本身不是漏洞,它只是把「原本就存在的漏洞」放大到致命規模的槓桿。

預言機:清算的命脈與風險

借貸協議判斷健康因子、決定何時清算,靠的是「資產現在值多少錢」,而這個價格來自預言機(oracle)。預言機是連結鏈下真實價格與鏈上合約的橋梁。若預言機報價錯誤或可被操縱,整個抵押與清算邏輯都會崩壞。

最危險的反面教材是直接拿某個 AMM 池的即時價格當預言機——因為單一區塊內的池價,正好能被閃電貸操縱。2022 年 Mango Markets 被以類似手法操縱定價、盜走約 1.17 億美元,就是慘痛案例。因此主流協議改用 Chainlink 這類去中心化、多來源聚合的預言機,並搭配「時間加權平均價格」(TWAP)來抹平單一區塊的異常波動。這也呼應昨天的 DEX 主題:Uniswap V3 內建的 TWAP 預言機,正是為了提供難以在單區塊操縱的價格來源。

借貸與 AMM 如何共構 DeFi 樂高

回到今天開頭的線索:清算幾乎離不開 DEX。清算人搶到折價抵押品後,通常立刻在 Uniswap 之類的 AMM 上賣掉換回穩定幣、鎖住利潤,而且這一連串動作往往就靠一筆閃電貸墊資完成——借錢、還債、拿抵押品、DEX 換手、還閃電貸,全在一個原子交易內收尾。AMM 提供「價格與流動性」,借貸提供「槓桿與生息」,預言機提供「真相」,閃電貸提供「零抵押的臨時資本」。這些積木彼此嵌合、可自由組合,才是 DeFi 真正的威力——當然,組合越多,攻擊面也越大。

🧠 記

  • 超額抵押是鏈上匿名環境的必然:無法追人,只能追物,先鎖比借款更多的抵押品。
  • 資金池模式(pool-based)勝過點對點:流動性即時、利率演算法自動決定,存款拿到 aToken / cToken 生息憑證。
  • 健康因子 = (抵押品價值 × 清算門檻) ÷ 借款總值;跌破 1 即可被清算。
  • 清算人替你還債、折價拿走抵押品(清算獎勵 5%~10%),這個誘因確保壞帳被即時清掉。
  • 拐點型(kink)利率曲線:利用率超過拐點後利率陡升,逼退借款、保護池子流動性。
  • 閃電貸是同一原子交易內借還的無抵押貸款;本身中性,卻常被拿來操縱預言機放大攻擊。

✍️ 實踐

打開 Aave 官方 App(或測試網)存入一小筆穩定幣,觀察你拿到的 aToken 餘額如何隨時間慢慢變多,再借出一點另一種資產,盯著介面上的「Health Factor」數字。試著多借一點、少借一點,感受它如何隨借款比例變化——你會直觀理解「跌破 1 就爆倉」是什麼意思,也會體會為什麼超額抵押讓資本效率變差。

接著到 DeFiLlama 觀察 Aave、Compound 的 TVL(總鎖倉價值)與各資產池的存款/借款利率、利用率。找一個利用率逼近拐點的池子,記下它的借款利率,再對照一個利用率低的池子,你會看到利率曲線「拐點後陡升」的真實樣貌。把它和昨天看的 DEX 流動性數據放在一起看,你會開始看懂 DeFi 樂高是怎麼互相咬合的。

🔗 延伸學習

💬 問 AI

想更深入理解借貸協議的清算與利率設計,把下面這段貼給 AI,讓它用具體數字帶你跑一遍:

我正在學 DeFi 借貸協議(Aave / Compound)。請用一個具體情境教我:
假設我在 Aave 存入 1 萬美元的 ETH 當抵押品,該資產 LTV 80%、清算門檻 82.5%、清算獎勵 5%。
1. 我最多能借出多少穩定幣?借款後健康因子是多少?請列出公式與計算過程。
2. ETH 價格要跌到多少,我的部位才會進入可清算狀態?
3. 清算人來清算我時,他實際付出與拿到多少?他為什麼有誘因這麼做?
4. 請解釋拐點型(kink)利率曲線,並說明利用率從 70% 升到 95% 時借款利率大致如何變化。
5. 為什麼清算人常搭配 DEX 與閃電貸完成整套清算?請用一個原子交易的步驟拆解說明。
最後幫我指出這個情境中,預言機若被操縱可能引發什麼風險。