一种按顺序打包交易的方法、装置及电子设备制造方法及图纸

技术编号:26223835 阅读:30 留言:0更新日期:2020-11-04 10:56
本说明书实施例涉及一种按顺序打包交易的方法、装置及电子设备,通过在交易中设置交易顺序标识,保证在该交易执行时,其执行顺序此交易之前的所有交易已执行完毕,无需担心区块链交易打包时的顺序关系。当用户在连续发送具有依赖关系的交易时,对于具有依赖关系的交易可以尽快打包到区块中,而不需要等待区块确定之后发送后续交易。对于在先依赖交易尚未执行的交易,放入等待队列后,通过一定的规则和策略,将符合条件的交易重新放入交易池;并通过清除等待队列中的早期交易以保证等待队列中的交易数量在预设范围内。

【技术实现步骤摘要】
一种按顺序打包交易的方法、装置及电子设备
本说明书实施例涉及网络
,尤其涉及一种按顺序打包交易的方法、装置及电子设备。
技术介绍
在区块链系统中,对于UTXO模型的交易,交易由用户端钱包生成,交易中包含执行的结果,链上只进行验证;交易采用input和output的方式组织,input中引用了其依赖的交易,交易天然具有顺序性。而对于Account模型的交易,交易只是用户要执行的方法调用,真正的执行是在链上的虚拟机进行的,根据区块链的世界状态生成交易结果。因此,Account类型的交易对于用户而言,同一个业务,用户需要连续发送多个具有顺序性的交易才能完成。例如需要A、B、C、D这4个交易依次顺序被执行。此时用户只有待A在链上处理完成之后,才能发送后续交易B,同样发送B交易之后,需要等待B交易之后才能发送C交易。因此至少需要四个块才能被完全打包处理完成。如果用户一次性发送全部交易,因为交易首先会进入节点交易池,而在节点的交易池中,由于转发机制以及各个节点交易排序方式不同等原因,节点的交易打包的顺序不一定会符合用户最初的发送顺序,使得交易本文档来自技高网...

【技术保护点】
1.一种按顺序打包交易的方法,应用于区块链系统,所述方法包括:/n构造一个以上的交易并确定交易的执行顺序;/n在交易中设置交易顺序标识,所述交易顺序标识表征了该交易的在先依赖交易;所述在先依赖交易为执行顺序在该交易之前的交易;/n当前交易进入交易池之前,判断其所述交易顺序标识中表征的在先依赖交易是否执行完毕;/n如果所述在先依赖交易执行完毕,则将所述当前交易放入交易池;/n如果所述在先依赖交易在交易池中尚未执行,则将所述当前交易放入交易池,并将所述在先依赖交易优先于所述当前交易进行打包;/n如果所述在先依赖交易尚未执行且尚未进入交易池,则将当前交易放入等待队列。/n

【技术特征摘要】
1.一种按顺序打包交易的方法,应用于区块链系统,所述方法包括:
构造一个以上的交易并确定交易的执行顺序;
在交易中设置交易顺序标识,所述交易顺序标识表征了该交易的在先依赖交易;所述在先依赖交易为执行顺序在该交易之前的交易;
当前交易进入交易池之前,判断其所述交易顺序标识中表征的在先依赖交易是否执行完毕;
如果所述在先依赖交易执行完毕,则将所述当前交易放入交易池;
如果所述在先依赖交易在交易池中尚未执行,则将所述当前交易放入交易池,并将所述在先依赖交易优先于所述当前交易进行打包;
如果所述在先依赖交易尚未执行且尚未进入交易池,则将当前交易放入等待队列。


2.如权利要求1所述的方法,进一步包括:按照预设出块个数和/或预设时间间隔检查等待队列中的交易是否可以进入交易池,对于在先依赖交易执行已执行完毕或在先依赖交易在交易池中尚未执行的交易,将其放入交易池中。


3.如权利要求2所述的方法,进一步包括:当等待队列中的交易个数超过预设阈值时,删除队列中进入队列最早的预设个数的交易。


4.如权利要求1所述的方法,进一步包括:设置共识协议规则及节点同步规则,使得当节点收到交易后,对其在先依赖交易是否已经执行进行判断,如果所述在先依赖交易尚未执行,则判断区块为非法区块。


5.如权利要求1-4所述的方法,其中所述交易顺序标识包括所述在先依赖交易的交易哈希;所述在先依赖交易可以为一个或多个。


6.一种按顺序打包交易的装置,应用于区块链系统,所述装置包括:
交易构造单元:用于构造一个以上的交易并确定交易的执行顺序;
交易顺序标识单元:用于在交易中设置交易顺序标识,所述交易顺序标识表征了该交易的在先依赖交易;所述...

【专利技术属性】
技术研发人员:王晓亮张亚宁
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:浙江;33

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

1