System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 使用分布式协调的智能合约执行制造技术_技高网

使用分布式协调的智能合约执行制造技术

技术编号:44414246 阅读:12 留言:0更新日期:2025-02-25 10:29
本发明专利技术涉及分布式账本技术,例如基于共识的区块链。描述用于智能合约结果确定的计算机实现的方法。使用区块链网络来实现本发明专利技术。对于确定条件集合的结果的同意被传送至对手方集合,所述条件集合具有第一可能结果和第二可能结果。使用秘密共享协议生成与所述第一可能结果相对应的第一私钥份额以及与所述第二可能结果相对应的第二私钥份额。一定数量的数字资产被转移至与第一区块链交易相关联的地址。由于将结果确定为第一可能结果,在特定时间区间揭示第一私钥份额,所述第一私钥份额至少部分地可由所述对手方集合用于确定所述结果。使得所述第二区块链交易在区块链网络中的节点处得到验证。

【技术实现步骤摘要】

本专利技术总体涉及区块链技术,并且更具体地涉及使用无经销商(dealer-free)秘密共享、椭圆曲线算术和签名的的特性的组合来控制基于区块链的智能合约的执行。本专利技术还利用密码和数学技术来增强与通过区块链网络进行的电子转移有关的安全性。本专利技术特别适合但不限于在智能合约中使用。


技术介绍

1、在本文献中,术语“区块链”可以指若干类型的基于计算机的电子分布式账本中的任何一种。它们包括基于共识的区块链和交易链技术、许可和非许可账本、共享账本及其变体。应当注意,本专利技术不限于与特定区块链一起使用;包括非商业应用在内的替代性区块链实现方式和协议也落入本专利技术的范围。例如,本公开所述技术将提供利用区块链实现方式的优点,关于在交易中可以对哪些约束进行编码,这些区块链实施方式都具有局限性。

2、区块链是一种被实现为基于计算机的去中心化分布式系统的对等电子账本,该系统由区块组成,而区块相应地由交易(transaction)和其他信息组成。在一些示例中,“区块链交易”是指将包括数据和条件集合的字段值的结构化集合进行编码的输入消息,其中条件集合的实现是将字段集合写入区块链数据结构的前提。例如,每个交易都可以是一种数据结构,该数据结构对数字资产的控制在区块链系统的参与者之间的转移进行编码,并包括至少一个输入和至少一个输出。在一些实施例中,“数字资产”是指与使用权相关联的二进制数据。在一些实施方式中,可通过将数字资产的至少一部分从第一实体重新关联到第二实体来进行数字资产的控制的转移。每个区块都包含前一个区块的散列,因此区块变为链接在一起,以创建自区块链创建以来就已经写入区块链的所有交易的永久、不变的记录。交易包含嵌入其输入和输出的称为脚本的小程序,它们指定如何以及由谁可以访问交易的输出。在一些区块链平台上,这些脚本是用基于堆栈的脚本语言编写的。

3、在一些示例中,“基于堆栈的脚本语言”是指支持各种基于堆栈或面向堆栈的执行模型和操作的编程语言。也就是说,基于堆栈的脚本语言可以利用堆栈。使用堆栈,可以将值推入堆栈顶部或从堆栈顶部弹出。对堆栈进行的各种操作可以导致将一个或多个值推入堆栈顶部或从堆栈顶部弹出。例如,op_equal操作会将顶部两个项目从堆栈弹出,对它们进行比较,然后将结果(例如,如果相等则为1,如果不相等则为0)推入堆栈顶部。对堆栈进行的其他操作(例如op_pick)可以允许从除了堆栈顶部之外的位置选择项目。在一部分实施例采用的一些脚本语言中,可以至少有两个堆栈:主堆栈和备用堆栈。脚本语言的一些操作可将项目从一个堆栈的顶部移动到另一个堆栈的顶部。例如,op_toaltstack,将值从主堆栈的顶部移动到备用堆栈的顶部。应当注意,在某些情况下,基于堆栈的脚本语言可能不仅限于严格按照后进先出(lifo)的方式操作。例如,基于堆栈的脚本语言可以支持将堆栈中的第n个项目复制或移动到顶部的操作(例如,可以分别为op_pick和op_roll)。可以将使用基于堆栈的脚本语言编写的脚本推入逻辑堆栈,该逻辑堆栈可以使用任何适当的数据结构(例如向量、列表或堆栈)来实现。

