首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我们在谈论区块链安全时,我们在谈论什么?

只有在安全问题上防微杜渐慎之又慎,被寄予厚望的区块链技术才能越走越远。

宇宙就是一座黑暗森林,每个文明都是带枪的猎人,像幽灵般潜行于林间,轻轻拨开挡路的树枝,竭力不让脚步发出一点儿声音,连呼吸都必须小心翼翼,他必须小心,因为林中到处都有与他一样潜行的猎人,如果他发现了别的生命,能做的只有一件事,开枪灭之。

--《三体》

当我们谈论“区块链安全”的时候,我们到底在谈论什么?

去中心化、不可篡改,这些堂而皇之的名词从每一个人的嘴中蹦出来,仿佛区块链的安全性是不证自明的真理;自诩学识渊博者还会搬出“茴”字的四种写法,从SHA到ECC,听者无不叹服。区块链仿佛从诞生的一刻起就被视为固若金汤的良药。然而现实是残酷的,无论是比特币还是以太坊,黑客的身影无处不在,数字货币被盗的新闻屡见报端。

区块链系统的安全性并不单取决于区块链算法本身,从代码实现到合约逻辑,再到配套设施,当区块链技术从白皮书中走出来,落地生根成为现实中的技术时,要面临的问题就多得多。而根据木桶理论,一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。

密码!密码!

在区块链的世界里,每一个人的身份都不过是一段数字,密码学上称之为密钥,一旦有人获取了你的密钥,他就可以冒充你的身份从事任何事情,包括花光你的每一分钱。

根据估算,地球大约由1050个原子组成,而整个宇宙不过由1080个原子组成而已,猜中密钥的概率和猜测宇宙中的一个原子的概率相差无几。

不过在区块链中,仅仅有密钥是不够的,为了能够实现账户之间相互转账,还需要根据密钥生成公钥和钱包地址,上面所说的ECDSA就是从密钥生成公钥的算法。公钥,顾名思义,在向外转账时会被公开,那从公钥推理出私钥又有多难呢?

智能合约

智能合约的出现使得区块链有了无穷无尽的可能性,却也带来了数不胜数的漏洞,以至于莱特币创始人李启威斥责以太坊为“黑客的天堂”,正所谓“成也萧何,败也萧何”。

根据 BCSEC 的统计数据,2018 年上半年区块链行业因智能合约漏洞而引发的经济损失高达11.6 亿美元,占区块链安全问题的 54.66%,成为区块链安全的头号重灾区。

2016年6月,攻击者利用区块链业界此前最大的众筹项目TheDAO智能合约中splitDAO函数的一个漏洞,将资金从The DAO项的资产池中源源不断地分离出来,转移到自己的子DAO中,在短短的三个小时内,300多万以太币被转出The DAO 资产池,以太坊也因为这件事故被迫分叉。

Code is Law,和传统软件开发中的迭代更新不同,为了保证代码的可信性,以太坊中的合约一旦部署就再没有修改的可能。我们当然不能期智能合约一旦发布就可以完美无瑕地运行下去,一行有缺陷的代码可能就会将整个合约推向万劫不复之地。

如果需要升级智能合约,就要把当前的智能合约进行快照,然后在部署新的智能合约之后把旧合约的快照转移到新合约,这个过程会影响用户对于项目的信心。在发现漏洞之时,究竟是壮士断腕部署新的合约,还是置之不理希望能一直隐瞒下去,是每一个项目开发者将会面临的两难选择。

“黑帽子”与“白帽子”

值得庆幸是,区块链安全问题引来的越来越多人的关注。当黑客,也就是“黑帽子”们在利用漏洞攫取利润之时,一些安全专家和技术极客站到一起,成为了区块链安全的维护者和捍卫者,他们努力提前发现漏洞并通知项目方,以防被“黑帽子”利用,他们就是区块链界的“白帽子”

2018年3月20日,慢雾科技披露以太坊黑色情人节盗币事件,曝光长达两年之久的自动化盗币行为,其造成的损失达近5万多枚以太币及数量巨大的各类代币。

2018年5月29号,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS的一系列高危安全漏洞。经验证,其中部分漏洞可以在EOS节点上远程执行任意代码,即可以通过远程攻击,直接控制和接管EOS上运行的所有节点。

一度充斥着“造富神话”的数字货币市场趋凉,以区块链技术为噱头的泡沫渐渐消逝,安全的问题也一步步凸显出来。安全是技术发展的根基,一行代码葬送一个项目的事情频频发生,向我们敲响了警钟。只有在安全问题上防微杜渐慎之又慎,被寄予厚望的区块链技术才能越走越远。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180919A1YTJC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券