摘要:区块链技术是当前国内外的焦点技术之一,不仅将影响着未来技术创新和产业变革,在物联网领域也将起到革命性的作用。为此,本文从区块链的共识机制角度出发,分析了物联网中引入区块链技术所面临的主要问题,并提出了相应的应对思路。
关键词:物联网;区块链;主要问题;应对思路
引言
物联网是新一代信息技术的高度集成和综合运用,对新一轮产业变革和经济社会绿色、智能、可持续发展具有重要的意义。随着物联网技术的普及和不断深化,人类社会正进入“万物互联”的新时代,数以百亿的物联网终端设备如何管理、如何实现物物交易、如何保障信息安全,是物联网发展亟需解决的问题。而区块链技术作为一种互联网数据库技术,具有去中心化和不可篡改等优点,为物联网设备的交易、安全、管理等环节提供了新的解决方案。鉴于此,本文对物联网引入区块链技术遇到的主要问题进行分析,并提出相应的应对思路。
1.物联网引入区块链技术面临的主要问题
1.1 性能效率问题
区块链的基础是P2P 分布式网络、加密算法和共识机制,其中共识机制是保障区块链系统持续运行的关键[1]。共识机制就是区块链节点就区块信息达成全网一致共识的机制,它可以保证最新区块被准确添加至区块链,保持节点存储的区块链信息一致、不分叉,甚至可以抵御恶意攻击。共识机制解决了区块链如何在分布式场景下达成一致性的问题。
目前,被广泛提及的共识机制约十几种,其中应用最为广泛的是PoW(Proof of Work,工作量证明),比特币和以太坊均采用该机制。在PoW 算法中,记账节点需使用一定的运算资源处理同一条件的Hashcash函数计算,哪个节点先计算出来,区块就属于该节点,接着被算出来的数值则可向网络其它节点提交计算的工作量证明。虽然Hashcash 函数很难破解,但容易被验证。因此只要数值被计算出来,其它参与节点便能容易地去验证这个值是否有效。由于工作量证明运算需相当高的计算成本,使得伪造的工作得不偿失,也就保证了各方均能遵守协议约定。PoW 可以让每个参与的节点共同参与交易验证,也让多方共同维护并共享同一份交易记录的账本,从而保证了区块链有很强的防篡改性。
但PoW 依赖机器进行数学运算来获取记账权,每次达成共识需要全网共同参与运算,性能效率非常低。此外,每个节点都会保留一个完整的区块链数据备份,其占用的数据存储量会随着节点数量的增加而急剧膨胀。以比特币为例,目前每秒只能处理7笔交易,每年单节点区块数据增长约300 GB。所以,随着物联网中的终端数量增加,运行共识机制的成本会显著上升。
另一方面,区块链技术应用于物联网时,需要所有物联网节点共同参与[2]。物联网终端数量虽然很多,但具备计算能力的物联网终端设备却非常有限。与传统的区块链挖矿节点相比,物联网终端普遍的Hash 计算能力甚至不到GPU 系统的千分之一。另外,物联网设备一般均有低功耗需求,因此其电力消耗在实际应用中也受到严格控制,但挖矿设备对能源的消耗却十分惊人——2017年用于比特币挖矿的电力超过159 个国家的年度电量总和。
1.2 安全性问题
区块链因其加密算法和不可篡改机制,通常被视为一套非常安全稳固的系统。但这种安全性的前提是区块链内有大量的节点,令51% 算力攻击的成本远大于收益。所谓51% 攻击,是指整个网络中有人(或节点)的计算能力超过了全网总计算能力的51%,破坏了区块链去中心化的特性,同时也让整个区块链网络处在私自挖矿、取消所有转账、双花以及随机分叉等攻击风险之下。
51% 算力攻击在用户极多的时候是很难发起的,但是在小范围、特定应用场景下却十分容易。通常情况下,局域或小型城域物联网的终端数量在千或万级别,且类型较为单一,如果存在漏洞或后门,攻击的难度要远小于对一台中央服务器的攻击。这种情况下,区块链的安全系数要明显低于传统的中心化组网方案。对于大型物联网而言,虽然其终端数量众多,可以在一定程度上满足安全性的要求,但却会面临之前所提到的性能效率问题。
2.应对思路
由于存在性能效率和安全性问题,现有的区块链技术无法直接应用到物联网中,需要对共识机制进行改造,PoS、DPoS、DAG、PBFT 等算法相继被提出和讨论,其中又以DPoS 最受人关注。
DPoS(Delegated Proof of Stake,股份授权证明机制)算法中使用见证人机制(witness)解决中心化问题。DPoS 通过账本间的投票选举出一定数量的代理账本(如图1 所示),这些账本之间形成一个共识网络,而其它没有被选举出来的账本(跟随节点)则通过与代理账本(投票节点)之间进行主从同步,从而满足减少共识节点参与量的需求。
图1 DPoS节点之间的关系
DPoS 的这种机制能够大幅度提升选举效率。在几十个最多上百节点之间进行一致性投票,一般来说可以在秒级完成并达到共识,因此DPoS 机制可以将检查点(事务确认时间)提升到秒级,通过减少投票节点的数量或采用令牌环机制甚至可以降低到毫秒级,而对计算和存储资源的消耗远小于PoW。
物联网区块链如果采用DPoS,则每个传感器和微控制器节点不承担账簿记录的工作,而是通过某种机制(例如持有代币的数量、计算能力等)选举出若干(奇数个)节点作为代理账本[3]。这些节点事先部署在区块链网络中,并可由多个不同的物联网服务商搭建,可以较好地解决性能效率和安全性问题。
然而,DPoS的性能无法无限提升。在理想环境中,其性能与吞吐量取决于节点间通信的网络带宽。一般来说,对于物联网环境中两个节点之间的带宽能够维持在上下行均1MB/s 已相当难得,大部分情况下远远无法达到该数值。如果每条交易日志需要100 byte,由于网络既需要广播交易也需要广播日志,则网络带宽消耗将会加倍,因此在两个节点的单链中最大吞吐量不超过5 000 byte/s(1MB/100 byte/2=5 000)。如果集群中包含更多节点,则最大吞吐量需要根据其使用的P2P 同步机制成比例缩减,这会大大限制物联网应用的范围,需要通过侧链、分链等手段加以解决,目前相关的技术还处于理论研究阶段。
3.总结
综上所述,区块链技术在物联网中的应用,能够在一定程度上解决物联网面临的问题;同时物联网提出的新的需求,也将为区块链技术发展注入新的活力。虽然区块链技术在物联网中具有广阔的应用前景,但目前区块链技术仍处于发展初期,不可能直接应用于物联网中,需进行较大的技术改进,今后的应加强此方面的研究,以更好地为物联网发展开辟新的空间。
参考文献:
[1] 冯泽冰,方琳. 区块链技术增强物联网安全应用前景分析[J]. 电信网技术,2018(2).
[2] 罗松. 两大热门技术碰撞论区块链在物联网中的应用[J]. 通信世界,2017(14):36-38.
[3] 张建强,张高毓. 区块链技术在物联网中的应用分析[J]. 电信科学,2018(s1).
论文作者:黄洪昭
论文发表刊物:《防护工程》2018年第22期
论文发表时间:2018/11/22
标签:区块论文; 节点论文; 机制论文; 共识论文; 技术论文; 账本论文; 数量论文; 《防护工程》2018年第22期论文;