第16章 · DeFi Lendingはどう動くのか
信用審査なしに、知らない人へどう貸せるのでしょうか?
- 練習する能力
- Financial LiteracyOnchain Literacy
- 実践
- テストネットか少額の実環境で担保を預け、資産を借り、担保率を清算線近くまで動かしてから返済する。
- AI Lab
- AI にレンディングプロトコルの貸借対照表を作らせ、銀行と比較してから金利モデルのパラメーターを確認する。
現実の問題
銀行へ5万元の融資を申し込みました。
銀行は収入証明、勤務先、信用記録、名義上の資産、負債を確認し、保証人も求めるかもしれません。書類がそろった場合でも、返答には約2週間かかります。
一連の手続きの目的は一つです。あなた本人が信用できるか判断する必要があります。 返済しなければ回収と訴訟しかできず、数か月から数年かかるかもしれないからです。
場面を変えましょう。オンチェーンの貸借プロトコルを開き、ウォレットを接続して二度クリックすると、10秒後には5万ドルのステーブルコインが届きます。
プロトコルはあなたを知りません。収入、身元、国籍はなく、人間かプログラムかすら分かりません。どこで訴えるか分からないので、訴訟もできません。
なぜ貸せるのでしょうか?
思考実験
自動質屋を考えます。
街角の無人の機械で、外側にルールが書かれています。
- 左の投入口へ物を入れます。機械には、その物の現在価値を随時知る方法があります。
- 価値が1万元なら、最大5,000元貸します。
- いつでも価値が6,250元未満になれば、赤いランプが点灯します。
- 点灯すると、通りがかった誰でも代わりに5,000元を返して物を取れます。さらに、たとえば4,750元だけで取れるなどの利得があります。
- あなたはいつでも返済して取り戻せ、追加で物を預けて赤いランプを消すこともできます。
機械はあなた本人を一切判断していません。誰か、返せるか、逃げるかには関心がありません。返さなければ物を売ってさらに稼げるので、むしろ返さないでほしいとも言えます。
機械には、借り手の不履行自体はリスクではありません。問題を、人が信用できるかから、物の価値がどれほど速く下がるかへ丸ごと置き換えています。
ただし、この機械には三つの前提があり、一つも欠けてはいけません。
- 随時その価値を知り、価格が操作されないこと。
- 赤信号で本当に誰かが来ること。来なければ、ランプが点灯したまま債務を回収できません。
- 物を取った後、市場で売れること。売れなければ、その人は来ません。
平穏な日には三つとも成立します。後半で扱うのは、すべて成立しなくなる瞬間です。
あなたが決める
1万ドルのETHを持ち、ステーブルコインを借りたいとします。最大で価値の75%を借りられ、清算線は80%です。
いくら借りますか?
結果を観察する
担保価値、借りる割合、価格下落という三つのスライダーを動かせます。
清算しきい値は 80% です。この LTV では担保価格が約 37.5% 下がると清算されます。急落時には清算そのものがさらに価格を押し下げます。
まず価格下落を0にし、中央の借入割合だけ変えて右の健康度を見ます。その後、下落を徐々に大きくし、いつ1未満になるか観察します。
清算線80%なら次です。
| LTV | 1万から借りる額 | 初期健康度 | 清算までの下落 |
|---|---|---|---|
| 20% | 2000 | 4.00 | 75% |
| 30% | 3000 | 2.67 | 62.5% |
| 40% | 4000 | 2.00 | 50% |
| 50% | 5000 | 1.60 | 37.5% |
| 60% | 6000 | 1.33 | 25% |
| 70% | 7000 | 1.14 | 12.5% |
| 75% | 7500 | 1.07 | 6.25% |
規則は明確です。暗記する必要はなく、導ければ十分です。
健康度 = 現在の担保価値 × 清算線 ÷ 借入額
耐えられる下落 = 1 − LTV ÷ 清算線ここが本当の転換点です。表は、清算されるとき担保を売れることを仮定しています。
清算時の連鎖全体を見てください。
- 担保価格下落
- 多数の健康度が1未満
- 清算者が担保を買う
- 市場で売る
- さらに価格下落
- さらに健康度が1未満
清算自体が売却です。 担保を市場へ押し出しますが、第15章のyに当たる深さは有限です。全員が同じ価格曲線上にいるので、清算は独立した出来事でなく、互いを発火させます。
だから極端な値まで動かす意味があります。一つのポジションなら37.5%は厚くても、全員がその位置にいれば、35%下落した時点で最初のドミノまでわずかです。
モデルを作る
銀行と並べる
貸借プロトコルは新しい種類の存在ではなく、書き換えた貸借対照表です。
| 銀行 | オンチェーン貸借 | |
|---|---|---|
| 資産 | 貸付、国債、準備金 | 借り手の債務 + 未貸付資金 |
| 負債 | 預金 | 預けた人の証明 |
| 資本 | 不良債権を吸収する株主資本 | 通常なし、または少額準備金 |
| 貸す根拠 | 収入、信用、保証 | 担保時価 |
| 速度 | 数日〜数週 | 1ブロック |
| 不履行対応 | 回収、訴訟、競売、数か月 | 清算者、数秒 |
| レバレッジ | 資産が資本の十数倍 | 全件超過担保で拡大なし |
| 期間不一致 | 短期預金で長期融資 | 両側随時でほぼなし |
| 取り付け | 列、出金不能 | 利用率100%、出金不能 |
| 救済 | 株主、保険、中央銀行 | なし。預けた人が比例負担 |
| 金利 | 政策 + 銀行 | 利用率による公開式 |
三つ分かります。
- 信用審査を放棄し、速さと許可不要を得ました。 代償は既に資産のある人だけに貸せることです。金融包摂のための信用供与ではなく、流動性を提供します。
- 資本の緩衝がありません。 銀行なら株主が先に失いますが、プロトコルなら預けた人が直接失います。最も見落とされやすい行です。
- 期間不一致はなくても利用率リスクがあります。 銀行では長く貸したため、プロトコルでは貸した割合が高すぎるために取り付けが起きます。形は違っても、出金できない感覚は同じです。
金利は人ではなく式
預けた人と借り手の間の価格を決めるのは、利用率という数字です。
利用率 = 貸付済み額 ÷ 総預入額一般的な金利modelでは、利用率が低いうちは借入金利が緩やかに上昇し、ある折れ点を超えると急上昇します。折れ点は80%付近へ置かれることがよくあります。
折れ点は適当に決めるのでなく、価格で人を動かす仕組みです。利用率が低ければ金利を安くして借り手を呼び、高すぎれば急騰する金利で返済と新たな預入を誘い、利用率を下げます。
折れ点の後の急な部分は、取り付けのブレーキです。 随時の出金を約束するのではなく、できないとき強い経済圧力で資金を戻すと約束します。
預けた人の金利は、借り手から来ます。
預入金利 ≈ 借入金利 × 利用率 × (1 − プロトコル取り分)この式は第17章で繰り返し使います。利用率50%なら、預入金利は借入の約半分です。 ほぼ同じだと言う製品は100%近い利用率を示し、出金できない可能性が高くなります。
三つの前提と事故
自動質屋の三つの前提には、それぞれ実際の失敗が対応します。
| 前提 | 失敗 | 分類 |
|---|---|---|
| 正しい、操作不能な価格 | 誤清算や清算漏れ | Oracle Risk |
| 清算者が来る | 赤信号のまま不良債権 | Operational / Liquidity |
| 売れる担保 | 出せず、誰も来ない | Liquidity Risk |
第24章で統一リスクモデルへ入れます。どれもコードBugではなく、コードが完璧に動いても損をします。
何と呼ぶか
借入を支えるため、プロトコルへロックする資産です。
量より品質が重要です。変動率、深さ、広い受容度を見ます。80%変動するトークンとステーブルコインは、同じLTVでも全く違うポジションです。
借入額 ÷ 現在の担保価値です。
最大借入LTVは建てる時点の上限、清算LTVは発火点です。間が安全の余裕で、前者だけ見る人は多くても、運命を決めるのは後者です。
価値 × 清算線 ÷ 借入額で、1未満なら清算です。
余裕を一つの数へ圧縮します。1.1は悪くなさそうでも、下落余裕は約9%だけです。 必ず下落率へ戻すと、直感に合わせられます。
総預入に対する貸付の比率です。
借入金利、預入金利、出金可否を同時に決めます。100%なら一円も残らず、返済か新預入を待たなければ出金できません。どのプールでもAPYと一緒に見ます。
利用率を金利へ変換する、通常折れ点のある曲線です。
ガバナンス投票で変更できる数少ないparameterの一つです。折れ点の位置や傾きの変更は、全員の費用を直ちに変えます。誰がこのparameterを管理するかは、借貸protocol研究の必須確認です。
1未満で第三者が債務の一部を返し、割引で担保を取ることです。
よく見落とす三点です。通常全量を一度で閉じず、一部だけ清算して安全域へ戻します。割引という罰金は借り手が負担し、実行する逐利ボットは利益があるときだけ来ます。
担保が債務未満になり、清算が間に合わず残る不足です。
誰が負担するでしょうか? 株主も保険もなく、通常預けた人が比例負担するか準備金で埋めます。しかし準備金は極端時の不足より小さいことがほとんどです。銀行との最も本質的な違いです。
実践
テストネットを優先します。 メインネットなら全損を受け入れられる、通常数ドル〜数十ドルで十分です。収益でなく健康度を自分で見ることが目的なので、極端に小さい金額でも効果は変わりません。
positionを建てる前のparameterを記録します。 protocol画面か文書で、使用する担保の最高借入LTV、清算線LTV、清算penaltyの三数を探し、書き写します。
現在の預入APY、借入APY、利用率も記録します。
担保を入れ、まだ借りません。 限度額が価値 × 最大LTVか確認します。合わなければ文書で理由を探します。資産ごとに割引係数が違うことがあります。
少額、LTV約30%を借ります。 健康度を記録し、価値 × 清算線 ÷ 借入を手計算して画面と照合します。
数回に分けて追加し、1.2付近へ近づけます。 毎回健康度を記録し、下落余裕へ換算します。2.0から1.5は穏やかでも、1.2から1.05は崖です。 この非線形の感覚が最も価値ある部分です。
1.2で止まります。 二つの方法で安全域へ戻します。まず担保を追加して変化を見て、次に一部を返済して変化を見ます。
現実の下落相場では、この二つが全選択肢です。一度行った経験と、急に調べることは違います。
全返済して担保を戻し、総費用を記録します。 利息とGasを合計し、借入額と比べて実際の操作費用を求めます。
さらに一度試したければ、テストネットで1未満へ進め、実際の清算時にいくら失うか観察します。テストネットだけで行います。
AI Lab
二つの課題で、後半が重点です。
第1部:
chain上の超過担保貸借protocolを貸借対照表へ描き、左に資産、右に負債と資本を置き、各項がchain上の何に対応するか説明してください。
商業銀行の表と並べ、資本buffer、期間mismatch、不良債権の負担者という三行の違いを重点的に説明してください。
第2部:
protocol[名前]の資産[名前]の市場について、次を調査して一覧にしてください。
- 最高借入LTV、清算線LTV、清算penalty
- 金利modelの折れ点利用率、折れ点前の傾き、後の傾き
- protocolの取り分(reserve factor)
- 現在の利用率、借入APY、預金APY
- parameterを変更できる人と、変更に必要な手順
各項へ出典linkと取得時刻を記し、取得できなければ「見つからない」と書き、記憶の数値を使わないでください。
最後に取得したparameterで、預金APYが借入APY × 利用率 × (1 − 取り分)にほぼ等しいか検算してください。最後の検算が全課題の手掛かりです。閉じた検証で、三数から四つ目が出なければ、少なくとも一つは作られた数字か誤りだと、調べ直す前にも分かります。
設定は業界で最も頻繁に変わるものの一つで、投票で随時変更します。モデルの学習データの一式は、現在と違う可能性が高いと観察してください。
AI の回答後、自分で必ず検証すること
- 資産と負債が合うか。預金は負債、借り手の債務は資産で、モデルが逆にしがちなので確認する
- 資本の行に株主資本を書いていないか。chain上のprotocolには通常その項目がない
- 最高借入LTV、清算線、清算penaltyを、protocol文書またはchain上parameterで一つずつ照合できる
- 金利modelの折れ点と傾きは調査した値か、創作か。出典を示させる
- 預金金利の式に利用率の項が入るか。なければ誤り
- 不良債権をprotocolが負担すると言う場合、具体的にどの資金が負担し、現在いくらあるかを問う
- 全数値へ取得時刻を記す。金利と利用率は分単位で変わる
実例
急落時にネットワークが混雑しGasが急騰しました。ある担保貸借システムは競売で清算しましたが、大半の参加者が費用や障害で入札できませんでした。
一部の競売は一人しか入札せず、ほぼゼロで担保を取られました。残った不良債権は、最終的にガバナンストークンの追加発行で埋めました。
三つの前提のうち二つを同時に破りました。清算者が来ず、来た人に競争がありません。 コードは設計通りでも損失は出ます。
複数の攻撃は同じ構造です。プロトコルが浅いプールの即時価格を、直接担保評価へ使っていました。
攻撃者は資金で価格を上げ、担保が突然高価になったように見せ、反対側を借り切ってから操作をやめ、価格を戻します。
第15章の式が攻撃費用の計算機になります。浅いほど安く動かせます。 成熟した方式が複数源の中央値、時間加重、低深度の借入上限を使う理由です。
低流動性トークンを担保に大口がステーブルコインを借り、下落で清算に入りました。しかし清算者の計算では、取った後に売れる深さがありませんでした。
誰も清算に来ず、ポジションは悪化し続け、最終的に8桁の不良債権が残りました。
清算の実行可否は、時価総額でなく、その瞬間の深さで決まります。 第15章の四段階がリスク管理になります。
一部の市場は需要急増で長く100%近くに留まり、高いAPYを見た預入者は同時に出金不能だと気付きます。
急な金利は働いても時間がかかり、さらに高い補助のために借りる人には、高金利でも歯止めになりません。高APYと出金不能は同じ事実の二つの表示です。
変数を一つ変える
同じ担保で多く借りられ、資金効率が大幅に上がります。
LTV90%なら余裕は5.3%だけです。さらに、発火から担保が債務未満になるまでの、清算者の時間と利益も狭まります。
高い清算線が合理的なのは、担保資産と借入資産の価格が強く相関する場合です。一stablecoinを担保に別stablecoinを借りる場合や、staking receiptを担保に底層資産を借りる場合へ、専用parameterがある理由です。
借り手には有利で、清算時の追加損失がなくなります。
しかし清算者が来る理由がなくなります。Gasを払い、売る間の下落も負うので、割引なしは慈善です。
結果として清算が行われず、不良債権は預けた人へ載ります。罰でなく清算者の報酬です。 その高さは借り手の費用と清算の信頼性の取捨選択です。
価格リスクがほぼ消え、耐えられる下落まで動きにくいので、高い清算線を使えます。
riskは消えず、担保側のdepegへ変わります。第13章の通り、depegには二種類あり、reserve由来のものは回復しません。
全員が同じコインを担保に別のものを借りれば、一方の異常で清算が大量に売り、デペッグを加速します。第21章の反射性と同じです。
銀行の行う、人の信用判断を戻す必要があります。
chain外のidentityと信用審査を入れればpermissionlessではなくなります。chain上の評判なら、一人が一万addressを作ることをどう防ぐかを答えます。保証人を置けばriskは消えず、その人へ負担が移ります。
これはchain上の貸借がまだ大規模に解決していない問題です。超過担保は暫定策でなく、相手を知らないという制約で自動実行できる唯一の方式です。
持ち帰る問い
Blockchainが必要なのは、担保、評価、清算が同じルールで自動実行し、誰でも検証と参加できるからです。一社に清算を頼れば、その会社の問題で全体が止まります。2020年に失敗したのも清算の実行でした。
借り手の利息を預けた人へ分け、一部を取ります。構造と源が明確な珍しい収入です。大半はこれほど明快に説明できません。 第17章で扱います。
清算罰金は最重要の動機です。低ければ来ず、高ければ借り手へ過度に負担させます。 数字を調べ、最悪の相場でも十分に人を誘える割引か尋ねます。
借り手は価格と罰金、預けた人は利用率による出金不能と不良債権、資本のないプロトコルはほぼ負いません。株主の救済なしが、銀行との差の最重要行です。
章末チェック
信用リスクを価格と清算実行のリスクへ変えます。
銀行は返済する人かを判断しますが、プロトコルは担保が線を割ったとき、誰かが速く売れるかだけ確認します。
操作不能な価格、人の参加、売れる担保へ依存します。減るのでなく、場所と負担者が変わります。
危険です。下落率へ戻すと明確になります。
健康度 = 価値 × 清算線 ÷ 借入額なので、1.1は約9%下落で1になることを意味します。
高変動資産なら1日で起こり得て、寝ている間の可能性も高くなります。
必ず下落へ換算し、過去12か月の最大日次下落と比べます。 直感と合わなければ、通常は直感が違います。
預けた人の利息は借り手から来ますが、全資金を貸していないからです。
預入 ≈ 借入 × 利用率 × (1 − 取り分)です。
利用率50%、取り分10%、借入6%なら約2.7%です。差は、貸していない半分の資金が利息を生まず、一部をプロトコルが取る二つへ行きます。
逆に、近ければ100%近く、出金不能を示します。一緒に見ます。
清算者が欲しいのは保有でなく割引の差益なので、取った後、通常すぐ市場へ売ります。
清算ごとに第15章の有限の深さへ本当の売り注文が出ます。価格が下がり、より多くの健康度が1を割り、さらに清算と売却を生みます。
自己強化する循環で、同じ曲線なので独立した事件でなく連鎖です。第18章でより速い版を見ます。
最低次を含めます。
- 担保一覧:各資産の最高借入LTV、清算線、清算penalty、借入上限。低流動性の資産に高LTVを付けていないか確認します。
- 価格の出所:単一sourceか複数sourceの中央値か、spotか時間加重か、浅い資産へ追加制限があるかを調べます。
- 金利model:折れ点の位置、傾きの急さ、現在利用率を確認します。
- parameter変更者:multisig、ガバナンス投票、あるaddressの直接変更のどれかと、timelockの有無を確認します。
- reserveの額:不良債権が出たとき、その資金で穴を埋められるかを問います。
- 過去の不良債権:公開記録とガバナンスの議論を調べます。
- stress test:第15章の四段階を使い、最大の担保が50%下落した場合の清算総量と、それを市場が吸収できるかを計算します。
最後が調査と書き写しを分けます。計算できないという結果も、記録すれば価値があります。
要点
過剰担保は信用の問題を清算の問題に変え、リスクは債務不履行から価格と速度に移る。