硅谷Live / 实地探访 / 热点探秘 / 深度探讨
流氓不可怕,就怕流氓有文化啊!
“黑客”这个词,相信大家再熟悉不过了。自从互联网诞生以来,黑客就成了以高超手段盗取用户信息的代名词。
然而,现在黑客也越来越与时俱进了:美国甲骨文公司旗下的 PeopleSoft 软件公司,不久前就发生了黑客袭击事件。按照常理来说,一般用户系统被侵入后,都会发生数据泄露。
数据泄露……咦,这怎么听起来有点像Facebook?
小扎:老子国会都道完歉了好吗!你还有完没完!
话说这黑客侵入系统以后,转了一圈,竟然没动数据!
啥情况?
紧接着,这个叫 PeopleSoft 的公司发现自己的电费突然开始猛增。原来,这名黑客利用这家公司的CPU挖了611 个门罗币,价值22多万美元!
这个“笑话”似乎告诉我们,未来世界最值钱的可能不是数据,而是算力哦!
看来,这传统意义上的数据安全,在区块链的世界要被重新定义了。那么针对于区块链,会存在哪些层面的安全问题?目前又有哪些可以解决得措施?
今天,小探请到了位于硅谷的丹华资本董事总经理 Judy Yan, 来给大家讲讲区块链世界的安全问题。
区块链:我招谁惹谁了?
话说区块链自从出现以来,关于区块链安全问题产生的奇葩故事就不少。除了交易所被盗,许多区块链项目自身的 Bug 也层出不穷。作为区块链投资人的 Judy,对这些故事可谓如数家珍。
最著名的黑客攻击事件要数The DAO。早在2016年,这个平台被盗了高达1.5个亿美金的ETH。攻击者利用了递归调用 splitDAO 函数这一技术层面的漏洞,这起事件同时也暴露了智能合约安全性的早期缺陷。
而去年 Parity Multisig 电子钱包版本1.5+的漏洞被发现,使得攻击者从三个高安全的多重签名合约中窃取到超过15万ETH(约3000万美元)。而这个漏洞竟然是工程师一不小心在编程时写了一个不闭合的函数。
而另一个项目 IOTA 前一阶段被诟病大跌的原因是底层最关键的哈希加密函数不工作。
就在今年三月,BEC(美链)爆出 ERC20 协议安全漏洞,攻击者利用整数溢出BUG,可无限生成代币,直接导致BEC币值跳水,几乎归零。
如此种种的事件的发生,让人们不得不重新面对区块链的安全问题。
据 Judy 回忆,菩提去年在 Qtum 上进行合约部署时,虽然当时有很多人质疑Qtum能不能上线(后来上线成功),合约部署是否会使得运行机制瘫痪等问题,但是Judy只问了菩提和量子一个最简单问题:
用户会不会丢币?
这个问题听着很简单,实际上反映了所有区块链都是建立在安全信任的基础上,吞吐量等问题都可以被牺牲,慢慢改进;但如果丢币,整个系统就不会再有人使用。
“安全,是唯一不能牺牲的因素。”
在Judy看来,公链的安全、智能合约的安全、云安全这三个层面都是未来最值得关注的区块链安全层面。
其实在做区块链安全的项目有很多。比如:Zeppelin 是一个社区驱动项目,它构建了安全智能合约的开源架构,目的在于实现安全智能合约的开发。目前有很多优质的海外区块链项目都采用了 Zeppelin 的智能合约安全服务。
Quantstamp 是一家智能合约的安全审计平台,而且还是为数不多的、被 YC 录取的区块链公司哦!小探也在之前名为《错过了区块链第一波淘金热?这家公司“卖铲子”被YC相中》的文章中介绍过。
区块链公司 Axoni 不是一家专门做智能合约安全的公司。但他们最近也在专注与形式化验证技术。开发了专门服务于形式化验证的智能合约语言 Axlong。
其中,Certik 是一家用形式化验证为智能合约和区块链应用提供安全性服务的公司。形式化应用?这个听起来好像很有故事!在讲故事之前,咱们先看看为什么智能合约和公链容易出现安全问题?
公链、智能合约的安全谁能承包?
我们先来看智能合约为什么容易出现安全问题。
第一,不可逆性:智能合约一旦发布在区块链上,合约的源代码是无法被修改的。
第二,代码开源:在平时不公开源代码的情况下都能被黑客攻击,更何况大多数区块链项目的代码都是开源的。开源只会让黑客的攻击将变得更加容易。
第三,成本高:如果将智能合约放在区块链上进行不断的安全测试,资产的不断转换会是一笔很大的开销。
第四,思维设限:即使开发者会预想智能合约在哪些情况下会遭攻击,再针对这些情景测试,但黑客的厉害之处在于,可以从程序员预想之外的路径下手。
由于智能合约在安全上存在的这四个方面问题,从而导致区块链上的数字资产很容易被黑客掠夺。
对于公链上产生的问题,Judy 用了一个清晰明了的比方来说明。
Judy 认为,区块链,尤其是在智能合约出现之后,是个两层的结构。其中一层为公链,在其上运行智能合约。 由于公链是一种开源的架构,智能合约的开发者每个人都可以在上面可以写一段脚本。
然而,这也是问题存在的根源:由于每个开发者动能用,所以在公链上书写脚本时,往往会带来意想不到的“副作用”。
这是什么意思呢?Judy 给小探举了个例子:
“假如我要在以太坊上写一个智能合约,我写这段智能合约的目的是A,但是我并不会预料出当A完成时,同时会出现副作用B,而B很有可能会使得公链系统瘫痪掉。”
那有没有办法提前得知是否会出现副作用B而避免悲剧的发生呢?
还真有!Certik使用的形式化验证就是目前解决这一问题的最佳方式。
什么是形式化验证呢?
根据 CertiK 联合创始人顾荣辉教授的讲述,形式化验证(Formal Verification)就是:用逻辑语言来描述规范,通过严谨的数学推演来检查给定的系统是否满足要求。
简而言之,形式化验证的作用就是让你只完成A的目的,而不会产生副作用B。
Judy认为,对于形式化验证,我们要从两个维度来看。
在传统维度上,形式化验证是一个统计学的概率问题。
比如说,如果你能计算出在执行A目的时90%的可能性系统不会出问题,那么对于一个手机应用APP的研发可能就足够了。换句话说,传统维度上大家只需要做“计算题”算出安全运行的概率就可以了。
但是在区块链的世界,我们需要的,是确确实实 100% 地确定我们在执行A目的时,不会有副作用B产生,底层系统不会受到任何因素的影响。那么显然需要我们进行完备性验证。
怎么保证100%不会出错呢?有两种办法:用人工检查来证明, 或者用算法证明。目前虽然有许多做人工验证的区块链项目,但是耗时多,成本高 —— 毕竟在现在的人才市场上,有能力、有意愿免费为你检查的白帽黑客很有限。
那么算法证明又怎样呢?我们来看看 CertiK 是怎么做的。
具体来看,CertiK 的验证过程体现了化整为零的解题思想,将一个难以证明的大问题拆分为许多容易证明的小问题,然后再将证明过的小问题重新组合回分解之前的较难的大问题,并且保证其中从端到端的正确性(end-to-end guarantees)。
在这个过程中,这些小问题都将发送给整个社区,社区的开发者们可以利用 CertiK 提供的方法,也可以运用自己的算法来证明这些问题。一旦某个问题通过多方独立的开发者的验证,那么其便可以用来作为建立其他理论的依据,从而形成互助协作的技术机制和良好的社区氛围。
CertiK 背后的团队阵容也十分强大:CertiK 的联合创始人顾荣辉从清华大学本科毕业,耶鲁大学的博士,现为哥伦比亚大学计算机系助理教授。
另一位联合创始人邵中,是形式化验证的最有成就的科学家,耶鲁大学计算机系的主任和 Thomas L. Kempner 冠名教授, 有 20 余年的安全领域经验。
未来:如何保证云上的安全?
说完了如何保证公链和智能合约的安全,我们来看一看目前区块链世界十分流行的云安全。
在讲云安全之前,Judy首先从目前最炙手可热的DPOS(delegated Proof of Stake) 讲起。
我们都知道POW和POS是区块链的两种共识机制。那么共识机制DPOS相比较于这两种共识机制其特点如何呢?
首先,应用DPOS时,社区成员不必再同话语权极大的旷工打交道了,省了不少事。
其次,DPOS上的应用开发进度更快。虽然整个系统牺牲了“去中心化”,但是提高了scalability,从而让DPOS公链上可以做出更多DAPP。
“DPOS在2018年的发展一定会更快,” Judy评论道。
然而这么高效的系统,不是没有问题。由于在DPOS上存在中心化的交易,交易所首先可能会成为黑客们攻击的对象。尤其是超级节点的存在,很可能最先成为攻击的靶子。而这些超级节点大多在云服务器上运行(Cloud)。那么对于整个平台来说,如何保证云安全就显得格外重要了。
那么有没有什么办法可以保证云安全?还真有!
小探认识的Infinity Stones就是一家给节点做安全维护的区块链公司。
《复仇者联盟3》开始上映,大家对Infinity Stone一定不陌生。这家公司做的也像漫威一样炫酷!
具体看来,Infinity Stones率先认识到了计算机安全在dpos区块链世界中的重要“基石”作用。如果这些超级节点被恶意攻击(比如DDoS),那么节点上运行的智能合约可能被阻塞甚至篡改。
而区块链软件的开源和开放的特性使得很多传统的安全手段无法达到有效的防护。针对这些痛点,Infinity Stones提出了自己的加密计算解决方案,已经在多个云计算平台上部署。Infinity Stones平台上运行的操作系统和编译过程都由公司定制开发,所有敏感数据的存储和传输都将加密。并且,7*24小时的不间断监控和预警系统,让所有系统层的安全漏洞都能在第一时间内被发现和修补。
有了这颗定心丸,云上的安全问题看来也不难解决了!
在采访的最后,Judy谈到,相比较于传统行业,区块链的安全维护会更加具有挑战。
“例如,我们使用Bank of America (美洲银行)的网络账户时,这背后的计算都是闭源的,开放给客户的内容是很小的一部分。并且,BOA所遵循的一套算法很少有人能知道,所以维护其安全相对比较容易。然而区块链就不同了。由于区块链是一个透明的实际,代码会公开,所以其安全维护的挑战性也会更大。”
想听更多关于区块链安全的话题?
硅谷密探继今年一月在旧金山成功举办区块链大会后,今年6月26日 - 27 日将在圣荷塞再次举办盛况更加空前的 Blockchain Connect Conference!在此次大会上,区块链安全领域的重量级嘉宾将对区块链安全问题再次进行深入探讨。
想报名参加?
请查看大会官网
www.goblockchainconnect.com
演讲嘉宾
重量级嘉宾包括:比特币中国(BTCC)创始人 Bobby Lee;Qtum 顾问,Airbinb和Uber的早期投资者 Jeffery Wernick;耶鲁大学计算机系教授及系主任邵中;正在筹划神秘区块链项目的TechCrunch 联合创始人Keith Teare。
其他大咖嘉宾陆续确认中...
以下为部分演讲嘉宾
更多嘉宾请关注官网!
峰会赞助商、布展公司
想申请成为峰会赞助商、布展公司?
请联系微信 svs007admin
或发送邮件至contact@svinsight.com
海外购票链接
https://blockchainconnect.eventbrite.com?discount=mitan20
用密探专属折扣码 “mitan20”
有八折优惠哦!早鸟票即将售罄
中国购票链接:
http://www.huodongxing.com/event/2436104475000
或猛戳“阅读原文”
回顾第一届区块链大会精彩内容,查看密探此前报道:
干货!莱特币CEO、瑞波币CEO 等大咖在 Blockchain Connect Conference 上讲了什么?
题图来自网络,版权属于原作者
推荐阅读