28

代码漏洞、黑客、市场波动、套利者:DeFi 风险管理的范式

 3 years ago
source link: https://www.jinse.com/blockchain/659996.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

7JRFBfA.jpg!web

作者:NEST爱好者_九章天问

DeFi是指用智能合约实现的去中心化金融协议,包括资产交易、借贷、保险、各种衍生品等等;除信用服务外,现实中的金融服务都可以通过DeFi协议实现。 这些协议都是去中心化、自动运转的,没有第三方机构在管理和维护,所以合约的风险控制便成为行业难题。

DeFi兼具了 金融和科技 双重属性,主要包含以下风险:

    1. 代码风险。包括以太坊底层代码风险,智能合约代码风险,钱包代码风险等。比如当年著名的DAO事件,近期的Uniswap漏洞攻击问题,各类钱包被盗事件,都是代码风险造成的。

   2. 业务风险。主要是业务设计过程中留有漏洞,被人合理攻击或操纵。比如当年FOMO3D被堵塞攻击,又比如dZx错误使用了不抗攻击的Uniswap预言机,被合理打压价格盗取资产,这类人称之为 套利者 。套利者对一个DeFi项目既有不利的一面,也有有利的一面。

   3. 市场波动风险。DeFi在设计时缺少一些应对变量,导致市场极端情况发生出现穿仓。比如MakerDao在312的表现,主要就是市场极端波动风险造成的。

   4. 预言机风险。预言机提供全局变量,是大部分DeFi的基础,如果预言机遭遇攻击或者出现停摆,则下游DeFi会陷入崩溃。我们认为预言机将成为未来DeFi最重要的基础设施, 带有任何中心化风险的预言机,最终都会走向消亡。

 5. “技术代理”风险。主要是指对智能合约和区块链不熟悉的普通用户,使用了中心化团队开发的“便利”交互工具,这一工具本身可能存在风险。

JjAFVvm.jpg!web

任何DeFi项目在设计时,都应将以上风险考虑进去。完整的流程不仅仅是文档内做好提示,还需要一些风险管理手段。这些手段大部分以去中心化的方式进行,少量以社区治理的方式完成(主要是指 链上治理 )。 这里我们提出一个DeFi风险管理框架,主要分为事前、事中和事后:

事前: 主要是对合约代码进行形式化验证,包含弄清楚合约使用的方法、资源甚至是指令的边界,以及这些方法、指令、资源在组合过程中的相关性影响,没有经过论证的方法或没有找到边界的组合坚决使用。 这不是传统软件开发测试的思维,这是一个接近数学论证的理念。好的合约开发应该建立在已经论证过的方法组合上。

事中: 事中主要是停机设计和异常触发设计,即合约对攻击行为能进行识别与干预,包含自动停机设计和治理停机设计。 而异常触发是对合约运行过程中,超预期现象的一种控制管理;异常触发一般是自动的,通过异常触发修正一些风险管理变量。可以参见NEST预言机系统中的beta系数和防堵塞攻击设置,这是行业内率先考虑停机及异常触发的一个实践。

事后: 事后风险管理包含几个部分,首先是代码出现漏洞,需要进行修正,一般通过链上治理,即DAO治理的方式。其次是治理资产本身遭遇攻击,此时需要进行合约分叉! 这是一个行业忽视的盲点。其次是通过保险机制,对合约可能的风险进行保险,从而降低损失。最后,社区可以通过链上数据的追踪,与各类机构合作追踪损失。关于链上治理和合约分叉,可以参见NEST的设计,这是一个创新。

Jba6bir.jpg!web

以上是我们对DeFi安全的一个系统框架,仅供大家参考。 目前行业内对安全的理解,过于早期,也过于传统; 如果不能转变思维,将边界、完备性、一致性、形式化验证、停机、异常触发、治理、分叉等新的思想引入,是不能适应未来发展的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK