1. 自链财经首页
  2. 资讯

假设你有50万DAI,你会选择存入Compound吗?

假设你有50万DAI,你会选择存入Compound吗?

译者前言:当前DeFi生态的发展非常快速,这不,Coinbase刚宣布分别在借贷协议Compound和dYdX投入了价值100万美元的稳定币。那这是否意味着这些协议就是安全的,我们也可以参与投资呢?

当然没有那么简单,下面提到的这位CEO,就被Compound借贷的高利率而吸引,其手中拥有50万DAI,然而在做了详尽的调查后,他还是选择了观望。

这到底是怎么回事呢?

下面就是他所写文章的译文:

你可能听说过Compound,他们在以太坊上建立了compound.finance,这允许你对ETH、DAI、USDC和其他一些ERC20代币进行借贷理财,然后赚取利息。

如今,该平台上DAI的出借年化收益为10%,这一利率高得足以让以太坊爱好者回头观望(见下图)。

假设你有50万DAI,你会选择存入Compound吗?

作为SpankChain的首席执行官,我的工作是管理公司的储备金,其中也包括50万 DAI。以10%的年利息计算,如果我们不把这些DAI放入Compound,那么每月账面上就相当于损失4000美元。这是机会成本,但要谨记的是,天下没有免费的午餐,所有的投资都具有风险,在Compound上进行理财也不例外

上个月,我花了一些时间评估了在Compound上进行理财时具有的几种风险:

  1. 合约安全风险;
  2. 单点失败风险;
  3. 挤兑风险;

我将调查分为以下几类,但最重要的是:

  1. 它的智能合约安全性似乎是有保障的;
  2. Compound是一个托管系统,如果他们的管理私钥被泄露,所有的借贷池资金都可能消失不见;
  3. 当你在Compound上进行放贷时,你无法做到随时取款。如果你试图取款,而所有的钱都被锁在未偿还的贷款中,那你的取款交易将会失败;

假设你有50万DAI,你会选择存入Compound吗?

我希望这些放贷人了解这些风险…source:https://defipulse.com/compound

 

一、合约安全性

实际上,已经有多家行业内著名的智能合约安全公司审计过Compound的合约。

  1. OpenZeppelin审计报告;
  2. Trail of Bits审计报告;
  3. Certora审计报告;

此外,Compound还为关键漏洞(定义为能够盗取超过1%的资金,或冻结超过10%的资金)提供了高达25万美元的漏洞奖金,据我所知,目前还没有哪家独立安全公司的研究员拿到过这笔奖金。

这些合约还持有2000万美元资金超过6个月的时间,持有5000万美元超过2个月,目前合约持有资金已经超过了1亿美元。就我个人而言,合约安全最重要的衡量标准是合约中持有的总资金* 合约持有时间,迄今为止,Compound的表现是值得肯定的。

基于以上因素,我认为Compound的智能合约是安全的。

二、单点故障风险

我本身并不是一名智能合约专业人员,因此我找了Samczsun来帮忙,他之前因为在0X合约中发现了一个关键漏洞(尽管0X合约得到了顶级安全公司的多次审计)而出名,然后他拿到了10万美元报酬。

然后,这位专业人士就给出了关于Compound的单点故障风险(我的关注点):

Compound v2有四个不同的管理位置,这被设置为三个不同的地址:

  1. 每个cToken都有一个管理者(administrator)。目前,所有cToken的管理者都被设置为 0x8B8592E9570E96166336603A1B4BD1E8DB20FA20;
  2. 每个cToken还有一个审计者(comptroller),当前都设置为0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B. 这个unitroller还有一个管理者,其设置为0x8B8592E9570E96166336603a1b4bd1E8Db20fa20;
  3. 当前价格oracle都有一个锚定管理(anchor admin)和poster,分别设置为0xF06e41aDD8A7E7A8aD81a07C0ACA291E4573ca50和0x3c6809319201b978D821190Ba03fA19A3523BD96 ;

