TOKEN:简析Ruler协议:无需担心清算的借贷平台

对于DeFi借贷协议,尤其是采用【超额质押】协议来说,【清算】机制是金融模型的重要环节。

清算的本质,是以低于市场价格的方式出售一部分抵押物,来支付借款人应向资金池归还的本金与利息,从而使得资金池得以持续健康运转。

一旦触发清算,用户将永久性的失去部分质押资产;如果遭遇类似3.12的剧烈行情波动,可能会造成链上拥堵,无法及时清算或面临高额的Gas损失。

Ruler协议是Cover团队推出的DeFi借贷平台,旨在实现【无需清算】且【费率固定】的数字货币借贷业务。

本文将从运行机制和风险分析等方面简要分析Ruler协议。

一、Ruler协议的核心参数

Beosin:UVT项目被黑客攻击事件简析,被盗资金已全部转入Tornado Cash:金色财经报道,据Beosin EagleEye 安全预警与监控平台检测显示,UVT项目被黑客攻击,涉及金额为150万美元。攻击交易为0x54121ed538f27ffee2dbb232f9d9be33e39fdaf34adf993e5e019c00f6afd499

经Beosin安全团队分析,发现攻击者首先利用开发者部署的另一个合约的具有Controller权限的0xc81daf6e方法,该方法会调用被攻击合约的0x7e39d2f8方法,因为合约具有Controller权限,所以通过验证直接转走了被攻击合约的所有UVT代币,Beosin安全团队通过Beosin Trace进行追踪,发现被盗资金已全部转入Tornado Cash。[2022/10/27 11:48:46]

Ruler协议是去中心化的借贷协议,其核心要素包括:

慢雾:GenomesDAO被黑简析:据慢雾区hacktivist消息,MATIC上@GenomesDAO项目遭受黑客攻击,导致其LPSTAKING合约中资金被非预期的取出。慢雾安全团队进行分析有以下原因:

1.由于GenomesDAO的LPSTAKING合约的initialized函数公开可调用且无权限与不可能重复初始化限制,攻击者利用initialized函数将合约的stakingToken设置为攻击者创建的虚假LP代币。

2.随后攻击者通过stake函数进行虚假LP代币的抵押操作,以获得大量的LPSTAKING抵押凭证。

3.获得凭证后再次通过initialized函数将合约的stakingToken设置为原先真是的LP代币,随后通过withdraw函数销毁LPSTAKING凭证获取合约中真实的LP抵押物。

4.最后将LP发送至DEX中移除流动性获利。

本次事件是因为GenomesDAO的LPSTAKING合约可被任意重复初始化设置关键参数而导致合约中的抵押物被恶意耗尽。[2022/8/7 12:07:06]

质押代币:用作质押资产的代币(如wBTC)

慢雾:Harmony Horizon bridge遭攻击简析:据慢雾安全团队消息,Harmony Horizon bridge 遭到黑客攻击。经慢雾 MistTrack 分析,攻击者(0x0d0...D00)获利超 1 亿美元,包括 11 种 ERC20 代币、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊链攻击者将大部分代币转移到两个新钱包地址,并将代币兑换为 ETH,接着将 ETH 均转回初始地址(0x0d0...D00),目前地址(0x0d0...D00)约 85,837 ETH 暂无转移,同时,攻击者在 BNB 链暂无资金转移操作。慢雾 MistTrack 将持续监控被盗资金的转移。[2022/6/24 1:28:30]

对手方代币:用户借出的代币(例如DAI)

到期日:用户必须偿还借款的时间(例如12/31/2021)

Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。

2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。

3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。

4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。

此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]

铸币比率:即质押资产与对手方代币的比率。

Force DAO 代币增发漏洞简析:据慢雾区消息,DeFi 量化对冲基金 Force DAO 项目的 FORCE 代币被大量增发。经慢雾安全团队分析发现: 在用户进行 deposit 操纵时,Force DAO 会为用户铸造 xFORCE 代币,并通过 FORCE 代币合约的 transferFrom 函数将 FORCE 代币转入 ForceProfitSharing 合约中。但 FORCE 代币合约的 transferFrom 函数使用了 if-else 逻辑来检查用户的授权额度,当用户的授权额度不足时 transferFrom 函数返回 false,而 ForceProfitSharing 合约并未对其返回值进行检查。导致了 deposit 的逻辑正常执行,xFORCE 代币被顺利铸造给用户,但由于 transferFrom 函数执行失败 FORCE 代币并未被真正充值进 ForceProfitSharing 合约中。最终造成 FORCE 代币被非预期的大量铸造的问题。 此漏洞发生的主要原因在于 FORCE 代币的 transferFrom 函数使用了`假充值`写法,但外部合约在对其进行调用时并未严格的判断其返回值,最终导致这一惨剧的发生。慢雾安全团队建议在对接此类写法的代币时使用 require 对其返回值进行检查,以避免此问题的发生。[2021/4/4 19:45:30]

