一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种共识报文压缩方法与流程

2022-04-14 04:18:03 来源:中国专利 TAG:


1.本发明涉及共识算法技术领域,更具体的说是涉及一种共识报文压缩方法。


背景技术:

2.目前,现有技术中提出的在共识广播区块信息时,采用全局区块压缩传输的方法,并且在区块中添加额外信息以便验证主体区块所包含的交易是否满足全局一致性,从而减少共识报文传播量,同时扩展全局区块包括的交易数量上限。采用上述全局区块压缩传输方式,受限于压缩算法效率,难以实现全量交易的块内交易数扩展,且解压缩本身需要消耗一定时间,同时为保证区块所包含的交易是否满足全局一致性,并且需要在区块中添加额外信息,增加了区块大小,且基于压缩算法的报文传递存在报文丢失的可能。
3.因此,如何压缩公式流程中的报文体积,提升共识效率是本领域技术人员亟需解决的问题。


技术实现要素:

4.有鉴于此,本发明提供了一种共识报文压缩方法,基于交易预排序的出块方案,重新定义报文结构,主节点仅需广播交易序列偏移量,而不需重复广播所有交易,各节点在共识投票阶段仅需广播各节点签名的读写集hash,从而能够实现压缩共识流程中报文体积,减少共识广播占用带宽,提升共识效率。
5.为了实现上述目的,本发明采用如下技术方案:一种共识报文压缩方法,包括以下步骤:步骤1:共识节点中的共识主节点从提供交易预排序服务的节点拉取预排序后的交易;所有共识节点均拥有相同一致的预排序后的交易序列;步骤2:共识主节点在进行共识广播时,广播所述偏移量;而不需重复广播所有交易,从而避免了交易的全量广播,可减少共识流程通信开销、降低传输带宽占用,提高共识效率;步骤3:共识从节点在接收所述偏移量后,根据接收的所述偏移量在节点本地拉取与共识主节点相同的一批交易;步骤4:共识主节点和共识从节点对拉取的交易预执行后,各节点只广播节点签名后的读写集hash,并进行共识投票。
6.优选的,偏移量为预排序后的交易序列信息,用于选取一批交易的标量;所述共识主节点拉取预排序后的交易时交易选取方法为将上一区块偏移量与本区块偏移量之间的交易作为一个区块;所述共识主节点拉取偏移量时偏移量选取方法为可基于实际交易并发量需求、区块链系统的区块大小配置情况和出块时间配置情况等参数进行配置。
7.优选的,交易预排序通过区块出块流程获得,包括以下步骤:步骤11:基于设定规则对交易进行预排序,获得预排序后交易序列;步骤12:向各节点广播偏移量后均进行交易,各节点各自独立对预排序后交易进
行预处理或执行,各节点获得各自候选区块信息;步骤13:各节点广播各自候选区块信息;步骤14:各节点对候选区块信息进行共识,若各节点对候选区块信息达成共识则各节点将各自的候选区块、区块中的交易和区块链的状态变更等写入存储介质,完成区块落库。
8.优选的,所述设定规则包括交易发生时间、接收交易顺序或发送者优先级中的一种或多种组合。
9.优选的,所述步骤12中进行预处理后,预处理结果中包含返回交易执行结果,所述交易执行结果包括读写集信息、交易执行顺序信息的dag。读写集信息中包括读写集hash。
10.经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种共识报文压缩方法,基于交易预排序的新型出块方案,重新定义报文结构,主节点仅需广播交易序列偏移量,而不需重复广播所有交易;投票仅需广播各节点签名后的在读写集hash,能够压缩共识流程中的报文体积,减少通信开销和带宽占用,提升共识效率。基于对交易预排序,能够确保交易一致且有序,基于此可加速交易执行、验证及共识处理速度,提升出块效率和共识系统整体性能。相比传统非预排序共识的共识报文,本发明通过重新定义报文结构,能够最大程度压缩共识过程中的报文体积,可减少带宽占用,提升共识效率。
附图说明
11.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
12.图1附图为本发明提供的共识报文压缩方法流程示意图;图2附图为本发明提供的区块出块流程示意图。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.本发明实施例公开了一种共识报文压缩方法,包括以下步骤:步骤1:共识节点中的共识主节点从提供交易预排序服务的节点拉取预排序后的交易;所有共识节点均拥有相同一致的预排序后的交易序列;步骤2:共识主节点在进行共识广播时,广播偏移量;而不需重复广播所有交易,从而避免了交易的全量广播,可减少共识流程通信开销、降低传输带宽占用,提高共识效率;步骤3:共识从节点在接收偏移量后,根据接收的偏移量在节点本地拉取与共识主节点相同的一批交易;步骤4:共识主节点和共识从节点完成拉取的交易预执行后,各节点只广播节点签名后的读写集hash,并进行共识投票。
15.为了进一步优化上述技术方案,偏移量为预排序后的交易序列信息,用于选取一批交易的标量;共识主节点拉取预排序后的交易时交易选取方法为将上一区块偏移量与本区块偏移量之间的交易作为一个区块;共识主节点拉取偏移量时偏移量选取方法为可基于实际交易并发量需求、区块链系统的区块大小配置情况和出块时间配置情况等参数进行配置。
16.为了进一步优化上述技术方案,交易预排序通过区块出块流程获得,包括以下步骤:步骤11:基于设定规则对交易进行预排序,获得预排序后交易序列;步骤12:向各节点广播偏移量后均进行交易,各节点各自独立对预排序后交易进行预处理或执行,各节点获得各自候选区块信息;步骤13:各节点广播各自候选区块信息;步骤14:各节点对候选区块信息进行共识,若各节点对候选区块信息达成共识则各节点将各自的候选区块、区块中的交易和区块链的状态变更等写入存储介质,完成区块落库。
17.为了进一步优化上述技术方案,设定规则包括交易发生时间、接收交易顺序或发送者优先级中的一种或多种组合。
18.为了进一步优化上述技术方案,步骤12中进行预处理后,预处理结果中包含返回交易执行结果,交易执行结果包括读写集信息、交易执行顺序信息的dag。读写集信息中包括读写集hash。
实施例
19.基于预排序、共识报文压缩方法的共识方法,具有以下具体步骤:(1):主节点接收预排序后的交易序列,基于预排序交易序列,主节点选择一个偏移量,将上一区块偏移量与本区块偏移量之间的交易作为一个区块,预执行并打包交易形成候选区块;(2):主节点将偏移量和打包区块信息广播给从节点;打包区块信息包括prehash、blockhash、区块链高度、时间戳和提案人签名;主节点向从节点的广播报文里不包含原始的交易以及全部读写集,即对报文进行了压缩,几乎减掉了原始报文里的绝大部分内容,通过共识算法和流程减少了报文的内容,从而实现压缩;(3):从节点基于接收到的偏移量,将上一区块偏移量与本区块偏移量之间的交易作为一个区块,预执行交易并打包形成本节点候选区块;(4):从节点的交易执行后生成读写集hash,对读写集hash签名并广播;(5):各从节点接收到满足共识算法要求的投票数后,执行区块落库。
20.共识过程中共识主节点仅需要广播选定的偏移量信息,而不需要对交易作全量广播,其他节点按照接收的偏移量即可从预排序交易序列中选取与主节点完全相同的一批交易。综上,该共识报文压缩方法避免了交易的全量广播,可减少共识流程通信开销、降低传输带宽占用,达到提高共识效率的目的。
21.交易:对区块链智能合约的一次调用,包含调用智能合约的全部信息:智能合约名称、调用函数名称、参数等。
22.交易预排序:节点基于设定规则,如按照交易发生时间、发送者优先级等对一批交易进行排序的操作。
23.共识算法:区块链系统中各节点间为达成一致采用的计算方法。
24.共识报文:共识过程广播的信息。
25.偏移量:在预排序交易序列中选定的一个标量,基于上一区块偏移量与本区块偏移量可确定一组交易,形成一个区块。
26.读写集合:通过将交易模拟执行的方式,可发现交易对世界状态的依赖和影响并用读写集合表示,其中读集合是交易对当前世界状态依赖的key的子集,写集合是交易对当前世界状态影响的key的子集。
27.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
28.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献