节点文献

区块链中多重签名与弹性拜占庭容错共识算法的研究与应用

Research and Application of Multi-signature and Flexible Byzantine Fault Tolerance Consensus Algorithm in Blockchain

【作者】 郭锐

【导师】 彭绍武; 王超;

【作者基本信息】 华南理工大学 , 软件工程(专业学位), 2020, 硕士

【摘要】 区块链技术因其特有的去中心化、难以篡改、无信任多方协作、匿名隐私等特点,对一些传统业务模式具有革命性的改变,得到了工业界和学术界的广泛关注。共识算法是区块链技术的核心模块,能够支撑区块链节点在去中心化、无信任的网络环境中进行有序的大规模协同合作,其性能直接影响区块链系统的整体效率。因此,研究区块链技术中共识算法在实际生产中所面临的挑战,提高交易处理能力,扩大共识节点规模,具有重要的研究意义和价值。经典分布式一致性算法PBFT(Practical Byzantine Fault Tolerance)及其变种在联盟区块链中广泛应用,但仍然存在以下问题:不支持在共识流程中节点动态加入与退出;在共识流程中,投票签名消息的空间占用过大问题;通信复杂度呈指数级,交易吞吐率低,不能支持大规模节点应用。本文针对上述问题开展了以下主要研究工作:(1)针对PBFT算法在共识流程中不支持节点变更的问题,本文提出基于拜占庭容错共识算法中支持节点热插拔的解决方案,采用弱中心路由表的方式构建节点状态表,并支持节点黑名单功能。任意节点可在共识阶段动态加入、退出共识网络,不需要重新启动网络。(2)针对投票签名消息空间占用过大的问题,本文引入基于BLS多重签名方法,改进了在共识流程中的阈值投票。实现--场景的阈值投票,且签名与公钥的长度为常数级,有效缩短阈值投票的延时,为共识流程与节点动态热插拔流程中阈值投票的场景提供底层技术支撑。(3)针对通信复杂度呈指数级,不能大规模应用的问题,本文在上述改进方案的基础上,提出弹性拜占庭容错算法(Flexible Byzantine Fault Tolerance,FBFT)。通过改进PBFT共识流程,将通信复杂度从(!)降低到(),使共识算法能够应用到更大规模的区块链网络中。在FISCO-BCOS平台下对FBFT算法进行实验,结果表明,相比于PBFT算法,平均交易吞吐率提高了4.54%。最后,基于本文提出的FBFT共识算法,设计并实现区块链账号与数据共享平台,实现账号信息在企业联盟中共享。并在联盟链场景下构建了医疗联合账号共享平台,通过患者病历数据在医院之间进行流转操作的案例,验证了FBFT算法的有效性。

【Abstract】 Blockchain technology has revolutionized some traditional business models,because of its unique characteristics of decentralization,hard to tampering,trustless multi-party collaboration,and anonymous privacy,and has received widespread attention from industry and academia.Consensus algorithm is the core module of blockchain technology,which can support the orderly large-scale collaborative cooperation of blockchain nodes in a decentralized and trustless network environment,and its performance directly affects the overall efficiency of the blockchain system.Therefore,studying the challenges of the consensus algorithm in the blockchain technology faced in actual production,improving transaction processing capabilities,and expanding the size of the consensus node have important research significance and value.The classic distributed consistency algorithm PBFT(Practical Byzantine Fault Tolerance)and its variants are widely used in the consortium blockchain,but the following problems still exist.First,it cannot support node dynamic joining and exiting in the consensus process like most public blockchains.Second,in the consensus process,the space occupied by the voting signature message is too large.Third,the complexity of the message is exponential,and the transaction throughput rate is low,so it cannot support large-scale application.In this paper,a series of work has been carried out to solve the above problems,including:(1).Aiming at the problem that the PBFT algorithm does not support node changes in the consensus process,this paper proposes a solution based on the Byzantine Fault Tolerance consensus algorithm that supports hot swapping of nodes.This solution uses the way of weak centralized routing table to build the nodes status table,and support node blacklist function.Any node can dynamically join and exit the consensus network during the consensus process without restarting network.(2).In response to the problem that the voting signature message takes up too much space,this paper introduces a multi-signature method based on BLS,which can improve the threshold voting in the consensus process.The threshold voting for m-of-n scenarios is implemented,and the length of signatures and public keys are constant level,which effectively shortens the delay of threshold voting,and provides the underlying technical support for the threshold voting scenario in the consensus process and node dynamic hot swapping process.(3).To address the problem that the complexity of the message is exponential so cannot be applied on a large-scale network.This paper proposes a Flexible Byzantine Fault Tolerance(FBFT)algorithm based on the above improvement scheme.By improving the PBFT consensus process,the message complexity is reduced from(!)to(),so that the consensus algorithm can be applied to a larger-scale blockchain network.Experiment with the FBFT algorithm under the FISCO-BCOS platform,and result shows that compared with the PBFT algorithm,the transaction throughput rate is increased by 4.54%.Finally,based on the FBFT consensus algorithm proposed in this paper,we design and implement a blockchain account data sharing platform to achieve account information sharing among enterprise alliances.Then,we constructed a medical joint account sharing platform in the consortium blockchain scenario,which through the case of the transfer operation of patients’ medical records data between hospitals to verify the effectiveness of the FBFT algorithm.

  • 【分类号】TP311.13
  • 【被引频次】4
  • 【下载频次】296
节点文献中: