首页 > 世链号 > DAI 存款利率不断攀升,它存入 Compound 前应了解的事绝不能错过
韭菜的心声  

DAI 存款利率不断攀升,它存入 Compound 前应了解的事绝不能错过

摘要:你可能听说过 Compound,在以太坊上建立的 compound.finance,可以借出你的 ETH,DAI,USDC 和其他几个 ERC20 代币,用来赚取利息。

你可能听说过 Compound,在以太坊上建立的 compound.finance,可以借出你的 ETH,DAI,USDC 和其他几个 ERC20 代币,用来赚取利息。

作为 SpankChain 的首席执行官,管理公司储备金是我的工作,其中还包括近五十万的 DAI。我们无需将 DAI 转移到 Compound 中,就可以以 10%的年利率计,得到每月大约 4,000 美元。这其中有相当多的机会成本。与此同时,投资时要记住的是,没有免费的午餐。所有投资都有其风险,对 Compound 的贷款也不例外。

在过去的一个月中,我花了一些时间评估对 Compound 贷款的几类风险,它们分别是:
1. 合约安全性风险
2. 集中故障点
3. 银行挤兑风险

按以下类别细分了调查,最重要的事情分别是:
1. 智能合约安全性似乎是合法的。
2.Compound 是一个 CUSTODIAL 系统,如果所有借贷池的管理员私钥都被盗用,则可以将其全部消耗掉。
3. 当借贷 Compound 时,并不能保证随时可以取款。如果尝试提取资金,并且所有资金都被锁定在未偿还的贷款中,则提款交易将失败。

DAI 存款利率不断攀升,它存入 Compound 前应了解的事绝不能错过

合约安全性

Compound 已通过多家知名的智能合约安全公司的审计。此外,Compound 还为严重漏洞(被盗资金的 1%或冻结 10%的漏洞)提供了最高 25 万美元的私人漏洞赏金。不过据我所知,没有独立的安全研究人员能够申请赏金。

合约中还有超过 6 个月超过 2000 万美元的合约,超过 2 个月超过 5000 万美元的合约,目前拥有超过 1 亿美元的合约。对我个人而言,合约担保的最重要指标是合约中持有的资金总额*合约中持有的时间,到目前为止,Compound 的安全性得到了很大的公众赏金。基于上述因素,我目前认为 Compound 智能合约是安全的。

集中故障点

我本人不是一位专业的合约安全专家,所以申请了 samczsun 的协助,尽管合约受到顶级公司的多次审核,他还是发现了 0x 合约中的一个严重错误。他通过以下方式报告了 Compound 的集中故障点:

Compound v2 具有四个不同的管理职位,这些职位设置为三个不同的地址:
1. 每个 cToken 都有一个管理员。目前都设置为 0x8 B8592E9570E96166336603a1b4bd1E8Db20fa20
2. 每个 cToken 都有一个主控制器,当前都设置为 0x3d9819210A31b4961b30EF54bE2aeD79 B9c9Cd3 B。此 Unitroller 还具有一个管理员,该管理员设置为 0x8 B8592E9570E96166336603a1b4bd1E8Db20fa20
3. 当前价格预告同时具有主播管理员和发布者,分别设置为 0xF06e41aDD8A7E7A8aD81a07C0ACA291E4573ca50 和 0x3c6809319201b978D821190 Ba03fA19A3523 BD96。

通过对 cToken 的管理访问,攻击者可以替换“主控制器”,这将使他们能够执行以下一项或多项操作:

通过从 transferAllowed 返回 false 来防止转移现有的 cToken。
通过从 transferAllowed 返回 true 来转移作为抵押持有的 cToken。
通过从 mintAllowed 返回 false 来防止铸造新的 cToken。
通过从 redeemAllowed 返回 false 来防止兑换现有的 cToken。
通过从 repayBorrowAllowed 返回 false 来防止偿还现有借款。
通过从 Liquidate 返回 false 来防止清算借款。
通过从 seizeAllowed 返回 true 来窃取用户的 cToken。
通过从借贷返回 false 来防止借入基础资产。
通过从 rowerAllowed 返回 true 来消耗所有基础资产。

通过对 cToken 的管理访问,攻击者还可以替换利率模型,这将使他们能够执行以下操作:

将借入利率提高到 0.0005%/ 块(即每块的利率)。

通过对当前 Unitroller 代理的管理访问权限,攻击者可以:

替换 Unitroller 的实现,如果他们可以替换 cToken 的主计长,则将允许他们执行相同的攻击,但是对于所有使用 Unitroller 的 cToken (占它们的 100%)。
更改清算激励措施,使攻击者在清算时扣押不成比例的代币。
更改价格预告片,这将使攻击者能够以较低的价格提供现有 cToken (例如 ETH,WBTC 等)并以此较低的价格借入。
更改 cToken 的抵押因子,将其与添加新 cToken 的能力以及更改价格预言的能力结合在一起,将使攻击者可以借用他们创建的令牌来消耗所有资产。

通过主播管理员对价格预告的访问,攻击者可以:

