用于确定机器可执行合约的状态的计算机实现系统和方法技术方案

技术编号:39005007 阅读:10 留言:0更新日期:2023-10-07 10:36
详细描述了计算机实现的系统和方法,用于建立关于机器可执行合约的状态的信息。这些阶段可以包括确定感兴趣的信息和识别该信息的代码或标签,构建与这些代码或标签相关联的元数据,将其与将与该信息相关联的代理的公钥相结合。每个脚本的脚本公钥值可以用来提供密钥,用于构建外部数据库,并且更具体地,从链接到感兴趣的信息的脚本公钥值映射密钥。为了获得该组合的另一半,从脚本公钥值中导出脚本散列地址,这些地址用于填充数字钱包。然后使用搜索和匹配算法来查找区块链上具有匹配脚本散列地址的UTXO。然后,用UTXO填充上述数据库,这些UTXO与脚本散列地址相匹配,并因此与密钥相匹配,以完成组合。匹配以明确的方式指示状态。态。态。

【技术实现步骤摘要】
用于确定机器可执行合约的状态的计算机实现系统和方法


[0001]本专利技术总体上涉及诸如计算机实现的系统和方法等系统,更具体地,涉及用于建立状态信息的计算机实现的系统和方法。本专利技术特别适用于合约的区块链和确定性有限自动机(DFA)的实现以及确定其中的状态。

技术介绍

[0002]在本文件中,我们使用“区块链”一词来包括所有形式的电子的、基于计算机的分布式分类账。这些包括,但不限于,区块链和交易链技术、许可和未经许可的分类帐、共享分类账及其变体。尽管也提出和开发了其他区块链实现方式,但是区块链技术最广为人知的应用是加密货币分类账。虽然出于方便和说明的目的,在本文提及了加密货币,但是应当注意,本专利技术不限于与加密货币区块链一起使用,替代的区块链实现和协议落入本专利技术的范围内。
[0003]区块链是基于共识的电子分类帐,该电子分类帐被实现为基于计算机的、去中心化的分布式系统,由区块构成,而区块又由交易组成。每一交易是一种数据结构,对区块链系统中的参与者之间的数字资产的控制权转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列,这样区块就会链接在一起,以创建自区块链创建以来写入区块链的所有交易的永久的、不可更改的记录。交易包含被称为脚本的小程序,这些小程序嵌入到其输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在加密货币平台上,使用基于堆栈的脚本语言编写这些脚本。
[0004]为了将交易写入区块链,必须对其进行“验证”。网络节点执行工作,以确保每个交易有效,无效交易被网络拒绝。安装在节点上的软件客户端通过执行锁定和解锁脚本对未花费的交易(UTXO)执行验证工作。如果锁定和解锁脚本的执行结果为真,则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,必须i)由接收交易的第一节点验证(如果验证通过),该节点将交易中继到网络中的其他节点;ii)添加到由网络节点建造的新区块中;并且iii)挖掘,即,添加到过去交易的公共分类账中。
[0005]尽管区块链技术以使用加密货币实现方式而闻名,但数字企业家已经开始探索使用加密货币所基于的加密安全系统和可以存储在区块链上的数据来实现新系统。如果区块链能够用于不局限于加密货币领域的自动化任务和过程,则将是非常有利的。此类解决方案将能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在其应用中更加通用。
[0006]当前研究的一个领域是利用区块链来实现“智能合约”。这些是计算机程序,旨在自动执行机器可读合同或协议条款。与用自然语言编写的传统合同不同,智能合同是一种机器可执行的程序,包括可以处理输入以产生结果的规则,然后,可以根据这些结果来执行动作。
[0007]另一与区块链相关的感兴趣的领域是使用

代币

(或“彩币”)来表示并且经由区块链转移现实世界的实体。潜在的敏感或秘密项目可以由没有可辨别的意义或价值的代币
来表示。因此,代币充当允许从区块链引用真实世界项目的标识符。
[0008]区块链技术的一个问题是能够找到区块链的感兴趣的信息。许多现有技术文档公开了与找到区块链的感兴趣的信息相关的方法。下面简要描述这种现有技术方法的示例。
[0009]Chris Pacia等人的题为“OpenBazaar