4、为了将交易写入区块链,必须对其进行“验证”。网络节点(挖掘节点)进行工作以确保每个交易都有效,而无效交易从网络中被拒绝。节点可以具有不同于其他节点的有效性标准。因为区块链中的有效性是基于共识的,所以,如果大多数节点同意交易有效,则该交易视为有效。安装在节点上的软件客户端通过执行utxo锁定和解锁脚本来部分地对引用未耗用交易(utxo)的交易执行该验证工作。如果锁定和解锁脚本的执行评估为true,并且满足其他验证条件(如果适用),则交易被节点验证。经验证的交易传播到其他网络节点,由此挖掘节点可以选择将交易包括在区块链中。因此,为了将交易写入区块链,该交易必须i)由接收交易的第一节点来验证——如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由挖掘节点建造的新区块;以及iii)被挖掘,即,加入过去交易的公共账本。当向区块链添加足够数量的区块以使得交易实际上不可逆时,认为该交易被确认。

5、数字企业家已经开始探索使用密码安全系统以及可以存储在区块链上的数据来实现新系统。如果区块链可用于自动化任务和过程,那么将非常有利。这种解决方案能够利用区块链的好处(例如,事件、分布式处理等的永久性、防篡改记录),同时在其应用程序中更具通用性。

6、本公开描述一个或多个基于区块链的计算机程序的技术方案。基于区块链的计算机程序是记录在区块链交易中的机器可读和可执行程序。基于区块链的计算机程序包括可以处理输入以产生结果的规则,然后这些规则可以导致根据这些结果进行动作。当前研究的一个领域是将基于区块链的计算机程序用于实现“智能合约”。与自然语言编写的传统合约不同,智能合约可以是这样的计算机程序,它被设计为自动执行机器可读合约或协议的条款。

7、在实施例中,虽然可以在智能合约的特定步骤对于与特定实体的交互进行编码,但是智能合约也可以自动执行和自我实施。它是机器可读和可执行的。在一些示例中,自动执行是指成功进行以实现utxo的转移的智能合约的执行。注意,在这种示例中,能够导致utxo转移的“实体”是指能够创建解锁脚本而无需证明掌握一些秘密的实体。换言之,可以在不证实数据源(例如,创建解锁交易的实体)能够访问密码秘密(例如,私人非对称密钥、对称密钥等)的情况下验证解锁交易。此外,在这种示例中,自我实施是指使得区块链网络的验证节点根据约束来实施解锁交易。在一些示例中,从技术意义上使用“解锁”utxo(也称为“耗用”utxo),是指创建引用utxo并执行有效的解锁交易。

8、区块链交易输出包括锁定脚本和有关数字资产所有权的信息。锁定脚本(也可以称为阻碍)通过指定转移utxo所需满足的条件来“锁定”数字资产。例如,锁定脚本可能要求在解锁脚本中提供某些数据,以解锁关联数字资产。锁定脚本也称为“scriptpubkey”。要求一方提供数据以解锁数字资产的技术涉及将数据的散列值嵌入锁定脚本中。但是,如果在创建锁定脚本时未确定数据(例如,未知和固定的数据),这会带来问题。

9、可将本专利技术描述为验证方法/系统,和/或描述为用于控制区块链交易的验证的控制方法/系统。在一些实施例中,经验证的区块链交易导致将交易记录在区块链上,在一些应用中,这会导致经由区块链进行数字资产的交换或转移。数字资产可以是区块链管理的资源单位。虽然在一些实施例中,可将数字资产用作加密货币,但是可以预期,在实施例中,数字资产可以在其他背景下附加性或替代性地使用。注意,本专利技术虽然可以应用于数字资产的控制,但是其本质是技术性的,并且可以在利用区块链数据结构的其他背景下使用,而不必涉及数字资产的转移。


技术实现思路

1、因此,希望提供在这些方案的一个或多个中改进区块链技术的方法和系统。现在已经设计出这种改进的解决方案。因此,根据本专利技术,提供如后附权利要求书限定的方法。

2、因此,希望提供一种计算机实现的方法,所述计算机实现的方法包括:

3本文档来自技高网...

【技术保护点】

1.一种计算机实现的方法,所述计算机实现的方法包括:

2.根据权利要求1所述的计算机实现的方法,其中,所述第三方是包括多个成员的群组。

3.根据权利要求2所述的计算机实现的方法,其中,所述结果是所述多个成员提交的答复的共识的结果。

4.根据权利要求2或3所述的计算机实现的方法,其中,确定成员数量,以包括所述多个成员。

5.根据权利要求2至4中任一项所述的计算机实现的方法,其中,确定阈值数量,以确定所述结果。

6.根据权利要求5所述的计算机实现的方法,其中,所述结果与所述多个成员中至少阈值数量的成员提交的答复相匹配。

7.根据权利要求2至6中任一项所述的计算机实现的方法,其中,所述结果至少部分地基于所述多个成员提交的密钥份额来确定。

8.根据权利要求7所述的计算机实现的方法,其中,所述密钥份额根据秘密共享方案来确定。

