本文来自36氪战略合作区块链媒体“Odaily星球日报”(ID:o-daily)
文 | 卢晓明
警钟早晚是要到来的。
深谙媒体套路的 360 对 EOS 打的一个响指,像区块链领域的一颗深水炸弹,唤醒了圈内人对公链安全性的重视。
所谓“安全”似乎永远是一个薛定谔的状态。毕竟一个系统被攻破之前,你永远不知道它是否安全。
历史总是重演。就像当年 PC 和移动互联网时代一般,新生事物出现之初野蛮生长;随之节点到来,安全事件爆发,行业开始被动关注安全问题;最后安全方案成为标配。
目前,区块链领域似乎就处于这样的节点:BTG 遭到双花攻击、BEC 智能合约出现重大漏洞;币安遭到黑客攻击,OKex 网站出现漏洞;360 如此大体量的互联网安全公司开始关注一个公链的漏洞,无疑也衬托出区块链和 EOS 网络的巨大影响力。数家安全创业公司在此后宣布获得融资。区块链安全问题似乎瞬间得到了重视。
实际上区块链领域的安全问题存在已久。
对技术不明所以的吃瓜群众,似乎天然对区块链的安全有着蜜汁自信,认为资产放在链上就不会丢失,但此前曾发生多起交易所私钥被盗案件;也有人鼓吹将私钥放在自己手里最为安全,台面上是更多的个人私钥被盗、丢失等案例。
在破解这个迷思之前,我们来聊聊比特币的精巧设计。
一位名叫中本聪的密码学专家,在神秘的“密码朋克”邮件系统中发布了比特币客户端,创造了一种新型的数字黄金。其没有任何发行主体,也就是任何人都不能增发,其资产价值和归属基于共识,共识背后是数学。“有句话叫 Code is Law,我认为 code 的本质不是代码,而是数学。数学就是上帝之手,是自然界的真理。”网络安全公司知道创宇 CEO 赵伟如此对 Odaily星球日报感叹。
P2P 网络 + PoW 共识机制+激励机制,使得这个系统似乎变得牢不可破。中本聪在白皮书中计算出的这个系统的安全边界,便是有人掌握了 51% 算力即可随意篡改账本。然而,PoW(Proof of Work,工作量证明)的存在会让这个攻击变得得不偿失,何况 51% 算力持有者更是网络的最大利益相关者,为了自身的长期利益,他甚至愿意放弃垄断算力来维持网络的健壮性。赵伟说:“我第一次看到比特币的时候,我觉得很容易攻击,但是他加入了工作量证明,我觉得对黑客来说简直是噩梦。”
中本聪大概并无设想到矿机的出现,与 PC 相比一骑绝尘的矿机算力,“算死”了后来无数小币种;却又吊诡地让比特币网络的算力增强,攻击门槛更高。
从区块链1.0到3.0,安全性在退步
购买力无法被任一发行主体随意调节,账本无法被篡改,只有掌握私钥的你,才能处置你的资产。信仰者认为这就是“真正掌握了自己的资产”,这是一种资产无法被剥夺的安全。
这就是区块链 1.0——比特币。
这个系统一直运行至今。即便它已经堵塞得让人发指,却从未被攻破。
区块链 2.0 未能如此牢固。
名为 Vitalik Buterin 的少年希望在比特币网络之上增加智能合约,遭到了比特币团队的拒绝。于是他在 2013 年到 2014 年间自行创立了以太坊:一个可以运行智能合约的分布式网络。
图灵完备的智能合约带来了巨大的灵活性,也带来了安全问题。此后,基于以太坊的智能合约被多次曝出漏洞。其中最大的是 2016 年 6 月黑客通过组合漏洞攻击 The DAO 项目,盗走价值数千万美元以太坊,以及当年 10 月的 DOS 攻击,分别导致了以太坊分叉。直至今天,以太坊的智能合约仍存在数千尚待解决的漏洞。可以说,越是灵活的智能合约,功能强大,也越容易出现漏洞。一些新型公链为了安全性,甚至牺牲了合约的图灵完备。
“主要是虚拟机不是设计来这么用的。虚拟机不是专门设计用来处理资产的,可是以太坊和 EOS 等公链却用它来处理资产。”赵伟解释,处于安全性考虑,资产和用户功能的处理应该分开,资产处理和变更应该由单独的引擎来处置。“这个过程是原子化的、事务性的,中间不能打断。比如我正在收银,你不能让我去擦桌子。可是在虚拟机里,则存在重入漏洞。”
虽说区块链 3.0 仍未正式到来,但把 EOS 看成 3.0 代表的人还不少。
“到了第三代,EOS 为了 TPS,引入了 DPOS 机制。”在赵伟看来,这已经不仅有跟以太坊的智能合约类似的“代码安全”问题,而是在架构上弃安全于不顾,甚至已经不能算是真正的区块链。“P2P 网络才是真正的区块链。”
“越来越中心化,导致黑客很容易攻击。在网状结构中,有一两个节点被搞定,网络依然能够继续正常运行。 可是在树状网络结构中,21 个节点背后可能是 7-8 个人,被恐怖分子一抓,网络安全性不复存在。所以说,网络安全不安全,看谁说了算。PoW 就是矿机说了算,就是数学背书,数学就是上帝之手,智能就是法律执行的一种。”
因此,从区块链 1.0 时代到 3.0 时代,赵伟认为在退步。“安全性在退步,但是更易用。易用性上是在进步的。”
区块链带来安全,也带来安全挑战
比特币所构建的资产安全,是一种资产不被剥夺,价值基于共识,发行主体无法操控的安全。这并不是一种大众可以简单理解的“安全”,更不意味着大众所理解“安全”在此处已被完全消弭。
大众所理解的安全是“我不丢币”。实际上,资产不被窃取的前提都建立在私钥(钥匙)不丢的前提下。比特币给予资产所有者的,是一种权利(自由)。想掌握自己的资产,就得自行承担保管私钥的责任。而大部分用户并不一定有意愿或能力承担这种责任——自己保存资产,还不如放在有品牌保证的大交易所里来得安心。
安全是要付出成本的
正如比特币为了保证记账系统的安全性,耗费了大量的算力。赵伟认为,其所带来信息的公开透明、不可篡改、不可删除,也对安全有很大的作用。然而,从另一方面看,比特币的匿名性、独立于法币系统之外的自由、以及技术门槛,都对其资产保护提出了挑战。
他总结了五点:
1、首先区块链资产在大多数国家不受法律保护,公安机关和银行也都没有备案。
2、区块链的匿名性,使得币一旦丢了难以追踪,你不知道谁偷了,也无法证明资产是你的。
3、保护区块链资产有一定技术门槛,用户很难保护自己;加上资产价值基于技术,一旦技术被操控,黑客可随意偷取利益,资产价值成零。
4、生成与分布式数据库上的资产表面上安全,但是行业中交易所、托管钱包、矿池等企业的系统是集中化的,是黑客攻击的目标。
与传统的交易所相比,数字货币交易所的 KYC 做得不好。“在室内做安全,还是在旷野是不一样的。(在旷野上)获得了自由,也更难做安全。区块链就是旷野。”
5、生态不完整,空气币频现,空气币的目的就是圈钱套现,不可能好好做安全。这一方面导致劣币驱逐良币,好好做安全的优质币种反而不受重视;鱼龙混杂的空投信息窃取用户数据,之后信息泄露用于撞库,危害用户其他资产的安全。
网络安全越来越重要,但中国企业对此重视远远不够
时至今日,互联网已经不是那个“信息传递的工具”。
赵伟认为,网络安全的目标随着互联网用途改变也一直在变化。“第一步是用来娱乐;第二步用于通讯和社交,继而是电子商务;第三是你的资产在网上处理。”
在 PC 互联网时代,拥有 PC 的人有限,中毒后黑客获取的信息有限,不过是让我电脑中毒变慢、宕机。移动互联网时代,我们的日常生活、资金管理、身份认证,都在手机上运行;安全的主题变成个人隐私、资金和密码的泄露。到了区块链时代,技术就是资产本身,代码的漏洞就是资产的损失。
赵伟表示,知道创宇关注的是全生态,此前主要关注钱包和交易所安全,因为这两者一旦崩溃,业内影响巨大。公链安全则是这几年来出现的新问题,“公链安全确实比较麻烦,很难改,一旦要改只能硬分叉。”
区块链的资产属性注定黑客对其虎视眈眈,其对安全的需求应该更为强烈。
然而中国互联网企业却未给予足够重视。报告显示,中国信息安全投入仅占 IT 行业总投入的 1%-2%,远不及欧美国家的 8%-14%。
这与国内金融数字化与互联网发展阶段有关;同时对比起欧盟等国家,国内对个人隐私的保护还不够重视。赵伟表示,《网络安全法》对行业发展有促进,但效果还需要逐渐体现。
“报漏洞有时候也没啥报酬。所以安全行业很痛苦,明明黑别人可以赚大钱。”
安全公司可以做灭霸,但他们不愿带自己的无限手套。
这也许我们就能理解,为什么应该审慎而负责任曝光漏洞的 360,会用一种“史诗级”的姿态将其公之于众。既然我不能像灭霸一样“杀敌一千”来展示漏洞威力,只能用这种哗众取宠的方式倒逼企业了。
根据专访内容,我们以问答形式将内容整理如下:
Odaily星球日报:从安全的角度,你怎么看待目前的区块链行业,比如交易所、公链、钱包等,他们的安全级别跟传统互联网产品比怎么样?
赵伟:我先讲下整个区块链的演变。
首先,比特币公链的出现基于三点,平等的点对点网络、共识算法(PoW)、区块链账本(脚本的应用)。后来变成以太坊,更容易发币,加入了智能合约,分成网络层、共识层、合约层三层。EOS 更是引入 DPoS,提高了 TPS。
功能复杂化之后导致了一些问题:
1、网络层不是那么点对点和平等,结构是树状而不是网状;
2、以太坊、EOS 等网络上加入了运行智能合约的虚拟机,但虚拟机不是设计来这么用的。处理资产变更应该是有单独的引擎,应该是原子化的,中间不能打断。比如我正在收银、你不能让我去擦桌子。
现在的区块链虽然速度快,但在安全上绝对是倒退的。不过,应用和用户体验上,以太坊和 EOS 是进步,你不能老把保险箱扛a着。
在区块链技术之上,则是矿机、矿池、交易所、冷热钱包等,其实没有什么特别,为了用户体验,他们都是很中心化的。他们就算想改,但为了资金沉淀、速度、用户体验等,都不可能用分布式架构。
这时候安全性不再只是区块链的安全,而是区块链生态的安全。比如矿机矿池容易被 DDos,被入侵、被修改地址;交易所的安全又分为技术、业务、商业、合规性安全;钱包有分中心化和去中心化,冷热之分,需要保护私钥。
安全是木桶,任何一环短板都会带来问题。
分布式架构不太可能达到一定体验?
赵伟:PoW 够呛,我认为利用侧链、分片技术、闪电网络提速是比较有希望的,但大家为了 TPS 都想自己做有点中心化的链。
所以,你觉得区块链是不应该做应用?
不能这么说。
公链分好多种,从不同的维度看,有不同分类。包括从网络构建看,是不是 P2P 的平等网络;从共识机制角度,有工作量证明,有权益证明。
区块链本身就是一个流水账账本,个人保留自己的数据是不合适的,数据不能保留在本机上,都是在线上。
现在很多的区块链已经不像第一代的区块链。P2P 网络才是区块链,后来为了应用追求 TPS 改变了网络结构,带来了新问题。我认为跑智能合约的链不适合作为资产(价值存储),而是通证。
现在资产属性在变化,所以安全防护在变化。我们做安全尽可能做到比敌人先一步,但是很难,所以往往是慢一步,案例见多了,你可能也就知道。
Odaily星球日报:那你觉得区块链安全跟传统互联网安全的差异点在哪儿呢?
赵伟:大致有五点(文中已经提及) 。
Odaily星球日报:有人认为把数据放在区块链比原来更安全,因为不会丢失、也不可篡改,你怎么理解这种安全?分布式架构比集中式安全在哪? 此外是私钥的保存,你怎么看待把安全责任交给平台和让用户承担两种模式?
赵伟:比特币出现的背景是,2008 年金融危机之后,美国政府大幅发币、割韭菜,民众手中货币的购买力在下降,你无法保护自己的资产。原来金子你可以放家里,但如果你自己拿着,风险很大,就像在美国西部时代,随时有人来抢夺,这是你自由的代价。可是如果你放银行,银行可能会乱发,比特币则想将其变成一个数学来背书的机制,建立共识很重要。
区块链不是一个复杂的技术,不是改变生产力,而是改变生产关系。区块链技术拥有几个特性:匿名、不可篡改、不可删除,这本身就促进了安全性。理念上改变的是共识机制。
因此,这里涉及到两方面的安全性,一方面是非洲小政府,一旦政府倒台了,货币没有了为其背书的机构,这是购买力方面的安全,能确保你真正拥有你的资产安全,这是一种自由。比特币通过共识机制实现了这种数字黄金式的自由。
你拿到这种自由之后,就有黑客的风险,面临的安全风险。如何储存实际上要看你的技术水平和资产大小。对于普通人来说,交给专业机构才是更安全的。因为:
1、资产丢了以后没有办法恢复,这是比特币的匿名的特性。这导致你的身份和你的币权是脱节的。
2、区块链就是你自己是你自己的主人,没有办法国家保护。
3、数字货币本身又面临着黑客攻击问题。
4、虚拟资产还有继承问题。
5、很难存储。冷钱包稍微安全一点,但很容易丢,电池会漏液。丢了我还帮客户恢复。
Odaily星球日报:从互联网历史发展来看,你觉得网络安全的重点有什么变化?你目前比较关注区块链行业的哪些风险点?
赵伟:安全就是保护大家,随着互联网用户的扩展,其目标一直在变化:互联网第一步是用来娱乐,第二步商业、沟通,电子商务网站;第三,你的资产整个在网上办理。所以安全越来越重要。
目前,比较关注钱包和交易所,交易所一旦奔溃,业内影响巨大。至于公链安全,“确实比较麻烦,很难改,一旦要改只能硬分叉”。
我们一直在关注,我们不是公布出去,都是报给项目方。一般项目方会很重视,都会很重视。不过,报漏洞也没啥报酬,有时候雷声大雨点小。所以安全行业很痛苦,明明黑别人可以赚大钱。
Odaily星球日报:你曾经多次公开批评 EOS,为什么这么不爽 EOS?
赵伟:EOS 太过分了,首先他是个公司不是社区,他收钱(募资),钱打在一个离岸的公司上;但是他不服务,他说 EOS 发布之后的所有安全问题他都不负责,甚至不保证一开始发行的 EOS 就是后来公链的货币;钱的用途也不透明,把钱提走之后也不说明。
以太坊则不一样,更为透明,而且说清楚有百分之多少的钱用在哪里。EOS简直是我收这个钱不一定做这个事。
Odaily星球日报:你认为未来区块链技术面临的潜在安全危险是什么?
赵伟:有抗量子计算,所以量子计算不是问题,最大的问题是 PoW 太耗能,但是新型的 POS 等共识算法是人治,越来越中心化,导致黑客很容易攻击。
网状结构中,你把这几个点搞定,网络也还是继续运行;DPoS 机制,21 个节点背后可能是 7-8 个人,被恐怖分子一抓,要他做什么都做了。
因此,网络安全不安全,看谁说了算,PoW 就是矿机说了算,矿机就是数学,数学就是上帝之手,智能合约就是法律执行的一种。有句话说 code is law,不是代码就是法律,而是数学。
然而,代码都是程序员写的,可能会出错,所以需要形式化验证,也就是用数学来做审计。我设计过通用的代码审计系统,之前没有人用,现在爆发了,因为现在程序是钱本身。
可是,这个程序的设计还存在一定问题。程序其实一个函数,就是满足什么条件,我就做什么。那么我怎么证明这个函数没有问题,我需要描述。这时候就需要一种描述智能合约的语言,就是形式化语言。
在智能合约很简单的时候,大家都能看出来,可是一旦复杂了,就需要用到形式化验证,而且形式化语言大家都不会用,因此安全公司帮你搞定,最后变成一种服务。
Odaily星球日报:怎么评估一个漏洞的重大级别?
赵伟:业内有一个标准。破坏力级别从低到高分别是,导致信息泄露、DDOS 攻击(宕机)、资产转移。不过对漏洞的评级是很难的,有的小漏洞组合在一起就变成大漏洞,所以都要重视。
Odaily星球日报:知道创宇参与发起了一个区块链行业安全联盟。为什么安全行业需要成立一个联盟?
赵伟:首先业内对报漏洞没有形成共识和标准。第二,很多时候安全联盟并非是技术上的联盟,而是社会上的。比如打击空气币,需要运用国家法律和社会支持,法律上需要取证、公安部门方面要配合。其实报个漏洞,从整个行业来看,都是小事,因为有些问题,技术、管理都能解决,但是更多的其实是社会问题,这才是大问题。
Odaily星球日报:中国网络安全产业跟国外比较发展如何?
赵伟:我们在基础安全设施发展不太完善,这跟人的意识有关,大家还缺少风险意识,不会在安全上投资。欧美公司会把自己的钱的百分之多少,固定放在安全上,但是中国公司在这方面则是能省则省。
主要原因可能是国内在网络上的个人资产以前确实比较少。欧美民众有数字资产。这跟社会的金融数字化和互联网阶段有关。另一个原因是国家法律重视度不够。欧盟有 GDPR(欧盟通用数据保护法,被称为史上最严个人隐私法),国内在《网络安全法》对行业发展有促进,但效果还需要逐渐体现。