将未确定来源的未确定数据安全地提供到区块链事务的锁定脚本中的制作方法

文档序号:37182230发布日期:2024-03-01 12:41阅读:12来源:国知局
将未确定来源的未确定数据安全地提供到区块链事务的锁定脚本中的制作方法

本发明大体上涉及分布式分类账技术,包括区块链事务,且更具体地,涉及使字段从区块链事务注入解锁事务脚本中。本发明利用加密和数学技术来增强与通过区块链网络进行的电子转账有关的安全性。本发明特别适合,但不限于,在智能合约和状态机中使用。


背景技术:

1、在本文中,我们使用术语“区块链”来包括所有形式的基于计算机的电子分布式分类账。这些包括基于共识的区块链和事务链技术、经过许可和未经许可的分类账、共享分类账及其变化形式。应注意,包括非商业应用在内的替代区块链(alternative blockchain)实现方式和协议也落入本发明的范围内。例如,无论是否发生加密货币交换,技术都可以提供优势,利用对可以在事务内编码的约束,具有限制的区块链实现方式。

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

3、也就是说,基于堆栈的脚本语言可以利用堆栈。使用堆栈,可以将值压入堆栈的顶部或从堆栈的顶部弹出。对堆栈执行的各种操作可以使得将一个或多个值推入堆栈的顶部或从堆栈的顶部弹出。例如,op_equal操作会从堆栈中弹出顶部两项,将它们进行比较,然后将结果(例如,如果相等则为1,如果不相等则为0)压入堆栈的顶部。对堆栈执行的其它操作,例如op_pick,可以允许从堆栈顶部以外的位置选择项。在一些本发明的实施例采用的一些脚本语言中,可能至少有两个堆栈:主堆栈和备用堆栈。脚本语言的一些操作可以将项从一个堆栈的顶部移动到另一个堆栈的顶部。例如,op_toaltstack将值从主堆栈的顶部移动到备用堆栈的顶部。

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


技术实现思路

1、本发明描述了一个或多个基于区块链的计算机程序的技术方面。基于区块链的计算机程序是记录在区块链事务中的机器可读和可执行程序。基于区块链的计算机程序包括可以处理输入以产生结果的规则,然后可以根据这些结果执行操作。如果锁定脚本既可以访问解锁事务又可以访问先前事务,则可以利用区块链来实现高度灵活和复杂的智能合约。当前研究的一个领域是使用基于区块链的计算机程序来实现“智能合约”。与将以自然语言编写的传统合约不同,智能合约可以是设计成自动执行机器可读合约或协议条款的计算机程序。

2、在实施例中,尽管可以在智能合约中的特定步骤对与特定实体的交互进行编码,但智能合约可以其它方式自动执行和自强制执行。在一些示例中,自动执行是指成功执行以实现utxo的转移的智能合约的执行。应注意,在此类示例中,能够使得utxo转移的“实体”是指能够创建解锁脚本而无需证明某些秘密知识的实体。换句话说,可以在不核验数据来源(例如,创建了解锁事务的实体)是否有权访问加密秘密(例如,私有非对称密钥、对称密钥等)的情况下验证解锁事务。同样,在此类示例中,自强制执行是指使区块链网络的验证节点根据约束来强制执行解锁事务。在一些示例中,从技术意义上使用“解锁”utxo(也称为“花费”utxo)是指创建引用utxo并作为有效执行的解锁事务。

3、区块链事务输出包括锁定脚本和关于数字资产的所有权的信息。锁定脚本,也可以称为留置(encumbrance),通过指定转移utxo所需符合的条件来“锁定”数字资产。例如,锁定脚本可以要求在解锁脚本中提供某些数据以解锁相关联的数字资产。锁定脚本在一些区块链中也称为“脚本公钥(scriptpubkey)”。要求一方提供数据以解锁数字资产的技术涉及将数据的散列嵌入锁定脚本内。然而,如果在创建锁定脚本时数据是未确定的(例如,未知的和未固定的),则会出现问题。

4、因此,期望提供在这些方面中的一个或多个方面中改进区块链技术的改进的方法和系统。因此,根据本发明,提供了如所附权利要求书中所定义的方法和对应系统。