9.根据权利要求7或8所述的计算机实现的方法,其中,所述密钥份额通过所述多个成员提交给权益证明区块链中的区块。

10.根据权利要求2至9中任一项所述的计算机实现的方法,其中,所述多个成员包括其答复与所述共识不匹配的成员。

11.根据权利要求10所述的计算机实现的方法,其中,由于所述答复与答复的所述共识不匹配,所述第二数字资产的分配使得所述成员不能接收所述分配部分。

12.根据前述权利要求中任一项所述的计算机实现的方法,其中,创建与第二数字资产相关联的至少一个协调算法交易。

13.根据前述权利要求中任一项所述的计算机实现的方法,其中,由于验证为转移对所述第二数字资产的控制而创建的分配交易,所述第二数字资产被分配给所述第三方。

14.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述第二数字资产包括所述第三方贡献的押金部分。

15.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述第二数字资产包括所述对手方贡献的分配部分。

16.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述数字资产包括第一方贡献的第一数量的数字资产和第二方贡献的第二数量的数字资产。

17.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述多个可能结果之一与所述条件集合的超时条件相关联。

18.根据权利要求17所述的计算机实现的方法,其中,进一步由于验证所述结果交易以及发生所述超时条件,所述第一数量被退还至所述第一方。

19.根据权利要求17或18所述的计算机实现的方法,其中,进一步由于验证所述结果交易以及由于发生所述超时条件,所述第二数量被退还至所述第二方。

20.根据前述权利要求中任一项所述的计算机实现的方法,其中,从所述第三方接收与所述多个可能结果相对应的多个私密结果密钥。

21.根据权利要求20所述的计算机实现的方法,其中,所述结果包括与所述多个私密结果密钥之一相对应的密码密钥。

22.根据权利要求20或21所述的计算机实现的方法,其中,将所述对手方确定的秘密值与所述多个私密结果密钥中的每个密钥组合,以产生多个混淆的结果密钥。

23.根据权利要求22所述的计算机实现的方法,其中,创建所述对手方交易,以进一步包括所述多个混淆的私钥。

24.根据权利要求22或23所述的计算机实现的方法,其中,验证所述结果交易包括:将所述密码密钥与所述秘密值组合,以产生结果签名密钥。

25.根据权利要求22至24中任一项所述的计算机实现的方法,其中,验证所述结果交易包括:至少部分地基于所述多个混淆的私钥中的哪一个与所述结果签名密钥相关联,将所述数字资产分配给所述对手方。

26.一种系统,包括:

27.一种非暂时性计算机可读存储介质,其上存储有可执行指令,由于计算机系统的处理器执行,所述可执行指令使得所述计算机系统进行根据权利要求1至25中任一项所述的计算机实现的方法。

...

【技术特征摘要】

1.一种计算机实现的方法,所述计算机实现的方法包括:

2.根据权利要求1所述的计算机实现的方法,其中,所述第三方是包括多个成员的群组。

3.根据权利要求2所述的计算机实现的方法,其中,所述结果是所述多个成员提交的答复的共识的结果。

4.根据权利要求2或3所述的计算机实现的方法,其中,确定成员数量,以包括所述多个成员。

5.根据权利要求2至4中任一项所述的计算机实现的方法,其中,确定阈值数量,以确定所述结果。

6.根据权利要求5所述的计算机实现的方法,其中,所述结果与所述多个成员中至少阈值数量的成员提交的答复相匹配。

7.根据权利要求2至6中任一项所述的计算机实现的方法,其中,所述结果至少部分地基于所述多个成员提交的密钥份额来确定。

8.根据权利要求7所述的计算机实现的方法,其中,所述密钥份额根据秘密共享方案来确定。

9.根据权利要求7或8所述的计算机实现的方法,其中,所述密钥份额通过所述多个成员提交给权益证明区块链中的区块。

10.根据权利要求2至9中任一项所述的计算机实现的方法,其中,所述多个成员包括其答复与所述共识不匹配的成员。

11.根据权利要求10所述的计算机实现的方法,其中,由于所述答复与答复的所述共识不匹配,所述第二数字资产的分配使得所述成员不能接收所述分配部分。

12.根据前述权利要求中任一项所述的计算机实现的方法,其中,创建与第二数字资产相关联的至少一个协调算法交易。

13.根据前述权利要求中任一项所述的计算机实现的方法,其中,由于验证为转移对所述第二数字资产的控制而创建的分配交易,所述第二数字资产被分配给所述第三方。

14.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述第二数字资产包括所述第三方贡献的押金部分。

15.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述第二数字资产包括所...

【专利技术属性】
技术研发人员:托马斯·特雷维坦
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1