用于跨计算机网络任务分配的基于累加器协议的计算机实现的系统和方法技术方案

技术编号:27820674 阅读:61 留言:0更新日期:2021-03-30 10:37
本文所述的技术可用于实现一种协议,所述协议用于从多个工作节点中无偏地选择特定工作节点执行计算任务。分布式网络中的节点可通过生成数值进行注册以加入群成员,所述数值至少部分源自参数由管理节点定义的分层数据结构,例如,累加树。所述管理节点可利用所述多个工作节点提供的数值从所述多个工作节点中无偏地选择一个工作节点来执行计算任务。本发明专利技术尤其适合但不限于用在比特币等区块链网络中。至少在某些情况下,所述管理节点无法根据所述工作节点提供的数值确定是否选择了特定工作节点来执行所述计算任务。节点来执行所述计算任务。节点来执行所述计算任务。

【技术实现步骤摘要】
【国外来华专利技术】用于跨计算机网络任务分配的基于累加器协议的计算机实现的系统和方法


[0001]本专利技术总体涉及一种用于在多个计算节点内分配计算任务的协议,所述多个计算节点在本文中称为计算机网络中的工作节点(worker node,工人节点)。作为所述协议的一部分,分布式网络中的节点可通过生成数值(quantity)注册到成员群,所述数值至少部分得自参数由管理节点(manager node,管理人节点)定义的累加树。作为所述协议的一部分,所述管理节点可利用所述多个工作节点提供的数值从所述多个工作节点中无偏选择一个工作节点来执行计算任务(例如,执行计算机程序)。本专利技术尤其适合但不限于在区块链网络中使用。至少在某些情况下,所述管理节点无法根据所述工作节点提供的数值确定是否选择了特定工作节点来执行所述计算任务。

技术介绍

[0002]区块链是一种点对点(peer

to

peer)的电子分类账(ledger),其实现为基于计算机的去中心化的分布式系统,所述系统由区块(block)组成,而区块又由交易(transaction)组成。每个交易都是一种数据结构,所述数据结构对所述区块链系统参与者之间的数字资产控制权的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起,以创建自所述区块链创建以来写入其中的所有交易的永久性的不可更改的记录。交易包括嵌入到其输入和输出中的小程序,称为脚本,这些脚本指定如何以及由谁访问所述交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
[0003]为了将交易写入所述区块链,必须对其进行“验证”。网络节点(矿工)进行工作以确保每个交易均有效,而无效交易则被网络拒绝。安装在所述节点上的软件客户端通过执行其锁定和解锁脚本对未花费的交易支出(Unspent Transaction Output,简称UTXO)执行此验证工作。如果所述锁定和解锁脚本的执行评估为真(TRUE),则所述交易有效,将所述交易写入所述区块链。因此,为了将交易写入所述区块链,所述交易必须:i)由接收所述交易的第一个节点进行验证—如果所述交易通过验证,则此节点将其中继到网络中的其他节点;ii)添加到由矿工建造的新区块中;iii)已开采(mined),即,添加到过去交易的公共分类账中。
[0004]虽然区块链技术最广为人知的是用于加密货币实现,但数字企业家已经开始探索如何利用比特币所基于的加密安全系统和可以存储在区块链上的数据来实现新系统。如果区块链可以用于不限于加密货币领域的自动任务和过程,则会非常有利。这种解决方案将能够利用区块链的优势(例如,永久的、防篡改的事件记录、分布式处理等),同时其应用将更加广泛。
[0005]在本文中,“区块链”一词涵盖所有形式的基于计算机的电子分布式分类账。这些分类账包括基于共识的区块链和交易链技术、许可和非许可的分类账、共享分类账及其变体。虽然已提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特
币分类账。尽管出于方便和说明的目的在本文中可能会提及比特币,但需要说明的是,本专利技术不限于与比特币区块链一起使用,其他的区块链实施方式和协议也属于本专利技术的范围。“用户”一词在本文中可指人员或基于处理器的资源。“比特币”一词可包括源自或基于比特币协议的任何版本或变体。

技术实现思路

