区块链中解锁交易的输出约束制造技术

技术编号:23902914 阅读:34 留言:0更新日期:2020-04-22 11:54
无信任的确定性状态机可以使用区块链基础设施来实现,并且状态机可以在多个区块链交易上并发运行。交易可以在比特币区块链账本中完成。确定对第一交易输出的第一约束集合。确定对第二交易输出的第二约束集合。创建初始交易以包括至少一个初始锁定脚本和至少一个可赎回值,所述初始锁定脚本包括所述第一约束集合和所述第二约束集合,其中,解锁所述至少一个可赎回值取决于:通过验证解锁交易包括所述第一交易输出,所述第一约束集合至少部分地满足;以及通过验证所述解锁交易包括所述第二交易输出,所述第二约束集合至少部分地满足。所述初始交易在区块链网络的节点处进行验证。

Output constraint of unlocking transaction in blockchain

【技术实现步骤摘要】
【国外来华专利技术】区块链中解锁交易的输出约束
本专利技术主要涉及一种处理区块链交易的计算机实现的方法,具体涉及在区块链交易处理的结构内实现状态机,包括无信任的、确定性和并发状态机。本专利技术还利用加密和数学技术来加强与通过区块链网络进行的电子转移相关的安全性。本专利技术特别适用于,但不限于,在智能合约交易中处理和交易以及使用这种智能合约交易实现状态机的方法和装置中使用。
技术介绍
在本文中,术语“区块链(Blockchain)”可以指几种类型的电子的、基于计算机的分布式账本(DistributedLedgers)的任何一种。这些包括基于共识的区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本(BitcoinLedger)。虽然出于方便和说明的目的,“比特币”的示例可称为本文描述的技术的有用应用,但是比特币仅是本专利技术中所述技术可以应用到的许多应用中的一个。但是,应该注意的是,本专利技术不限于与比特币区块链一起使用;可选的区块链实现和协议(包括非商业应用),也落入本专利技术的范围内。例如,本专利技术中描述的技术将为使用区块链实现提供优势,该区块链实现在交易中可以编码何种约束方面具有与比特币类似的限制,无论是否发生加密货币的交换。区块链是点对点(Peer-to-Peer)的电子账本,其被实现为基于计算机的、去中心化的分布式系统,该系统由区块组成,区块又可以由交易和其他信息组成。在一些示例中,“区块链交易”是指对包括数据和条件集合的字段值的结构化集合进行编码的输入消息,其中满足条件集合是将字段集写入区块链数据结构的先决条件。区块链系统或区块链网络可以包括多个区块链节点和操作集合。区块链节点可用于执行操作集合中的一些或全部操作。各种区块链节点可以被实现为由节点操作者操作的计算机硬件、计算机软件或两者的组合,其中节点操作者可以是独立的,并且与其他节点操作者无关。区块链节点可能每个维护区块链账本的副本或其中的一部分。操作集合可能包括创建交易、传播交易、读取区块链账本、评估区块链账本、为区块链账本的提议添加生成(挖掘)新区块、与其他区块链节点通信以及为用户提供钱包功能以管理区块链资产。区块链账本可以是去中心化的,因为没有决定何时修改账本的单一区块链节点或实体。相反,每个区块链节点可以使用区块链协议规则的知识进行编程,并且可以验证区块链账本以及其他区块链节点的动作与那些规则一致。术语“区块链(Blockchain)”可以指这样的事实,即区块链账本包括一系列链接区块(ChainedBlock),每个链接区块在计算机存储器中表示为数据结构,可由计算机进程读取并且可作为数据传输来传输。区块可包括一个或多个交易,也可表示为计算机存储器中的数据结构,可由计算机进程读取并可作为数据传输来传输。这些区块可以被链接,因为正式添加到区块链的每个新区块包含对紧接着的前一区块的不可变引用,该前一区块可以包含对其紧接着的前一区块的不可变引用,以此类推。区块链协议的规则之一可以是,一旦区块被添加到区块链,就不能改变;即,它是不可变的,并且区块链账本的唯一可能的修改可以是添加新区块。由于区块链节点通常可以用它来编程,所以它们不会修改区块链账本副本中的区块,而是仅添加区块,即使这样,也仅在提议的区块上运行验证过程后添加区块,以确保其符合区块链协议。由于这些区块一旦被添加到账本中就不可变,区块中的交易也可以是不可变的。当区块链节点创建交易时,它可以创建包含交易的细节的数据对象,并且可以通过点对点的方式将该数据对象传播到它可以连接到的其他区块链节点。一些区块链节点充当“矿工(Miner)”,并收集一个或多个交易,形成对应于区块的数据结构,执行一些计算以验证放入区块中的交易,解决谜题,将谜题的解决方案放入数据结构中,并尝试将区块传播到其他区块链节点。谜题可能是非平凡计算(NontrivialComputation)的形式,这种计算特定于交易的数据和区块链账本的当前状态,例如账本中的区块数和最后添加的区块数。通过使谜题依赖于交易,流氓区块链节点(RogueBlockchainNode)可能无法传播提前组成的区块。通过解决一个非平凡的谜题,流氓区块链节点可能无法简单地将区块注入到区块链网络,但是可能需要区块链节点执行一些重要的计算任务来证明它付出了努力(实际上,显示谜题的解决方案是“工作量证明”)。优选地,在区块链协议中,工作量证明是非平凡的,但是验证谜题已经解决并且工作已经完成很容易。这意味着,其他区块链节点不一定必须信任提议将新数据区块添加到账本中的区块链节点。如果被另一区块链节点验证,则该区块链节点可以将新区块添加到其区块链账本副本的末尾,并将该新区块传播到其他区块链节点。当其他区块链节点执行相同的验证时,他们也可以得出该区块有效且应添加到区块链账本的结论,因此他们可以将该区块添加到其区块链账本副本中。如果区块链节点确定提议的新区块无效,则它可以不将其添加到区块链账本的副本中,也可以不传播它。因为区块链的有效性是基于共识的,如果大多数节点同意交易是有效的,那么该交易可以被视为有效。区块链系统可以这样操作,使得节点所有者和操作者不必信任其他节点所有者和操作者。相反,协议可以使执行某些不被协议允许的操作在计算上不可行,例如修改较早的区块、在没有相应的工作量证明的情况下提出新区块或者包括无效交易。当以其他节点不注意的方式执行不被区块链协议允许的操作在计算上不可行时,可以不需要特定的信任。为了将交易包括在写入区块链的区块中,(1)挖掘区块链节点将验证该交易,(2)挖掘区块链节点将尝试传播包含该交易的区块,以及(3)其他节点将验证该区块的有效性和该区块中的交易的有效性。由于将在考虑这些规则的情况下对挖掘区块链节点进行编程或配置,因此挖掘区块链节点不太可能将无法验证的交易包括在区块中,因为这样的区块不会被其他节点接受,并且挖掘节点将不会获得任何好处。对于一些区块链系统来说,这样的挖掘的好处之一是,如果区块被接受,则允许该区块包括“分配”交易,其中指定数量的值被分配给该节点的操作者,而无需相应减少来自其他实体的值。以这种方式,成功的矿工可以通过该区块创造的价值得到补偿。此外,如下所述,交易可以包括交易费用,交易费用也将支付给控制挖掘区块链节点的矿工,并且交易费用还要求该交易可验证为有效,以便该矿工获得任何补偿。区块链网络中的交易包含各种数据元素,例如交易值、交易时间和/或其他数据元素。在去中心化的分布式账本系统中,账本是公共的,因此任何人都可以查看账本和交易。在区块链账本中,可能存在创始交易,该创始交易启动了区块链,并将某些价值单位归因于该创始交易。在本文的示例中,出于说明的目的,价值单位是加密货币,但是其他变型也是可能的。创始交易和分配交易之外的交易涉及“解锁”区块链账本中一个或多个现有交易的价值,并且当这种交易被添加到区块链账本中时,它又可以被转移。每个未转移的交易都以公开的方式指定了解锁该交易价值所需的要求。一个简单的要求可能是“你必须首先证明你是爱丽丝(Alice),然后你才能解锁本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,包括:/n确定对第一交易输出的第一约束集合;/n确定对第二交易输出的第二约束集合;/n创建初始交易,包括:/n至少一个初始锁定脚本,所述初始锁定脚本包括所述第一约束集合和所述第二约束集合;和/n至少一个可赎回值,其中,解锁所述至少一个可赎回值取决于:/n通过验证解锁交易包括所述第一交易输出,所述第一约束集合至少部分地满足;和/n通过验证所述解锁交易包括所述第二交易输出,所述第二约束集合至少部分地满足;和/n在区块链网络的节点处验证所述初始交易。/n

