本文由“Fairyproof Tech”原创,授权“金色财经”独家首发,转载请注明出处。
在Fairyproof Tech的审计报告中,我们会交代对每一份合约的审计流程。大体上来说,这个流程主要包括两个步骤:一是标准化审计步骤,二是人工审计步骤。
实际上这也是目前业内比较通行的步骤。不同审计机构可能在审计流程中的具体步骤和细节上存在差异,但归纳起来也都会包含这两个大的步骤。
在Fairyproof Tech前面发布的文章中,我们特别强调过智能合约和传统工业流水线上批量产出的标准化产品不同,它不是按流水线、标准化作业生产出来的,而是人为编写出来的。即便是照抄现有的合约,合约的编写者通常也会在照抄的合约上做一些小的改动。因此,两份合约哪怕是功能上一样、逻辑一样、特点一样,在具体的编写方式上都会存在差异。而这个差异往往就是漏洞、风险的来源。但这个差异又很难用机器大工业中常见的标准工具检测出来。但如果无法用工具检测,单凭人力检测,不仅工作量大,而且效率低,并且时常还会出人为方面的错漏。这看似矛盾的两方面交织在一起,一直贯穿着整个审计过程的始终,也是推进行业前进和革新的根本动力。
独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,5月21日,Bakkt比特币月度期货合约单日交易额为2467万美元,同比上升31%,未平仓合约量为920万美元,同比下降6%。[2020/5/22]
对Fairyproof Tech来说,我们对合约的检测一方面会尽量使用工具进行验证以提高效率并减轻人为验证时可能出现的差异和错漏;而另一方面我们又特别强调人工检测的重要性,并强调人工检测对合约质量的最后把关,因为人工检测不仅是用来检测工具无法检测出来的问题,更是用来预判和发现业界未曾记录的风险、做到防患于未然的保证。
Fairyproof Tech自成立以来便一直致力于对合约审计标准化工具的使用和开发。在这方面,我们大胆借鉴了业界前辈已经积累的经验,对目前市面上已经存在的合约检测工具(如Security、Mythril、Oyente、ECF、Maian、Lem等)都进行了细致的研究和测试。但我们发现这些工具或多或少都存在一定的局限,并且在我们具体的使用过程中还存在各种不便之处,因此我们也在前辈研发的基础上大力开发自己的自动化检测工具,并将我们的工具投入到合约的审计工作中。这一方面提高Fairyproof Tech的工作效率,另一方面将我们不断积累的经验优化、集成到这些工具中,让它们更好地服务于Fairyproof Tech的合约审计。
独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,3月5日,Bakkt比特币月度期货合约单日交易额为985万美元,环比下降11%;未平仓合约量为929万美元,环比上升13%。[2020/3/6]
对标准化检测工具的研发及推进将始终是Fairyproof Tech开发工作的重点和必须攻克的难点。我们认为这也是业界未来发展的方向和制高点。把握这个方向、占据这个制高点不仅对Fairyproof Tech本身的发展,更对整个行业的发展都将起到重要的推进作用。
对工具的研发和使用是Fairyproof Tech工作的重点,而对人工审查的强调及对审计工程师的培养、培训则是Fairyproof Tech工作的重心和核心。
Fairyproof Tech认为人工审计不仅是对工具审计的查漏补缺,人工审计所积累的经验和技能也是改进和提升工具最好的素材和动力,人工审计本身更是对整个审计过程的最后把关。所以无论从哪方面说,人工审计的重要性都不言而喻。
独家 | 加密货币市值前十币种仅一只上涨 XTZ领跌:金色财经数据显示,截止当前,加密货币市值前十币种仅一只上涨。近24小时涨跌情况分别为:BTC(9653.23美元,-2.96%)、ETH(264.99美元,-3.69%)、XRP(0.2685美元,-5.18%)、BCH(376.55美元,6.34%)、BSV(276.49美元,-6.03%)、LTC(75.29美元,-5.56%)、USDT(1.00美元,+0.33%)、EOS(4.08美元,-6.69%)、BNB(22.07美元,-3.91%)、XTZ(3.17美元,-9.62%)。[2020/2/25]
人工审计所进行的是非标准化的活动。所谓的非标准化活动就是因人而异,难以绝对统一。因为每个审计工程师都有自己的习惯和自己的思路。在这种情况下如何既发挥人工审计的灵活性和创造性又避免人工审计中人为因素导致的错漏则是Fairyproof Tech在人工审计过程中关注的重点和难点。
独家 | 昨日新增188个代币型智能合约 FoMoKiller long风险最高 ?:第三方大数据评级机构RatingToken最新数据显示,2018年8月19日全球共新增1375个合约地址,其中188个为代币型智能合约。
?
在RatingToken同时发布的“新增代币型智能合约风险榜”中,FoMoKiller long(FoMoKiller)、Okami PK Soon(tm) Edition(Okami)和Partners.RPK.Capital_USD_2.0(RPK_USD_2.0)风险排名前三,其中FoMoKiller long(FoMoKiller)检测得分1.5,存在22个安全风险。此外,此风险榜TOP10的其它合约还有BitLion Token(BOON)、DECENTURION Classic(DCNT)、Render It Coin(RNDIT)、Moonlight Token(LX)、zxl(朱学龙)、Yan Bo Coin(YBC)和
Scepter Advanced Blockchain Enterprise Rewards(SABER)。如需查看更多智能合约检测结果,请点击原文链接。[2018/8/20]
我们对此采取的主要措施是流程统一和交叉审计。这两点也是Fairyproof Tech在人工审计这个大步骤中重点进行的两个细分步骤
独家 | “新增代币型智能合约风险榜”Top10出炉:第三方大数据评级机构RatingToken最新数据显示,2018年8月15日全球共新增1536个合约地址,其中264个为代币型智能合约。据RatingToken团队发布的“新增代币型智能合约风险榜”显示,The Winner Fomo3D Long(THEWINNER3D)、imfomo Long Official(imfomo)和SuperCard(SuperCard)风险最高,检测得分分别为1.50、2.00和2.00。该风险榜TOP10的还包括:CoinLoan CryptoStock Promo Token(CLT_CS)、ChainDrawings(CD)、ABVToken(ABV)、KPayCoin1(KPC1)、 中华民族正统证明币、GreenEnergyCoin(GEC)和贸联币(GTD)。新增代币型智能合约风险榜数据依据RatingToken数据库,最终解释权归RatingToken官方所有。如需查看更多智能合约检测结果,请查看原文链接。[2018/8/16]
所谓的流程统一就是我们为合约人工审计的流程制定了一个统一的框架和流程,这个框架和流程确保我们每个审计工程师都要延这个大方向走,不出方向性错误,这也是企业战略中常说的目标一致、路径一致,在合约审计中,我们也需要这种一致。
在这种一致框架和流程的规制下,每个审计工程师可以发挥自己的主观能动性和创造性,按自己的习惯和特点审计合约,我们不予具体地干预。
但是即便方向一致,每个工程师在具体的进度、能力、判断上还是会出现差异,而这些差异就有可能导致风险、漏洞逃过审计。
这时我们就需要第二个手段----交叉审计来防范这个问题。
所谓的交叉审计就是一份合约我们会由多个工程师审计。这个过程是将不同工程师的不同的思路和理解进行汇总的过程,也就是我们常说的“集思广益”。通过这种方式,我们能尽量大地覆盖风险的范围和种类,尽量小地减少个人理解偏差在审计中造成的误判。
所以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组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
SAT,是Satoshi的简写,是记录BTC的最小数量单位。因为Satoshi就是比特币创造者Satoshi Nakamoto(中本聪)中的“聪”字,所以SAT的中文名叫做“聪”.
1900/1/1 0:00:00回撤,是我们在看币价行情文章时,经常看到的一个词语。其中最大回撤率也是行情分析中的一个重要风险指标,因此有必要详细来解释一下什么是回撤.
1900/1/1 0:00:00原文作者:Todd我看很多朋友经常混淆各种「分叉」,以及 ETH PoW 为什么从分叉角度是不太正统的。今天想科普个小概念。区块链,顾名思义,就是很多个区块串成的链条.
1900/1/1 0:00:00ENS,是Ethereum Name Service的缩写,中文名字叫“以太坊域名服务”,它是一个基于以太坊区块链的可扩展,分布式和开放式命名系统,主要服务于人类可读的映射名称.
1900/1/1 0:00:00什么是“四年减半”?比特币作为虚拟数字货币的开创者,大约每10分钟会“长”出一定数量的新比特币,直到总数达到2100万个.
1900/1/1 0:00:00在以太坊智能合约开发中,合约调用交易经常发生。合约调用交易包括三种,创建合约交易,调用合约交易和直接向合约地址转帐的交易.
1900/1/1 0:00:00