一种区块块内交易数扩展方法及系统技术方案

技术编号:33275592 阅读:23 留言:0更新日期:2022-04-30 23:34
本发明专利技术公开了一种区块块内交易数扩展方法及系统,包括以下步骤:对交易序列进行预排序并发送;主节点接收预排序交易序列并选择偏移量,打包形成候选区块,将候选区块的交易序列信息广播给各个从节点;主节点和各个从节点根据候选区块的交易序列信息获取交易,执行交易并将执行结果签名,主节点收集所有节点的执行结果并验证,将验证后的执行结果广播给各个从节点;各节点收到满足具体共识算法要求的投票数后,执行区块落库;本发明专利技术基于预排序交易序列的交易降低了交易顺序的不确定性及交易丢失的可能性;基于偏移量的调整,实现根据交易池交易数量自定义调整区块块内交易数,从而实现块内交易数的扩展。实现块内交易数的扩展。实现块内交易数的扩展。

【技术实现步骤摘要】
一种区块块内交易数扩展方法及系统


[0001]本专利技术涉及区块链
,更具体的说是涉及一种区块块内交易数扩展方法及系统。

技术介绍

[0002]区块链采用区块存储交易,区块内的交易拥有严格的顺序,目前,扩展性非常弱,交易处理缓慢,在HyperledgerFabric中,区块分为普通区块和配置区块,可通过配置区块设定一个区块里面包含的交易数目和交易的大小,交易大小包含绝对交易大小以及建议交易大小,对于超过建议交易大小限制的交易,将会被放置在后续的区块中被打包;在Bitcoin中,区块大小被限制为不超过1MB。
[0003]但是,Fabric中,配置区块中交易大小的限制使得区块块内交易数相对固定,不能动态适应交易处理规模的增加;比特币系统中区块1MB大小的限制,使得大量交易都需要排队等待被打包,区块无法处理交易规模的增加。
[0004]因此,如何扩展区块块内交易数以适用高吞吐高并发的区块链应用场景是本领域技术人员亟需解决的问题。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种区块块内交易数扩展方法及系统以解决
技术介绍
中提到的问题。
[0006]为了实现上述目的,本专利技术采用如下技术方案:交易:对区块链智能合约的一次调用,包含调用智能合约的全部信息:智能合约名称、调用函数名称、参数等。
[0007]交易预排序:节点基于一定规则,如按照交易发生时间、发送者优先级等对一批交易进行排序的操作。
[0008]共识算法:区块链系统中各节点间为达成一致采用的计算方法。
[0009]共识报文:共识过程广播的信息。
[0010]偏移量:在预排序交易序列中选定的一个数量 ,基于上一区块偏移量与本区块偏移量可确定一组交易,形成一个区块。
[0011]读写集合:通过将交易模拟执行的方式,可发现交易对世界状态的依赖和影响并用读写集合表示,其中读集合是交易对当前世界状态依赖的key的子集,写集合是交易对当前世界状态影响的key的子集。
[0012]一种区块块内交易数扩展方法,包括以下步骤:S1.对交易序列进行预排序,得到预排序交易序列并发送;S2.主节点接收预排序交易序列并选择偏移量,将上一区块偏移量和主节点的偏移量之间的交易作为候选区块,将候选区块的交易序列信息广播给各个从节点;S3.各个从节点接收候选区块的交易序列信息,主节点和各个从节点根据候选区
块的交易序列信息获取交易,执行交易并将执行结果签名,主节点收集所有节点的执行结果并验证,主节点将验证后的执行结果广播给各个从节点;S4.主节点和各个从节点收到满足具体共识算法要求的投票数后,执行区块落库。
[0013]优选的,偏移量的配置参数包括实际交易并发量需求、区块链系统的区块大小配置情况和出块时间配置情况等。
[0014]优选的,S2还包括主节点将打包区块信息进行广播,所述打包区块信息包括preHash、blockHash、时间戳和提案人签名。
[0015]优选的,S3中主节点收集的所有节点的执行结果包括读写集合hash。
[0016]优选的,各节点独立完成预执行交易和区块打包。
[0017]一种区块块内交易数扩展系统,包括交易预排序模块和n个节点,n大于1,选取其中一个节点为主节点,其余节点为从节点;每个节点均包括调度模块、偏移量调整模块、交易计算模块和区块落库模块;所述调度模块,用于接收和广播交易序列信息并获取交易,还用于收集、验证和广播执行结果;所述偏移量调整模块,用于偏移量的选择和调整;所述交易计算模块,用于执行交易并对执行结果签名;所述区块落库模块,用于验证投票和执行区块落库。
[0018]优选的,所述主节点的调度模块,用于接收预排序模块进行预排序后的交易序列,将上一区块偏移量和主节点的偏移量之间的交易作为候选区块,将候选区块的交易序列信息广播给各个从节点,还用于收集所有节点的执行结果并验证,将验证后的执行结果广播给各个从节点。
[0019]优选的,所述从节点的调度模块,用于接收候选区块的交易序列信息并获取交易;还用于将执行结果反馈给主节点的调度模块,并接收主节点验证后的执行结果。
[0020]优选的,所述区块落库模块,用于统计各节点收到满足具体共识算法要求的投票数并执行区块落库。
[0021]优选的,各个节点的所述交易计算模块相互独立。
[0022]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种区块块内交易数扩展方法及系统,基于交易预排序的新型出块方案及报文压缩的共识算法,取自预排序交易序列的交易降低了交易顺序的不确定性及交易丢失的可能性;基于偏移量的调整,实现根据交易池交易数量自定义调整区块块内交易数,从而实现块内交易数的扩展,且有助于减少共识交易过多导致的高网络带宽占用问题,适用于需要高吞吐高并发的区块链应用场景。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0024]图1附图为本专利技术提供的区块块内交易数扩展方法步骤框图;
图2附图为本专利技术提供的根据偏移量打包交易示意图。
具体实施方式
[0025]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]本专利技术实施例公开了一种区块块内交易数扩展方法,包括以下步骤:S1.对交易序列进行预排序,得到预排序交易序列并发送;S2.主节点接收预排序交易序列并选择偏移量,将上一区块偏移量和主节点的偏移量之间的交易作为候选区块,将候选区块的交易序列信息广播给各个从节点;S3.各个从节点接收候选区块的交易序列信息,主节点和各个从节点根据候选区块的交易序列信息获取交易,执行交易并将执行结果签名,主节点收集所有节点的执行结果并验证,主节点将验证后的执行结果广播给各个从节点;S4.主节点和各个从节点收到满足具体共识算法要求的投票数后,执行区块落库。
[0027]为了进一步实施上述技术方案,偏移量的配置参数包括实际交易并发量需求、区块链系统的区块大小配置情况和出块时间配置情况。
[0028]需要说明的是:偏移量的选择决定了块内交易数量,基于偏移量的调整,将积压交易打包为一个区块,甚至将所有交易均打包为一个区块,实现全量交易打包,从而实现区块块内交易数可扩展。
[0029]为了进一步实施上述技术方案,S2还包括主节点将打包区块信息进行广播,打包区块信息包括preHash、blockHash、时间戳和提案人签名。
[0030]为了进一步实施上述技术方案,S3中主节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块块内交易数扩展方法,其特征在于,包括以下步骤:S1.对交易序列进行预排序,得到预排序交易序列并发送;S2.主节点接收预排序交易序列并选择偏移量,将上一区块偏移量和主节点的偏移量之间的交易作为候选区块,将候选区块的交易序列信息广播给各个从节点;S3.各个从节点接收候选区块的交易序列信息,主节点和各个从节点根据候选区块的交易序列信息获取交易,执行交易并将执行结果签名,主节点收集所有节点的执行结果并验证,主节点将验证后的执行结果广播给各个从节点;S4.主节点和各个从节点收到满足具体共识算法要求的投票数后,执行区块落库。2.根据权利要求1所述的一种区块块内交易数扩展方法,其特征在于,偏移量的配置参数包括实际交易并发量需求、区块链系统的区块大小配置情况和出块时间配置情况。3.根据权利要求1所述的一种区块块内交易数扩展方法,其特征在于,S2还包括主节点将打包区块信息进行广播,打包区块信息包括preHash、blockHash、时间戳和提案人签名。4.根据权利要求1所述的一种区块块内交易数扩展方法,其特征在于,S3中主节点收集的所有节点的执行结果包括读写集hash。5.根据权利要求1所述的一种区块块内交易数扩展方法,其特征在于,各节点独立完成预执行交易和区块打包。6.一种区块块内交易数扩展系统,其特征在于,包括...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京微芯感知科技有限公司
类型:发明
国别省市:

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

1