通过对cToken管理权的访问,攻击者可替换审计者(comptroller)实现,这将允许他们执行以下一项或多项操作:

  1. 通过从transferAllowed返回‘false’值,来防止转移现有的cToken;
  2. 通过从transferAllowed返回‘true’值,来转移作为质押品的cToken;
  3. 通过从mintAllowed返回‘false’值,来防止生成新的cToken;
  4. 通过从redeemAllowed返回‘false’值,来防止赎回现有的cToken;
  5. 通过从repayBorrowAllowed返回‘false’值,来防止归还现有的借款;
  6. 通过从liquidateBorrowAllowed返回‘false’值,来防止清算借款;
  7. 通过从seizeAllowed返回‘true’值,来窃取用户的cToken;
  8. 通过从borrowAllowed返回‘false’值,来防止借入基础资产;
  9. 通过从borrowAllowed返回‘true’值,来耗尽所有基础资产

而通过访问cToken的管理权,攻击者还可以替换利率模型,这将允许他们执行以下操作:

  1. 将借款利率提高到每个区块0.0005%。

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

  1. 替换Unitroller的实现,如果他们可以替换cToken的审计者,这将允许他们执行相同的攻击,但这是对所有使用Unitroller的cToken(100%);
  2. 更改清算奖励,这将允许攻击者在清算时获取不成比例的token;
  3. 更改价格oracle,这将允许攻击者为现有的cToken(例如ETH、WBTC等)提供低价,并以此低价进行借款;
  4. 更改cToken的附带因素,当将其与添加新cToken的能力和更改价格oracle的能力结合起来使用时,攻击者可通过借用他们创建的token来耗尽所有资产;

而通过对价格oracle的锚定管理(anchor admin)访问,攻击者可以:

  1. 使资产的价格与其真实价值偏离10%;

而通过对价格oracle的poster访问,攻击者可以:

  1. 每小时将资产的价格与其存储价值偏离10%;

而通过对价格oracle的锚定管理(anchor admin)和poster同时实现访问,攻击者可以:

  1. 将资产价格设置为任意值;

 

总结一下samczsun的报告:Compound的协议设计,使得中央管理者可以对其进行修改。重要的合约只指向了一个单独的合约地址,该地址有它们的实现逻辑,管理员有权随意更改这些地址指针。因为所有的cToken都使用同一个管理者,如果管理者密钥被泄露,那么存放在Compound中的所有资产都会被轻易地耗尽

sam在上面还提到了一些更狡猾的攻击方式,但真实情况下,攻击者更可能会选择拿钱走人,而不是追求更复杂的攻击。

OpenZeppelin在他们的Compound 审计摘要中对此进行了有益的描述:

“然而,在权限掌握在恶意或受损害的管理者手中时,他们能够松冻结市场、审查交易或从系统中窃取所有资产。类似地,在控制价格馈送后,攻击者可以从系统中窃取大部分(如果不是全部)资产。目前,所有活跃市场的管理者是同一个账户。”

有趣的是,Trail of Bits团队所审计的报告中没有提到这些。此外,Compound 的FAQ页面也特意淡化了管理员的权限,没有对资金可能耗尽的可能进行提醒:

“Compound Labs公司,该协议的开发团队,目前控制着以太坊地址0x8b8592e9570e96166336603a1b4bd1e8db20fa20, 这是协议管理者。管理者地址有权支持附加资产、升级价格馈送oracle、升级利率模型以及升级协议的风险模型。”

需要注意的另一点是,compound当前的托管设置本身并不会使其系统不安全。他们非常积极地在保护管理密钥的安全,并且可能会和a16z领投的托管提供商合作。不过,在我决定是否存入50万 DAI之前,我还是需要再三思考一下。

挤兑风险

下面这条推文来自竞争借贷平台Dharma的首席运营官,是他让我跳进了一个兔子洞,然后想要了解关于Compound的挤兑风险是什么样子的。

假设你有50万DAI,你会选择存入Compound吗?

从技术上讲,这可能是正确的,但我们都知道管理者账号可能会因为其他方式而被滥用…

我还没有决定把自己的DAI存入Compound。也许我应该从10万DAI开始?那样的话,我只能选择信任Compound了。

免责声明:本文来自网络投稿,观点仅代表作者本人,不代表自链财经赞同其观点或证实其描述,版权归原作者所有。转载请注明出处:https://www.zilian8.com/194725.html
温馨提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

联系我们

13120139199

在线咨询:点击这里给我发消息

邮件:jjq@zilian8.com

工作时间:周一至周五,9:00-18:00,节假日休息

QR code