5、本发明可以被描述为核验(verification)方法/系统,和/或被描述为用于控制区块链事务的验证的控制方法/系统。在一些实施例中,经验证的区块链事务使得事务记录在区块链上,这在一些应用中可以使得经由区块链进行数字资产的交换或转移。数字资产是由区块链管理的资源的单位。尽管在一些实施例中,数字资产可以用作加密货币,但是在实施例中,设想数字资产可以另外或替代地用于其它情形。应注意,本发明虽然适用于数字资产的控制,但是本发明本质上是技术性的,并且可以在利用区块链数据结构而不一定涉及数字资产转移的其它情形使用。如下所述,本发明还可以被描述为用于经由区块链网络或平台执行操作的新的、改进的和有利的方式的安全方法/系统。

6、如下文将更详细描述的,在实施例中,通过采用解锁事务的字段值集和来自解锁事务的解锁脚本的签名散列(sighash)类型作为输入并执行签名生成和核验操作,可以给予锁定脚本访问解锁事务的某些字段的权限。

7、如下文将更详细描述的,在实施例中,通过约束从解锁事务的某些字段中提取的事务标识符(id),使得序列化的先前事务包括在解锁事务的解锁脚本中,可以给予锁定脚本访问先前事务中的字段集的权限。根据实施例,可以提供一种将序列化的先前事务注入区块链事务锁定脚本中的方法,所述方法采用对应于第一事务的第一字段值集和对应于另一事务的第二字段值集作为输入,从第一字段值集中提取事务标识符,并且基于第二字段值集确定另一事务对应于事务标识符。

8、如下文将更详细描述的,在实施例中,锁定和解锁脚本可以用于使得能够安全地提供来自确定或未确定来源的未确定数据。为了使来自未确定来源的数据免受更改的影响,可以将数据嵌入序列化的先前事务中。应注意,即使数据在序列化的先前事务中,从锁定脚本不会将所述数据约束为某一值的意义上来说,它也是未确定的。为了使来自确定来源的数据不被更改,可以将来自确定来源的公钥包括在锁定脚本中,在锁定脚本中,可以使用数据修改公钥,然后可以使用公钥来验证使用修改后的私钥签名的数据的签名。根据实施例,可以提供一种方法,来获得未确定数据和第二值,并且基于解锁脚本中提供的数据和第二值来验证未确定数据与数据来源相关联。

9、如下文将更详细描述的,在实施例中,可以通过从先前事务中提取约束参数并将约束参数应用于解锁事务的字段来创建参数化智能合约。可以通过具有约束的锁定脚本来实现参数化智能合约,所述约束通过由来自确定或未确定来源的解锁事务的解锁脚本中提供的安全的未确定数据进行参数化。根据实施例,可以提供一种方法,来获得未确定数据,可以根据所述未确定数据确定要应用于数字资产重新关联的约束集,并且根据所述约束集将数字资产与第二实体重新关联。

10、如下文将更详细描述的,在实施例中,将智能合约创建为自复制的,直到达到终止条件为止。根据实施例,可以提供一种方法,来检查是否满足终止条件,并且如果不满足终止条件,则检查先前事务的锁定脚本与解锁事务的锁定脚本是否匹配。

11、如下文将更详细描述的,在实施例中,可以使用参数化的自复制的智能合约来创建不可信任的确定性状态机。根据实施例,可以提供一种方法,来核验自复制的锁定脚本,并且至少部分地基于来自确定来源的输入和不可信任的确定性状态机的当前状态来确定不可信任的确定性状态机的下一状态。

12、本发明所描述和建议的新颖技术扩展了区块链的功能,而不会破坏确保区块链数据结构内存储的数据的完整性的区块链特性。例如,这些技术通过利用区块链网络来设置和强制执行重新关联数字资产的标准,从而改进了计算领域,特别是用于验证的条件被定义为嵌入记录中的智能合约的数字记录验证领域。另外,本发明所描述和建议的技术可以通过使区块链事务能够充当状态机而使计算机程序功能取决于记录在这种状态机中的状态来改进区块链网络的功能。

