错误价格会把谁推向坏账?
把市场价格和协议读取的预言机价格分开,观察滞后数据如何延迟清算,以及抵押品耗尽后的坏账。
- 区分市场价格和协议用于风控的预言机价格
- 解释滞后价格为什么会让健康度看起来虚高
- 理解抵押品不足时,剩余债务如何变成坏账
- 上一章价格跌到哪里,清算人可以接管?
- 本章错误价格会把谁推向坏账?
把市场价格和协议读取的预言机价格分开,观察滞后数据如何延迟清算,以及抵押品耗尽后的坏账。
- 下一章自由实验室
先想一想这几个问题
展开答案前,可以先在心里做个判断。与预期不同的内容可以加入复习列表。
Q01市场已经暴跌,但预言机没更新,账户为什么看起来还很安全?+
合约只能读取链上已写入的价格,不能自动看见交易所屏幕。旧价格会暂时高估抵押,直到更新时风险集中暴露。
借贷协议不会直接读取所有市场的每一笔成交。它依赖预言机把一个可验证的价格写入风控模块。市场已经下跌,不代表协议已经知道;协议读取了错误价格,也不代表清算线真的安全。
把两个价格放在一起
本实验同时显示:
- 市场价格:外部交易者此刻愿意成交的价格;
- 预言机价格:协议当前用于计算抵押价值、借款额度和清算线的价格。
当市场价格跌到 72、预言机还停留在 120 时,界面上的健康度可能仍然很高。只有预言机更新,协议才会重新计算风险。
TOKEN 抵押借积分
把一笔借款放进状态机,观察价格、利息、预言机和清算人怎样改变同一个账户。
先让市场价格下跌但不更新预言机,再比较风险读数。
- 钱包 TOKEN
- 100
- 账户现金
- 5,000
- 协议流动性
- 100,000
- 清算人 TOKEN
- 0
抵押品被锁定后不能任意取出;取出动作会先模拟取出后的健康度。
先移动外部市场,再决定何时让预言机更新。当前价差 0.00%。
清算线 1.00;奖励 5.00%。只有健康度跌破边界后,清算按钮才会变为可用。
先存入抵押品,再借一笔接近额度的积分。注意:额度、健康度和协议流动性是三个不同的边界。
- 01
抵押池创建:100 TOKEN,初始价格 120 积分。
拖动滑块可以回到此前的步骤。从那里继续操作时,后续记录会替换为新的操作序列。
抵押品耗尽后的债务叫坏账
如果价格跳得太快,或者抵押品本来就不足,清算人偿还了能覆盖的部分债务后,仍可能剩下一笔没有对应资产的负债。这不是普通的未结算订单,而是协议需要吸收的缺口。
常见的缓冲包括更低的 LTV、保险基金、储备金、清算奖励和更可靠的价格来源。它们不能保证永远没有坏账,但可以改变坏账出现的概率和由谁承担。
展开:这一步如何实现
marketPrice != oraclePrice
healthFactor = value(oraclePrice) * threshold / debt
if marketPrice moves first:
risk is invisible until oracle updates
if all collateral is seized and debt > 0:
badDebt = debt
“链上”只保证协议按它读到的输入一致执行;它不能自动证明输入就是现实世界的正确价格。
市场价格已经下跌,但预言机仍返回旧价格时,最准确的描述是什么?
你已经走完一笔借贷的风险生命周期
从抵押和 LTV,到利息和健康度,再到清算、预言机和坏账,借贷协议把“未来可能还不上”转换成一组持续可检查的状态。分析任何借贷系统时,先问:价格由谁提供、债务如何增长、清算由谁执行、缺口由谁承担?