“苍穹之下”的区块链真的安全吗?
祸兮福之所倚,福兮祸之所伏。当下大热的区块链技术,对于我们来说究竟是福音,还是翻涌着的无尽泡沫。当《IT时报》记者深入采访发现,曾经标榜“去中心”的区块链技术正在以惊人的速度走向“中心化”,未来的超级计算工具也许可以攻破区块链底层的最后一道防线“私钥”,智能合约可能就像你刚提的一辆新车,随时准备整出点小毛小病……
如果上帝造人也有瑕疵,那么正在成为许多人心中信仰的、茫茫苍穹之下的区块链真的安全吗?
“代码即法律”的智能合约
智能合约是目前区块链技术最常见、最普遍的应用之一。然而,当人们签署下一份亮闪闪的区块链智能合约时,最时髦的技术背后未必代表着安全。
“你签了一个合同,没看清楚条款,底层公链会保证这个合约的正常执行,但是你还是被骗钱了。”曾就职于腾讯的技术人员黄毅如是形容多数人对这份智能“合同”的无奈,虽然智能合约代表着更安全的技术模型,但智能合约层语言代码漏洞危害却不易被发现。
开源系统决定了在进入合约前,签约者就可以看到代码,可惜,智能合约程序语言并不是每个人都能读懂的。在依靠程序语言强制执行的合约中,代码就是法律。
尽管由人们对代码漏洞甄别能力导致的问题频发,但智能合约身上潜在的隐患不止于此。复杂的编程语言,带来了复杂的系统以及难以预知的风险。借以太坊为例,以太坊的编程语言Solidity与其他语言相比较为复杂,在其智能合约相互调用时,以太坊自身的程序状态或控制程序的功能很可能丢失掉。“就像太阳风暴到来时,会切断地球上的无线通信设备,”众享比特产品总监陈鸿刚告诉《IT时报》记者,“这个情况在以太坊智能合约中也会出现,造成不同节点之间智能合约无法通信。”
陈鸿刚举例,就像在同样品牌的汽车中,低配的汽车常常故障更少,顶配汽车反而系统复杂易出故障。在区块链的世界里,比特币就是最低配的汽车,以太坊像一个高配的汽车——比特币的代码简单,至今都还没出现过代码上的问题;以太坊就不同了,各个函数之间的调用和跳转十分复杂,而它的开源特性导致只要出现漏洞,黑客就会利用漏洞进行相应攻击。
“人祸”是第一大威胁
2016年6月,区块链业界最大的众筹项目TheDAO遭到攻击,导致300多万以太币资产被分离出TheDAO 资产池,将近1亿美元资产被攻击;2017年7月,以太坊钱包Parity爆出极其严重的漏洞,导致15万个以太币,近3200万美元被盗;2017年11月,Parity再出新问题,出现“多重签名(multi-signature)”漏洞,将近1亿美金资金被冻结……这些漏洞都是编写者编写代码时不严谨,以至于漏洞被黑客利用所致。
众享比特CEO严挺认为,自己公司在招聘区块链技术人员时,难度不亚于招聘AI技术人员,基本上是“百里挑一”。对此,陈鸿刚表示认同,区块链对程序员的要求非常高,仅产品设计人员,就需要精通密码学、P2P通信技术、网络安全技术、数据库和公式算法等多方面知识,同时具备将技术与业务结合的能力。
陈鸿刚认为,程序员的失误是区块链重要的漏洞来源,一个区块链项目的靠谱与否,基本取决于程序开发者的技术水平,而传统互联网行业的技术人员在一些方面其实很欠缺。
去中心化的“罗生门”
区块链的本质在于建立多方信任,而落到技术上就是处在区块链中间层的共识算法。共识算法决定谁有权利更改各节点上的记录,现有的共识算法中,一种是以比特币为代表的挖矿机制(POW)——谁的算力大就信任谁;另一种则是投票机制(POS)——谁的比特币多就信任谁。
需要了解的是,算力即矿机的计算能力,衡量尺度是每秒矿机的整体运算次数。对于矿机来说,单位时间内尝试的次数越多,算力越大,解锁的时间也就越短,目前比特币全网算力约为24.42 EH/s,相当于180万台S9矿机的算力。
早在2016年,外媒Business Insider就发布全球比特币矿池10强排名,中国矿池占据5席。而据2018年3月初的最新数据显示,全球前四大矿池均来自中国,仅四大矿池控制的算力就已经达到全球的55%,中国生产和分销了全球70%至80%的矿机。截至2018年4月4日,AntPool矿池算力已达3737.95kPH约合3.7EH,而比特币全网算力为 24.42 EH/s,仅国内AntPool一家矿池,就已经占据全世界约15%的算力。
理论上,如果全球排名前列的矿池联合起来,就可以超过50%算力对网络进行攻击,把底层账本推翻重来,变相形成一种对某个区块链的“寡头垄断”,甚至为所欲为。
区块链这种允许“自戕”的共识机制越来越使人感到不安。“曾经去中心化的区块链,正在以极快的速度实现中心化。这太可怕了!”一位行业人士感叹。
可能被量子计算机攻陷的“密钥”
“区块链最底层数据结构存在密码算法的漏洞!”陈鸿刚毫不避讳地告诉《IT时报》记者,这个漏洞非常重要,牵扯到整个区块链底层系统的安全。
对于区块链来说,底层数据结构就像公共账本,安全性建立在密码学的哈希算法基础上,其核心是“私钥”。用户的比特币钱包需要通过私钥才能打开,这段长达256位的私钥就像银行密码,而公钥类似银行账户,用来互相转账。
尽管密码学的算法当前很难破解,黑客几乎无法获取到私钥,但只要用户转账一次,黑客就有可能根据转账地址反推私钥密码。未来不排除一些量子计算机的出现,能够具备这种反推能力,所以这种算法漏洞理论上是可以被攻破的。
在程序的世界里,没有百分之百的安全。不过相比于传统机制,陈鸿刚颇为积极地认为:“区块链从长远的角度考虑肯定更安全,因为有很强的机制。不过若想用好它,技术人员首先不能冒进,找到合适的产品,精心设计好代码程序,才能把安全性做到非常高。”
评论:
我们是来黑区块链的吗?
尽管区块链存在诸多安全隐患,那么区块链到底安全吗?
陈鸿刚解释,在传统银行等中心化系统里,要么不能提供24小时服务,要么容易造成账务丢失等问题,相比之下,区块链的安全系数和各项功能反而更完善。
而对于区块链延伸出的数字货币,陈鸿刚认为,那或将成为连接人类世界和物理世界的桥梁,因为区块链是基于密码学、数学这些自然科技产生,是全宇宙通用的原则,人类或许可以通过数字货币与机器进行系统交流,同时这种交流也可以跨越国界,甚至跨越星球。
区块链依然是一项美妙的技术,也许有一天你可以利用比特币为家里的机器人仆人支付工资,或是以比特币为筹码与它玩一盘德州扑克。
你可能还感兴趣:
苹果今晨发了一款2388元的新iPad!低廉价格背后与旧款有何区别?
大数据杀熟来袭!打车、买会员、订酒店的价格竟然不一样,你遇到过么?
水滴互助:自行修改《健康要求》,互助者求助时却被拒 “水滴”到底谁说了算?
奔驰“刹车疑云”引发担忧:联网后汽车会有后门吗?你的网联汽车安全么?