一种区块链分片方法技术

技术编号:39672884 阅读:17 留言:0更新日期:2023-12-11 18:38
本申请公开了一种区块链分片方法

【技术实现步骤摘要】
一种区块链分片方法、区块链系统及跨分片背书方法


[0001]本专利技术属于区块链分片技术应用领域,尤其涉及一种区块链分片方法

区块链系统及跨分片背书方法


技术介绍

[0002]区块链是支持分布式账本的重要技术,被广泛应用于多种场景,由此衍生的分片技术被用于改善区块链的吞吐量和可扩展性,通常来说每个分片维护整个区块链账本状态的一部分,通过分片内共识产块

[0003]目前多数区块链分片系统要求分片包括大量节点,系统的分片数量少,这导致交易并发性较差,而小分片又容易因被分配超出安全阈值的恶意节点而损坏,不诚实的分片可以在系统内发起攻击破坏系统安全

[0004]以
BFT

PBFT
的共识机制为例,当一个分片内存在
<2/3
的恶意节点就可以认为分片损坏,一些特定的攻击,例如,重放攻击

发送无效交易

数据不可用等,将无法启动,这是因为分片内的诚实节点在片内共识时能够检测到这样的攻击,不对其签名确认使得片内共识无法通过,因此恶意节点
<2/3
的分片还能保证区块仅包括有效交易

但是这种不诚实分片仍能发起其他攻击,例如分叉现象,此时分片仍可能产生区块,而分叉链会破坏系统安全

[0005]因此大多数的分片系统仍然设置较大的分片尺寸,以确保分片不诚实的概率可以忽略不计


技术实现思路

[0006]基于此,本专利技术提出一种区块链分片方法

区块链系统及跨分片背书方法,通过跨分片背书敲定来自不诚实分片的区块,从而允许分片内拥有更大比例的恶意节点,允许系统存在一些不诚实分片,确保不诚实分片存在时系统的安全,系统能够配置更多的分片,从而提升系统并发性

[0007]第一方面,本专利技术提供一种区块链分片方法,在每个
epoch
的开始执行,包括:
[0008]确定系统配置的背书组数量;
[0009]根据分片标识和背书组数量计算分片所属的背书组,背书组内的各分片对背书组内分片产生的区块进行有序跨分片背书,以确定区块内交易的可执行性

[0010]进一步地,根据分片标识和背书组数量计算分片所属的背书组包括:
[0011]建立分片与背书组的映射关系
s

i/S
并向下取整,
s
表示背书组标识,
i
表示分片标识,
S
为系统内背书组数量

[0012]第二方面,本专利技术提供一种区块链系统,包括若干背书组,背书组内的分片利用第一方面的区块链分片方法进行分配;
[0013]背书组内配置有若干分片,背书组内的各分片对背书组内分片产生的区块进行有序背书,以确定区块内交易的可执行性

[0014]第三方面,本专利技术提供一种跨分片背书方法,应用于第二方面的区块链系统,在背书组内执行,该方法包括:
[0015]当前分片根据预设的接收规则接收前序分片广播的最新区块,该区块包括前序分片对前序区块的背书历史;
[0016]当前分片对前序分片的最新区块进行背书并产块,根据预设的广播规则把当前分片的最新区块广播至后序分片;
[0017]区块的产块分片根据区块的背书历史确定区块内交易的可执行性,区块得到背书组内所有分片的背书时被敲定可执行区块内交易

[0018]进一步地,预设的接收规则有如下:
[0019][0020]w
表示前序分片的分片标识,
v
表示当前分片的分片标识,
M
表示背书组内的分片数量

[0021]进一步地,预设的广播规则有如下:
[0022][0023]u
表示当前分片的分片标识,
t
表示后序分片的分片标识,
M
表示背书组内的分片数量

[0024]进一步地,当前分片对前序分片的最新区块进行背书并产块包括:
[0025]获取前序分片最新区块的区块头;
[0026]根据区块头的签名验证区块的有效性;
[0027]验证区块为有效时,当前分片产块,并把前序分片最新区块的哈希值写入当前分片的最新区块

[0028]进一步地,把前序分片最新区块的哈希值写入当前分片的最新区块之前包括:
[0029]根据区块头验证区块的背书历史与当前分片的背书历史是否冲突

