基于排序公平的拜占庭容错方法、装置、电子设备及产品与流程
本技术属于区块链,尤其涉及一种基于排序公平的拜占庭容错方法、装置、电子设备及产品。
背景技术:
1、在实际应用中,拜占庭容错是一种分布式计算容错技术,指在存在恶意或故障节点(拜占庭节点)的分布式系统中,网络仍能达成正确共识的属性。在目前的拜占庭共识协议中,存在一个领导者完全控制交易的包含和顺序,并将此作为提案执行共识。也就是说,排序操控是存在的,因此,为了阻止攻击者操控交易的顺序,排序公平是必要的。
2、现有的拜占庭交易公平排序方法通常包括全序公平性和无序公平性。然而,全序公平性通常需要在网络延迟和拜占庭威胁下尽可能还原交易到达各节点的真实顺序,导致排序效率较低;无序公平性没有确定性的顺序,无法满足依赖时序逻辑的应用。
技术实现思路
1、本技术实施例提供了一种基于排序公平的拜占庭容错方法、装置、电子设备及产品,以解决现有技术存在的全序公平性的排序效率较低,无序公平性没有确定性的顺序,无法满足依赖时序逻辑的应用的问题。
2、第一方面,本技术实施例提供了一种基于排序公平的拜占庭容错方法,应用于区块链中的领导节点,方法包括:
3、基于预设交易时间间隔和公平性参数对接收到的当前轮次的各个诚实节点的本地交易视图进行交易顺序约束处理,得到当前轮次的全局交易依赖图;公平性参数用于表征在所有诚实节点中需要达成一致的节点比例下限,本地交易视图包括本地排序集合,本地排序集合包括处于对应的诚实节点中的各个待处理交易的本地交易排序,全局交易依赖图包括实心交易集合和存在交易顺序约束的交易对集合,交易顺序约束处理包括对交易时间间隔满足预设交易时间间隔的交易对构建确定性交易顺序,实心交易集合包括多个实心交易,实心交易指存在于大于或等于第一设定数目个本地排序集合中的待处理交易;
4、响应于全局交易依赖图满足公平性排序参与条件,基于全局交易依赖图和随机排序方式,对各个实心交易进行排序,得到当前轮次的交易执行序列;随机排序方式用于交易时间间隔不满足预设交易时间间隔的交易对。
5、可选的,基于预设交易时间间隔和公平性参数对接收到的当前轮次的各个诚实节点的本地交易视图进行交易顺序约束处理,得到所述当前轮次的全局交易依赖图,包括:
6、针对任意一个待处理交易,响应于待处理交易存在于大于或等于第一设定数目个本地排序集合中,将待处理交易添加至实心交易集合中;
7、针对实心交易集合中任意一组交易对,响应于交易对中的第一实心交易对应的第一数量大于交易对中的第二实心交易对应的第二数量,且第一数量大于或等于第二设定数目,将交易对添加至交易对集合;第一数量指在所有诚实节点的本地排序集合中,第一实心交易的交易顺序早于第二实心交易的交易顺序,且第一实心交易与第二实心交易之间的交易时间间隔满足预设交易时间间隔的集合数量;第二数量指在所有诚实节点的交易排序中,第二实心交易的交易顺序早于第一实心交易的交易顺序,且第一实心交易与第二实心交易之间的交易时间间隔满足预设交易时间间隔的交易排序数量;第二设定数目基于公平性参数确定。
8、可选的,在将交易对添加至交易对集合之前,方法还包括:
9、响应于任意一个待处理交易存在于大于或等于第二设定数目,且小于第一设定数目个本地排序集合中,将待处理交易添加至当前轮次的阴影交易集合中;
10、相应的,在得到当前轮次的全局交易依赖图之后,方法还包括:
11、在对后一轮次的各个本地交易视图进行交易顺序约束处理的过程中,基于阴影交易集合和后一轮次的各个本地交易视图中的本地更新集合,对全局交易依赖图进行更新,得到更新后的全局交易依赖图;后一轮次的本地更新集合包括在后一轮次中,处于对应的诚实节点中的各个待更新交易和各个待更新交易对应的依赖关系;待更新交易由阴影交易集合和后一轮次中,处于对应的诚实节点中的各个交易确定;依赖关系用于描述待更新交易与目标交易之间的交易顺序;目标交易指后一轮次中与待更新交易处于同一诚实节点,与待更新交易的交易时间间隔满足预设交易时间间隔,且为实心交易的交易。
12、可选的,基于阴影交易集合和后一轮次的各个本地交易视图中的本地更新集合,对全局交易依赖图进行更新,得到更新后的全局交易依赖图,包括:
13、针对阴影交易集合中的任意一个阴影交易,响应于阴影交易存在于大于或等于第一设定数目个本地更新集合中,将阴影交易添加至实心交易集合中;
14、响应于阴影交易对应的第三数量,大于阴影交易对应的目标交易对应的第四数量,且第三数量大于或等于第二设定数目,将阴影交易对应的依赖关系添加至交易对集合,以完成全局交易依赖图的更新;第三数量指在所有诚实节点的本地更新集合中,阴影交易的交易顺序早于目标交易的交易顺序的集合数量,第四数量指在所有诚实节点的本地更新集合中,目标交易的交易顺序早于阴影交易的交易顺序的集合数量。
15、可选的,基于全局交易依赖图和随机排序方式,对各个实心交易进行排序,得到当前轮次的交易执行序列,包括:
16、对全局交易依赖图进行强连通分量计算,得到分量集合;
17、基于分量集合构建得到有向无环图;有向无环图中的每个顶点用于表征实心交易,连接两个顶点的连接边用于表征对应的两个实心交易的确定性交易顺序,确定性交易顺序用于表征一个实心交易的交易顺序早于连接边箭头指向的另一个实心交易;
18、基于有向无环图和随机排序方式,对各个实心交易进行排序,得到交易执行序列。
19、可选的,基于有向无环图和随机排序方式,对各个实心交易进行排序,得到交易执行序列,包括:
20、检测有向无环图中入度为零的至少一个目标顶点;入度为零指任意一个目标顶点对应的实心交易的交易顺序,早于有向无环图中的其它顶点对应的实心交易的交易顺序,其它顶点指有向无环图中除任意一个目标顶点之外的顶点;
21、将目标顶点对应的实心交易划分至同一交易组;
22、在有向无环图中删除目标顶点和目标边,并返回执行步骤检测有向无环图中入度为零的至少一个目标顶点以及后续步骤,直至删除后的有向无环图为空;
23、基于各个交易组和随机排序方式,得到交易执行序列。
24、可选的,基于各个交易组和随机排序方式,得到交易执行序列,包括:
25、基于各个交易组的划分时间,确定所有交易组的组间序列;
26、基于随机排序方式对各个交易组中的各个实心交易进行随机排序,得到各个交易组的组内序列;
27、基于组间序列和各个交易组的组内序列,得到交易执行序列。
28、第二方面,本技术实施例提供了一种基于排序公平的拜占庭容错装置,应用于区块链的领导节点,装置包括:
29、顺序约束处理单元,用于基于预设交易时间间隔和公平性参数对接收到的当前轮次的各个诚实节点的本地交易视图进行交易顺序约束处理,得到所述当前轮次的全局交易依赖图;公平性参数用于表征在所有诚实节点中需要达成一致的节点比例下限,本地交易视图包括本地排序集合,本地排序集合包括处于对应的诚实节点中的各个待处理交易的本地交易排序,全局交易依赖图包括实心交易集合和存在交易顺序约束的交易对集合,交易顺序约束处理包括对交易时间间隔满足预设交易时间间隔的交易对构建确定性交易顺序,实心交易集合包括多个实心交易,实心交易指存在于大于或等于第一设定数目个本地排序集合中的待处理交易;
30、排序单元,用于响应于全局交易依赖图满足公平性排序参与条件,基于全局交易依赖图和随机排序方式,对各个实心交易进行排序,得到当前轮次的交易执行序列;随机排序方式用于交易时间间隔不满足预设交易时间间隔的交易对。
31、第三方面,本技术实施例提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,上述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的基于排序公平的拜占庭容错方法。
32、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的基于排序公平的拜占庭容错方法。
33、第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可执行上述第一方面中任一项所述的基于排序公平的拜占庭容错方法。
34、本技术实施例与现有技术相比存在的有益效果是:
35、本技术实施例提供的一种基于排序公平的拜占庭容错方法,区块链的领导节点通过基于预设交易时间间隔和公平性参数对接收到的当前轮次的各个诚实节点的本地交易视图进行交易顺序约束处理,得到所述当前轮次的全局交易依赖图;公平性参数用于表征在所有诚实节点中需要达成一致的节点比例下限,本地交易视图包括本地排序集合,本地排序集合包括处于对应的诚实节点中的各个待处理交易的本地交易排序,全局交易依赖图包括实心交易集合和存在交易顺序约束的交易对集合,交易顺序约束处理包括对交易时间间隔满足预设交易时间间隔的交易对构建确定性交易顺序,实心交易集合包括多个实心交易,实心交易指存在于大于或等于第一设定数目个本地排序集合中的待处理交易;响应于全局交易依赖图满足公平性排序参与条件,基于全局交易依赖图和随机排序方式,对各个实心交易进行排序,得到当前轮次的交易执行序列;随机排序方式用于交易时间间隔不满足预设交易时间间隔的交易对。本技术对于时间间隔可区分的交易,可以提供强确定性排序保证;对于时间间隔极小、顺序本就模糊的交易,允许一定程度的松弛(即随机排序),从而在保证整体公平性的同时提升系统效率。此外,全局交易依赖图基于全部诚实节点的本地交易视图生成,恶意节点仅能篡改自身单一本地排序,无法改变 “实心交易需要≥第一设定数目诚实节点共同包含” 的判定规则,使得少量恶意节点无法伪造虚假实心交易混入执行序列;同时,公平性参数划定诚实节点共识门槛,只要诚实节点占比达标,恶意节点即无法扭曲全局交易依赖关系。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com