欢迎光临爽报娱乐新闻 YesDaily.com




区块链项目如何打假?区块链代码审计

发布时间:2024-11-20 爽报 YesDaily.COM 234

  目前,区块链项目被认为是传销、诈骗的居多,因为我们看不到具体落地的场景与应用。许多发行虚拟货币的项目方,没有白皮书、项目团队,只靠一张嘴说,自己用了区块链技术,就可以融资千万、甚至上亿。



  而且,许多项目方在海外,而非在国内进行代币发行和交易所交易(国内监管政策也不允许上述行为)。众多投资者在投资过程当中,只能盲目地跟从市场变化与一些市场传闻,捕风捉影地去甄别区块链项目的真假。项目人员见不到,开发地无从查找,仅仅存在于虚拟世界与网络空间的区块链项目到底是真是假,我们该何以自处。


  那么,我们就拿这些项目方没有办法了吗?


  任凭他说自己用了区块链技术我们就相信吗?


  一个项目到底有没有用区块链技术?


  一个项目是否必须要使用区块链技术才能实现?


  一个项目是否使用了完美的智能合约代码?


  我们靠什么判断。


  区块链审计哪家强?中国链圈找蓝翔。


  一、区块链代码审计可以解决哪些问题:让黑客无孔可入


  随着BTC、ETH、EOS等项目的迅速发展,区块链项目已经进入了智能合约时代,但是智能合约自身的正确性和安全性却面临着巨大的问题。


  也就是说任何一个项目在使用区块链时都有可能走向歧途,不能完全保证代码的准确性。就像每个人在电脑打字时都会打错字一样,程序员在输入代码时也会存在笔误和错漏。


  而区块链中的基础:智能合约代码的开源性需要代码的高可靠性,这种可靠性要求100%的正确。



  差之毫厘,谬以千里。


  用专业的术语来说:


  类似比特币这样的代码全部公开,用智能合约代码存储在区块链上,与交易数据一样受到区块链的加密保护,要想修改智能合约代码需要掌握51%的算力,因此,智能合约代码的防篡改性得到大大提升。


  智能合约受到区块链本身保护,所以智能合约代码可以最大限度的开源和让人阅读。智能合约解决了可以公开代码并保障其安全的问题,但是代码的公开性使得黑客容易掌握代码的缺陷,进一步利用代码缺陷触发条件改变智能合约执行结果,使得区块链项目存在巨大的经济隐患。


  就像,我们在银行里转账,每一个账户的信息都是对的,转账才能够是正确的,你的财产才可以安全被保护,所以:区块链代码中一个字都不能错。


  二、区块链代码错误导致的严重后果


  区块链中的智能合约代码质量不好造成了许多严重的后果。


  目前来看,许多交易所和代币项目在上交易所之前没有经过区块链代码审计,造成了许多虚拟货币被盗窃的黑客事件。


  (一)SMT项目方与美国BEC代币的安全漏洞


  2018年4月25日凌晨,SmartMesh(SMT)项目方反馈发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。受此影响,火币Pro目前暂停所有币种的充提币业务。


  另据媒体报道,发现SMT与美图BEC代币存类似的安全漏洞,即可通过溢出攻击可以收到大量的代币。


  (二)美图BEC的异常交易漏洞


  2018年4月22日,美图BEC出现异常交易,据分析,BEC 智能合约中的batchTransfer批量转账函数存在漏洞,攻击者可传入很大的value数值,使cnt * value后超过unit256的最大值使其溢出导致amount变为0。


  (三)Parity多签名钱包漏洞


  2017年7月,Parity多签名钱包由于其智能合约代码中存在漏洞,被黑客盗取时价超过3000万美金的ETH。


  (四)黑客盗币漏洞


  2016年6月由于智能合约的一个错误,黑客从DAO偷走了价值5500万美元的ETH。


  代码的安全缺陷倒逼智能合约的代码自动审计



  三、区块链代码审计成就完美合约


  区块链智能合约通过代码建立一套“法律合同”,软件工程师创造一个完全无误差的代码是不可能的,程序员总存在疏忽的地方。红岸科技和国防科技大学的Ulord区块链项目研究团队对市面上的区块链智能合约进行了审计,他们的研究发现:


  对所有的程序员来说,写一个没有bug的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的执行路径或可能的漏洞。


  这是为什么要代码审计最重要的原因之一。


  区块链中的 “法律合同”是一项受解释和仲裁的约束,程序员很难去创造一个缜密的合约。在任意一个大的合约里,可能出现的文稿错误以及一些条款需要解释和仲裁。


  同时,软件工程师不是法律专家,反之亦然。起草一份好的合约需要各种各样的技能,不一定与编写的计算机程序兼容。


  因此,智能合约代码在一定程度上都可能存在安全隐患。传统的智能合约代码审计主要利用人工,依靠code reviewer阅读智能合约代码。人工代码审计最终还是依赖人的经验,代码审计效果不明显,针对目前ETH大量代币的智能合约,人工审计工作量大,难以高效的完成工作。


  在区块链领域从事代码审计业务的项目公司较少,目前每个代币在上交易所之前,其区块链智能合约代码由交易所进行审察和判定,但交易所有时并不能完全有效地判断合约是否完美。


  智能化代码审计,利用计算机进行稳健性检验是当前代码审计最重要的方式,掌握该项技术标准的国内公司并不多。


  但,区块链代码审计的重要性不言而喻,区块链世界本身是相当安全的,但是由于人为撰写代码的问题,不可能完美,必须加强代码有效性的识别。


标签:  
0