【技术特征摘要】
【国外来华专利技术】20170829 GB 1713790.2;20170829 GB 1713794.4;2017081.一种计算机实现的方法,包括:
确定对第一交易输出的第一约束集合;
确定对第二交易输出的第二约束集合;
创建初始交易,包括:
至少一个初始锁定脚本,所述初始锁定脚本包括所述第一约束集合和所述第二约束集合;和
至少一个可赎回值,其中,解锁所述至少一个可赎回值取决于:
通过验证解锁交易包括所述第一交易输出,所述第一约束集合至少部分地满足;和
通过验证所述解锁交易包括所述第二交易输出,所述第二约束集合至少部分地满足;和
在区块链网络的节点处验证所述初始交易。


2.根据权利要求1所述的计算机实现的方法,其中,所述第一交易输出中的锁定脚本是所述第二交易输出中的锁定脚本的副本。


3.根据权利要求1所述的计算机实现的方法,其中,所述第一交易输出中的锁定脚本不同于所述第二交易输出中的锁定脚本。


4.根据权利要求2或3中任一项所述的计算机实现的方法,其中,所述第一交易输出中的锁定脚本包括所述至少一个初始锁定脚本的至少一部分。


5.根据权利要求4所述的计算机实现的方法,其中,所述至少一个锁定初始脚本的执行从所述至少一个初始锁定脚本的多个部分中选择所述至少一部分。


6.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述解锁交易的解锁脚本的执行导致所述至少一个初始锁定脚本接收数据,所述数据与所述第一交易输出或所述第二交易输出之一相对应。


7.根据权利要求6...

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

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

1