基于脚本的区块链交互制造技术

技术编号:23102895 阅读:18 留言:0更新日期:2020-01-14 21:21
可提供一种计算机实现的方法,该方法可使用区块链网络例如比特币网络来实现。该计算机实现的方法包括:i)在区块链网络中的节点处接收与数字资产相关的第一交易,所述第一交易包括第一脚本,所述第一脚本指定了针对第二交易的约束集合,所述第二交易用来转移对所述数字资产的控制,所述约束集合包括这样的约束:所述节点获得的数据集合包括从与所述区块链网络相关联的区块链获得的信息;ii)获得所述第二交易,所述第二交易包括第二脚本,由于执行所述第二脚本而使得所述节点获得所述数据集合;iii)通过执行所述第一脚本和所述第二脚本来验证所述第二交易。

Script based blockchain interaction

【技术实现步骤摘要】
【国外来华专利技术】基于脚本的区块链交互
本专利技术主要涉及分布式账本技术,包括区块链交易,特别涉及使得将来自区块链、区块头、区块和区块链交易的字段注入至交易脚本中。本专利技术特别适合但不限于在基于区块链状态的交易中使用。
技术介绍
在本文中,我们使用“区块链”一词来涵盖所有形式的基于计算机的电子分布式账本,包括基于共识的区块链和交易链技术、允许和不允许的账本、共享账本及其变体。区块链技术最广为人知的应用是比特币账本,虽然已经提出并开发了区块链的其他应用。尽管术语“比特币”可以被称为本专利技术中描述的技术的有用应用,但是为了方便说明,比特币仅仅是本专利技术中描述的技术可以应用的许多应用之一。然而,应注意的是,本专利技术不限于与比特币区块链一起使用,包括非商业应用在内的其它区块链应用和协议也落入本专利技术的范围内。例如,本专利技术中描述的技术在以下方面具有优势:本专利技术中描述的技术将为使用区块链应用和具有类似于比特币的限制的其他加密货币提供优势,这些限制是关于加密货币交易中可以编码哪些约束的,而不论是否发生加密货币的交换。如本文所使用的,“数字资产”是由区块链管理的资源的单位。数字资产是由区块链管理的资源的单位。尽管在一些实施例中,数字资产可以用作加密货币,但是可以考虑到,在实施例中,数字资产可以在其他情况下附加地或替代地使用。注意,本专利技术虽然适用于数字资产的控制,但是本质上是技术性的,并且可以在其他利用区块链数据结构的情况下使用,而不必涉及数字资产的转移。本专利技术中使用的“数字资产”可以指一种或多种数字资产。例如,一个交易可能有多个输入,并且这些输入中的每一个都可以代表不同的数字资产。在该示例中,控制权被转移的数字资产可以是多个数字资产的集合,该集合本身是数字资产。类似地,交易可以细分和/或组合那些多个输入以产生一个或多个输出,使得例如输入的数量和输出的数量不同。在一个实施例中,加密货币是基于代币的加密货币,其中每个代币代表资产的份额(例如,公司的份额),并且单个交易涉及多种类型的代币(例如,涉及一个或多个不同公司的份额)。
技术实现思路
本专利技术描述了一个或多个基于区块链的计算机程序的技术方面。基于区块链的计算机程序是记录在区块链交易中的机器可读和可执行程序。基于区块链的计算机程序可以包括可以处理输入以产生结果的规则,然后可以根据这些结果来执行动作。如果锁定脚本可以访问解锁和先前的交易,则可以利用区块链来启用高度灵活和复杂的基于区块链的计算机程序。当前研究的一个领域是使用基于区块链的计算机程序来实现“智能合约”。与以自然语言编写的传统合同不同,智能合约是旨在自动执行机器可读合约或协议条款的计算机程序。在实施例中,尽管可以在智能合约中的特定步骤编码与特定实体的交互,但是智能合约也可以自动执行和自我执行。在一些示例中,自动执行是指智能合约的执行,该合约成功执行以启用UTXO的传输。注意,在这样的示例中,能够使得UTXO转移的“实体”是指能够创建解锁脚本而无需证明知晓某些秘密的实体。也就是说,可以在不验证数据源(例如,创建解锁交易的实体)有权访问加密秘密(例如,私密非对称密钥,对称密钥等)的情况下,验证解锁交易。同样,在这样的示例中,自我执行是指使区块链网络的验证节点根据约束来执行解锁交易。在一些示例中,从技术意义上使用“解锁”UTXO,是指创建引用该UTXO并作为有效执行的解锁交易。解锁UTXO在本领域中也可以称为花费UTXO。区块链交易输出包括锁定脚本和有关数字资产(例如比特币)所有权的信息。锁定脚本(也可以称为“负载”)通过指定转移UTXO所需满足的条件来“锁定”数字资产。例如,锁定脚本可能要求在解锁脚本中提供某些数据以解锁关联的数字资产。锁定脚本在比特币中也称为“脚本公钥”(scriptPubKey)。要求锁定方提供数据以解锁数字资产的技术涉及将数据的散列嵌入锁定脚本中。但是,如果在创建锁定脚本时未确定(例如,未知和未固定)数据,则会出现问题。另外,如果基于区块链本身的各个方面(例如,区块中的其他交易或区块头的内容)预测锁定脚本,则在创建锁定脚本时该数据不存在,并且在区块链中不存在用来查询区块链的状态以获得该数据的操作码。因此,锁定脚本不能要求特定的区块头,不能要求区块链的特定状态,也不能要求交易位于区块链的特定区块内。因此,期望提供在一个或多个这些方面中改进区块链技术的方法和系统。因此,根据本专利技术,提供了所附权利要求中所限定的方法。下文更详细地描述了计算机实现的方法和电子设备,用于对解锁脚本中的数据实施约束,以要求解锁脚本包括区块头,区块链或区块头链。通过对解锁脚本中的数据实施此类约束,并在运行时将此类数据注入至解锁脚本中,交易可以基于区块链的各个方面。因此,根据本专利技术,可以提供一种所附权利要求书中所限定的计算机实现的方法(和相应的系统)。该方法可以描述为区块链数据约束方法。该计算机实现的方法包括:i)在区块链网络中的节点处接收包括第一脚本的第一交易,该第一脚本指定了对第二交易的约束集合,约束集合包括这样的约束:节点获得的数据集合包括从与区块链网络相关联的区块链获得的信息;ii)获得第二交易,所述第二交易包括第二脚本,由于执行该第二脚本而导致节点获得上述数据集合;iii)通过执行第一脚本和第二脚本来验证第二交易。下文更详细地描述了计算机实现的方法和电子设备,用于对解锁脚本中的数据实施约束,以要求在可以使用解锁脚本来解锁锁定脚本和访问交易的数字资产之前区块链处于特定状态。通过在锁定脚本上实施约束以要求解锁脚本包括区块头、区块链或区块头链,并在运行时将此类数据注入至解锁脚本中,交易可以基于区块链的状态。约束集合可包括这样的约束:上述数据集合包括区块链的区块的区块头。通过至少验证区块头具有预定大小,节点可以确定是否满足这样的约束:数据集合包括区块链的区块的区块头。附加地或替代地,节点可以通过至少验证区块头包含大于或等于某难度值的难度值来确定是否满足数据集合包括区块链的区块的区块头的约束。附加地或替代地,节点可以通过至少验证区块头的散列小于或等于在区块头中包含的难度值计算出的目标值来确定这样的约束是否得以满足:数据集合包括区块链的区块的区块头。约束集合可以包括这样的约束:数据集合包括来自区块链的区块的第三交易。该数据集合可包括区块链的区块的区块头。附加地或可替代地,约束集合可包括这样的约束:第三交易包括在区块中。附加地或替代地,节点可以至少部分地基于区块链的区块的区块头来确定是否满足所述第三交易包括在区块中的约束。节点可至少部分地基于由区块头识别的区块中的交易的编码,通过至少计算第三交易的散列值来确定是否满足第三交易包括在区块中的约束。附加地或替代地,节点可以通过至少验证第三交易的散列值等于存储在区块头中的散列值来确定是否满足第三交易包括在区块中的约束。约束集合可包括这样的约束:数据集合包括区块头链,该区块头链包括区块头的有序集合,区块头的有序集合包括多个区块头,区块头的有序集合指定了与所述多个区块头相关联的顺序。节点可通过至少部分地基于与多个区块头相关联的顺序至少本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:/n在区块链网络中的节点处接收与数字资产相关的第一交易,所述第一交易包括第一脚本,所述第一脚本指定了针对第二交易的约束集合,所述第二交易用来转移对所述数字资产的控制,所述约束集合包括这样的约束:所述节点获得的数据集合包括从与所述区块链网络相关联的区块链获得的信息;/n获得所述第二交易,所述第二交易包括第二脚本,由于执行所述第二脚本而使得所述节点获得所述数据集合;/n通过执行所述第一脚本和所述第二脚本来验证所述第二交易。/n

