应用

技术

物联网世界 >> 解决方案 >> 物联网方案
企业注册个人注册登录

一文读懂区块链技术的前景,作用与面临的安全挑战

  区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。如此解释,“区块链”三字可能仍让你摸不着头脑,但如果说到“比特币”,你也许就不那么陌生了。实际上,“区块链”正是比特币的底层技术和基础架构,可以说,没有区块链技术,就不会有比特币的出现。

  我们正站在新变革来临的边缘,互联网正在经历去中心化的阶段。经过了20年的科学研究,在密码学领域和去中心化计算网络上都产生了新的进展,带来诸如区块链技术(blockchain)之类的前沿技术,而这些技术可能潜含着从底层的改变社会运转方式的力量。

  刚刚看到一则新闻,6月13日消息,区块链项目Bancor宣布通过首次数字货币发行(ICO)的方式,筹集了价值约1.53亿美元的以太币。Bancor也因此成为数字货币中获得融资最高的平台。

  就在一个月前的5月26日,美国国防部宣布与加密通讯开发商ITAMCO签署合同,共同开发用在美国军方的基于区块链的创新应用——一款“安全,不可侵入的消息传递、交易平台”。据称,这项合作计划能够为美国军方更安全地在总部和地面部队之间的通讯、专员及五角大楼之间的情报传递提供安全可靠的通道并确保不可侵入。

  国内,区块链作为一项重点技术写入了“十三五”规划,这是业界始料未及又倍感欢欣的事情,更加鼓舞的是,目前有不少地方政府已经把区块链作为重点高新产业在推动,力图抢跑新的一轮技术和产业竞争。政府的引导和扶持也为很多创业者提供了良好的背书和信心。

  当然,大家听多了区块链和比特币,很多人都不会陌生,但区块链技术背后的特点、价值、应用在安全领域的作用、当前的技术局限,大家却未必完全熟悉。在此背景下,本文将带领大家细细来看区块链的安全优势及其局限。

  区块链的作用:帮助解决信任问题

  首先,区块链是什么?区块链是一种分布式共享加密数据库。正如大家所知道的那样,区块链是一种分布式共享加密数据库。中国工信部在2016年将其定义为一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术在互联网时代的创新应用模式。在实际交易过程中,区块链使用过程包括节点的连接、交易和记账等基本步骤。

  区块链工作流程

  区块链技术发展历程

  区块链技术本身最早在2008年得到提出,中本聪在一次密码学探究分享会上提出了比特币的概念及其背后的技术方法。比特币这套数字货币运行系统的底层所运用的技术即是区块链技术及其思想的原型。潜藏在比特币背后的区块链,是被设计用来达到一种去中心化的、无需信任的货币运行平台。任何互不了解的人可以通过加入该总账,通过点对点的记账、数据传输、认证或是合约,而不需要借助任何一个中间方就能来达成信用共识。这个总账包括了过去所有的交易记录、历史数据及其他相关信息,所有信息都分布式存储并透明可查,并以密码学协议的方式保证其不能被非法篡改。

  在2010年,比特币成立了交易所,并逐渐被更多人了解。至2011年开始,其全球化趋势愈加强烈,对于区块链技术进行投资和研究的机构也迅速增多,区块链技术从初级的实现程度不断得到补充和完善。此举让比特币货币体系得到迅速的成长机会,但其设计之初相对简单的货币运行体制也得到了一定的挑战:文件访问权限的丢失,服务器密码的泄漏、货币失窃、匿名货币难以追踪监管等漏洞让人们发现了这个货币体制的缺陷。这些不足甚至影响到人们对于比特币的信任及其货币价值,但也以此作为契机,更多的人增加了对于底层区块链技术的关注。

  由此,在2015-2016年区块链技术度过了停留在理论和研究的阶段,走向应用。许多传统金融机构、创业企业及其他组织从实际应用的方面使用了该项技术,如交易结算、物联网、数字资产管理、股权交易、公证、供应链等领域。随着行业的发展,各个国家及地方组织也加强了对区块链的潜能研究及监管。

  到现在,这种最先隐藏在比特币底层的分布式账本技术逐渐走向公众的视线,甚至成为学术乃至产业界的“热点”话题,其可能比数字货币本身更具价值的本质特点受到了越来越多的重视。

  一以概之,区块链的价值在于其安全性上——它能够解决信任问题。

  区块链的共识机制

  自互联网连接世界各地的计算机及人类之后,信任问题都是由第三方企业、银行机构、政府部门等大型中介解决的。人们在网络上进行身份认证、银行转账、消费交易,都是基于对这些大型中介的信任。大型中介在运营平台,提供服务的同时,从大量的交易中抽取一部分佣金作为利润来源,“雪球”随之越滚越大,人们对其的信任感也随着“网络效应”持续增长。

  与此相反,区块链提出的是一种所谓的“机器信任”或“民主化的信任”。在区块链社区的对等网络中,没有管理员之类的角色对于人们的交易进行集权控制,而是使用共识机制对于人们的交易行为进行验证确认,并在网络中直接对于价值信息进行传递。也就是说在一个互不信任的网络中,区块链中提出的解决方案是让各个节点出于自身利益最大化的考虑,自动遵循某种规则进行交易记录的真实性验证,然后将经过判断后真实的交易记入区块链中。

  目前,现在常见的共识机制为四种,分别是工作量证明算法(PoW)、权益证明算法(PoS)、股份授权证明(DPoS)以及Pool验证池。

  在大家平常比较熟悉的比特币中使用的共识算法既是工作量证明算法(PoW),网络中的节点需要通过一定工作量的计算得到随即哈希散列的数值解,才能通过节点竞争获取记账的权利(挖矿)。一般节点的计算机算力越强越容易得到记账权利及相应奖励。但这种共识机制会有一些局限,也因为耗费计算机算例和资源遭人诟病。

  随后在PoW的基础上改进而来的PoS——权益证明机制,需要记账用户对于区块链中数字资产的所有权益的证明。相对而言,拥有数字资产越多,寻找随机数的速度就越快。因为拥有资产越多的人,也越不愿意自己的资产蒙受损失吧。

  区块链安全优势

  如今黑客可以破坏整个网络、篡改数据或诱导粗心的用户落入安全陷阱。他们窃取盗用身份信息,并通过对中心化数据库的攻击及单点故障引发其他安全威胁。但区块链技术中的数据存储和共享数据的模式,与目前信息安全是截然不同的做法。比特币和以太坊都使用相同的密码学技术来保障安全交易,但现在也能够作为一种防范安全攻击和安全威胁的工具。

  区块链在信息安全上的的优势主要在于以下三个方面:

  1.利用高冗余的数据库保障信息的数据完整性

  2.利用密码学的相关原理进行数据验证,保证不可篡改

  3.在权限管理方面,运用了多私钥规则进行访问权限控制

  利用区块链的安全优势可以进行多重安全应用的开发。目前已有的安全应用场景是PKI,认证等,在此可以简单以两个例子进行说明。

  由MIT开发的CertCoin可能是第一个应用基于区块链的PKI。 PKI是一种常见形式的公钥密码可以用来保护邮件,消息应用,网站和其他形式的通讯。然而由于多数PKI接口需要依赖中心化的,受信任的第三方认证机构(CA)来发行、吊销、和为每个参与者保存钥匙对,黑客能够通过冒用用户的身份进入加密通讯中获取信息。而CertCoin移除了中心化的权利机构,使用区块链作为分布式账本分发公钥,能够有效降低黑客单点侵入的风险。

  而在认证领域,同样也有很多例子,如公政通Factom系统。它基于区块链建立链式结构的存储,将认证分解成存在性证明、过程性证明和可审计证明三部分。对于任何数字资产的认证处理,都可以按照这三个步骤实现数据记录的安全性和监督合规。

  公证通示意图

  区块链安全局限

  然而,现在的区块链尽管不断得到研究、应用,依旧存在着一定的安全局限,导致在技术层和业务层都面临诸多挑战。这些挑战也许会是区块链得到更广泛推广及应用时的难点,也可能成后今后区块链技术的技术突破点。

  对共识机制的挑战

  对于区块链技术中的共识算法现在已经提出了多种共识机制,最常见的如PoW、PoS系统。但这些共识机制是否能实现并保障真正的安全,需要更严格的证明和时间的考验。

  区块链中采用的非对称加密算法可能会随着数学、 密码学和计算技术的发展而变的越来越脆弱。以现在超级计算机的算力为例,产生比特币SHA256哈希算法的一个哈希碰撞大约需要2^48年, 但随着今后量子计算机等新计算技术的发展, 未来技术中对于非对称加密算法可能具有一定的破解性。其次,在比特币的机制下,私钥是存储在用户的本地终端中,如果用户的私钥被偷窃,依旧会对用户的资金造成严重损失。区块链技术上的私钥是否容易窃取的问题仍待进一步的探索与解决。

  51%攻击

  在比特币中,如果一个人控制节点中绝大多数的计算资源,他就能掌控整个比特网络并可以按照自己的意愿修改公有账本。这被称为51%攻击,一直是比特币系统中受到诟病的设计之一。

  即便这还是一种理论上的假想,这种51%攻击会很有意思。由于真实的区块链网络是自由开放的,所以区块链网络上没有一个管理员能够阻止拥有足够多计算资源(实际上会需要花费很多资源)的人做任何事情。如果这样的攻击发生了,该种数字货币的信用可能会丧失,货币价值会迅速下降。

  拥有整个网络51%算力的人可以做到以下这些事情:

  1.他们可以不经过验证就阻止交易的发生,让交易变得无效,潜在地阻止人们交易货币。

  2.他们在掌控网络的这段时间内也可能你想改变交易的双方(出现双重花费问题),并且可能阻止其他的人寻找到新的区块。

  比特币和其他加密货币都是基于区块链系统的,因此也可以称作分布式账本。这些数字文件记录在每个交易中被创造出来,存储在加密货币网络上,网络节点上的任何用户都可以浏览记录,这意味着没有人能够将货币花费两次,如果能够伪造货币进行支付,这会迅速摧毁对于该种货币价值的信任。

  由于区块链中包含了一系列的区块,区块中包含的是大量存储在一段给定时间内完成的交易数据(对于比特币,大约每10分钟产生一个新区块)。一旦区块被发现,或“挖矿”成功,就不再能够改变,因为分布式账本中的伪造版本很快就能被网络用户识别并遭到拒绝。然而,通过控制网络上绝大部分的算力(>51%),攻击者就可以介入记录新区块的过程中。他们可以阻止其他挖矿者的开采,从理论上垄断新区块的生成并获取成果(对于比特币,奖励会是12.5个新比特币,数量是会随着时间递减,最后会降到0)。他们可以阻止其他用户进行交易。他们可以进行交易,然后撤销交易,表现成依然拥有刚才支付出去的货币的样子。这个漏洞,被称为双重花费,是对于区块链而言最急需跨越的加密货币障碍。一个能够允许双重花费的网络系统是会迅速失去用户信任的。但即便是在51%攻击中,攻击者想要改变已经发生在区块上的交易信息依旧是非常困难的。因为攻击开始之前的交易是与之前的区块牢牢绑定在一起的,越历史悠久的交易信息想要修改就越是不可能的。

  拥有足够算力可能会导致系统上的混乱(上述这些都是不被允许的事情),但并不会迅速破坏这个区块网络体系——至少不是在很短的时间内。他们无法反转以前发生的历史交易,也无法凭空创造新的资产(除非是正常挖矿),或者从其他用户的钱包中偷取数字资产。

  在现实情况下,发起51%攻击是具有一定可行性的,特别是随着矿池兴起的当下。尽管攻击者的潜在威胁并不大,我们也应该考虑到这种针对区块链系统的安全威胁的存在并寻找解决策略。

  N@S攻击

  针对PoW共识算法容易遭受51%攻击的问题,一些研究人员对PoW共识算法进行了改进,现在有基于PoS共识的区块链系统。它一定程度上已经能够面对51%攻击问题,但在解决旧有问题的同时,也引入了区块分叉时的N@S (Nothing at stake)攻击问题。

  虽然每个区块只有一个父区块,但在某些情况下一个区块可以暂时拥有两个子区块。这种分叉状态出现时,一般是两个矿工都在短时间内发现了工作量的解答,然后将所添加的传播到临近网络中去,其他节点便慢慢形成两种版本(子区块)的区块链。区块链中规定,这种情况下的判定条件是选择工作总量最大的那条子区块。

  出于自身利益最大的考虑,节点上可以同时在两个分支上继续工作,以保证利益的获取。假设99%的节点用户都如此理性地考虑收益的话,即便攻击者只掌握1%的权益依旧可以决定区块链的分支走向。他可以发出交易请求,获得资产 ,然后再从另一条分支上获取添加货币到自己的钱包中。

  现在已有中国研究者提出了共识算法改进建议,通过构造同时依赖高算力和高内存的PoW共识算法可以实现51 %攻击问题的解决,但更为安全和有效的共识机制尚有待于更加深入的研究和设计。

  秘钥安全隐患

  秘钥安全:区块链技术一大特点就是不可逆,不可伪造,但前提是私钥是安全的。

  秘钥安全问题看似老生常谈,其实在区块链世界里还有特别的意义。

  与以往任何体系不同的是,私钥是每个用户自己生成并且自己负责保管的,理论上没有第三方的参与,所以私钥一旦丢失,便无法对账户的资产做任何操作。多重签名某种程度上能解决一部分问题,但实施起来非常复杂,而且要设计与之相配套的非常复杂的秘钥管理和使用体系。

  对于普通大众用户,或者没有太多技术经验的企业用户,天然会觉得补私钥可能和补身份证或者营业执照差不多,但事实上这根本就不可能,所以私钥的安全非常重要。但遗憾的是国际通用的多因素认证体系实施得并不好。

  多因素体系最常见的维度包括:

  ——知识,知识指的是密码这类能被记忆的知识。

  ——资产,资产包括门禁卡,令牌,手机,密码键盘,智能卡等。

  ——本征,本征包括指纹,虹膜,DNA,声纹等。

  由于区块链大量应用了各种密码学技术,属于算法高度密集工程,出现错误也是在所难免。历史上这类事情有很多,比如NSA对RSA算法实现埋入缺陷,使其能够轻松破解别人的加密信息。一旦爆发这种级别的漏洞,可以说区块链整个大厦的基础将轰然倒塌,不会有一个幸存者。即便我们乐观一点,假设没有人或者机构存心搞鬼,也存在工程实现上的非主观缺陷。比如OpenSSL的心脏滴血漏洞,相信有金融网站的人都经历过这个事情的这是世界上最优秀的算法工程师做的被最广泛应用的加密算法库

  曾经世界上最大的交易所Mt.Gox倒闭就是因为黑客攻击导致巨额资产损失。就在最近,世界知名交易所Bitfinex也因为多重签名缺陷导致12万个比特币(6800万美元)的损失。

  总结:

  区块链本身基于密码算法的一项技术,目的是利用数学原理达到实现去中心化的可信网络,这也将是下一代物联网和金融领域最有核心价值的技术。既然是可信,从系统架构来讲,区块链具备天然的安全优势,但对于区块链具体实施的安全也将面临了众多挑战,简而言之,大势所趋,注重安全设计,区块链将会随着下一代物联网技术进入真正的民生领域。