揭秘灵踪安全:两位以太坊实践者的再次实践

金色财经 view 34020 2021-3-2 14:54
share to
Scan QR code with WeChat

“智能合约的安全级别主要取决于两个因素:内部风险和外部风险。其中内部风险主要表现为合约自身的逻辑复杂度,外部风险主要表现为合约与第三方合约的交互程度。”

两段历史

2020年8月,以太坊刚刚公布了Eth2.0信标链测试网的质押合约地址,整个加密货币行业开始热议“Eth2.0信标链是否会带动一次新的staking业务以及DeFi发展”。

此时,在以太坊魔术师论坛里,一篇名为《以太坊2.0抵押协议的修改提议》文章出现了,文中提议:以太坊2.0的抵押方式可以通过新型稳定币抵押并发放荣誉NFT来调整,以增加抵押者的抵押动机和规避流动风险。

这篇文章的作者分别是,周朝晖、张华、谭粤飞。

这一提议得到了社区开发者的热烈讨论,巧合的是,负责以太坊EIP审核的Micah Zoltu详细分析了文章,并看到了文章中关于利用以太坊存储链上图片的改进提案EIP-2569,从此,以太坊ERC协议层中便多了一个图像存储协议ERC-2569。

时间退回到2019年7月,在北京举办的以太坊开发者大会上,谭粤飞在周朝晖老师的介绍下结识了张华,通过沟通,发现了张华对各个流行的区块链系统都有深刻的理解并精通各种区块链系统中智能合约和DApp的开发。

三人志同道合。随后在周朝晖老师的带领下一同创建了DAO项目DAIsm,而DAIsm就是上文Eth2.0信标链文章的主要提议者。在DAIsm,三人在周老师的带领下完成了各类的智能合约以及DeFi、DApp的开发。

一个起点

ERC-2569是周朝晖老师提出,张华和谭粤飞深度参与的。这是一个提议利用SVG图像格式在以太坊上存储图像文件的EIP协议,而这个协议因为其创新特性,最终成为了ERC协议。

该协议可以将SVG图片永久存储在以太坊上,为同质化通证(FT)和非同质化通证(NFT)中涉及的图标、图片存储提出了链上存储的解决方案。这是第一个由中国大陆境内的团队创建并被以太坊收录的标准。

因为很早就开始接触并共同参与以太坊相关项目的深度开发。在合作过程中,谭粤飞和张华对彼此都有了很深的了解和认同,并因此形成了密切的合作关系,构建了这个团队的雏形。

自此,两人开始密切关注以太坊生态的各种动向,深入研究以太坊的各种技术,尤其是Solidity和Vyper开发及智能合约安全技术。

此后,两人还继续参与了一批DeFi项目的设计、构架及编码,对DEX、DAO、借贷、稳定币等合约的架构、实现、常见问题等都有丰富的经验。

值得一提的是,在2019年当Vyper语言刚兴起时,两人就开始用Vyper语言进行实践,并在深圳大学的区块链课程上向学生们介绍了Vyper语言。这在以太坊社区乃至加密货币社区里都是少有的实践。

2020年6月Compound发行治理通证掀起DeFi大潮后,两人敏锐地关注到DeFi应用的崛起会对业界尤其是安全领域带来巨大的挑战。因此便开始深入研究各个流行DeFi项目的源代码,跟踪每一次DeFi领域的重大事故,分析事故的原因,找到应对的解决方案,并在这个过程中积累了丰富的经验。

这些过往,成为了灵踪安全的起点。

从技术极客向审计者的角色转变

在DeFi不断发展的今天及未来,安全事故发生的频率必定越来越高,这在原本只是“技术爱好者”的两位看来是一个难得的契机,终于可以把自己的经验及技能付诸于项目了。

基于既有经验,他们为零踪安全设计了这样的审计过程。

据谭粤飞介绍,灵踪安全目前的主要审查技术包括两部分:

一是用自研发的系统工具对合约进行标准化审查;

二是工程师根据项目白皮书及描述对代码编写的逻辑和一些常见的风险进行审查。

工具的自动审查主要审查常见的代码漏洞(比如溢出、高风险的函数调用等);人工复审主要从逻辑层面分析代码的实现是否符合白皮书或项目简介中介绍的逻辑,以及代码实现的运行结果是否符合项目期望的结果。

在灵踪安全团队看来,智能合约的安全级别主要取决于两个因素:内部风险和外部风险。其中内部风险主要表现为合约自身的逻辑复杂度;外部风险主要表现为合约与第三方合约的交互程度。