[0030]进一步地,前序分片广播的最新区块为分叉区块时,上述方法包括:
[0031]当前分片选择区块高度更大的一个分叉区块进行背书

[0032]进一步地,前序分片广播的最新区块为分叉区块时,上述方法包括:
[0033]当前分片选择产块时间更早和
/
或被接收时间更早的一个分叉区块进行背书

[0034]进一步地,前序分片广播的最新区块为分叉区块时,上述方法包括:
[0035]当前分片选择包括更多交易的一个分叉区块进行背书

[0036]进一步地,前序分片广播的最新区块为分叉区块时,上述方法包括:
[0037]当前分片选择区块内总交易费用更高的一个分叉区块进行背书

[0038]进一步地,前序分片广播的最新区块为分叉区块时,上述方法包括:
[0039]当前分片选择在前序分片中获得更多共识投票的一个分叉区块进行背书

[0040]进一步地,上述方法还包括:
[0041]区块未被敲定交易可执行时,产块分片不停止产块

[0042]第四方面,本专利技术提供一种区块链分片系统,包括背书组;
[0043]背书组内实现第三方面的跨分片背书方法

[0044]第五方面,本专利技术提供一种电子设备,包括存储器和处理器;
[0045]所述存储器,用于存储程序;
[0046]所述处理器,用于执行所述程序,实现前述区块链分片方法和
/
或跨分片背书方法的各个步骤

[0047]第七方面,本专利技术提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述区块链分片方法和
/
或跨分片背书方法的各个步骤

[0048]与现有的分片系统相比,本专利技术具有如下优点:
[0049]本专利技术提出的分片方法,把系统内的分片分配至不同的背书组,背书组内分片产生的区块不仅需要通过片内共识,还需要获得背书组内其他分片的背书,区块内的交易才被敲定为可正式执行;基于此分片方法在系统内运行的跨分片背书方法,背书组内的分片根据预设的接收规则对前序分片的区块进行背书,再根据预设本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种区块链分片方法,其特征在于,在每个
epoch
的开始执行,包括:确定系统配置的背书组数量;根据分片标识和所述背书组数量计算分片所属的背书组,背书组内的各分片对背书组内分片产生的区块进行有序跨分片背书,以确定区块内交易的可执行性
。2.
根据权利要求1所述的区块链分片方法,其特征在于,所述根据分片标识和背书组数量计算分片所属的背书组包括:建立分片与背书组的映射关系
s

i/S
,计算结果向下取整,
s
表示背书组标识,
i
表示分片标识,
S
为系统内背书组数量
。3.
一种区块链系统,其特征在于,包括至少一个背书组,背书组内的分片利用权利要求1~2任一项所述的区块链分片方法进行分配;背书组内的各分片对背书组内分片产生的区块进行有序背书,以确定区块内交易的可执行性
。4.
一种跨分片背书方法,其特征在于,应用于权利要求3所述的区块链系统,在背书组内执行,包括:当前分片根据预设的接收规则接收前序分片广播的最新区块,所述前序分片广播的最新区块包括前序分片对前序区块的背书历史;当前分片对前序分片的最新区块进行背书并产块,根据预设的广播规则把当前分片的最新区块广播至后序分片;根据区块的背书历史确定区块内交易的可执行性,区块得到背书组内所有分片的背书时被敲定可执行区块内交易
。5.
根据权利要求4所述的跨分片背书方法,其特征在于,所述预设的接收规则有如下:
w
表示前序分片的分片标识,
v
表示当前分片的分片标识,
M
表示背书组内的分片数量
。6.
根据权利要求4所述的跨分片背书方法,其特征在于,所述预设的广播规则有如下:
u
表示当前分片的分片标识,
t
表示后序分片的分片标识,
M
表示背书组内的分片数量
。7.
根据权利要求4所述的跨分片背书方法,其特征在于,所述当前分片对前序分片的最新区块进行背书并产块包括:获取前序分片最新区块的区块头;根据所述区块头的签名验证区块的有效性;验证区块为有效时,当前分片产块,并把前序分片最新区块的...

【专利技术属性】
技术研发人员:张进林游李明哲
申请(专利权)人:南方科技大学
类型:发明
国别省市:

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

1