13、此外,本发明所描述和建议的技术可能必须植根于计算机技术中,以便克服由于安全性原因而专门设计为限制功能的区块链技术特有的问题。例如,脚本本身不支持复杂的流控制功能,例如发生循环。这种限制的一个优点是程序具有可预测的执行时间。将脚本限制为线性或树状决策任务的另一个显著优点是它避免了无限循环,无限循环可能被用作发起例如拒绝服务(dos或ddos)攻击之类的漏洞的手段。因此,增强并保留了区块链转移/交换的安全性,但是需要找到机制来实现语言本身不允许或不提供的功能。本发明在这方面取得了进步,通过自复制和自引用区块链事务锁定脚本的实现方式,至少部分地解决了区块链事务的当前限制。因此,本发明提供了技术问题的技术解决方案,并且在安全性、经由区块链的数字资产交换/转移的改进控制以及当前区块链相关功能的扩展方面提供了优点。

14、因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本至少:包括第一事务的字段值集;并且由于被执行而使节点获得所述字段值集;ii)获得第二事务,所述第二事务与数字资产相关联,并且包括第二脚本,所述第二脚本由于被执行而使节点至少:至少部分地基于由于第一脚本的执行而提供的字段值集来生成签名;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

15、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下成功执行对第一事务的验证。

16、第一脚本可以进一步包括非对称密钥对中的私有加密密钥。另外或替代地,第二脚本可以进一步使节点至少部分地基于私有加密密钥和掩码数来生成签名。另外或替代地,验证第一事务可以进一步包括验证签名是否与非对称密钥对中的公共加密密钥相关联。

17、第一脚本可以进一步指定签名散列类型。另外或替代地,字段值集可以至少部分地基于签名散列类型。

18、签名散列类型可以是指示第一事务的字段值集中的哪些字段值将被包括在签名中的值。

19、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。另外或替代地,锁定脚本的执行可以使节点通过确定是否已满足条件集来验证第一事务。

20、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

21、数字资产可以与区块链网络中的未花费事务输出相关联。

22、节点可以是通信连接到区块链网络中的至少一个其它节点的计算装置。

23、区块链网络可以由运行区块链协议实例的分布式电子装置组成。

24、可以使用图灵不完整指令集来编写第一脚本和第二脚本。

25、使用图灵完整指令集来编写第一脚本和第二脚本。

26、通过包括字段集,第一脚本可以使节点由于第一脚本的执行而使字段集可用作第二脚本的输入。

27、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

28、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

29、因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少:获得对应于第一事务的第一字段值集;以及获得对应于特定事务的第二字段值集;ii)获得第二事务,所述第二事务与数字资产相关联,并且包括第二脚本,所述第二脚本由于被执行而使节点至少:获得由于第一脚本的执行而提供的特定事务的第一字段值集和第二字段值集;从第一字段值集中提取事务标识符;以及至少部分地基于第二字段值集确定特定事务对应于事务标识符;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

30、第二字段值集可以采用规范化格式。

31、节点可以通过生成第二字段值集的散列来确定特定事务对应于事务标识符。另外或替代地,节点可以通过核验散列与事务标识符匹配来确定特定事务对应于事务标识符。

32、特定事务可以与对被转移的数字资产的控制相关联。

33、特定事务可以与不同于被转移的数字资产的第二数字资产相关联。

34、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下成功验证第一事务。

35、节点可以是区块链网络的验证节点。

36、验证第一事务可以进一步包括由于第一事务的成功验证而将第一事务添加到区块链网络中的区块链。

37、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。另外或替代地,锁定脚本的执行可以使节点通过确定是否已满足条件集来验证第一事务。

38、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

39、第一脚本可以指定签名散列类型。另外或替代地,第二脚本可以进一步由于被执行而使节点获得由于第一脚本的执行而提供的签名散列类型。

40、第二脚本可以进一步由于被执行而使节点至少部分地基于签名散列类型来确定特定事务是与第一事务相关联的事务集的组成部分。

41、第二脚本可以进一步由于被执行而使节点至少部分地基于签名散列类型来确定特定事务对应于第二事务。

42、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

43、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

44、因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本包括至少:第一值,所述第一值的至少一部分包括不受第二脚本约束的数据;以及第二值;ii)获得第二事务,所述第二事务与数字资产相关联,并且包括第二脚本,所述第二脚本由于被执行而使节点至少:由于第一脚本的执行而获得第一值和第二值;以及至少部分地基于第一值和第二值验证数据与特定来源相关联;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

