在yearn.finance平台上托管资金真的安全吗?
今年七月中旬,DeFi收益聚合平台yearn.finance发行了治理代币YFI,YFI代币因发行公平且分配广泛深受社区称赞,yearn.finance因此人气飙高,与此同时,有人开始质疑yearn.finance平台上的 托管资金安全和中心化问题。
yearn.finance是一个人人都可以在上面投入资金的平台,会由经理来帮助用户将资金引导到收益最高的DeFi产品中。这次发行的YFI代币治理工作方式是这样的:YFI代币持有人可以对新提案进行投票,这些投票最初是非正式的,直到提案获得批准之后,yearn.finance开发者安德烈·克朗杰(Andre Cronje)才会去实施提案。
不过,社区对该代币仍然存在不少误解,比如人们认为用户资金都是由YFI代币持有者或是代表YFI代币持有者利益的多重签名钱包所控制。这是因为yearn.finance的开发者安德烈·克朗杰将相关治理权交给了9个社区利益相关者,这些社区利益相关者通过6-of-9多重签名的方式控制着YFI代币增发,而且yearn.finance所有的投资决策都是由一名控制者负责,这意味着该控制者“控制”了所有客户资金。据悉,在7月25日至8月6日期间,Andre Cronje控制着4000万美元的客户资金。
说到资金托管,其实所有较为繁琐的DeFi协议都是托管的,比如yearn.finance、Compound、以及Aave。而yearn.finance的资金托管方式是比较独特的。首先我们要了解金库(vaults)的概念:金库相当于用于存放用户资金的保险箱;其次是策略(strategies)的概念:策略其实就是执行投资投资的智能合约,比如将代币借给收益率最高的DeFi平台。而任何人都可以部署金库和策略的,但是如果要分配用户资金,则必须将金库与特定策略连接,这种连接就是通过被称为“控制者”的中心化智能合约来实现的。
接下来我们再来看下yearn.finance在分配用户资金时是如何调整“金库-策略”的。首先需要调用setStrategy函数,不过只有当msg.sender被设置为“控制者”治理人时,这个函数才会被执行,策略变更需要从现有策略中提取所有资金,并将其发送到金库中。接下来,需要再从金库中调出资金,此时需要使用“控制者”的earn函数,这样资金就会被转入到新策略中。简而言之,“控制者”可以设置连接每个金库的策略,也可以更改现有金库的策略。
而现在,安德烈·克朗杰通过设定函数,将金库资金控制权交给了社区控制的多重签名钱包,并把自己排除在风险因素之外。安德烈·克朗杰理应是最初的“控制者”,而不是应将协议委托给不同时区中9个利益相关者中的6个,这样会给平台允许增加大量成本和延迟,最终甚至会引发一系列其他问题,比如:对协议漏洞反应会变慢,对于复杂的DeFi协议而言,早期阶段出现漏洞是很常见的;新的金库和策略实施快速原型化将更加困难;对于正确设置金库/策略的投资者而言不公平,因为DeFi市场环境变化很快,有可能会损害用户收益。
由此看来,“控制者”的功能十分强大,但同时也容易遭到攻击。假如设定一个耗尽所有用户资金的策略,然后将该策略与金库连接,后果将不堪设想。有数据显示,yearn.finance的总锁仓量到8月6日为止已经达到了1.65亿美元,其中大部分是与YFI相关的流动性池。虽然这些锁仓代币不容易受到治理攻击,但仍有价值4000万美元的资金锁定在金库中,而这笔钱就暴露在“控制者”面前。虽然大家相信安德烈·克朗杰自己不会去窃取他人资金,但如果安德烈·克朗杰本人遭到第三方攻击的话,管理员密钥则有可能被其他黑客窃取。
值得一提的是,对于这些偏重治理的DeFi协议来说都或多或少存在资金托管问题,而不仅仅是发生在yearn.finance身上。比如Compound,治理代币持有者集中在少数实体手上,他们几乎可以投票决定所有对自己有利的逻辑。要知道,在网络治理和资金安全之间找到平衡是一件很不容易的事情,就像yearn.finance这样,最终很可能会偏重于“网络治理”并牺牲一部分“存款安全”。如果DeFi系统想要在将来变得更加安全的话,那么在设计之初就需要考虑采用最小化的治理杠杆。
本文部分内容编译自雅虎财经
Scan QR code with WeChat