[0006]因此,期望提供可计算验证的以下保证:在区块链网络等分布式网络中,在所述网络中的节点之间公平地分配计算任务(即,以无偏的方式分配计算任务)。例如,使用一个选择过程可能是有用和有利的,在所述选择过程中,在计算任务完成前,进行所述选择的节点无法基于多个工作节点提供的数值预见是否选择了特定节点执行所述计算任务。
[0007]现在已设计出这种改进的解决方案。
[0008]根据本专利技术,可提供一种用于区块链网络中的节点的计算机实现的方法。所述方法可以以密码方式强制执行。所述计算机实现的方法可以包括:检测到区块链上的多个交易满足条件,其中,所述多个交易包括与第一公钥和第二公钥相对应的第一交易,所述第一公钥对分层数据结构的第一元素集合进行编码;基于所述分层数据结构的第二元素集合生成第三公钥;至少部分基于所述第一公钥、所述第二公钥和所述第三公钥生成第二交易,其中,所述第二交易对至少部分计算任务进行编码;以及,取决于与所述第二元素集合相匹配的第一元素集合,至少通过验证所述区块链的节点是否能够访问第一私钥和第二私钥使所述节点执行所述计算任务,其中,所述第一私钥和所述第一公钥形成第一密钥对,所述第二私钥和所述第二公钥形成第二密钥对。
[0009]所述方法可用于在分布式网络中的节点之间公平地和/或大体上均匀地分配计算任务,从而产生与效率和资源分配有关的技术优势。
[0010]优选地,所述验证所述节点是否能够访问所述第一私钥和所述第二私钥包括:验证所述第一私钥和所述第二私钥是否满足模数关系。
[0011]优选地,所述第一公钥、所述第二公钥和所述第三公钥是椭圆曲线上的点。在某些情况下,所述第一公钥、所述第二公钥和所述第三公钥中的一个或多个的组合代表椭圆曲线上的点。
[0012]同时期望的是,所述方法进一步包括提供可用于确定所述分层数据结构的结构的参数集合。区块链网络的节点可使用所述可用于确定所述分层数据结构的结构的参数集合。
[0013]优选地,所述层级数据结构是累加树,例如,双线性映射累加树。
[0014]优选地,所述条件是经过阈值时间,其中,所述参数集合指示所述阈值时间。
[0015]优选地,所述条件是所述多个交易达到最大阈值数量。
[0016]优选地,所述分层数据结构是累加树;至少部分基于所述多个交易中的两个或以上交易对同一元素集合进行编码的概率共同确定所述累加树的叶节点数量、所述第一元素集合中的元素数量和所述最大阈值数量。
[0017]优选地,所述第二交易限制一个数字资产集合,其中,至少部分基于所述多个交易中的每个交易所限制的数字资产确定所述数字资产集合;如果所述计算任务被执行,则转移至少部分所述数字资产集合的控制权。
[0018]所述方法还包括基于检测到满足所述条件,广播一个保证,以生成所述第二交易,其中,所述保证基于所述多个交易中的每个交易所限制的数字资产限制第二数字资产集合。
[0019]优选地,通过所述区块链的不同节点将所述多个交易中的交易广播到所述区块链。
[0020]在某些情况下,通过所述区块链的节点将所述多个交易中的至少两个交易广播到所述区块链。换句话说,特定区块链可以将所述多个交易中的至少两个交易广播到所述区块链。
[0021]有利地,所述计算任务将在规定时间段内执行。
[0022]还期望提供一种系统,包括:处理器;存储器,包括可执行指令,其中,所述处理器执行所述可执行指令时,使得所述系统执行所要求保护的任一个方法。
[0023]还期望提供一种非暂时性计算机可读存储介质,其上存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,包括:检测到区块链上的多个交易满足条件,其中,所述多个交易包括与第一公钥和第二公钥相对应的第一交易,所述第一公钥对分层数据结构的第一元素集合进行编码;基于所述分层数据结构的第二元素集合生成第三公钥;至少部分基于所述第一公钥、所述第二公钥和所述第三公钥生成第二交易,其中,所述第二交易对至少部分计算任务进行编码;以及,取决于与所述第二元素集合相匹配的第一元素集合,至少通过验证所述区块链的节点能够访问第一私钥和第二私钥使所述节点执行所述计算任务,其中,所述第一私钥和所述第一公钥形成第一密钥对,且所述第二私钥和所述第二公钥形成第二密钥对。2.根据权利要求1所述的方法,其中,所述验证所述节点能够访问所述第一私钥和所述第二私钥包括:验证所述第一私钥和所述第二私钥满足模数关系。3.根据前述任一项权利要求所述的方法,其中,所述第一公钥、所述第二公钥和所述第三公钥是椭圆曲线上的点。4.根据前述任一项权利要求所述的方法,进一步包括提供可用于确定所述分层数据结构的结构的参数集合。5.根据前述任一项权利要求所述的方法,其中,所述分层数据结构是双线性映射累加树。6.根据前述任一项权利要求所述的方法,其中,所述条件是经过阈值时间,其中,所述参数集合指示所述阈值时间。7.根据前述任一项权利要求所述的方法,其中,所述条件是所述多个交易达到最大阈值数量。8.根据前述任一项权利要求所述的方法,其中:所述分层数据结构是累加树;以及,至少...

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

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

1