区块链系统内的基于代理的图灵完备交易集成反馈技术方案

技术编号:34103849 阅读:16 留言:0更新日期:2022-07-12 00:02
本发明专利技术提供了使用区块链来控制在计算资源上执行的进程的解决方案。在优选实施方式中,与区块链同时且并行地运行的计算资源管理基于循环的操作。计算资源持续监视区块链状态以及任何其他区块链外的输入数据或源。循环的执行受区块链状态的影响。由计算资源执行的循环的每次迭代都记录在被写入区块链的交易中。其被存储为交易的元数据中的散列。如果计算资源查找到包含与循环相关的散列的交易,则计算资源访问相关的代码部分。循环包含使计算资源能够决定采用哪个动作的条件语句。条件可以取决于区块链状态或任何其他数据源。决于区块链状态或任何其他数据源。决于区块链状态或任何其他数据源。

【技术实现步骤摘要】
区块链系统内的基于代理的图灵完备交易集成反馈
[0001]本申请是中国申请号为201780008967.6(对应于PCT国际申请号PCT/IB2017/050821)、申请日为2017年2月14日、专利技术名称为“区块链系统内的基于代理的图灵完备交易集成反馈”的专利技术专利申请的分案申请。


[0002]本专利技术总体上涉及基于共识的电子账本,具体地涉及区块链实施方案和技术。本专利技术特别适合但不限于与比特币区块链(Bitcoin blockchain)一起使用以及用于诸如设备/系统控制、进程控制、分布式计算及存储的应用。

技术介绍

[0003]在本文档中,使用术语“区块链(blockchain)”来包括所有形式的基于共识的电子的、基于计算机的分布式账本(distributed ledgers)。这些包括但不限于区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本(Bitcoin ledger)。虽然出于方便和说明的目的,本文中可能提到的是比特币(Bitcoin),但应当指出的是,本专利技术不限于与比特币区块链一起使用,并且其他的区块链实现和协议也落入本专利技术的范围内。
[0004]区块链是基于共识的电子账本,该账本被实现为由区块(block)构成的基于计算机的去中心化的分布式系统,而该区块又由交易(transaction)构成。每个交易是对区块链系统中的参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块均包含前一区块的散列(hash),使得这些区块被链接在一起,以构建对自区块链诞生之始就已被写入区块链的所有交易的永久性不可更改的记录。交易包含嵌入其输入和输出中的被称为脚本(script)的小程序,这些小程序指定了如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本使用基于堆栈的脚本语言来写入。
[0005]为了将交易写入区块链,必须对交易进行“验证”。网络节点(矿工miners)执行工作以通过从网络中拒绝无效交易来确保每个交易都是有效的。安装在节点(node)上的软件客户端(Software client)通过执行其锁定和解锁脚本来对未花费的交易(UTXO)执行此验证工作(validation work)。如果执行锁定及解锁脚本的计算结果为正确的(TRUE),则交易是有效的并且交易被写入区块链。因此,为了将交易写入区块链,必须i)由接收交易的第一节点验证——如果交易被验证,则节点将该交易中继(relay)至网络中的其他节点;并且ii)添加至由矿工构建的新区块;并且iii)挖矿,即添加至过去交易的公共账本。
[0006]尽管区块链技术最广为人知的是使用加密货币(cryptocurrency)实施方案,但是数字企业家已经开始探索使用比特币所基于的加密安全系统以及能够存储在区块链上的数据来实现新系统。这些系统包括但不限于:
[0007]·
存储元数据;
[0008]·
实施数字令牌;
[0009]·
建立使用数字签名签署的合同。
[0010]如果区块链可以用于不限于加密货币领域的自动化任务和进程,则这将是非常有利的。这些解决方案将能够利用区块链的好处(例如,对事件的永久性防篡改记录、分布式处理等),同时在其应用中是更加通用的。
[0011]区块链社区当前感兴趣的一个领域是图灵完备性(Turing Completeness),特别是如何促使图灵完备行为成为区块链技术,这些区块链技术已经出于安全原因而被设计成限制功能。
[0012]比特币脚本语言是否是图灵完备的是有争议的,这是因为比特币脚本语言本身不支持复杂的流控制功能,例如发生循环(loop)。这种限制的一个优点是程序具有可预测的执行时间。将比特币脚本限制为线性或树状决策任务的另一个重要优点在于:这避免了无限循环,这可以用作发起诸如拒绝服务(denial of service,简称“DoS”或“DDoS”)攻击等漏洞利用的手段。由于这种限制,比特币脚本通常局限于用于线性任务,而不是用于更复杂的应用,比如自动化任务的控制、设备管理等。
[0013]以太坊(Ethereum)区块链平台通过结合被称为Solidity的“内置”图灵完备语言来解决该问题。这种语言是以太坊平台的原生语言,使得用Solidity编写的脚本可以包括控制流机制,比如循环。然而,以太坊已经遭受了多次攻击和漏洞利用。
[0014]由于上述安全问题且由于比特币使用的脚本语言的广泛使用和普及,因而区块链社区的重要部分仍然希望保留与区块链技术相关的受限脚本语言的使用。

