1、第 49卷 第 2期2023年 2月Computer Engineering 计算机工程基于物联网区块链的轻量级共识算法研究苏瑞国,阳建,秦继伟,武晓雄,贾振红(新疆大学 信息科学与工程学院,乌鲁木齐 830046)摘要:面对规模庞大的物联网数据,高效的共识算法是区块链技术与物联网应用相结合的关键。为解决大规模物联网区块链系统中传统共识算法通信开销大、扩展性低、共识机制复杂度高的问题,基于 Hyperledger Fabric搭建一个物联网区块链框架,并设计基于投票和交易证明的轻量级共识算法 PoVT。在链码验证交易后,根据节点之间发起和收到的交易,选择交易的源节点和目标节点作为代表参与共识。
2、在共识阶段通过设计新的投票方式简化共识流程,仅需一次全节点广播即可生成新的区块。以优先收集到一定投票数的节点作为主节点进行投票广播,在所有节点收到足够多投票消息的同时进行上一轮交易区块确认。对安全性、出块时间和带宽需求进行分析,结果表明,PoVT 算法在网络中存在拜占庭节点的情况下能够以较短的时间验证交易和区块,在每秒交易数量相同时,该算法生成区块的时间为 PBFT 算法的 1/3,网络带宽占用也能减少 30%,证明所提物联网区块链框架在不同应用场景中具有较高的可扩展性。关键词:区块链;共识算法;分布式账本技术;物联网;可扩展性开放科学(资源服务)标志码(OSID):中文引用格式:苏瑞国,阳建
3、,秦继伟,等.基于物联网区块链的轻量级共识算法研究 J.计算机工程,2023,49(2):175-180.英文引用格式:SU R G,YANG J,QIN J W,et al.Research on lightweight consensus algorithm based on IoT blockchain J.Computer Engineering,2023,49(2):175-180.Research on Lightweight Consensus Algorithm Based on IoT BlockchainSU Ruiguo,YANG Jian,QIN Jiwei,WU Xi
4、aoxiong,JIA Zhenhong(School of Information Science and Engineering,Xinjiang University,Urumqi 830046,China)【Abstract】To manage significant amounts of Internet of Things(IoT)data,an efficient consensus algorithm must be developed to integrate IoT applications for blockchain technology.In this study,t
5、o solve issues of high communication overhead,low scalability,and high complexity of consensus mechanism in the large-scale blockchain system of IoT,a blockchain framework for the IoT is constructed based on Hyperledger Fabric and a lightweight consensus algorithm,Proof of Vote and Transaction(PoVT)
6、,is designed based on voting and transaction proof.After the chain code of the transaction is verified,the source and target nodes of the transaction are selected as representatives to participate in the consensus based on the transaction initiated and received between nodes.In the consensus stage,a
7、 new voting method is designed to simplify the consensus process and to enable only one all-node broadcast to generate new blocks.In this method,the nodes that have garnered a certain number of votes are used as the main nodes for voting broadcast,and the final round of the transaction block is conf
8、irmed when all nodes receive sufficient voting messages.Based on an analysis of security,block generation time,and bandwidth requirements,this scheme requires a relatively short duration to verify transactions and blocks in the presence of Byzantine nodes in the network.For the same number of transa
9、ctions per second,the time required by the PoVT consensus algorithm to generate blocks is one-third that of the Practical Byzantine Fault Tolerance(PBFT)algorithm,and the network bandwidth consumption is reduced by 30%.This confirms that the blockchain framework of the IoT proposed herein exhibits h
10、igh scalability in different application scenarios.【Key words】blockchain;consensus algorithm;distributed ledger technology;Internet of Things(IoT);scalabilityDOI:10.19678/j.issn.1000-3428.0063845基金项目:自治区重大科技专项项目(课题四)“新疆地区食品安全风险防控与大数据智慧监管技术研究与应用”(2020A03001-4)。作者简介:苏瑞国(1997),男,硕士,主研方向为区块链、食品溯源;阳 建,硕士
11、;秦继伟,教授、博士、博士生导师;武晓雄,硕士;贾振红(通信作者),教授、博士生导师。收稿日期:2022-01-26 修回日期:2022-03-01 Email:网络空间安全文章编号:1000-3428(2023)02-0175-06 文献标志码:A 中图分类号:TP3912023年 2月 15日Computer Engineering 计算机工程0概述 目前,物联网(Internet of Things,IoT)技术已经广泛应用于工业自动化、电子健康、物流等领域的智能系统中1,这些智能系统通过大规模复杂的工业物联网实现自动化和高效化,从而提高系统服务质量和资源利用率2。物联网是由种类繁杂的传
12、感器设备和网关组成的分布式网络,其所有系统和应用都可以接入互联网,实现资源和信息的高效共享。物联网设备采用分布式部署,且具有庞大的设备数量和规模,如何处理智能设备非结构化数据以及保障工业网络的访问控制和系统中各设备的通信质量,是智能系统所面临的巨大挑战3,需要使用更高的数据采集标准以及统一的协议,将异构数据整合到统一的系统中,实现数据资源的整合以及不同设备之间的互操作4-5。区块链是分布式的存储系统,由一个接一个带有时间戳的区块组成6,以点对点(P2P)网络分布式数据库的形式存在,因此,区块链具有分散性、不可篡改性和可追溯的特点,凭借这些特点,其在物联网中得到有效利用,可实现更高效的数据交换、
13、管理以及访问控制7-9。物联网结合区块链的共识机制,有助于避免非法甚至恶意节点的接入。Hyperledger Fabric是一个主流的开源联盟链区块平台,不仅拥有区块链去中心化、数据不可篡改、多通道等特点,还提供了高效的共识机制、智能合约、数据存储等服务,Hyperledger Fabric与物联网相结合,既可保证数据的可信度,又能为柔性可信溯源的实现提供架构基础10-11。在结合区块链和物联网技术的过程中,区块链网络的共识效率和可扩展性是目前的重点研究方向12。然而,大规模的物联网系统中设备资源有限,现有相关研究提出的共识算法主要针对公共加密区块链,如 PoW、PoS 和 DPoS 都是通过
14、消耗计算机算力,以挖矿的方式来实现共识,从而导致共识时间较长、计算机资源浪费等问题,并不适用于大规模的物联网区块链系统13-14。文献 15 为确保区块链车联网的区块正确提交以及选择可靠的参与者,提出一个两阶段软安全增强的解决方案,其目的是防止公共区块链中活跃参与者和备用参与者之间内部串通,产生虚假交易,但是该方案仅针对车联网,可扩展性较差。基于认证证明的共识算法通过信任值来实现区块链的区块验证,但是如果一个节点被破坏,就可能牺牲其信任值并验证恶意交易,从而将错误的区块提交到分类账本中16-17。Raft共识算法可以在高效解决分布式系统中各个节点日志内容一致性问题的同时,使得集群具备一定的容错
15、能力,但该算法不支持容错作恶节点(拜占庭节点)18。实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法共识机制最早是为了解决区块链网络中的拜占庭节点而被引入到联盟链中,其通过三段式全广播投票的方式,在恶意节点数不高于全节点数 1/3的情况下,该算法能够同时保证共识阶段的安全性和活性19,但是,随着网络节点数量的增多,该算法存在通信开销大、扩展性差、效率低的问题20。文献 21提出一种信用授权的拜占庭容错(Credit-Delegated Byzantine Fault Tolerance,CDBFT)方案,其引入了投票奖励惩罚和信用评价机制,
16、然而,在区块链网络中,参与节点是经过认证和信任的,奖惩机制的重要性低于共识机制的可扩展性。文献 22 提出一种基于角色控制的拜占庭容错(Role management-based Practical Byzantine Fault Tolerance,RPBFT)算法,其将节点分为 3 种类型,通过选举机制和奖励机制对节点的角色类型进行转换管理,提高了节点的可靠性和动态性,但该算法的三阶段全广播投票方式依然存在网络通信量较高的问题。文献 23 提出一种基于投票算法(VBFT)的拜占庭容错算法,该算法将网络中的节点划分为 3 种具备不同职责的节点,分别是客户端、从节点和主节点,节点之间的状态可以随时动态调整,但是,该方案生成区块的时间较长,并不适用于大规模的物联网区块链。文献 24 基于信誉度选举的方式筛选节点,该方法通过改进 PBFT算法,以减少通信开销,提高共识效率。以上解决方案大多采用分片和并行共识的方式改进 PBFT算法,虽然在一定程度上提高了共识效率和可扩展性,但是仍采用 PBFT的三段式全广播投票方式来实现共识,导致算法存在带宽复杂度较高、共识吞吐量较大的问题。本文基于 Hy