一种基于PBFT的区块链网络节点负载均衡方法技术

技术编号:23710252 阅读:41 留言:0更新日期:2020-04-08 12:10
本发明专利技术公开了一种基于PBFT的区块链网络节点负载均衡方法,该方法基于联盟链平台‑‑超级账本Fabric实现,该系统分为web层、业务层fabric‑sdk‑go、智能合约层即链码层和Fabric即区块链存储层。本发明专利技术由主节点进行交易合法性判断、校验的校验、哈希计算等工作。在大量交易同时到达主节点时,主节点的工作量很大,而其余节点却是空闲状态,并且在广播区块信息时,大量的交易会造成主节点出块带宽过大,造成负载过重,是影响区块链系统性能瓶颈的一个重要因素。而本发明专利技术的负载均衡方法则解决了这一问题,主节点的一部分工作交于其他节点完成,广播压缩后的交易信息,降低网络出口带宽,在提高了系统的交易吞吐量的同时,依然保证了系统的安全性和容错率。

A load balancing method of blockchain network nodes based on pbft

【技术实现步骤摘要】
一种基于PBFT的区块链网络节点负载均衡方法
本专利技术涉及区块链共识机制
,具体涉及一种基于PBTF算法的区块链网络节点负载均衡方法。
技术介绍
区块链是近年来最具革命性的新兴技术之一。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中共识算法是区块链的灵魂,算法能够保证在没有中心主体控制的情况下,系统能让各参与方遵循相同的规则进行记账,实现数据分布式的一致性。无论是对区块链平台的交易处理能力、扩展性影响还是对通证经济的激励模型设计,共识协议都会产生很大影响。区块链又被分为公有链和联盟链,其中联盟链源自Vitalik对区块链的分类,是他第一次提出了联盟链这个说法。联盟链又被称为许可链。联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入和退出网络。各机构组织组成利益相关联盟,共同维护区块链的健康运转。联盟链的节点个数通常在几个到数百个不等,处理交易的速度在每秒1000次以上。联盟链是控制节点的准入,一定程度上保护了交易的隐私,同时因为节点数量通常不多,设计上多采用PBFT等共识算法,提高了本文档来自技高网...

【技术保护点】
1.一种基于PBFT的区块链网络节点负载均衡方法,其特征在于:该方法基于联盟链平台--超级账本Fabric实现,该系统分为web层、业务层fabric-sdk-go、智能合约层即链码层和Fabric即区块链存储层;由于fabric的链码使用go语言编写合约逻辑,因此在sdk中选择了fabric-sdk-go编写业务层逻辑,本方法基于fabric部署了四个节点的联盟链;/n假设节点无拜占庭行为,使用多线程模拟100万笔交易,向系统发送交易:/n步骤1:将交易提案经客户端签名后发送给fabric系统中的背书节点,由背书节点模拟执行交易提案并签名,返回模拟执行结果;/n步骤2:客户端将交易(模拟执行...

【技术特征摘要】
1.一种基于PBFT的区块链网络节点负载均衡方法,其特征在于:该方法基于联盟链平台--超级账本Fabric实现,该系统分为web层、业务层fabric-sdk-go、智能合约层即链码层和Fabric即区块链存储层;由于fabric的链码使用go语言编写合约逻辑,因此在sdk中选择了fabric-sdk-go编写业务层逻辑,本方法基于fabric部署了四个节点的联盟链;
假设节点无拜占庭行为,使用多线程模拟100万笔交易,向系统发送交易:
步骤1:将交易提案经客户端签名后发送给fabric系统中的背书节点,由背书节点模拟执行交易提案并签名,返回模拟执行结果;
步骤2:客户端将交易(模拟执行结果和签名)发送至fabric中的共识节点;
步骤3:共识节点负责对交易进行排序并生成区块,共识节点分为主节点和副本节点,主节点负责排序交易并生成区块,副本节点负责同步区块信息,保障主节点无拜占庭行为;
步骤4:共识节点将广播区块,记账节点接收到区块信息同步fabric中的状态数据库和历史数据库区块信息;
步骤5:交易完成。


2.根据权利要求1所述的一种基于PBFT的区块链网络节点负载均衡方法,其特征在于:超级账本Fabric支持总节点数3f+1中存在f个拜占庭节点,即系统完成数据一致性最多容忍f个恶意节点;Fabric中将节点分为以下三种角色:
1)背书节点;为交易做担保,模拟执行交易提案并签名;
2)共识节点;为交易排序并生成区块信息;
3)记账节点;保存区块,更新世界状态。


3.根据权利要求1所述的一种基于PBFT的区块链网络节点负载均衡方法,其特征在于:所述的步骤3中,交易发送给共识组任意成员,减轻了主节点的一部分工作,一些合法性校验工作由其他节点去完成,哈希的计算工作也有副本节点来完成;另一方面副本节点在这个过程中也得到了任务的分配,将其由空闲状态利用了起来,平衡了主节点和副本节点的工作量。


4.一种基于PBFT的区块链网络节点负载均衡方法,其特征在于:包括如下步骤,
步骤1)为了保证节点的不可预测性,需要主节点的选举是随机的,将原PBFT的轮流坐庄制改为通过区块高度和视图编号生成一个随机数,这个随机数就是节点的编号;生成的随机数在0~R-1之间,R是节点的总数;
步骤2)...

【专利技术属性】
技术研发人员:黄志清苏雪峰
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1