技术实现思路

[0015]因此,期望提供一种解决方案,其有助于图灵完备功能,比如与区块链脚本集成或结合的循环机制和其他复杂控制结构,同时避免潜在的安全缺陷,比如无限循环的破坏性影响。这样的解决方案将提供许多好处,包括:
[0016]·
实现复杂区块链相关交易的自动化;
[0017]·
控制记录在区块链上的元数据流;
[0018]·
扩展不依赖于图灵完备语言或有目的地结合图灵完备语言的区块链平台的功能和应用。
[0019]现在已经设计出这种改进的解决方案。本专利技术提供了一种解决方案,其包括与并行计算资源耦合的区块链的新颖组合,并行计算资源使得在典型的区块链脚本之外能够仿真、模拟和/或结合循环和其他图灵完备功能。这又方便了用于自动化任务的许多应用,例如,自动化任务与分布式数据存储、分布式计算和无人机控制,或任何IoT(物联网)设备相关。这些应用可以包括将区块链用于元数据存储、管理数字令牌和建立合同。
[0020]因此,根据本专利技术,提供了如所附权利要求中限定的解决方案。根据本专利技术,可以提供一种(处理)控制方法和相应的系统。本专利技术可以被称为区块链实现的控制方法/系统。其能够控制自动化任务或进程。
[0021]本专利技术可以被设置成使用区块链来仿真/模拟图灵完备性。附加地或替代性地,本专利技术可以使涉及图灵完备控制机制的应用能够在区块链平台上被执行。
[0022]附加地或替代性地,本专利技术可以被描述为被设置成使用区块链和/或一个或多个区块链交易来控制在区块外计算资源上执行进程的方法或系统。因此,本专利技术包括一种装置,在该装置中,在功能上和结构上彼此不同的独立的计算部件设置成相互作用以提供新
的技术结果。不同计算系统(计算资源和区块链)的交互产生了功能强大的控制解决方案。
[0023]从计算资源的角度来看,本专利技术提供了对程序的执行的永久性防篡改记录的优点。从区块链的角度来看,本专利技术提供了改进的区块链实施方案,因为其使得图灵完备行为能够通过使用区块链来至少部分地模拟,这又使得能够部署更多功能复杂的基于区块链的应用。这全部都是在保持区块链交易使用受限脚本语言的同时实现的。脚本语言可以在其设计或实施上是受限制(受约束)的具体的限制在于:脚本语言的设计或实施防止或至少本身不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种使用区块链来控制在计算资源上执行的进程的方法,所述方法包括以下步骤:在所述计算资源上执行循环;以及使用所述区块链的状态来影响所述循环的执行。2.根据权利要求1所述的方法,其中,与所述循环的至少一次迭代有关的信息存储在所述区块链上的交易中;优选地,其中所述信息存储为所述交易中的元数据。3.根据权利要求1或2所述的方法,还包括以下步骤:生成与所述循环有关的代码的加密散列,并且优选地,将所述加密散列存储在所述区块链上的交易中。4.根据任一前述权利要求所述的方法,其中,所述计算资源设置成监视用于交易的所述区块链的状态,其中,所述交易包括与所述循环相关的代码的加密散列。5.根据任一前述权利要求所述的方法,所述方法还包括以下步骤:对于所述循环的每次迭代,评估条件并基于评估结果执行至少一个动作,其中,所述至少一个动作包括:导致至少一个交易被写入所述区块链;和/或导致执行区块链外的动作。6.根据权利要求5所述的方法,其中,所述条件涉及:由所述计算资源接收、检测或生成的数据;或者所述区块链的状态。7.根据任一前述权利要求所述的方法,其中,所述计算资源为:i)与所述区块链分离的区块链外资源;和/或ii)设置成实现图灵机的控制堆栈;和/或iii)设置成将所述区块链用作图灵机的不可擦除的带;和/或iv)设置成监视:所述区块链的所述状态;由所述计算资源生成或接收的值;和/或从所述区块链外提供的数据或信号源。8.根据任一前述权利要求所述的方法,还包括下述步骤:i)将所述区块链用作存储部件,所述存储部件用于数据、指令或者指向数据和/或指令的指针;以及ii)将计算资源用作图灵完备进程的控制流管理部件,所述计算资源设置成执行循环机制。9.根据任一前述权利要求所述的方法,还包括下述步骤:如果所述计算资源查找到所述区块链内的交易中的一部分代码的预定散列,则在指定迭代处重新开始所述循环;优选地,其中,使用在所述交易内提供的或与所述交易相关联的元数据来指定与迭代有关的信息。10.根据任一前述权利要求所述的方法,其中,用于所述循环的代码是:硬编码到所述计算资源中或所述计算资源...

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

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

1