[发明专利]一种条件触发的区块链交易的处理方法、装置及电子设备有效
申请号: | 202110222608.9 | 申请日: | 2021-02-26 |
公开(公告)号: | CN112598524B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 张建钢 | 申请(专利权)人: | 北京全息智信科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/40 |
代理公司: | 北京鼎承知识产权代理有限公司 11551 | 代理人: | 顾可嘉;夏华栋 |
地址: | 100081 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 条件 触发 区块 交易 处理 方法 装置 电子设备 | ||
本发明实施例提供了一种条件触发的区块链交易的处理方法、装置及电子设备,通过在区块链交易中添加条件触发参数和条件等待参数以便交易发起方对交易的触发执行施加条件限制(条件交易),然后区块链协议栈在区块生成和区块验证过程中执行交易前引入条件触发评估机制以校验交易触发条件,同时通过“懒惰处理”和超时清除机制以确保长期不满足触发条件的条件交易不会影响区块链的性能和可用性的方式,支持实现交易依赖和可靠、可信、自动的多方链上协同。
技术领域
本发明涉及区块链技术领域,尤其是交易构成、区块生成、区块验证和智能合约交易执行这一技术领域。
背景技术
应用程序(客户端)提交交易到区块链网络。区块链网络上的区块生成节点和区块验证节点分别在生成区块和验证区块时基于当前的世界状态(即时或延迟)执行交易达至新的世界状态,并通过共识机制在区块链网络上的区块链节点之间达成共识。交易提交到区块链网络的顺序,和其在区块链网络上执行的顺序不一定相同。区块链协议栈也不内生支持交易的条件触发(即满足一定条件方可触发执行该交易),比如一个交易A在其被提交到区块链网络时,不能事先定义其触发执行条件依赖于现在或未来另一个/另一组交易B的执行结果或某个/某些状态满足某个/某些阈值等。即便某些情况下可以由智能合约内部实现,但这不是所有情况,比如交易A和B的目标智能合约不同但互为存在依赖,即执行A的前提是B已经提交、执行B的前提是A已经提交,而通常智能合约在执行交易时是接收不到交易本身的,更不用说支持一个智能合约接收其他智能合约的交易不是好的架构实践,至少需要相应授权,而这都需要修改区块链协议栈的实现。有时候也可以由发起方在交易提交前主动查询区块链网络,但是双方可能不存在信任,比如,用户a发起交易A达至状态c之后,用户b发起的交易B必须执行,而用户a可能不信任用户b一定会发起交易B,而希望A的触发执行是和B已经提交可信关联的。
发明内容
为了解决上述技术问题中的至少一个,本发明提供了一种条件触发的区块链交易的处理方法、装置及电子设备。
本发明的第一方面,提供了一种条件触发的区块链交易的处理方法,包括:
区块链节点接收第一交易,将所述第一交易存入待执行交易池;所述第一交易记录了所述第一交易的触发条件;
所述区块链节点在生成或验证区块时,若从所述待执行交易池选取到所述第一交易,判断所述触发条件是否被满足,仅在判断所述触发条件被满足时,执行所述第一交易。
可选地,所述触发条件,包括如下条件中的至少一个:
基于逻辑运算符的条件;
基于数值比较运算符的条件;
基于字符比较运算符的条件;
基于特定实例或者交易过滤条件的交易存在性断言;
基于特定实例或者交易过滤条件的交易执行结果断言;
基于特定实例或者交易过滤条件的区块要求;
基于特定实例或者状态过滤条件的状态存在性断言;
基于特定实例或者状态过滤条件的状态取值比较。
可选地,所述区块链节点在生成区块时,在判断所述触发条件是否被满足之前,还包括:
所述区块链节点获取所述第一交易的触发评估计数;
所述区块链节点确定所述第一交易的触发评估计数为若干预设值中的一个。
可选地,所述若干预设值被设置为:
数值之间的间隔随着数值的增大而增大。
可选地,方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京全息智信科技有限公司,未经北京全息智信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110222608.9/2.html,转载请声明来源钻瓜专利网。