区块链:独家 | 如何读审计报告之每个风险等级的实际案例

前面我们和大家介绍了Fairyproof Tech对风险等级的划分,有读者看了一定会好奇:每种风险分别都是什么样的呢?

在这篇文章里我们就每个等级的风险具体举出一些案例来说明致命风险、高危风险、中度风险和低风险分别是什么样的。

致命风险是所有风险中等级最高的、最危险的,它需要项目方即刻解决,不能拖延。

这类风险最常见的就是合约中一些明显可能导致编译无法成功、或者在逻辑中出现明显错误导致代码的运行逻辑无法正确完成的地方。这种风险不处理,项目方的合约几乎不可能通过编译运行或不可能正常运行。

举例来说,在合约实现中,变量赋值类型的不匹配,编译器版本定义导致的编译问题等都属于这类风险。

独家 | 欧科云链李炼炫:央行下发的区块链金融应用评估规则,消除了潜在非市场因素的影响:金色财经报道,对于“央行近日下发区块链金融应用评估规则,银行、券商、保险公司等金融机构进行区块链技术金融应用的产品设计、软件开发、系统评估,迎来统一标准。这会对传统金融带来怎样的改变?对于区块链行业有怎样的推进作用?”记者提问,欧科云链研究院首席研究员李炼炫接受采访时表示,金融行业属于国民经济的核心,强调风险防范。央行下发的这份文件,主要是针对区块链技术标准和规范的制定,在产品设计、软件开发和系统运营都给出了具体的技术指标、评估方法和标准,这有利于防止出现技术和运营风险。当然,这份文件也消除了潜在非市场因素的影响---只要满足《规则》的相关规范和标准,那么该技术应用是可以继续推进的。

对区块链行业而言,目前区块链技术尚处于发展初期,尚未形成统一的标准和规则,而央行的这份文件是在国内甚至是全球的第一份区块链技术标准和规范文件;制定统一的标准规范,可以促进区块链行业的健康发展。[2020/7/22]

由于Fairyproof Tech在后期的报告中已经很少把这类风险写在报告中,而是一旦发现就要求项目方立即解决,所以在我们后期的报告中很难直接看到这类风险,只在我们早期的报告中有这类风险的罗列。

独家 | Bithumb内部人士回应收购BitMax合约:没有收购只是财务投资:金色财经消息,此前有媒体报道,由于Bithumb缺少合约系统,Bithumb将收购BitMax合约。对此事金色财经独家采访了Bithumb内部人士。内部人士称,并没有收购,目前只是财务投资,bithumb投资很多,只是被过度宣传了。[2020/2/25]

高危风险在危险程度上仅次于致命风险,它极有可能给项目带来严重问题,也需要项目方解决。

这类风险最常见的就是合约实现中的逻辑错误,比如计算错误等。

举例来说,质押挖矿是很多DeFi合约中都有的功能,质押挖矿的基本逻辑是用户将某个数字资产抵押进矿池,然后合约会根据用户抵押的资产占总抵押资产的比例来核算用户该拿到多少奖励。如果这个比例计算错误或者实现有误,用户无法拿到正确的奖励,就会严重影响项目的声誉。

独家 | 犇睿资本创始人褚康:比特币行情有特定的运行规律 不受中国股市左右:针对“A股走势对比特币行情的影响”问题,2月5日,犇睿资本创始人褚康接受金色财经独家采访时表示,受疫情影响,鼠年首个交易日,三大指数开盘集体下跌,上证综指跌8.73%,深成指跌9.13%,创业板指跌8.23%。三大指数的集体下跌带动包括比特币在内的多数币种的一波急拉与下砸,但是比特币本身有自身独特的走势特点,比如春节假期期间录得30%以上的涨幅,大幅度跑赢上证指数。这次比特币受疫情影响的波动从一定层面上表现出了比特币是有资金流入的,无论是否具有避险属性,还是大宗商品的投资投机属性,比特币都有特定的运行规律。这个规律,不是中国股市来左右的。当然,短期的涨幅必定会带来一定的回调,但幅度肯定不会很大。并且有望在减半利好和市场流动性增加的推动下,突破下降趋势线,再度迎来上涨。[2020/2/5]

高危风险现在也很少会被我们罗列在报告中,而是我们一旦发现这类风险就会要求项目方立即修正。读者可以在我们早期出具的报告中看这类风险的详细举例。

独家 | 张议云:USDT被做空导致比特币大涨 其地位暂时无法被撼动:针对今天USDT导致比特币大涨一事,金色财经特采访到极豆资本创始人张议云,张议云表示:USDT面临着其他稳定币的竞争,通过做空USDT,吸收足够筹码,提高市场占有率。今天比特币大涨很大原因是其他稳定币做空USDT,让很多投资者选择将持有的usdt置换为比特币,使其保证资产稳定,所以造成短时间内比特币需求量增多,价格大幅度上涨。 USDT作为较早的稳定币,锚定美元的价值一直存在,被各大主流交易所使用,短时间内的市场做空行为无法被撼动USDT的地位。[2018/10/15]

中度风险相较于高危风险等级又次一级,它有可能给项目带来潜在问题,最终还是要项目方解决。

这类风险比较常见的有管理员权限控制的问题。

比如在DeFi协议中通常都会有发行代币的功能。而通常控制代币发行的地址就是管理员,所以在这类合约中,管理员的权限是相当大的。在一些代码实现中,由于项目功能复杂以及运维方面的需要,管理员不仅自己有权决定是否发行代币甚至还有权力决定是否赋予其它的地址这样的权力,让其它地址也能发行代币。

这就产生了安全隐患:如果项目管理员的权限被盗或者管理员自己出现道德风险、滥用这个权力,那代币的发行就不受控制了。

这类风险是由合约逻辑引入的,但逻辑的实现又不得不如此,并且有时在合约部署初期,为了让项目能高效运转,还要保持这种管理员权限运作一段时间,这都给项目带来了潜在的风险。

项目方带着这种风险进行操作也是小心翼翼、如履薄冰,它就像达摩克里斯剑一样悬在项目方和用户的头顶,随时有掉落的风险。

对这类风险我们会强烈建议项目方在运作一段时间后,将管理员权限转交社区(比如DAO)或者多签钱包,以规避这类风险。

低风险是所有风险中级别最低的,通常它表现为一些细节问题、警告信息等,暂时来说这个等级的问题可以不用解决,但项目方最后在未来某个新版本中解决这类问题。

这类风险涉及的细节和具体问题比较零散和琐碎,我们常见的有函数或变量命名方面的问题。

对函数或变量的命名如何通常普通用户是不会感知的,但对项目方自己维护代码或其它(比如第三方)合约调用这些函数在某些情况下会产生一定困扰。

通常函数或便令命名出现的问题就是“词不达意”,即命名和它实际在合约中起的逻辑作用不同,比如一个函数是要设置某个变量的值,我们通常会将这个函数命名为“setXXX”(设置XXX),但由于笔误或其它原因,项目方将其命名为“getXXX”(读取XXX),这就让函数的名字和它的真实作用读起来南辕北辙了。

这样的代码时间一久,当项目方自己再回头来维护或修改时,如果不仔细看代码就会误解函数的功能,从而错误地调用它。

因此Fairyproof Tech对这类风险也建议项目方在方便的时间修改。

作者:

Fairyproof TechCEO 谭粤飞

美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。

关于Fairyproof Tech:

Fairyproof Tech科技有限公司是一家专注区块链生态安全的公司。Fairyproof Tech科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。

团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。

团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:31ms0-1:671ms