一种基于区块链和有向无环图的自适应可拓展共识方法

专利查询19小时前  2


本发明涉及区块链共识协议,特别是涉及一种基于区块链和有向无环图的自适应可拓展共识方法。


背景技术:

1、区块链技术作为一种极具前景的技术,已经成为计算机领域研究的热点。当前,区块链相关理论和方法在工程领域和科学领域都得到了广泛的应用。

2、共识协议(consensus protocol)是指在分布式系统中,各个节点之间就某个事务或状态达成一致意见的一套规则和算法。在没有中央权威的情况下,共识协议通过确保网络中的所有节点都同意某个特定的交易或状态来维护系统的一致性。在区块链技术中,区块链系统由不断增长的区块利用哈希指针前后链接而成,区块链中的数据只能追加、不可删除或篡改。区块链系统是一个典型的分布式系统,其中每个节点维护一份本地区块链数据备份。在区块链系统中,区块链共识协议制定了一组每个节点必须遵守的规则,最终保证分布式系统中不同节点在添加新区块时达成一致。

3、作为区块链系统的核心组件,共识协议同时决定了区块链系统的性能及安全。但是传统的基于链的区块链系统通常存在吞吐量低的问题,导致系统性能不够理想。在现有区块链系统中引入有向无环图(dag)结构可以实现高交易吞吐量,解决传统的基于链的区块链系统性能不够理想的问题。这种方法使块能够引用多个先前的块,从而以更好的性能并行处理块。相较于传统的基于链的区块链系统,基于有向无环图的区块链方案具有以下优势:

4、(1)在基于有向无环图的区块链方案中,传统的链结构被扩展为图结构,其中每个块可以引用多个后继块。因此,每个用户都可以自由选择之前的区块进行扩展,而不用竞争开采下一个区块。这样的设计避免了线性排序区块带来的竞争性交易的消耗。

5、(2)有向无环图允许交易在网络中并行处理,而不是像传统区块链一样顺序执行。这提高了系统的扩展性,使得网络能够更好地处理高并发交易,大大提高了系统的吞吐量。

6、(3)由于交易可以在并行处理中达成共识,基于有向无环图的共识机制通常能够实现较低的交易确认时间。这对于需要快速交易确认的应用场景(如支付)非常有利。

7、(4)有向无环图结构的设计支持更广泛的去中心化,因为每个节点都可以并行地参与共识过程,而不需要等待单一的中心节点或工作节点。

8、然而,引入有向无环图结构也增加了区块链系统中算力分散的风险。由算力分散引起的攻击也被叫做分裂攻击,在分裂攻击中,对手更有可能将其计算能力集中在构建替代区块上。这种形式的攻击通常被称为基于链的区块链系统中的51%攻击。此类攻击已被证明是一种潜在威胁,因为它们会导致区块链结构分叉,最终导致双重支出问题等一系列问题。在基于有向无环图的区块链系统中,这些攻击通常针对图结构中块顺序的逆转,从而导致严重后果。

9、为了缓解分裂攻击带来的问题,最常见的方案提出了各种排序协议来解决那些未连接块的顺序不确定性,从而增强稳定性。例如,phantom共识协议对区块进行投票操作,并调用递归贪婪算法对从创世区块到最新区块的所有区块进行排序。由于所有块都引用创世块,因此创世块是最重的一个。块越重,该块的排序越优先。这个最重链规则用于对块的序列进行排序,类似于使用最长链规则来处理区块分叉。

10、不幸的是,现有的解决方案仍然无法有效抵御分裂攻击。由于大多数方案强制开采的区块会随机引用尽可能多的区块来增加被确认的概率,这会导致诚实节点算力的分散。对手可以集中算力构建替代区块,并根据最重链规则进行分裂攻击,使共识结果变得不稳定。


技术实现思路

1、为了克服现有技术的不足,本发明的目的是提供一种基于区块链和有向无环图的自适应可拓展共识方法。

2、为实现上述目的,本发明提供了如下方案:

3、一种基于区块链和有向无环图的自适应可拓展共识方法,包括:

4、初始化基于有向无环图的区块链网络,构建一个p2p分布式网络;

5、当区块链网络中任意一个节点发起新的交易时,该节点将交易信息广播到区块链网络中的其他节点;

6、当所述交易信息通过其他节点的验证后,将有效的交易信息被添加到交易池;