“如果合约自身的逻辑复杂则牵涉的代码实现就复杂,需要理清的逻辑就繁杂,这里面就不可避免的会出现疏漏之处和潜藏的问题,这也就预示着合约本身的内部风险较大。如果合约与第三方合约交互频繁并且交互的合约众多,则引入的外部风险的可能性就较大。”谭粤飞解释到。

所以安全机构审查逻辑时会根据项目本身的运行机制核对代码的实现逻辑,以及审查代码的实现逻辑是否匹配项目期望的逻辑?能否达到项目预期的结果?是否会出现意料之外的行进路线?

这需要对代码实现有深刻的理解以及与项目团队的密切沟通。

审计的世界

谭粤飞对金色财经记者解释到:“现在DeFi乐高游戏堆叠得越来越复杂、合约的内部实现也越来越复杂、本合约与外部合约相互之间的关联和交互越来越紧密、频繁,就此合约的安全风险问题就会越来越突出,比如近日发生的Yearn Finance由于内部价格的逻辑问题而被攻击就是一个典型。”

因此,对于代码审查技术,灵踪团队认为,无论是用工具审查还是人工审查,归根到底都可以归结为专业和严谨。“这两方面一个是技术上的保证,另一个是态度上的保证。”

此外,从项目方来或交易所的角度来看,决定项目安全级别的根本要素来源于专业度、态度以及团队的初衷。

从灵踪安全的角度出发,目前对安全审计的概述就是:递进审核,全面覆盖。

从智能合约的设计来看,绝大部分DeFi合约出问题都出在资产转移、价格计算和权限控制上,因此可以从这些方面入手向上延展,找到这条路径上可能存在的薄弱环节加以防范。例如对闪电贷攻击的防范方法,要从预言机、账户授权上找寻方法。

专业和态度是安全的第一保障

“如果我们只是本着把项目的代码审完,提出对方在意的问题,而不为项目方更深远的考虑,机械的工作,是无法体现优势的。”谭粤飞说到,所以灵踪安全团队一直秉承着为项目方多想一步的态度。

对于灵踪安全来说,进入这个行业最大的优势就是对以太坊的了解、对智能合约的熟悉和对各类安全事故的精研以及理解。

灵踪安全团队描述到,因为技术的进步,早期出现的一些合约设计问题已经出现较少了,但重要的是对代码细节的打磨,例如对比Uniswap和其他DEX的代码,就能发现Uniswap在代码的编写上尤为细致,而大部分DEX代码则较为粗糙。

此外,项目方团队要尤其注意授权的设计。如果从代码审计的角度上看,有高级权限的存在会留下“后门”被操控的风险,但如果项目可以有效的通过去中心化治理来管理高级权限(高级权限目标是未来管理项目),例如将高级权限转交给DAO或多签钱包来则是可行的。

因此,在这个过程里不仅要有专业经验,还要有多样化的理解,例如上文提到的“高级权限”这些漏洞不仅是从代码去看,还要通过团队未来的规划去评定。

谭粤飞还表示:“如果团队的初衷是为用户奉上一份有价值的产品和服务,一定会像珍宝一样珍视自己的代码,小心地呵护它,在此基础上如果团队还有专业的积累和经验的沉淀就能主动避开各种常见的隐患和潜藏的问题,最后团队的严谨态度是对合约最后的把关。有了严谨的态度,团队对自己的产品一定会慎之又慎,反复打磨。”

灵踪安全的未来

DeFi发展迅猛,安全审计的市场还远达不到饱和。近来Heco大热,灵踪安全也在积极研究Heco和其链上的各种项目,并对TVL巨大的众多项目与业界同仁、Heco官方进行了深入探讨,积累了相当多的经验,以此,已为服务Heco上的项目团队打下坚实的基础。

在不断吸引人才的基础上,灵踪安全将布局所有对区块链生态有利的安全审计业务。但在DeFi火热的当下,团队的主要精力仍会聚焦于项目服务上,确保项目的合约安全和用户的资产安全,为中国领跑全球贡献自己的力量。

安全是金融发展的绝对前提,更是加密货币发展的绝对前提。2020年,整个DeFi赛道完成了数十倍的体量增长。DeFi等应用顺利发展实现的同时,更是代码安全的体现。留给灵踪安全的,是加密货币未来的星辰大海。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 数字资产助力未来十年打赢数字经济战 Next: 从Steemit、Voice到Clarion BM死磕“社交”

Related