[发明专利]用于核实区块链交易有效的协议在审
申请号: | 202080037734.0 | 申请日: | 2020-04-23 |
公开(公告)号: | CN114175035A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 克洛伊·塔尔坦;巴席姆·阿玛尔;杰克·戴维斯;贾德·瓦哈布;张伟;欧文·沃恩;克雷格·史蒂文 | 申请(专利权)人: | 区块链控股有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06Q20/22;G06Q20/38;H04L9/32 |
代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 孙磊;徐民 |
地址: | 安提瓜和巴布达圣*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 核实 区块 交易 有效 协议 | ||
1.一种计算机实现的方法,所述计算机实现的方法用于核实交易有效以将其记录在区块链中,所述方法包括:在区块链网络的节点处接收一笔或更多笔交易;以及对接收到的每笔交易应用用于核实所述交易有效的协议,其中,所述协议被配置为:
允许将终止操作码包括在所述交易的输出脚本中,其中,所述终止操作码被配置为在由所述节点执行时,a)终止执行所述输出脚本;b)不会仅基于在所述输出脚本中包括所述终止操作码而核实所述交易无效;
不允许所述终止操作码的任何实例包括在所述交易的输入脚本中,如果所述终止操作码的任何实例包括在所述输入脚本中,所述不允许包括:所述节点至少核实所述交易无效。
2.根据权利要求1所述的方法,其中,所述输出脚本是包括在所述交易中的锁定脚本,并且所述输入脚本是包括在所述交易中的解锁脚本,所述解锁脚本用于解锁先前交易的锁定脚本。
3.根据权利要求1或2所述的方法,其中,所述协议被配置为使得:
当所述输出脚本包括在至少一个数据元素之前的所述终止操作码的实例的组合时,基于所述终止操作码的所述实例的所述组合和所述至少一个数据元素核实所述交易无效。
4.根据权利要求3所述的方法,其中,所述至少一个数据元素包括以下一项或两项:
零操作码;或
零值表示,以创建所述交易的可证明不可花费的输出。
5.根据权利要求1至4中任一项所述的方法,其中,所述协议被配置为:
不允许任何操作码包括在所述交易的所述输入脚本中,如果任何操作码包括在所述输入脚本中,所述不允许包括:所述节点至少核实所述交易无效。
6.根据权利要求1至5中任一项所述的方法,其中,所述有效包括以下各项中的至少一项:
在所述节点执行所述输出脚本和所述输入脚本的组合之后,产生非空和非零结果;
所述节点将所述交易转发到所述网络的一个或更多个节点以使所述交易记录在所述区块链中;以及
所述节点将所述交易记录在所述区块链中。
7.根据权利要求1至6中任一项所述的方法,所述方法包括:根据所述协议执行所述区块链网络的交易,其中,第一交易至少包括第一输出,所述第一输出包括基于堆栈的脚本语言的第一锁定脚本,其中,所述第一锁定脚本包括在执行所述终止操作码的第一实例之前要执行的所述第一锁定脚本的一部分;其中,第二交易包括第一解锁脚本,所述第一解锁脚本引用所述第一交易中的所述第一输出,所述方法包括在执行所述终止操作码的所述第一实例时:
终止执行所述第一锁定脚本,同时不核实所述第一交易无效;
从至少一个堆栈中读取第一数据元素,其中,所述第一数据元素在所述第一解锁脚本和所述第一锁定脚本的所述一部分的执行期间生成;
向链下函数提供从所述至少一个堆栈中读取的所述第一数据元素,其中,所述函数被配置为至少基于所述第一数据元素生成结果。
8.根据权利要求7所述的方法,其中,所述读取所述第一数据元素包括将所述第一数据元素记录在所述链下堆栈上,并且其中,所述提供包括向所述链下函数提供从所述至少一个链下堆栈中读取的所述第一数据元素。
9.根据权利要求7或8所述的方法,其中,所述生成包括作为所述结果生成所述区块链网络的进一步交易。
10.根据权利要求9所述的方法,其中,所述生成所述进一步交易包括生成所述进一步交易的输入,其中,所述输入至少基于所述第一数据元素。
11.根据权利要求9或10所述的方法,所述方法包括:将所述进一步交易传输到所述区块链网络的一个或更多个节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于区块链控股有限公司,未经区块链控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080037734.0/1.html,转载请声明来源钻瓜专利网。