需要使用外部合约时,我们假设对方是安全的,两张安全的合约组合后交易的安全性会发生变化,可能会变得不安全,我们需要对组合后的安全性进行分析。或者假设对方是不安全的,我们需要对调用后的逻辑进行限制,对特殊的结果特殊处理,确保自己的业务逻辑不受影响。 风险控制DeFi 安全是个长期的工程,代码安全是个大前提,同时为了应对未来的安全问题,DeFi 需要有应急流程。我们需要明确知道业务中的风险点在哪,确保在紧急情况最大程度的保证所有人的资金安全。在处理紧急状况依然需要坚持去中心化,这对去中心化的治理是个挑战。 安全最终并不是靠某个项目方或者安全审计团队完成的,应该是一个去中心化的方式。让社区成员或者黑客参与到 DeFi 安全的建设中,并且给予相应的激励。参与的人越来越多,DeFi 的发展才能越来越健壮。 主持人:感谢 YolkLi 的分享,收获颇丰,大家可以慢慢消化,接下来有请我们安比实验室的郭宇继续围绕这个话题分享。 郭宇:DeFi 是由智能合约来构建的,它的安全性包含了以下关键因素: A. 底层链的安全型:矿工 / 黑客作恶成本与收益,当合约上的资产在不断膨胀后,矿工作恶的动机会逐步加大,多方博弈带来的纳什均衡的转移。 B. 合约平台的安全性:智能合约语言是在动态变化的,编译器也在发展,eth2 还会引入 wasm,这个动态变化过程会引入新的安全不稳定因素,并且带来更大的攻击面。特别是当编译器变复杂之后,也许会有黑客攻击编译器的事件发生,编译器引入的安全漏洞会更加隐蔽,更加难排查。 C. 业务本身的安全性:DeFi 跟外部金融世界是紧密联系的,比如外部没有经过验证的价格,外部的套利行为,DeFi 和 CeFi 之间的互相关联性而带来的攻击手法。 D. 第三方服务的安全性:可组合式的 DeFi 合约的可靠性,接口是否兼容,合约标准的制定比较随意。 单纯从技术角度,区块链安全是前所未有的。区块链项目是「全开放式」的,用户不需要 KYC 就能任意接入,这在传统金融中是完全不可想象的,并且系统的每一个细节都对外暴露。 安全审计是必须要做的,但这并不能从根本上解决问题,问题就是:「审计结果无法量化」。 如果审计报告上列出的 bug 越多,能证明剩下的 bug 越少吗?这有可能是代码质量较差,发现的 bug 多,所以隐藏的 bug 会更多。 可是,如果审计报告上列出的 bug 很少呢?也许是审计不够深入。 其实,我认为这都不是智能合约的终极难题,终极难题是:智能合约到底怎么样算是安全? (责任编辑:admin) |