45、第二脚本可以是包括用于验证第二事务的条件集的锁定脚本。另外或替代地,第一脚本可以是用于满足锁定脚本的条件集的解锁脚本。

46、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下执行对第一事务的验证。

47、数据与数据来源关联的失败验证可能会导致验证第一事务失败。

48、特定来源的身份可以不受第二脚本约束。

49、特定事务可以是数据的特定来源。另外或替代地,第一值可以是特定事务的字段值集。另外或替代地,第二值可以包括与特定事务相关联的事务标识符。第二脚本可以通过验证特定事务对应于事务标识符来验证数据与数据来源相关联。

50、第二脚本可以通过验证事务标识符与特定事务的字段集的散列匹配来验证特定事务对应于事务标识符。

51、通过包括特定事务的字段集,第一脚本可以使节点由于第一脚本的执行而使特定事务的字段集可以用作第二脚本的输入。

52、特定事务可以是第二事务。

53、数据可以被编码在特定事务的字段中。

54、第二脚本可以约束特定来源的身份。

55、第二值可以是签名。另外或替代地,第二脚本可以进一步使节点获得与数据来源相关联的公钥,并且另外或替代地,至少部分地基于公钥和数据来生成修改后的公钥。另外或替代地,第二脚本可以至少部分地基于修改后的公钥来验证数据与数据来源相关联。

56、可以通过对公钥执行椭圆曲线点乘以数据值来生成修改后的公钥。

57、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

58、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少获得数据和第一事务的第一字段值集;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本由于被执行而使节点至少:至少部分地基于由于第一脚本的执行而提供的数据来确定约束集;以及至少部分地基于第一字段值集来针对第一事务核验约束集;以及iii)根据由于第一脚本和第二脚本的执行而获得的约束集来转移对数字资产的控制。

59、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下执行对数字资产的控制的转移。

60、数据来源的身份可以不受第二脚本约束。

61、第二脚本可以约束数据来源的身份。

62、第二脚本可以包括可用于验证数据的特定数据来源的公钥。

63、验证数据可以包括至少部分地基于公钥和数据来生成修改后的公钥,并且另外或替代地,至少部分地基于修改后的公钥来确定数据与数据来源相关联。

64、可以至少部分地从数据中的参数集中导出约束集。

65、约束集的满足可以是用于重新关联数字资产的至少一部分的条件。

66、转移对数字资产的控制可以包括将数字资产从第一实体重新关联到第二实体。

67、可以至少部分地基于约束集来确定第二实体的身份。

68、数据来源可以是第二事务。另外或替代地,数据包括第二事务的第二字段值集。另外或替代地,第二脚本的执行可以使得至少部分地从第二字段值集中导出约束集。

69、可以至少部分地基于约束集来确定第二实体的身份。

70、约束集可以进一步使数字资产的至少一部分与第三实体重新关联。

71、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

72、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

73、因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少:获得第一事务的第一字段值集,所述第一字段值集包括第三脚本;以及获得第二事务的第二字段值集,所述第二字段值集包括第二脚本的副本;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本由于被执行而使节点由于确定终止条件没有得到满足而至少:从第一字段值集获得第三脚本;以及确定第二脚本的副本与第三脚本匹配;以及iii)由于第一脚本和第二脚本的执行而转移对数字资产的控制。

74、第二事务可以是与数字资产相关联的事务。另外或替代地,第一事务可以是将数字资产的至少一部分从第一实体重新关联到第二实体的事务。

75、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

76、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。

77、第三脚本可以是施加用于验证未来事务的条件集的锁定脚本。

78、转移对数字资产的控制可以包括将数字资产从第一实体重新关联到第二实体。

79、确定终止条件没有得到满足可以包括确定与第二事务相关联的数字资产的数额足以重新关联数字资产的至少一部分。

80、可以将第三脚本嵌入第一字段值集的字段值中。

81、区块链网络可以由运行区块链协议实例的分布式电子装置组成。

82、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下执行对数字资产的控制的转移。

83、作为用于转移对数字资产的控制的另一条件,第二脚本可以进一步使节点核验第一事务符合附加约束。

