宇宙就是一座黑暗森林,每个文明都是带枪的猎人,像幽灵般潜行于林间,轻轻拨开挡路的树枝,竭力不让脚步发出一点儿声音,连呼吸都必须小心翼翼,他必须小心,因为林中到处都有与他一样潜行的猎人,如果他发现了别的生命,能做的只有一件事,开枪消灭之。
——《三体》
当我们谈论“区块链安全”的时候,我们到底在谈论什么?
去中心化、不可篡改,这些堂而皇之的名词从每一个人的嘴中蹦出来,仿佛区块链的安全性是不证自明的真理;自诩学识渊博者还会搬出“茴”字的四种写法,从SHA到ECC,听者无不叹服。区块链仿佛从诞生的一刻起就被视为固若金汤的良药。然而现实是残酷的,无论是比特币还是以太坊,黑客的身影无处不在,数字货币被盗的新闻屡见报端。
区块链系统的安全性并不单取决于区块链算法本身,从代码实现到合约逻辑,再到配套设施,当区块链技术从白皮书中走出来,落地生根成为现实中的技术时,要面临的问题就多得多。而根据木桶理论,一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。
密码!密码!
在区块链的世界里,每一个人的身份都不过是一段数字,密码学上称之为密钥,一旦有人获取了你的密钥,他就可以冒充你的身份从事任何事情,包括花光你的每一分钱。
密钥的安全性如何呢?以ECDSA算法为例,每一个密钥由256位01组成,要是随机猜测的话,猜对的概率只有1/115792089237316266660066408626602828282606886466848266086008062602462446642046,大概是1/1077。
根据估算,地球大约由1050个原子组成,而整个宇宙不过由1080个原子组成而已,猜中密钥的概率和猜测宇宙中的一个原子的概率相差无几。
不过在区块链中,仅仅有密钥是不够的,为了能够实现账户之间相互转账,还需要根据密钥生成公钥和钱包地址,上面所说的ECDSA就是从密钥生成公钥的算法。公钥,顾名思义,在向外转账时会被公开,那从公钥推理出私钥又有多难呢?
如果算法的实现不出纰漏的话,即便是最有效的攻击方法,其难度依然是指数级的。
但是,这并不意味着我们可以高枕无忧了。2014年底爆发了一批网络钱包失窃案件,究其原因,就是在随机数生成器的实现没有真正“随机”。如今,量子计算机的崛起带来了新的挑战,如果数千比特位量子计算机一旦问世,包括ECC在内的诸多算法都可能沦为虚设。
51%
丘吉尔说,民主并不是什么好东西,但它是我们迄今为止所能找到的最好的。
区块链的世界里也是如此,谁掌握了51%的话语权,谁就可以肆意更改自己的交易记录,发动“双花”攻击。不同的共识机制对于话语权的定义有所不同,在PoW中为算力,而在PoS中则是持有Token的数量。
51%攻击绝不是天方夜谭。以比特币为例,随着金钱的腥味吸引了无数科技厂家入场,挖矿变成了职业玩家的战场,排名前三的矿场垄断了全网接近半的算力。在Crypto51的网站上,我们可以找到对各种数字货币发起51%攻击所需要的成本,对价值3.5亿美元的Bytecoin发动一个小时算力攻击,成本仅需要257美元,这些数字并没有想象中的遥不可及。
来源:https://www.crypto51.app,
截图时间:2018/9/12 9:08
阻止51%攻击的最后一道防线,便是攻击成功很可能导致数字货币的价值归零,从长远角度看攻击者反而会蒙受巨大的损失。可是,Verge再三受到攻击,比特黄金也难以幸免,频频发生的51%攻击面前,最后一道防线显得疲弱无力。
智能合约
智能合约的出现使得区块链有了无穷无尽的可能性,却也带来了数不胜数的漏洞,以至于莱特币创始人李启威斥责以太坊为“黑客的天堂”,正所谓“成也萧何,败也萧何”。
根据 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上运行的所有节点。
一度充斥着“造富神话”的数字货币市场趋凉,以区块链技术为噱头的泡沫渐渐消逝,安全的问题也一步步凸显出来。安全是技术发展的根基,一行代码葬送一个项目的事情频频发生,向我们敲响了警钟。只有在安全问题上防微杜渐慎之又慎,被寄予厚望的区块链技术才能越走越远。
参考资料:
工信部、起风财经《2018中国区块链产业白皮书》
腾讯安全、知道创宇《腾讯安全2018上半年区块链安全报告》
国家互联网金融安全技术专委员、上海圳链公司《2018区块链技术安全概述》
Filippo Valsorda Exploiting ECDSA Failures in the Bitcoin Blockchain
Nicolas T. Courtois Bitcoin Security: Cryptographic Risks
Steve Giguere Blockchain security and the cryptocurrency boom, Part 1: Theory
360网络安全响应中心《360公司Vulcan(伏尔甘)团队披露区块链平台EOS严重漏洞》
慢雾科技《慢雾科技:区块链黑暗森林里的安全庇护所》
伍旭川、秦谊《The DAO 事件,区块链征途上的一场暴风雨》
安全牛《什么是智能合约漏洞?》
odaily星球日报《2018年区块链技术安全服务行业报告》
算力分布参考自https://www.cbtc.com
51%攻击成本参考自https://www.crypto51.app
宇宙原子数参考自https://www.zhihu.com/question/63852727/answer/213715847
图片来源:
https://www.crypto51.app
https://pixabay.com