一种基于区块链的定时交易执行方法与流程

文档序号:12721863阅读:来源:国知局

技术特征:

1.一种基于区块链的定时交易执行方法,其特征在于,包括以下步骤:

(1)区块链从创世块启动时,设置所有高度的“定时队列”为空,设置全链的“顺延队列”为空。

(2)节点每次启动时,设置本地的“未处理交易池”为空。

(3)用户发起每笔交易时,指定一个“定时高度”字段,一个“是否顺延”字段,并生成交易ID,然后签名广播。

(4)节点在收到每个交易并验证签名后,加入本地的“未处理交易池”,并继续广播。

(5)先按照块物理大小或计算量限制设置“块最大容量”,然后按照如下优先级提取交易,并进行打包:

(5.1)节点在某“出块高度”打包交易时,首先从当前“出块高度”的“定时队列”中从头至尾提取交易,并按照“块最大容量”进行打包。如果当前高度的块容量不足,则判断当前高度定时队列中的剩余交易的“是否顺延”字段,为“是”的交易加入全链的“顺延队列”的队尾,为“否”的交易则不做操作。

(5.2)如果当前“出块高度”的“定时队列”中的交易处理完成,且块仍有容量,则从全链的“顺延队列”提取交易并打包。

(5.3)如果全链的“顺延队列”处理完了,块仍有容量,则从“未处理交易池”提取交易并打包。如果交易的“定时高度”小于等于“出块高度”,则打包并执行交易;如果大于“出块高度”,则打包但不执行交易,并将该交易加入该“定时高度”的“定时队列”的队尾。

2.根据权利要求1所述的方法,其特征在于,所述方法中,用户通过以下方式撤销交易:

(1)用户可以发起撤销某定时交易的“撤销交易”,指定“待撤销的交易ID”,并签名广播。

(2)节点在打包“撤销交易”时,首先根据ID找到该“待撤销交易”,验证其原始发起用户和该“撤销交易”的发起用户一致,并且其设定的“定时高度”大于当前“出块高度”,则将该ID的交易从“定时队列”中删除,否则为非法撤销。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1