Ratings,reviews and reputation”的介绍公开了一种基于区块链的评级系统。当发生购买交易时,买卖双方交换金钱。买方也可以留下对所提供服务的评论,让他人查看。供应商全球唯一标识符(GUID)、序列化评级和合同散列等数据添加到返回操作(OP_RETURN)中。幻灯片公开了通过查询标记供应商的区块链的OP_RETURN输出来搜索用户留下的评论的功能。
[0010]US 2016292672公开了一种利用区块链存储系统的交易系统。据披露,交易系统查询区块链系统,以检查交易方在实施交易之前是否拥有要交易的股票。这是通过确定是否存在与要交易的股票相对应的交易者拥有的未花费的交易来实现的。
[0011]US 2017005804公开了一种系统,其中,在区块链搜索希望进行金融交易的特定个人所拥有的资产。这种验证是通过访问区块链并确定来源参与者与未花费输出的区块链交易相关联来完成的,这些交易与足够数量的有关资产相关联。该过程可以包括对与源参与者相关联的多个不同的区块链交易进行求和,以确定源参与者“拥有”的资产总量。

技术实现思路

[0012]现有系统和方法的一个问题是不可能提取某些类型的信息,例如,在区块链上实现的机器可执行合约的状态,或者其至少难以以有效的方式实现。这使得更加难以实现机器可执行合约,例如,通过使用确定性有限自动机(DFA)。
[0013]因此,希望提供一种允许提取信息的解决方案,尽管信息在向区块链广播时已经经历了实质性的转变。
[0014]现在已经设计出这样一种改进的解决方案。在所附权利要求和/或专利技术的说明和/或本文件中阐述的特征、选项和可能性中定义本专利技术。
[0015]根据第一方面,本专利技术提供了一种搜索包含在区块链的未花费的输出(UXTO

s)中的信息的方法,该方法包括:
[0016]a)确定感兴趣的信息,并获得与该感兴趣的信息相关的密钥;
[0017]b)构建与密钥相关的搜索项;
[0018]c)在区块链搜索与搜索项相匹配的未花费的输出(UXTO

s),
[0019]该方法可以提供一种搜索机器可执行智能合约的状态的方法。该方法可以提供一种搜索在DFA中实现的机器可执行智能合约的状态的方法。例如,可以提供一种确定在区块链上实现的机器可执行合约的状态的方法,该方法包括:
[0020]a)确定感兴趣的信息,并生成与该感兴趣的信息相关的密钥;
[0021]b)构建与密钥相关的搜索项;
[0022]c)在区块链搜索与搜索项相匹配的未花费的输出(UXTO

s),
[0023]其中,感兴趣的信息是机器可执行智能合约的状态,并且
[0024]所述方法还包括:
[0025]d)从与搜索项相匹配的未花费的输出(UXTO

s)中提取信息,并且
[0026]e)从提取的信息中确定机器可执行智能合约的状态,其中,机器可执行智能合约
可以使用确定性有限自动机来实现,并且确定机器可执行智能合约的状态的步骤可以包括确定该确定性有限自动机的状态。
[0027]该方法可以提供,通过一个或多个阶段传递感兴趣的信息来获得密钥。获得密钥的一个或多个阶段可以包括:指定阶段;元数据构建阶段;代理关联阶段;组合阶段;赋值阶段。密钥可能是赋值阶段的输出。
[0028]该方法可以提供,通过对感兴趣的信息应用可再现过程来获得密钥,相同的可再现过程已经生成了包含在正在搜索的区块链的未花费的输出(UXTO

s)中的信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实现的方法,用于搜索包含在区块链的未花费的输出(UXTO)中的信息,所述方法包括:对于机器可执行智能合约的多个状态中的给定状态,基于与所述给定状态相关联的元数据来生成信息公钥;构建与所述信息公钥有关的搜索项;以及搜索所述区块链以得到与所述搜索项匹配的未花费的输出(UXTO),其中,所述信息公钥的生成包括使所述给定状态至少通过以下阶段:指定阶段、元数据构建阶段和赋值阶段。2.根据权利要求1所述的方法,还包括:从与所述搜索项匹配的未花费的输出(UXTO)中提取信息;以及从所提取的信息确定所述机器可执行智能合约的状态。3.根据前述权利要求中任一项所述的方法,其中,使用确定性有限自动机来实现所述机器可执行智能合约,并且确定所述机器可执行智能合约的状态的步骤,包括:确定所述确定性有限自动机的状态。4.根据前述权利要求中任一项所述的方法,其中,通过对所述给定状态应用可再现过程来生成加密密钥,相同的可再现过程用于生成包含在所搜索的区块链的未花费的输出(UXTO)中的信息。5.根据前述权利要求中任一项所述的方法,其中,从所述信息公钥构建所述搜索项。6.根据前述权利要求中任一项所述的方法,其中...

【专利技术属性】
技术研发人员:佩德罗
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1