【技术特征摘要】
【国外来华专利技术】20170526 GB 1708488.0;20170526 GB 1708491.4;2017051.一种计算机实现的方法,包括:
在区块链网络中的节点处接收与数字资产相关的第一交易,所述第一交易包括第一脚本,所述第一脚本指定了针对第二交易的约束集合,所述第二交易用来转移对所述数字资产的控制,所述约束集合包括这样的约束:所述节点获得的数据集合包括从与所述区块链网络相关联的区块链获得的信息;
获得所述第二交易,所述第二交易包括第二脚本,由于执行所述第二脚本而使得所述节点获得所述数据集合;
通过执行所述第一脚本和所述第二脚本来验证所述第二交易。


2.根据权利要求1中所述的计算机实现的方法,其中所述约束集合包括这样的约束:所述数据集合包括所述区块链的区块的区块头。


3.根据权利要求2中所述的计算机实现的方法,其中所述节点至少通过以下方式来确定是否满足所述数据集合包括所述区块链的区块的区块头的约束:
验证所述区块头具有预定大小;
验证所述区块头包含大于或等于某难度值的难度值;以及
验证所述区块头的散列小于或等于从所述区块头中包含的难度值计算出的目标值。


4.根据权利要求1至3中的任意一项所述的计算机实现的方法,其中所述约束集合包括这样的约束:所述数据集合包括来自所述区块链的区块的第三交易。


5.根据权利要求4中所述的计算机实现的方法,其中:
所述数据集合包括所述区块链的区块的区块头;
所述约束集合包括这样的约束:所述第三交易包括在所述区块中;以及
所述节点至少部分地基于所述区块链的区块的区块头来确定是否满足所述第三交易包括在所述区块中的约束。


6.根据权利要求5中所述的计算机实现的方法,其中所述节点至少通过以下方式来确定是否满足所述第三交易包括在所述区块中的约束:
至少部分地基于由所述区块头识别的所述区块中的交易的编码,计算所述第三交易的散列值;
验证所述第三交易的散列值等于存储在所述...

【专利技术属性】
技术研发人员:莹·陈迪安·克莱默
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

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

1