用于通用计算的区块链制造技术

技术编号:23164787 阅读:24 留言:0更新日期:2020-01-21 22:36
可以提供一种计算机实现的方法。所述方法可以使用区块链网络,例如比特币网络,来实现。所述计算机实现的方法,包括:i)监视计算任务分配系统,以响应于请求者计算机系统做出的请求,检测对提议者计算机系统提供的提议者字符串的挑战,所述请求指定计算任务以及与所述请求相关联的第一数字资产,所述提议者字符串由所述计算任务的解决方案的散列来表示,所述提议者字符串指定在与所述提议者字符串相关联的提议者交易的输入中引用的第二数字资产;和ii)作为检测到所述挑战的结果,至少:a)通过至少从提供给第一区块链网络的解决方案集合中选择一个解决方案来使用所述第一区块链网络解决所述挑战,所述解决方案集合至少包括所述提议者字符串;和b)至少部分基于所述解决方案,将来自所述第一数字资产和所述第二数字资产的数字资产分配给所述计算任务分配系统的一方或多方。

Blockchain for general computing

【技术实现步骤摘要】
【国外来华专利技术】用于通用计算的区块链
本专利技术主要涉及分布式系统,具体涉及用于提高分布式系统中交易的可靠性的方法和系统。本专利技术特别适合于,但不限于,用于提高计算任务分配系统中的计算可靠性。
技术介绍
在本文中,使用术语“区块链(Blockchain)”来包括所有形式的电子的、基于计算机的分布式分类账(DistributedLedgers)。这些包括基于共识的区块链和交易链技术、许可及未许可的分类账、共享分类账及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账(Bitcoinledger)。虽然出于方便和说明的目的,“比特币”在本文中可称为本专利技术中描述的技术的有用应用,但是比特币仅是本专利技术中所述技术可以应用到的许多应用中的一个。但是,应该注意的是,本专利技术不限于与比特币区块链一起使用;可选的区块链实现和协议,包括非商业应用,也落入本专利技术的范围内。例如,本专利技术中描述的技术将为使用区块链实现和其他加密货币提供优势,所述加密货币在区块链的验证和/或加密货币交易的验证方面具有与比特币类似的限制,无论是否发生加密货币的交换。区块链是基于共识的电子分类帐,其被实现为基于计算机的、去中心化的分布式系统,该系统由区块组成,区块又可以由交易组成,并且在一个实施例中,该系统包括附加信息。在一些示例中,“区块链交易”是指对包括数据和条件集合的字段值的结构化集合进行编码的输入消息,满足条件集合是将字段集写入区块链数据结构的先决条件。区块链也可称为点对点(peer-to-peer)电子分类帐,因为没有用于管理分类帐的集中式系统,并且可以使用分布式系统的节点之间的共识协议来验证分类帐的交易。就比特币而言,每个交易是对区块链系统中参与者之间的数字资产的控制转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包含前一区块的散列(hash),如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有交易的记录,这些交易自区块链诞生之始写入区块链。交易包含小程序,这些小程序称为脚本,嵌入至所述交易的输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。应该注意的是,基于堆栈的脚本语言可以指支持各种基于堆栈或面向堆栈的执行模型和操作的编程语言,但是在某些情况下并不仅限于严格的后进先出(Last-in-First-out,简称LIFO)方式的操作。例如,基于堆栈的脚本语言可以支持将堆栈中的第n个项目复制或移动到顶部的操作(例如,在比特币中分别为OP_PICK和OP_ROLL)。可以将使用基于堆栈的脚本语言编写的脚本压入逻辑堆栈,该逻辑堆栈可以使用任何适当的数据结构(例如向量、列表或堆栈)实现。如本文所使用的,“数字资产”可以是由区块链管理的资源的单位。在一些实施例中,例如使用比特币,资源是未代币化的,因此,例如,在区块链中标识的资源没有标识符,而是通过生成记录在区块链的有效交易的能力来证明对资源的控制。但是请注意,一些区块链实现可能使用代币化资源,例如,可以使用记录在区块链上的信息来明确识别资源。尽管在一些实施例中,数字资产可以用作加密货币,但是可以预期,在实施例中,数字资产可以附加地或替代地在其他环境中使用。注意,本专利技术虽然适用于对数字资产的控制,但是本质上是技术性的,并且可以在利用区块链数据结构而不一定涉及数字资产转移的其他环境中使用。本专利技术中使用的“数字资产”可以指一个或多个数字资产。例如,一个交易可能有多个输入,每个输入中都可以代表不同的数字资产。在此示例中,控制权被转移的数字资产可以是多个数字资产的集合,该集合本身是数字资产。类似地,交易可以细分和/或组合所述多个输入以产生一个或多个输出,使得例如输入的数量和输出的数量可能不同。为了将交易写入区块链,必须对该交易进行“验证”。有效性可以由节点基于大多数具有区块生成能力的节点使用的公共规则集来确定。例如,在比特币协议中,一些网络节点充当“矿工”,执行工作以确保每个交易有效,无效交易被网络拒绝。在一些示例中,“矿工”是计算系统,所述系统执行工作以确保每个交易有效,无效交易被网络拒绝。例如,安装在节点上的软件客户端通过执行相关联的锁定和解锁脚本,在引用未兑现的交易输出(UnredeemedTransactionOutputs,简称UTXO)的交易上执行此验证工作。如果锁定和解锁脚本的执行评估为真(TRUE),并且如果满足某些其他条件,则该交易有效,可将该交易写入区块链。因此,为了将交易写入区块链,该交易:i)由接收交易的节点进行验证(即,如果交易得到验证,则该节点将该交易中继到网络中的其他节点);ii)添加到矿工建造的新区块中;iii)挖掘(即添加到过去交易的公共分类帐中)。近年来,数字企业家已经开始探索使用比特币所基于的加密安全系统和可以存储在区块链上的数据,以实现新系统。如果区块链能够用于不局限于加密货币领域的自动化任务和过程,那么将是非常有利的。这类解决方案能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在其应用中更具通用性。区块链在很大程度上是不可改变的,并且通常可以是匿名的。区块链技术的不可改变且很大程度上匿名的特性在防范用户恶意行为时带来了许多技术挑战。例如,因为构建在包含交易的区块上的多个区块导致交易实际上不可逆,所以退回通常不可用,并且需要新的技术系统来保持交易的完整性。由于区块链技术的去中心化、不信任性质,这些挑战也很困难。也就是说,没有中央方来确保交易的完整性,而是通过技术手段来实现交易的完整性。因此,区块链技术需要提高交易的可靠性。计算任务分配系统中可能存在可靠性挑战。计算任务分配系统是允许链下(Off-Chain)执行昂贵计算的服务。这种计算任务分配系统允许网络中的节点将算法的执行外包给另一个远程节点。然后将算法的结果报告回外包算法操作的节点。接收结果的节点可能不知道结果是否可靠。为了让接收节点确定答案是否正确,接收节点通常需要自己执行算法,这将违背外包的目的。因此,区块链技术需要提高计算任务分配系统中结果的可靠性。
技术实现思路
本专利技术描述了一个或多个基于区块链的计算机程序的技术方面。基于区块链的计算机程序是记录在区块链交易中的机器可读和可执行程序。基于区块链的计算机程序包括可以处理输入以产生结果的规则,然后可以根据这些结果执行动作。如果锁定脚本可以访问解锁和先前的交易,那么可以利用区块链来启用高度灵活和复杂的基于区块链的计算机程序。当前研究的一个领域是使用基于区块链的计算机程序来执行“智能合约”。与用自然语言编写的传统合约不同,智能合约是设计用来自动执行机器可读合约或协议条款的计算机程序。与区块链利益相关的另一领域是使用“代币(Tokens)”(或“彩色币(ColouredCoins)”)通过区块链来表示和转移现实世界的实体。潜在的敏感或机密项目可以由没有明显意义或价值的代币来表示。因此,代币充当允许从区块链引用现实世界的项目的标识符。因此,希望提供在这些方面的一个或多个方面改进区块链技术的方法和系统本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:/n监视计算任务分配系统,以响应于请求者计算机系统做出的请求,检测对提议者计算机系统提供的提议者字符串的挑战;所述请求指定计算任务以及与所述请求相关联的第一数字资产;所述提议者字符串由所述计算任务的解决方案的散列来表示;所述提议者字符串指定在与所述提议者字符串相关联的提议者交易的输入中引用的第二数字资产;和/n作为检测到所述挑战的结果,至少:/n通过至少从提供给第一区块链网络的解决方案集合中选择一个解决方案来使用所述第一区块链网络解决所述挑战,所述解决方案集合至少包括所述提议者字符串;和/n至少部分基于所述解决方案,将来自所述第一数字资产和所述第二数字资产的数字资产分配给所述计算任务分配系统的一方或多方。/n

