The invention provides a PBFT-based fragmentation method of alliance chain and corresponding alliance chain. The method includes: calculating the number of fragments in the alliance chain according to the total number of nodes in the alliance chain and the preset minimum number of consensus nodes; dividing all nodes in the alliance chain into fragments according to the number of fragments; determining according to the preset algorithm when the node receives the information request of the upper chain. The upper chain information is stored in a block according to the PBFT algorithm, and the generated new block is broadcast to all nodes. The new block is hashed and the hash value is stored in the main chain of the Federation chain. The invention divides the alliance chain based on PBFT algorithm, and improves the concurrency of the alliance chain system.
【技术实现步骤摘要】
一种基于PBFT的联盟链分片方法及相应的联盟链
本专利技术涉及区块链的分片技术,更具体地,涉及一种基于PBFT的联盟链分片方法及相应的联盟链。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中介化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,区块链具有去中心化、安全性高等特点,因此,在很多应用场合都使用区块链。传统的区块链中只存在一条主链,当交易并发量较高时,传统的区块链会出现压力瓶颈,导致并发量低的问题。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的基于PBFT的联盟链分片方法及相应的联盟链,解决了联盟链并发量低的问题。根据本专利技术的一个方面,提供了一种基于PBFT的联盟链分片方法,包括:S1,根据联盟链中节点总数以及预设的最小节点共识数量,计算联盟链中所有节点被划分的片区数;S2,根据所述片区数,按照预设规则将联盟链中的所有节点进行片区的划分;S3,当联盟链中的节点接收到上链信息请求时,按照预设算法确定存储上链信息的片区;S4,按照PBFT算法将所述上链信息存储到确定的片区的区块中,并将产生的新区块广播到联盟链的所有节点中;S5,对所述新区块进行哈希运算,将运算后的哈希值存储到联盟链的主链中。本专利技术的有益效果为:基于PBFT算法对联盟链进行分片,将联盟链划分为主链和多个片区链,当联盟链的交易量较高时,提高了联盟链系统的并发量。在上述技术方案的基础上,本专利技术还可以做如下改进。进 ...
【技术保护点】
1.一种基于PBFT的联盟链分片方法,其特征在于,包括:S1,根据联盟链中节点总数以及预设的最小节点共识数量,计算联盟链中所有节点被划分的片区数;S2,根据所述片区数,按照预设规则对联盟链中的所有节点进行片区的划分;S3,当联盟链中的节点接收到上链信息请求时,按照预设算法确定存储上链信息的片区;S4,按照PBFT算法将所述上链信息存储到确定的片区的区块中,并将产生的新区块广播到联盟链的所有节点中;S5,对所述新区块进行哈希运算,将运算后的哈希值存储到联盟链的主链中。
【技术特征摘要】
1.一种基于PBFT的联盟链分片方法,其特征在于,包括:S1,根据联盟链中节点总数以及预设的最小节点共识数量,计算联盟链中所有节点被划分的片区数;S2,根据所述片区数,按照预设规则对联盟链中的所有节点进行片区的划分;S3,当联盟链中的节点接收到上链信息请求时,按照预设算法确定存储上链信息的片区;S4,按照PBFT算法将所述上链信息存储到确定的片区的区块中,并将产生的新区块广播到联盟链的所有节点中;S5,对所述新区块进行哈希运算,将运算后的哈希值存储到联盟链的主链中。2.根据权利要求1所述的联盟链分片方法,其特征在于,所述步骤S1之前还包括:当有新节点申请接入联盟链时,联盟链管理节点对申请加入的该新节点进行审核,待审核通过后,对该新节点进行编号,并将联盟链中更新后的所有节点名单广播至联盟链的所有节点。3.根据权利要求2所述的联盟链分片方法,其特征在于,所述步骤S1具体包括:当联盟链中的节点接收到联盟链管理节点广播的所有节点名单后,根据所述所有节点名单中的节点总数m和预设的最小节点共识数量n,计算联盟链中所有节点被划分的片区数x=[m/n],其中,m,n均为正整数;相应的,所述步骤S2具体包括:根据计算的片区数,将联盟链中所有节点等分为x个片区,每一个片区包括n个节点。4.根据权利要求3所述的联盟链分片方法,其特征在于,所述根据计算的片区数,将联盟链中所有节点等分为x个片区具体包括:划分后的第一片区包括编号为1~n的节点,第二片区包括编号为(n+1)~2n的节点,依次类推,第x个片区包括编号为(x-1)n+1~m的节点。5.根据权利要求1所述的联盟链分片方法,其特征在于,所述步骤S3具体包括:当联盟链中的节点接收到上链信息请求时,该节点计算出H=(上链信息+当前时间戳的哈希值),并计算y=(H的二进制后12位)modx+1,得到小于等于x的片区序号y,其中,y为确定存储上链信息的片区。6.根据权利5所述的联盟链分片方法,其特征在于,所述步骤S4具体包括:S41,接收到上链信息请求的节点与第y片区中的所有节点组成第y共识小组,其中,所述接收到上链信息请求的节点为第y共...
【专利技术属性】
技术研发人员:尚书丞,
申请(专利权)人:弗洛格武汉信息科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。