一种基于DAG和分片的区块链异步共识算法制造技术

技术编号:38267269 阅读:10 留言:0更新日期:2023-07-27 10:23
一种基于DAG和分片的区块链异步共识算法,包括:将区块链网络划分为多个分片,每个分片中包含有多个节点;节点根据接收到的交易信息创建区块以及与区块对应的事件;分片中的节点基于DAG(有向无环图)结构确定领导者区块,并且基于领导者区块形成片内共识;节点基于领导者区块将多个事件合并为一个批次,并且一个批次的事件在分片之间传播形成片间共识。本发明专利技术提供一种基于DAG和分片的区块链异步共识算法,能够大幅提升共识效率,缩短共识过程中的通信开销。通信开销。通信开销。

【技术实现步骤摘要】
一种基于DAG和分片的区块链异步共识算法


[0001]本专利技术涉及区块链共识算法
,具体的说是一种基于DAG和分片的区块链异步共识算法。

技术介绍

[0002]作为最流行的分布式账本技术之一,区块链能够实现去中心化、透明和不可篡改的交易记账,而无需可信第三方参与,从而改变了传统账本的交易模式。区块链技术已经引起了学术界和各国政府的广泛关注,越来越多的企业和组织正在探索区块链技术在其领域中的应用。共识算法是区块链技术的核心要素,也是近年来分布式系统研究的热点。共识算法影响着区块链的交易处理能力、扩展性和安全性,是区块链技术发展的关建。最初的共识算法研究常常关注于解决同步环境下的共识问题,而严格的同步假设在互联网流行的当下往往难以满足,因此异步环境下的共识算法的研究具有十分重要的意义。现有的异步共识算法仍然是基于相同的线性链结构,限制了开发范围。

技术实现思路