84、第一和第二事务可以是与数字资产相关联的重复智能合约集的组成部分。

85、重复智能合约集可以由终止条件终止。

86、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

87、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

88、因此,根据本发明,可以提供一种如所附权利要求书中所定义的计算机实现的方法(和对应系统)。可以将所述计算机实现的方法描述为区块链数据约束方法。所述计算机实现的方法可以包括:计算机实现的方法,包括:i)在区块链网络中的节点处接收对数字资产的控制进行转移的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少获得第一事务的第一字段值集、第二事务的第二字段值集,以及输入;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本包括规则集,所述第二脚本由于被执行而使节点至少:核验第二脚本与嵌入第一字段值集中的第三脚本匹配;至少部分地基于第二字段值集确定当前状态;以及至少部分地基于所述当前状态、所述输入和所述规则集确定下一状态;核验所述下一状态包括在第一字段值集中;以及iii)由于第一脚本和第二脚本的执行而转移对数字资产的控制。

89、第二脚本可以约束输入来源的身份。

90、所要求保护的任何方法可以进一步包括核验输入来源的加密秘密。

91、规则集可以是状态转换矩阵。

92、第三脚本可以是施加用于验证未来事务的条件集的锁定脚本。

93、第二脚本可以进一步使节点确定终止条件没有得到满足。

94、输入可以嵌入在第二字段值集中。

95、终止条件可以是与第二事务相关联的数字资产的大小不足以进行转移。

96、当前状态可以指示第二事务的状态。

97、下一状态可以指示在验证时第一事务的状态。

98、所要求保护的任何方法可以进一步包括接收第三事务。另外或替代地,所要求保护的任何方法可以进一步包括:从第一事务获得第四脚本,所述第四脚本由于被执行而使节点至少部分地基于下一状态、第二输入和规则集来确定不同于下一状态和当前状态的另一状态。

99、当前状态和下一状态可以是第一和第二事务的可能状态集的组成部分。

100、转移对数字资产的控制可以包括将数字资产从第一实体重新关联到第二实体。

101、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

102、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

103、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本至少:包括第一事务的字段值集;并且由于被执行而使节点获得所述字段值集;ii)获得第二事务,所述第二事务已被验证并且包括第二脚本,所述第二脚本由于被执行而使节点至少:至少部分地基于由于第一脚本的执行而提供的字段值集来生成签名;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

104、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下成功执行对第一事务的验证。

105、第一脚本可以进一步包括非对称密钥对中的私有加密密钥。另外或替代地,第二脚本可以进一步使节点至少部分地基于私有加密密钥和掩码数来生成签名。另外或替代地,验证第一事务可以进一步包括验证签名与非对称密钥对中的公共加密密钥相关联。

106、第一脚本可以进一步指定签名散列类型。另外或替代地,字段值集可以至少部分地基于签名散列类型。

107、签名散列类型可以是指示第一事务的字段值集中的哪些字段值将被包括在签名中的值。

108、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。另外或替代地,锁定脚本的执行可以使节点通过确定是否已满足条件集来验证第一事务。

109、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

110、验证第一事务可以使未花费事务输出转移。

111、节点可以是通信连接到区块链网络中的至少一个其它节点的计算装置。

112、区块链网络可以由运行区块链协议实例的分布式电子装置组成。

113、可以使用图灵不完整指令集来编写第一脚本和第二脚本。

114、使用图灵完整指令集来编写第一脚本和第二脚本。

115、通过包括字段集,第一脚本可以使节点由于第一脚本的执行而使字段集可用作第二脚本的输入。

116、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

117、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

118、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少:获得对应于第一事务的第一字段值集;以及获得对应于特定事务的第二字段值集;ii)获得第二事务,所述第二事务已被验证并且包括第二脚本,所述第二脚本由于被执行而使节点至少:获得由于第一脚本的执行而提供的第一字段值集和特定事务的第二字段值集;从第一字段值集中提取事务标识符;以及至少部分地基于第二字段值集来确定特定事务对应于事务标识符;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

119、第二字段值集可以采用规范化格式。

