区块链技术在物联网中的应用及建议

2018-06-19 06:59吴疌
电信工程技术与标准化 2018年6期
关键词:挖矿账本共识

吴疌

(中国移动通信集团设计院有限公司上海分公司,上海 200060)

区块链具有去中心化和不可篡改等优点,它和物联网的结合是近两年的业界热点。虽然提出了许多应用设想,但实际落地的案例却很少。本文从区块链的共识机制角度出发,分析了区块链技术在物联网环境中面临的主要问题,并结合业界的最新研究提出相应的应对思路。

1 物联网引入区块链技术面临的主要问题

1.1 性能效率问题

区块链的基础是P2P分布式网络、加密算法和共识机制,其中共识机制是保障区块链系统持续运行的关键。共识机制就是区块链节点就区块信息达成全网一致共识的机制,它可以保证最新区块被准确添加至区块链,保持节点存储的区块链信息一致、不分叉,甚至可以抵御恶意攻击。共识机制解决了区块链如何在分布式场景下达成一致性的问题。

目前,被广泛提及的共识机制约十几种,其中应用最为广泛的是PoW(Proof of Work,工作量证明),比特币和以太坊均采用该机制。在PoW算法中,记账节点需使用一定的运算资源处理同一条件的Hashcash函数计算,哪个节点先计算出来,区块就属于该节点,接着被算出来的数值则可向网络其它节点提交计算的工作量证明。虽然Hashcash函数很难破解,但容易被验证。因此只要数值被计算出来,其它参与节点便能容易地去验证这个值是否有效。由于工作量证明运算需相当高的计算成本,使得伪造的工作得不偿失,也就保证了各方均能遵守协议约定。PoW可以让每个参与的节点共同参与交易验证,也让多方共同维护并共享同一份交易记录的账本,从而保证了区块链有很强的防篡改性。

但PoW依赖机器进行数学运算来获取记账权,每次达成共识需要全网共同参与运算,性能效率非常低。此外,每个节点都会保留一个完整的区块链数据备份,其占用的数据存储量会随着节点数量的增加而急剧膨胀。以比特币为例,目前每秒只能处理7笔交易,每年单节点区块数据增长约300 GB。所以,随着物联网中的终端数量增加,运行共识机制的成本会显著上升。

另一方面,区块链技术应用于物联网时,需要所有物联网节点共同参与。物联网终端数量虽然很多,但具备计算能力的物联网终端设备却非常有限。与传统的区块链挖矿节点相比,物联网终端普遍的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,则每个传感器和微控制器节点不承担账簿记录的工作,而是通过某种机制(例如持有代币的数量、计算能力等)选举出若干(奇数个)节点作为代理账本。这些节点事先部署在区块链网络中,并可由多个不同的物联网服务商搭建,可以较好地解决性能效率和安全性问题。

然而,DPoS的性能无法无限提升。在理想环境中,其性能与吞吐量取决于节点间通信的网络带宽。一般来说,对于物联网环境中两个节点之间的带宽能够维持在上下行均1MB/s已相当难得,大部分情况下远远无法达到该数值。如果每条交易日志需要100 byte,由于网络既需要广播交易也需要广播日志,则网络带宽消耗将会加倍,因此在两个节点的单链中最大吞吐量不超过5 000 byte/s(1MB/100 byte/2=5 000)。如果集群中包含更多节点,则最大吞吐量需要根据其使用的P2P同步机制成比例缩减,这会大大限制物联网应用的范围,需要通过侧链、分链等手段加以解决,目前相关的技术还处于理论研究阶段。

3 总结

区块链技术十分火爆,物联网也被视为区块链的重要应用场景。但现有的区块链技术不可能原封不动地在物联网中直接应用,需进行较大的技术改进。目前这一进程尚处于起步阶段,离大规模商用尚有较大距离,但其应用前景依然十分广阔。

[1] 韩璇,刘亚敏. 区块链技术中的共识机制研究[J]. 信息网络安全, 2017(9):147-152.

[2] 赵阔,邢永恒. 区块链技术驱动下的物联网安全研究综述[J].信息网络安全, 2017(5):1-6.

[3] 张永,李晓辉. 一种改进的区块链共识机制的研究与实现[J].电子设计工程, 2018(1):38-42.

猜你喜欢
挖矿账本共识
合力攻坚 全面治理高校“挖矿”
多措并举 全流程整治“挖矿”
共识 共进 共情 共学:让“沟通之花”绽放
论思想共识凝聚的文化向度
商量出共识
数说:重庆70年“账本”展示
挖矿木马的攻击手段及防御策略研究
丢失的红色账本
大树爷爷的账本
丢失的红色账本