Ruler协议中,借款人每进行一次质押操作,都会铸造2种对应的代币rTokens,即

?Ruler资产代币(rcToken),承载着到期日之后,收取还款的权利;和根据质押代币的类型,rTokens和质押代币之间存在一个铸造比率。例如,存入1个wBTC作为抵押品,可能会铸造10,000个rTokens(假设wBTC的市场价值为30,000美元,此时的质押率为300%,铸币比率为10,000)。借款人可以将rcTokens兑换为对手方代币。

Ruler还款代币(rrToken),承载着到期日之前,偿还贷款并取回抵押代币的义务。

每个rrToken都有资格通过偿还1个对手方代币,来获得一部分抵押品。如果借款人不能按时还款,将被视为违约,质押资产将被罚没。

二、借贷流程 与 借贷利率

因此,一个完整的Ruler借贷流程如下:

借款人有1个wBTC(价值30,000美元),想要借出DAI。假设抵押比率为300%,铸币比例为10,000,

那么借款人存入1wBTC, 可以铸币10,000 枚rcTokens和rrTokens。借款人通过DEX池,出售rcTokens换取对手方代币DAI, 并持有rrtokens。

到期日前,借款人将10000 DAI和10,000 rrTokens存入合约,并收回1 wBTC质押资产。

借款利率

借款利率,是由借款人出售rcTokens时的价格来决定的。以对手方代币和rcTokens出售价格之间的差额为基础,结合到期日计算出的年化,就是实际利率。

例如:Alice将1个wBTC存入Ruler协议,获得10,000 rrTokens和10,000 rcTokens。然后,Alice以9500DAI的价格,将10,000 rcTokens 卖给Bob。

到期日之前,Alice将 10,000 DAI和10,000 rrTokens存入Ruler合约,取回1个wBTC。

到期日之后,Bob将10,000 rcTokens存入Ruler合约,取回10,000DAI。如果ALice没有按时还款,那么Bob将获取Alice的质押资产wBTC。

在上面的例子中,Alice支付了500 DAI作为借款利息,Bob因为提供贷款,获得了500 DAI的利息。

在此期间,无论质押资产wBTC的价格如何变化,只要按时还款,Alice将不会面临清算的风险。

重要的是,Alice的借贷成本在卖出rcTokens的时候,就已经得到确定。这解决了传统DeFi借贷中,借贷利率并不确定的问题。

如果质押资产wBTC的市场价格急剧下跌,可能会导致借款人按期还款的意愿降低。

例如,Alice存入1个wBTC,铸造了10,000 rrTokens和10,000 rcTokens,并已将10,000 rcTokens卖出得到9500美元。此时,假如wBTC价格降低为9000美元,Alice可能会故意拒绝还款,导致wBTC被罚没。但是此时Alice依旧获利500美元(9500-9000)。

假如Alice只还款40%,即偿还 4,000 rrTokens 和 4,000DAI,这意味着违约率为60%。那么Ruler协议将持有0.6个wBTC和4,000个DAI。与之对应的每个rcToken,将有资格获取(0.6 wBTC+4000 DAI)/10000), 也就是说,买入10000 rcTokens的Bob,可以获取 0.6个wBTC和4,000个DAI。

三、总结

Ruler协议的【无需清算】的借贷模式,一定程度上更有利于借款人,将质押资产价值下降的风险,转移到了购买rcTokens的用户身上。

这种模式,本质上和ForTube协议的初代产品 ForTube Bond类似,更像是一种添加了DEX和流动性池的P2P借贷撮合平台。

对于Ruler协议来说,如果流动性池的深度不够或者市场的波动性超出预期,很可能会对整个平台造成风险。但是鉴于Cover团队本身是做DeFi的保险业务,对应的风控措施应该很快会得以实施。

附录:关于清算机制的几个概念

为了深入理解清算机制,我们要预先理解【最大借存比】,【清算阈值】和【健康指数】的概念。

最大借存比:即LTV(Loan to Value)。是指用户最大借款额和特定质押资产的【价值比例】,用于衡量该质押资产的最大借款能力。

举例:对于ETH资产来说,如果用户存入价值10000美元的ETH,且ETH的最大借存比为90%,那么用户以ETH为质押资产,最多可以借出价值9000美元(10000X0.9)的其他资产。

清算阈值LT:即Liquidation Threshold。是指某种资产被定义为【抵押不足】时,用户的借款总额与质押资产的价值比例。低于这个比例,意味着用户的借款额度超过了系统设定的最大借款能力,因此用户的质押资产将被冻结并拍卖,用以缓解抵押不足而造成的系统性风险。

例如,80%的清算阈值意味着,如果借出资产的价值超过质押资产价值的80%,则贷款抵押不足,将会被清算。

健康指数HF:即Health Factor的缩写。健康指数,是总质押资产和总借款的函数,用于判断贷款是否【抵押不足】。这个数值用于衡量用户总体债务健康程度,数值越高,被清算的可能性越低,资金的安全状态越高。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:566ms