120、节点可以通过生成第二字段值集的散列来确定特定事务对应于事务标识符。另外或替代地,节点可以通过核验散列与事务标识符匹配来确定特定事务对应于事务标识符。

121、特定事务可以与由于验证第一事务而转移的对数字资产的控制相关联。

122、特定事务可以与第二数字资产相关联,所述第二数字资产不同于由于验证第一事务而转移的数字资产。

123、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下成功验证第一事务。

124、节点可以是区块链网络的验证节点。

125、验证第一事务可以进一步包括由于第一事务的成功验证而将第一事务添加到区块链网络中的区块链。

126、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。另外或替代地,锁定脚本的执行可以使节点通过确定是否已满足条件集来验证第一事务。

127、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

128、第一脚本可以指定签名散列类型。另外或替代地,第二脚本可以进一步由于被执行而使节点获得由于第一脚本的执行而提供的签名散列类型。

129、第二脚本可以进一步由于被执行而使节点至少部分地基于签名散列类型来确定特定事务是与第一事务相关联的事务集的组成部分。

130、第二脚本可以进一步由于被执行而使节点至少部分地基于签名散列类型来确定特定事务对应于第二事务。

131、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

132、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

133、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本包括至少:第一值,所述第一值的至少一部分包括不受第二脚本约束的数据;以及第二值;ii)获得第二事务,所述第二事务已被验证并且包括第二脚本,所述第二脚本由于被执行而使节点至少:由于第一脚本的执行而获得第一值和第二值;以及至少部分地基于第一值和第二值验证数据与特定来源相关联;以及iii)通过执行第一脚本和第二脚本来验证第一事务。

134、第二脚本可以是包括用于验证第二事务的条件集的锁定脚本。另外或替代地,第一脚本可以是用于满足锁定脚本的条件集的解锁脚本。

135、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下执行对第一事务的验证。

136、数据与数据来源关联的失败验证可能会导致验证第一事务失败。

137、特定来源的身份可以不受第二脚本约束。

138、特定事务可以是特定数据来源。另外或替代地,第一值可以是特定事务的字段值集。另外或替代地,第二值可以包括与特定事务相关联的事务标识符。第二脚本可以由于被执行而通过验证特定事务对应于事务标识符来验证数据与数据来源相关联。

139、第二脚本可以由于被执行而通过验证事务标识符与特定事务的字段集的散列匹配来验证特定事务对应于事务标识符。

140、通过包括特定事务的字段集,第一脚本可以使节点由于第一脚本的执行而使特定事务的字段集可以用作第二脚本的输入。

141、特定事务可以是第二事务。

142、数据可以被编码在特定事务的字段中。

143、第二脚本可以约束特定来源的身份。

144、第二值可以是签名。另外或替代地,第二脚本可以进一步使节点获得与数据来源相关联的公钥,并且另外或替代地,至少部分地基于公钥和数据来生成修改后的公钥。另外或替代地,第二脚本可以由于被执行而至少部分地基于修改后的公钥来验证数据与数据来源相关联。

145、可以通过对公钥执行椭圆曲线点乘以数据值来生成修改后的公钥。

146、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

147、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

148、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少获得数据和第一事务的第一字段值集;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本由于被执行而使节点至少:至少部分地基于由于第一脚本的执行而提供的数据来确定约束集;以及至少部分地基于第一字段值集来针对第一事务核验约束集;以及iii)根据由于第一脚本和第二脚本的执行而获得的约束集来验证第一事务。

149、可以在不核验创建第一事务的实体是否有权访问秘密信息的情况下执行对第一事务的验证。

150、数据来源的身份可以不受第二脚本约束。

151、第二脚本可以约束数据来源的身份。

152、第二脚本可以包括可用于验证数据的特定数据来源的公钥。

153、验证数据可以包括至少部分地基于公钥和数据来生成修改后的公钥,并且另外或替代地,至少部分地基于修改后的公钥来确定数据与数据来源相关联。

154、可以至少部分地从数据中的参数集中导出约束集。

155、约束集的满足可以是用于重新关联数字资产的至少一部分的条件。

156、验证第一事务可以包括将数字资产从第一实体重新关联到第二实体。

157、约束集可以进一步使数字资产的至少一部分与第三实体重新关联。