【技术特征摘要】
【国外来华专利技术】20170609 GB 1709188.51.一种计算机实现的方法,包括:
监视计算任务分配系统,以响应于请求者计算机系统做出的请求,检测对提议者计算机系统提供的提议者字符串的挑战;所述请求指定计算任务以及与所述请求相关联的第一数字资产;所述提议者字符串由所述计算任务的解决方案的散列来表示;所述提议者字符串指定在与所述提议者字符串相关联的提议者交易的输入中引用的第二数字资产;和
作为检测到所述挑战的结果,至少:
通过至少从提供给第一区块链网络的解决方案集合中选择一个解决方案来使用所述第一区块链网络解决所述挑战,所述解决方案集合至少包括所述提议者字符串;和
至少部分基于所述解决方案,将来自所述第一数字资产和所述第二数字资产的数字资产分配给所述计算任务分配系统的一方或多方。


2.根据权利要求1所述的计算机实现的方法,其中,至少部分基于与所述提议者字符串相关联的时间戳,从所述解决方案集合中选择所述提议者字符串。


3.根据权利要求1或2所述的计算机实现的方法,其中,所述挑战向所述计算任务指定挑战者字符串的散列,并且所述解决方案集合包括所述挑战者字符串。


4.根据权利要求1至3中任一项所述的计算机实现的方法,其中,所述计算任务分配系统实现为与工作量证明区块链网络相关联的网络服务。


5.根据权利要求1至3中任一项所述的计算机实现的方法,其中,所述计算任务分配系统在工作量证明区块链网络上实现。


6.根据权利要求1至5中任一项所述的计算机实现的方法,其中,所述第一区块链网络是权益证明区块链网络。


7.根据权利要求1至6中任一项所述的计算机实现的方法,其中,所述提议者字符串表明对于所述计算任务没有解决方案。


8.根据权利要求1至7中任一项所述的计算机实现的方法,其中,所述挑战表明对于所述计算任务没有解决方案。


9.根据权利要求1至8中任一项所述的计算机实现的方法,其中,所述数字资产包括由所述提议者向所述第一区块链网络提...

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

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

1