为什么抵押 100 TOKEN 不能借出全部价值?
把抵押品价值、借款率和协议流动性放在同一张账上,找到安全借款额度。
- 区分抵押品价值、借款额度和协议可用流动性
- 解释为什么协议不允许借满抵押品的市场价值
- 用 LTV 计算一笔借款还剩多少安全空间
- 上一章课程开始
- 本章为什么抵押 100 TOKEN 不能借出全部价值?
把抵押品价值、借款率和协议流动性放在同一张账上,找到安全借款额度。
- 下一章债务为什么会自己变大?
先想一想这几个问题
展开答案前,可以先在心里做个判断。与预期不同的内容可以加入复习列表。
Q01明明是超额抵押,为什么协议仍可能出现坏账?+
超额只是一个时点的缓冲。价格跳跌、流动性不足、预言机延迟或清算拥堵,都可能让抵押价值在资产卖出前跌到债务以下。
借贷协议不是把“价值”凭空变成现金。它先接收一项可以被验证和处置的抵押品,再按照一个低于 100% 的借款率给出额度。这个折扣是为了给价格波动、交易成本和清算时间留下缓冲。
一笔借款里有三种不同的数字
假设你存入 100 TOKEN,预言机价格是每枚 120 积分。抵押品的账面价值是 12,000 积分,但这不等于你能借出 12,000:
- 抵押品价值:协议按当前预言机价格估出来的资产价值;
- 借款率(LTV):允许债务占抵押品价值的最大比例;
- 协议流动性:借款池当前实际能拿出来的积分。
本实验把最大 LTV 设为 75%,因此安全额度最多是 9,000 积分。它既不是 TOKEN 的“真实价格”,也不是协议对你未来偿还能力的保证。
TOKEN 抵押借积分
把一笔借款放进状态机,观察价格、利息、预言机和清算人怎样改变同一个账户。
先存入抵押品,逐步借款,确认可借额度不是抵押品价值本身。
- 钱包 TOKEN
- 100
- 账户现金
- 5,000
- 协议流动性
- 100,000
- 清算人 TOKEN
- 0
抵押品被锁定后不能任意取出;取出动作会先模拟取出后的健康度。
先移动外部市场,再决定何时让预言机更新。当前价差 0.00%。
清算线 1.00;奖励 5.00%。只有健康度跌破边界后,清算按钮才会变为可用。
先存入抵押品,再借一笔接近额度的积分。注意:额度、健康度和协议流动性是三个不同的边界。
- 01
抵押池创建:100 TOKEN,初始价格 120 积分。
拖动滑块可以回到此前的步骤。从那里继续操作时,后续记录会替换为新的操作序列。
额度还要受池子余额约束
即使你的账户有足够抵押品,借贷池也可能没有足够的积分可借。一个负责任的界面至少要同时展示“你的额度”和“池子剩余流动性”,否则用户会把风险边界误读成可提款余额。
展开:这一步如何实现
collateralValue = deposited * oraclePrice
borrowCapacity = collateralValue * maxLTV
available = min(borrowCapacity - debt, poolLiquidity)
borrow(amount):
require amount <= available
debt += amount
poolLiquidity -= amount
userCash += amount
借款改变的是协议和账户之间的负债关系;它不会改变抵押品的市场价格,也不会让风险消失。
100 TOKEN 价值 12,000 积分,最大 LTV 为 75%,在池子流动性足够时最多能借多少?
本章小结
现在账户有抵押品、债务和一条清晰的额度边界。下一章把时间推进:即使价格不动,利息也会让债务和风险慢慢变化。