【技术实现步骤摘要】
一种在区块链中实现多节点交易并行执行的方法及系统
本专利技术涉及区块链
,特别涉及一种在区块链中实现多节点交易并行执行的方法及系统。
技术介绍
当前的区块链系统在执行交易时,通常如图1所示的方式进行,交易的出块节点先执行交易,并将交易结果打包成区块(步骤①);当区块打包完成后,出块节点将区块广播至区块链系统中的其它多个非出块节点执行共识过程(步骤②);待共识成功后,再由各个非出块节点分别对接收到的区块执行交易(步骤③)。可以看出,假设一个区块的执行时间一定,则在同一个区块链系统中,被共识的区块至少要经历两次串行的执行过程。当该区块中交易数量非常大时,整个执行时长显著增加,极大影响了区块链共识出块的速度,最终导致整个系统的交易吞吐能力较低、交易确认延迟显著提高。发生上述现象的原因在于,当前的区块链系统的共识过程中,当出块节点执行交易并将数据打包成区块时,其它非出块节点均处于等待出块状态,必须要等待共识过程完成,这些非出块节点位置的CPU资源才能得到充分利用,不仅浪费了系统资源,还增加了交易确认延迟。因此,亟需一种 ...
【技术保护点】
1.一种在区块链中实现多节点交易并行执行的方法,其特征在于,所述方法包括:/n出块节点接收客户端发送的交易请求,并根据所述交易请求生成若干笔交易;/n出块节点将所述交易请求和所述交易广播至区块链系统中的其它节点;/n出块节点根据所述交易请求执行交易,得到每笔交易对应的第一执行结果;其它节点根据接收到的交易请求执行交易得到每笔交易对应的第二执行结果;/n出块节点将所述第一执行结果和交易的数据打包成区块;/n出块节点发送所述区块至区块链系统中的其它节点;/n其它节点对接收到的区块执行是否合法性的判断,得到共识结果;/n当所有其他节点得到共识成功的共识结果时,所有其他节点以使得共 ...
【技术特征摘要】
1.一种在区块链中实现多节点交易并行执行的方法,其特征在于,所述方法包括:
出块节点接收客户端发送的交易请求,并根据所述交易请求生成若干笔交易;
出块节点将所述交易请求和所述交易广播至区块链系统中的其它节点;
出块节点根据所述交易请求执行交易,得到每笔交易对应的第一执行结果;其它节点根据接收到的交易请求执行交易得到每笔交易对应的第二执行结果;
出块节点将所述第一执行结果和交易的数据打包成区块;
出块节点发送所述区块至区块链系统中的其它节点;
其它节点对接收到的区块执行是否合法性的判断,得到共识结果;
当所有其他节点得到共识成功的共识结果时,所有其他节点以使得共识成功的交易执行结果更新本地账本。
2.根据权利要求1所述的方法,其特征在于,所述其它节点对接收到的区块执行是否合法性的判断,得到共识结果的步骤包括:
判断所述区块中交易的交易类型;
若交易类型为非关联交易,则判断所述第一执行结果与第二执行结果是否一致,若一致,则将第一执行结果或第二执行结果作为使得共识成功的交易执行结果,并生成共识成功的共识结果;若不一致,则生成共识失败的共识结果;
若交易类型为关联交易,则根据交易请求重新执行所述区块中的交易,得到第三执行结果,判断所述第三执行结果与第一执行结果是否一致,若一致,则将第三执行结果或第一执行结果作为使得共识成功的交易执行结果,并生成共识成功的共识结果;若不一致,则生成共识失败的共识结果。
3.根据权利要求2所述的方法,其特征在于,判断所述区块中交易的交易类型的方法包括:
提取区块中任意一笔交易中生成第一执行结果时修改的状态值;
若该笔交易修改的状态值与区块中其它任意一笔交易中生成第一执行结果时修改的状态值相同,则该笔交易的交易类型为关联交易;
若该笔交易修改的状态值与区块中其它任意一笔交易中生成第一执行结果时修改的状态值均不同,则该笔交易的交易类型为非关联交易。
4.根据权利要求3所述的方法,其特征在于,当所述交易类型为关联交易时,得到第三执行结果的方法包括:
获取关联交易中前一笔交易修改状态值的最终状态值;
将所述最终状态值作为关联交易中后一笔交易修改状态值的初始状态值继续执行该交易,得到第三执行结果。
5.根据权利要求3所述的方法,其特征在于,当所述交易类型为关联交易时,根据区块中相互关联的交易的顺序串行执行交易,得到第三执行结果。
6.一种在区块链中实现...
【专利技术属性】
技术研发人员:石宁,甘子荣,李延辉,
申请(专利权)人:南京可信区块链与算法经济研究院有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。