[0003]为了解决现有技术中的不足,本专利技术提供一种基于DAG和分片的区块链异步共识算法,能够大幅提升共识效率,缩短共识过程中的通信开销。
[0004]为了实现上述目的,本专利技术采用的具体方案为:一种基于DAG和分片的区块链异步共识算法,包括:将区块链网络划分为多个分片,每个分片中包含有多个节点;节点根据接收到的交易信息创建区块以及与区块对应的事件;分片中的节点基于DAG(有向无环图)结构确定领导者区块,并且基于领导者区块形成片内共识;节点基于领导者区块将多个事件合并为一个批次,并且一个批次的事件在分片之间传播形成片间共识。<br/>[0005]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:节点创建区块的具体方法包括:节点在接收到交易信息后将交易信息有序存放在交易列表中;当节点开始新的轮次时基于交易列表中的交易信息创建区块;创建区块后节点将区块在分片中广播。
[0006]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:节点创建与区块对应的事件的具体方法包括:当节点接收到来自于其它节点的区块时对区块进行验证;当节点验证区块有效时向创建该区块的节点返回签名确认消息;创建区块的节点接收到与区块对应的签名确认消息的数量达到预设的第一阈值时,创建与区块对应的事件并且在分片内广播。
[0007]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:当节点接收到的当前轮次的事件的数量达到预设的第二阈值时结束当前轮次,并且进入新的轮次。
[0008]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:节点确定领导者区块的方法包括:分片中的节点基于本地维护的DAG结构,通过随机硬币方式在持有的所有区块中确定领导者区块并且提交。
[0009]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:分片中的节点基于领导者区块形成片内共识的具体方法包括:节点提交领导者区块后,对领导者区块进行路径检查;节点基于领导者区块的关联路径对领导者区块进行排序,得到用于表征领导者区块顺序的领导者序列;基于领导者序列,根据确定性规则对每个领导者区块的祖先区块进行排序,以形成片内共识。
[0010]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:节点基于领导者区块将多个事件合并为一个批次的同时,为同一批次事件赋予编号,当一个批次的事件在分片之间传播时结,接收到事件的节点基于批次的编号进行排序。
[0011]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:当节点接收到来自于其它分片的事件时,若至少两个批次的事件具有相同过的编号,则节点基于哈希值进行重排序。
[0012]作为上述基于DAG和分片的区块链异步共识算法的进一步优化:划分分片时,分片内的节点至少与一个其它分片中的节点为邻居节点。
[0013]有益效果:本专利技术基于DAG和分片结合的方式实现,在保证安全性的前提下,大大提高了区块链的可扩展性和网络分区的容忍度;在分片内部,使用结构化DAG实现并行广播和交易处理,节点只广播和存储本地分片的交易块,提高了交易处理的效率并降低了存储开销;在分片间通信中,节点发送区块事件而不是区块,这可以大幅度的减少分片间的通信开销,并且,批次合并的方式可以降低网络带宽消耗,加快确认速度;通过分片间通信,不同分片内的节点可以维护一致的全局区块事件状态,解决由于分片而导致的安全性降级问题。
附图说明
[0014]图1为区块链异步共识算法的整体结构图;图2为区块链异步共识算法区块和事件广播图;图3为区块链异步共识算法片内共识提交规则示意图。
具体实施方式
[0015]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0016]请参阅图1至3,一种基于DAG和分片的区块链异步共识算法,包括如下步骤。
[0017]在构建区块链网络的过程中,将区块链网络划分为多个分片,每个分片中包含有多个节点。分片的数量和每个分片中节点的数量可以根据区块链网络的规模确定。
[0018]分片形成之后,节点开始运行,运行中的节点根据接收到的交易信息创建区块以及与区块对应的事件。节点创建区块的具体方法包括如下步骤。
[0019]首先,节点在接收到交易信息后将交易信息有序存放在交易列表中。节点在运行过程中,持续接收来自于客户端的交易信息,并且按照接收到的交易信息的时间将所有交易信息有序存放在交易列表中,后续过程中根据交易信息的顺序对交易信息进行处理,以避免发生遗漏。
[0020]其次,当节点开始新的轮次时基于交易列表中的交易信息创建区块。在每个轮次中,节点只创建一个区块,从而减少区块的数量,降低区块链网络的处理压力,提升整体效率。每个区块可以包含多个交易信息,区块所能包含的交易信息的数量由区块的大小确定。
[0021]最后,为了对区块进行验证以确定区块的合法性,创建区块后节点将区块在分片中广播,将区块交由分片内的其它节点验证。
[0022]节点创建与区块对应的事件的具体方法包括如下步骤。
[0023]首先,当节点接收到来自于其它节点的区块时对区块进行验证。具体的验证方法可以是预先规定好的验证检查方法,所有节点按照相同的验证检查方法对接收到的区块进行验证。
[0024]其次,当节点验证区块有效时向创建该区块的节点返回签名确认消息。在验证区块有效时,证明该节点确认了接收到的区块,此时可以向创建该区块的节点返回签名确认消息,使创建该区块的节点确认该区块已经被其它节点验证。
[0025]最后,创建区块的节点接收到与区块对应的签名确认消息的数量达到预设的第一阈值时,创建与区块对应的事件并且在分片内广播。当创建区块的节点接收到的与区块对应的签名确认消息的数量到达第一阈值时,可以确认该区块已经得到了分片内多数节点的验证,从而确定该区块是合法有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DAG和分片的区块链异步共识算法,其特征在于,包括:将区块链网络划分为多个分片,每个分片中包含有多个节点;节点根据接收到的交易信息创建区块以及与区块对应的事件;分片中的节点基于DAG(有向无环图)结构确定领导者区块,并且基于领导者区块形成片内共识;节点基于领导者区块将多个事件合并为一个批次,并且一个批次的事件在分片之间传播形成片间共识。2.如权利要求1所述的一种基于DAG和分片的区块链异步共识算法,其特征在于,节点创建区块的具体方法包括:节点在接收到交易信息后将交易信息有序存放在交易列表中;当节点开始新的轮次时基于交易列表中的交易信息创建区块;创建区块后节点将区块在分片中广播。3.如权利要求2所述的一种基于DAG和分片的区块链异步共识算法,其特征在于,节点创建与区块对应的事件的具体方法包括:当节点接收到来自于其它节点的区块时对区块进行验证;当节点验证区块有效时向创建该区块的节点返回签名确认消息;创建区块的节点接收到与区块对应的签名确认消息的数量达到预设的第一阈值时,创建与区块对应的事件并且在分片内广播。4.如权利要求3所述的一种基于DAG和分片的区块链异步共识算法,其特征在于,当节点接收到的当前轮次的事件的数量达到预设的第二阈值时结束当前轮次,并且进入新的轮次。5.如权利要求1...

【专利技术属性】
技术研发人员:刘扬彭松陈静雯贺金龙王锋傅健豪张苗苗史士东
申请(专利权)人:河南工业大学
类型:发明
国别省市:

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

1