7、工作节点使用共识协议基于区块难度确定新区块的最大区块引用数,并基于区块参考策略确定先前区块引用优先级;

8、工作节点使用共识协议基于新区块的最大区块引用数和先前区块引用优先级创建新区块,同时将所述交易池中的交易信息添加到所述新区块中;

9、对所述新区块进行验证,并将通过验证后的所述新区块广播到区块链网络中。

10、优选的,在有向无环图的区块链网络中,每个区块都有对先前区块的一个或者多个引用,各个区块组成的引用关系描绘出区块链网络中的有向无环图。

11、优选的,所述区块参考策略包括:最高累计分数策略和最长最短路径策略。

12、优选的,在最长最短路径策略的执行中,在初始时为每个块分配一个分数,新块累加引用块的分数,块的最终分数由分配的分数加上从参考块扩展的累积分数组成;

13、对于按累积分数排序的所有未被引用过的区块的子集,令cmax表示最大分数,ci表示第i块的分数,计算每个小费的贡献率ri=log(α+ci/cmax)/log(α+1);其中参数α∈(0,1];

14、将当前未被引用过的区块的分配分数表示为a,因此当前未被引用过的区块的累积分数计算为s=a+ci*ri;

15、按照累积分数对未被引用过的区块进行排序得到先前区块引用优先级。

16、优选的,在最长最短路径策略的执行中,调用迪杰斯特拉算法来获取基于有向无环图的区块链网络中每个区块长度,用区块长度对所有候选未被引用过的区块的子集进行排序,区块长度越大,引用的优先级越高。

17、本发明还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现上述的一种基于区块链和有向无环图的自适应可拓展共识方法中的步骤。

18、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的一种基于区块链和有向无环图的自适应可拓展共识方法中的步骤。

19、本发明提供的一种基于区块链和有向无环图的自适应可拓展共识方法的有益效果在于:与现有技术相比,本发明通过将有向无环图技术引入到区块链系统中,可以将每个交易连接到多个先前的交易,从而使节点能并行处理多个交易,这使得区块链网络在处理交易时具有更高的并发性和吞吐量;此外,本发明通过采用区块引用策略来发行开采出的区块可以用积极的方式影响有向无环图的拓扑,从而抵御可能的攻击。



技术特征:

1.一种基于区块链和有向无环图的自适应可拓展共识方法,其特征在于,包括:

2.根据权利要求1所述的一种基于区块链和有向无环图的自适应可拓展共识方法,其特征在于,在有向无环图的区块链网络中,每个区块都有对先前区块的一个或者多个引用,各个区块组成的引用关系描绘出区块链网络中的有向无环图。

3.根据权利要求2所述的一种基于区块链和有向无环图的自适应可拓展共识方法,其特征在于,所述区块参考策略包括:最高累计分数策略和最长最短路径策略。

4.根据权利要求3所述的一种基于区块链和有向无环图的自适应可拓展共识方法,其特征在于,在最长最短路径策略的执行中,调用迪杰斯特拉算法来获取基于有向无环图的区块链网络中每个区块长度,用区块长度对所有候选未被引用过的区块的子集进行排序,区块长度越大,引用的优先级越高。

5.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1-4中任一项所述的一种基于区块链和有向无环图的自适应可拓展共识方法中的步骤。

6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的一种基于区块链和有向无环图的自适应可拓展共识方法中的步骤。


技术总结
本发明提供了一种基于区块链和有向无环图的自适应可拓展共识方法,其中该方法,包括:初始化基于有向无环图的区块链网络;当区块链网络中的节点发起新的交易时,该节点将交易信息广播到区块链网络中;将有效的交易信息被添加到交易池;工作节点使用共识协议基于区块难度确定新区块的最大区块引用数,基于区块参考策略确定先前区块引用优先级并创建新区块,同时将交易池中的交易信息添加到新区块中;对新区块进行验证,并将通过验证后的新区块广播到区块链网络中。本发明通过将有向无环图技术引入到区块链系统中,可以将每个交易连接到多个先前的交易,从而使节点能并行处理多个交易,这使得区块链网络在处理交易时具有更高的并发性和吞吐量。

技术研发人员:张子剑,刘旭洋,孙海博,陈曦,祝烈煌
受保护的技术使用者:北京理工大学
技术研发日:
技术公布日:2024/12/5

最新回复(0)