158、可以至少部分地基于约束集来确定第二实体的身份。

159、数据来源可以是第二事务。另外或替代地,数据包括第二事务的第二字段值集。另外或替代地,第二脚本的执行可以使得至少部分地从第二字段值集中导出约束集。

160、可以至少部分地基于约束集来确定第二实体的身份。

161、约束集可以进一步使数字资产的至少一部分与第三实体重新关联。

162、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

163、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

164、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少:获得第一事务的第一字段值集,所述第一字段值集包括第三脚本;以及获得第二事务的第二字段值集,所述第二字段值集包括第二脚本的副本;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本由于被执行而使节点由于确定终止条件没有得到满足而至少:从第一字段值集获得第三脚本;以及确定第二脚本的副本与第三脚本匹配;以及iii)由于第一脚本和第二脚本的执行而验证第一事务。

165、第一脚本可以是用于满足第二脚本的条件集的解锁脚本。

166、第二脚本可以是施加用于验证第一事务的条件集的锁定脚本。

167、第三脚本可以是施加用于验证未来事务的条件集的锁定脚本。

168、第二事务可以是与数字资产相关联的事务。另外或替代地,第一事务可以是将数字资产的至少一部分从第一实体重新关联到第二实体的事务。

169、验证第一事务可以包括将数字资产从第一实体重新关联到第二实体。

170、确定终止条件没有得到满足可以包括确定与第二事务相关联的数字资产的数额足以重新关联数字资产的至少一部分。

171、可以将第三脚本嵌入第一字段值集的字段值中。

172、区块链网络可以由运行区块链协议实例的分布式电子装置组成。

173、可以在不对创建第一事务的实体是否有权访问秘密信息进行核验的情况下执行对第一事务的验证。

174、作为用于验证第一事务的另一条件,第二脚本可以进一步使节点核验第一事务符合附加约束。

175、第一和第二事务可以是与数字资产相关联的重复智能合约集的组成部分。

176、重复智能合约集可以由终止条件终止。

177、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

178、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

179、因此,根据本发明,可以提供一种如所附权利要求书中所定义的方法(和对应系统)。可以将所述方法描述为区块链数据约束方法。所述方法可以包括:i)在区块链网络中的节点处接收要验证的第一事务,所述第一事务包括第一脚本,所述第一脚本由于被执行而使节点至少获得第一事务的第一字段值集、第二事务的第二字段值集,以及输入;ii)获得第二事务,所述第二事务包括第二脚本,所述第二脚本包括规则集,所述第二脚本由于被执行而使节点至少:核验第二脚本与嵌入第一字段值集中的第三脚本匹配;至少部分地基于第二字段值集确定当前状态;以及至少部分地基于所述当前状态、所述输入和所述规则集确定下一状态;核验所述下一状态包括在第一字段值集中;以及iii)由于第一脚本和第二脚本的执行而验证第一事务。

180、第二脚本可以约束输入来源的身份。

181、所要求保护的任何方法可以进一步包括核验输入来源的加密秘密。

182、规则集可以是状态转换矩阵。

183、第三脚本可以是施加用于验证未来事务的条件集的锁定脚本。

184、第二脚本可以进一步使节点确定终止条件没有得到满足。

185、输入可以嵌入在第二字段值集中。

186、终止条件可以是与第二事务相关联的数字资产的大小不足以进行转移。

187、验证第一事务可以包括将数字资产从第一实体重新关联到第二实体。

188、当前状态可以指示第二事务的状态。

189、下一状态可以指示在验证时第一事务的状态。

190、所要求保护的任何方法可以进一步包括接收第三事务。另外或替代地,所要求保护的任何方法可以进一步包括:从第一事务获得第四脚本,所述第四脚本由于被执行而使节点至少部分地基于下一状态、第二输入和规则集来确定不同于下一状态和当前状态的另一状态。

191、当前状态和下一状态可以是第一和第二事务的可能状态集的组成部分。

192、还期望提供一种系统,所述系统包括:处理器;以及包括可执行指令的存储器,所述可执行指令由于由处理器执行而使所述系统执行所要求保护的任何方法。

193、还期望提供一种其上存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令由于由计算机系统的处理器执行而使计算机系统至少执行所要求保护的任何方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1