[发明专利]基于证明验证的用于认证链外数据的系统和方法在审
| 申请号: | 201880080966.7 | 申请日: | 2018-12-12 |
| 公开(公告)号: | CN111801910A | 公开(公告)日: | 2020-10-20 |
| 发明(设计)人: | 亚历山卓·科瓦奇;西蒙·马蒂奥;帕特里克·蒙特利斯基;史蒂芬·文森特 | 申请(专利权)人: | 区块链控股有限公司 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/00;H04L29/06 |
| 代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 徐民;寿宁 |
| 地址: | 安提瓜和巴*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 证明 验证 用于 认证 数据 系统 方法 | ||
确定何时和/或如何执行公布到区块链网络的程序或脚本可以依赖于区块链外部的数据(即,外部数据),例如关于现实世界状态和事件的数据。证明者(例如,区块链网络的节点)可以代表客户端执行一个或多个计算(例如程序的执行)。为了适当地执行程序,证明者可以依赖外部数据,证明者可以从与客户端具有信任关系的数据提供者处获得外部数据(例如,客户端接受由可信数据提供者提供的有效数据)。证明者可以利用本文描述的系统和方法来提供据称从数据提供者处获得的输入数据的真实性的加密可验证保证,该输入数据用于被公布到区块链网络的程序或脚本的执行。区块链网络的一个示例是基于比特币的网络。
技术领域
本发明总体上涉及区块链技术,并且更具体地,涉及能够在比特币脚本中验证的对话证明的产生,还提供了在追索的情况下能够进一步利用的信息。在对话过程中发生的某些通信的证明可以使用默克尔树(Merkle tree)。对话或通信的数据可以用作正确地执行程序或脚本的输入。本发明特别适合但不限于用于智能合约的生成和执行。
背景技术
在本文中,术语“区块链(Blockchain)”一词可指任何一种电子的、基于计算机的分布式账本(Distributed Ledgers)。这些包括基于共识的区块链和交易链技术、许可及未许可的账本、共享账本及其变型。尽管也已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币账本(Bitcoin Ledger)。虽然出于方便和说明的目的,“比特币”可称为本文中描述的技术的有用应用,但是比特币仅是本申请所描述的技术可应用到的许多应用中的一个。然而,应该注意的是,本发明不限于与比特币区块链和可选的区块链实现和协议一起使用,包括非商业应用,也落入本发明的范围内。例如,本申请中描述的技术将为其他区块链实现的使用提供优势,这些实现在执行公布到区块链网络的程序或脚本方面具有类似于比特币的限制,该程序或脚本可能依赖于区块链外部的数据。
区块链可指点对点的电子账本,其被实现为基于计算机的、去中心化的系统,该系统由区块组成,区块又可以由交易和其他信息组成。在一些示例中,“区块链交易”是指对包括数据和条件集合的字段值的结构化集合进行编码的输入消息,其中满足条件集合是将字段集写入区块链数据结构的先决条件。例如,对于比特币,每个交易是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。在一些实施例中,“数字资产”是指与使用权相关联的二进制数据。数字资产的示例包括比特币、以太网(ether)和莱特币(Litecoins)。本文使用的术语“比特币”包括作为比特币协议的变体的任何协议。在一些实现中,可以通过将数字资产的至少一部分从第一实体重新关联到第二实体来转移对数字资产的控制。区块链的每个区块可以包含前一区块的散列(hash),如此,这些区块被链接在一起,以创建所有交易的永久的、不可更改的记录,这些交易自区块链诞生之始写入区块链。
在一些示例中,“基于堆栈的脚本语言”是指支持各种基于堆栈或面向堆栈的执行模型和操作的编程语言。也就是说,基于堆栈的脚本语言可以利用堆栈。使用堆栈,可以将值压入堆栈顶部或从堆栈顶部弹出。为操纵堆栈而执行的各种操作可能导致从堆栈顶部压入或弹出一个或多个值。例如,OP_EQUAL操作从堆栈中弹出前两项,将这两项进行比较,并将结果(例如,如果相等则为1,如果不相等则为0)压入到堆栈顶部。对堆栈执行的其他操作(如OP_PICK)可能允许从堆栈顶部以外的位置选择项。在一些实施例所采用的一些脚本语言中,可以有至少两个堆栈:主堆栈(main stack)和备用堆栈(alternate stack)。脚本语言的一些操作可以将项从一个堆栈的顶部移动到另一个堆栈的顶部。例如,OP_TOALTSTACK将值从主堆栈的顶部移动到备用堆栈的顶部。应该注意的是,在某些情况下,基于堆栈的脚本语言可能并不仅限于严格的后进先出(Last-in-First-out,简称LIFO)方式。例如,基于堆栈的脚本语言可以支持将堆栈中的第n个项目复制或移动到顶部的操作(例如,在比特币中分别为OP_PICK和OP_ROLL)。可以将使用基于堆栈的脚本语言编写的脚本压入逻辑堆栈,该逻辑堆栈可以使用任何合适的数据结构(例如向量、列表或堆栈)来实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于区块链控股有限公司,未经区块链控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880080966.7/2.html,转载请声明来源钻瓜专利网。