将资产价格与其真实价值相差 10%。

通过海报访问价格预告片,攻击者可以:

每小时将资产价格从其储值变动 10%。

通过锚管理员和发布者都可以访问价格预告,攻击者可以:

将资产价格设置为任意值。

总结 samczsun 的报告:Compound 协议旨在由中央管理员进行就地升级。重要合约是代理,它们仅指向保存其实现逻辑的单独合约地址,并且管理员有权随意更改这些地址指针。因为所有 cToken 都使用同一管理员,所以如果管理员密钥被盗用,则可以轻而易举地耗尽 Compound 中存储的所有资产。

Sam 上面也提到了其他一些更隐蔽的攻击,如果有选择的话,攻击者有可能比所有更复杂的攻击更快地窃取所有资金。但是,在恶意或受到威胁的管理员手中,特权包含微不足道的冻结市场,审查交易或从系统中窃取所有资产的能力。同样,价格的控制可用于从系统中窃取大部分资产。有趣的是,Trail of Bits 团队公开的任何材料都没有提到这一点。此外,Compound 常见问题解答还低估了管理员的特权,并且不警告其耗尽所有资金的能力:

协议的开发者 Compound Labs,Inc. 当前控制以太坊地址 0x8b8592e9570e96166336603a1b4bd1e8db20fa20,即协议 admin。管理员地址有权支持其他资产,升级价格预言系统,升级利率模型以及协议的风险模型。

还要注意的另一件事是,Compound 的当前监管设置本身不会使系统不安全。他们非常乐意保持管理员密钥的安全,并且可能甚至希望与他们的 820 万美元种子轮融资,以此与最佳托管服务提供商合作。不过,在决定存入一定数量的 DAI 时,确实要牢记这一点。

银行挤兑

达摩(Dharma)首席运营官的这条推文让我们陷入困境,不过它能帮我们弄清 Compound 的银行挤兑风险是什么样子。

DAI 存款利率不断攀升,它存入 Compound 前应了解的事绝不能错过

推文中的利用率为 98.62%,这意味着当时贷方存入的 DAI 的 98.62%已借给借款人。DAI 中只有 1.38%可以提取,因此如果愿意,只有一小部分贷方可以收回其 DAI。

如果足够多的 DAI 贷方(cDAI 持有人)同时希望恢复其 DAI,则其提款可能会耗尽可用的 DAI,从而将利用率提高到 100%,并防止进一步提款。试图提款的贷款人只会看到他们的交易失败,并且不得不等到更多的借款人还清贷款后才能提款。

因为存在卡住 cDAI 的可能性,所以人们会担心它可能会实现。就是说,在银行挤兑的情况下,一群 cDAI 持有人试图一次全部索取其 DAI 可能是因为足够的 cDAI 持有人担心这种情况的发生。

陷入 cDAI 银行挤兑的贷方可以选择等待接收其 DAI,或出售其 cDAI 以获得 DAI,这会产生兑换费,并且如果许多其他贷方也以 cDAI 出售 DAI 的话,价格可能会更差。如果放款人选择等待并继续使用 cDAI,在此期间他们仍然会产生兴趣。

Compound 如何解决这个问题?

Compound 团队对流动性风险非常直截了当,并在其白皮书中进行了介绍:

该协议不保证流动性。相反,它依靠利率模型来激励它。在对资产的极端需求时期,协议的流动性(可用于提取或借出的代币)将下降;发生这种情况时,利率会上升,从而刺激供应并抑制借贷。

Compound 根据特定于 cToken 的“利率合约”为每个 cToken 确定借款人的利率。该合同目前为 cDAI 实施利率模型。公式为:借款人的年利率 = 基本利率+(乘数*利用率)
对于 cDAI,基本费率 = 5%,乘数 =15%(值硬编码到合同中)。以 100%的利用率计算,借款人支付的利息为 20%。这意味着,在最大程度地利用 DAI 的情况下,只有激励借款人以 20%的利率偿还贷款,前提是如果他们认为用作贷款抵押品的 ETH 在整个过程中将上涨 20%以上。一年中,他们没有动力偿还贷款。这可能会使很多 cDAI 持有者长期持有 cDAI。

Compound 唯一可用来解决此问题的工具是使用集中式管理员来升级他们的利率模型。综上所述,如果利用率达到最高水平,并且存在流动性危机和迫在眉睫的银行挤兑,那么所有贷方可以做的就是希望利用自己的力量来更新和提高利率,以激励借款人偿还贷款并偿还贷款,为想要退出的贷方提供流动性。

总结

像 Compound 这样的协议在集中化和分散化之间进行了微妙的选择,在快速升级的能力和为此而必须引入的集中式故障点之间进行了权衡。我不认为 Compound 会选择以集中方式引导其产品,但确实希望我们向用户传达风险和提供警告。

原文作者:Ameen Soleimani

原文链接:What You Should Know Before Putting Half a Million DAI in Compound

译者:听风团队——洁然不同

来源链接:mp.weixin.qq.com
来源
:听风团队

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。