杭州列举网 > 商务服务 > 其他商务服务 > 代码审计问题有待重视
杭州
[切换城市]

代码审计问题有待重视

更新时间:2020-10-09 14:54:29 浏览次数:96次
区域: 杭州 > 淳安
代码审计问题有待重视
目前,区块链项目被认为是、的居多,因为我们看不到具体落地的场景与应用。许多发行的项目方,没有白皮书、项目团队,只靠一张嘴说,自己用了区块链技术,就可以融资千万、甚至上亿。

而且,许多项目方在海外,而非在国内进行代币发行和交易所交易(国内监管政策也不允许上述行为)。众多投资者在投资过程当中,只能盲目地跟从市场变化与一些市场传闻,捕风捉影地去甄别区块链项目的真假。项目人员见不到,开发地无从查找,仅仅存在于虚拟世界与网络空间的区块链项目到底是真是假,我们该何以自处。
那么,我们就拿这些项目方没有办法了吗?
任凭他说自己用了区块链技术我们就相信吗?
一个项目到底有没有用区块链技术?
一个项目是否必须要使用区块链技术才能实现?
一个项目是否使用了完智能合约代码?
我们靠什么判断。

一、区块链代码审计可以解决哪些问题:让无孔可入
随着BTC、ETH、EOS等区块链项目的迅速发展,区块链项目已经进入了智能合约时代,但是智能合约自身的正确性和安全性却面临着巨大的问题。
也就是说任何一个项目在使用区块链时都有可能走向歧途,不能完全保证代码的准确性。就像每个人在电脑打字时都会打错字一样,程序员在输入代码时也会存在笔误和错漏。
而区块链中的基础:智能合约代码的开源性需要代码的高可靠性,这种可靠性要求100%的正确。

差之毫厘,谬以千里。
用专业的术语来说:
类似这样的代码全部公开,用智能合约代码存储在区块链上,与交易数据一样受到区块链的加密保护,要想修改智能合约代码需要掌握51%的算力,因此,智能合约代码的防篡改性得到大大提升。
智能合约受到区块链本身保护,所以智能合约代码可以大限度的开源和让人阅读。智能合约解决了可以公开代码并保障其安全的问题,但是代码的公开性使得容易掌握代码的缺陷,进一步利用代码缺陷触发条件改变智能合约执行结果,使得区块链项目存在巨大的经济隐患。
就像,我们在银行里转账,每一个账户的信息都是对的,转账才能够是正确的,你的财产才可以安全被保护,所以:区块链代码中一个字都不能错。

二、区块链代码错误导致的严重后果
区块链是建立在代码之上,代码是由人编写的,那么区块链也会存在一些问题——代码漏洞。
如果区块链存在代码漏洞,一旦被发现,那么。先来回顾一下TheDAO事件。
DAO全称是Decentralized Autonomous Organization,即“去中心化的自治组织”,其中TheDAO则是大一个,被誉为“DAO之母”。TheDAO是通过智能合约技术创建并运行在以太坊上的智能合约,它是由区块链物联网公司Slock.it发起的一个众筹项目。

该众筹合约一度融资众筹达到1.5亿美元,每个参与众筹的人向众筹合约投资以太坊,并且根据出资额获得相应的DAO代币,出资人具有审查项目和投票表决的权利。
但是,TheDAO合约的源码中存在着一个函数调用的漏洞,使得攻击者可以将TheDAO资产池中的以太币非法转移给自己。该问题被发现后,TheDAO监护人立即提议社区发送垃圾交易阻塞以太坊网络,减缓TheDAO资产被转移出去的速度。
于是,2016年7月,以太坊修改了以太坊的源码,在区块高度1920000强行把TheDAO及其子DAO的资金转移到了另外一个合约地址,通过这种方式夺回被攻击者控制的DAO合约中的币。
结果,导致以太坊出现分叉,变成了两条链:一条为原始的区块链(ETC),一条是分叉出来的新链(ETH)。
正如《白话区块链》一书提到,“智能合约还处于发展的初始阶段,区块链应用有很好的创新,很好的技术机制,但当复杂度提高以后,建立在上面的应用也会伴随着各种风险。”
作为区块链2.0时代的典型代表,以太坊是运行着智能合约的基础平台,可被视为去中心化应用的“操作系统”。
但是,随着以太坊上面的各种应用越来越多,区块链的代码漏洞会得到凸显,因此代码漏洞必会成为区块链发展大的阻碍之一。

三、区块链代码审计成就完美合约
区块链智能合约通过代码建立一套“法律合同”,软件工程师创造一个完全无误差的代码是不可能的,程序员总存在疏忽的地方。红岸科技和国防科技大学的Ulord区块链项目研究团队对市面上的区块链智能合约进行了审计,他们的研究发现:
对所有的程序员来说,写一个没有bug的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的执行路径或可能的漏洞。
这是为什么要代码审计重要的原因之一。
数字货币交易所的前提是要保障交易者的资金安全,所以代码审计必然是需要做的,这样交易所才能够更好的服务每一位来自区块链的小伙伴们。

区块链中的 “法律合同”是一项受解释和仲裁的约束,程序员很难去创造一个缜密的合约。在任意一个大的合约里,可能出现的文稿错误以及一些条款需要解释和仲裁。
根据成都链安(13og37o6i65)在代码审计方面的经验,个别项目方在进行代码审计时,未提供完整的项目相关资料,使得代码审计无法发现一些业务漏洞,导致上线后损失惨重。
杭州其他商务服务相关信息
注册时间:2020年03月27日
UID:681294
---------- 认证信息 ----------
手机已认证
查看用户主页