【技术实现步骤摘要】
一种区块链分片方法、区块链系统及跨分片交易处理方法
[0001]本申请涉及区块链
,更具体地说,是涉及一种区块链分片方法、区块链系统及跨分片交易处理方法。
技术介绍
[0002]分片技术被认为是一种提高区块链扩展性的可行解决方案。分片技术将区块链节点划分为多个小型委员会,每个委员会只需要处理分片内交易和部分跨分片交易,因此可以提升吞吐量。
[0003]然而,各分片中交易的分布不一定是均衡的,这可能导致部分分片拥塞。当分片拥塞时,跨分片交易可能会被无期限地延迟。事实上,拥塞的分片是由活跃的用户频繁地在其相关的分片上发布大量交易造成的。
[0004]另外,提高分片数量虽然可以提升吞吐量,但当分片的数量变大时,几乎所有的交易都是跨分片的,这也将导致分片要处理的交易数量大幅增加。
[0005]因此,在区块链分片环境下,分片间的工作负载均衡和如何减少跨分片是有待解决的重要问题。
技术实现思路
[0006]有鉴于此,本申请提供了一种区块链分片方法、区块链系统及跨分片交易处理方法,以减少跨分片 ...
【技术保护点】
【技术特征摘要】
1.一种区块链分片方法,其特征在于,包括:根据当前分区周期新生成的交易区块,生成区块链的状态图,所述状态图包括各账户/子账户在当前分区周期的交易关系,所述交易关系包括交易账户/子账户之间的交易次数;当新生成的交易区块达到预设数目后,将所述状态图划分成至少两个互不重叠的子状态图,得到状态图划分结果,所述子状态图之间的交易次数小于预设的第一阈值,各子状态图内部的总交易次数的方差小于预设的第二阈值;对所述状态图划分结果在区块链内进行共识,生成新的状态区块;根据所述新的状态区块,对各账户的状态进行重构。2.根据权利要求1所述的方法,其特征在于,所述根据当前分区周期新生成的交易区块,生成区块链的状态图的过程,包括:根据当前分区周期新生成的交易区块,确定每个账户在当前分区周期的总交易次数以及与其他账户的交易次数;以账户作为顶点,通过在存在交易的账户之间设置边,来构造所述状态图;其中,两个顶点之间的边的权重设置为所述两个顶点所属的账户之间在当前分区周期的交易次数;顶点的权重设置为所述顶点所属的账户在当前分区周期的总交易次数。3.根据权利要求1所述的方法,其特征在于,将所述状态图划分成至少两个互不重叠的子状态图的过程,包括:根据所述状态图中各顶点的权重以及各边的权重,通过Metis算法将所述状态图划分成至少两个互不重叠的子状态图。4.根据权利要求1所述的方法,其特征在于,根据所述新的状态区块,对各账户的状态进行重构的过程,包括:根据所述新的状态区块,获取各账户所属的分片;基于各账户所属的分片,通过Elastico算法对各账户的状态进行重构。5.一种区块链系统,其特征在于,包括:分区分片,用于根据权利要求1所述的方法对区块链进行分片;区块生成分片,用于生成分片内的交易区块。6.一种跨分片交易处理方法,所述方法应用于权利要求5所述的系统,其特征在于,包括:源账户根据目标账户及当前的状态区块,获取中继账户的信息,其中,中继账户包括至少两个子账户,所述子账户至少存在于源账户所在的源分片以及目标账户所在的目标分片;源账户以预设的第一锁定时间向目标账户及中继账户发起原始交易;当接收到所述原始交易后,中继账户根据源分片当前的第一区块高度,向源账户发起第一跨分片交易;当第一跨分片交易被验证通过并且得到确认后,中继账户向目标账户发起第二跨分片交易,其中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。