跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法技术方案

技术编号:25354035 阅读:20 留言:0更新日期:2020-08-21 17:11
本发明专利技术涉及通过无交易员的阈值签名群组对计算任务的解决方案(S)的安全确定。提供对资源或奖励的访问以换取解决方案。所述方法使得所述群组中的个人能够以无信任或无交易员的方式一起工作。为此,个人生成他们自己的密钥对,并使用他们的公钥通过群组建立初始共享公钥,他们都可以并行使用初始共享公钥来查找任务的解决方案。他们自己的私钥仍然是秘密,因此,合作是无信任的并且有效地操作,因为使用在查找和证实解决方案时使用的初始共享公钥来创建经过证实的共享公钥。可通过经过证实的共享公钥来保护资源或奖励。因为每个参与者的私钥都用于确定导致该解决方案的初始共享公钥,所以参与者必须合作以解锁资源或奖励,这是因为对应的共享私钥只能通过所有参与者或者预先同意的阈值数量的参与者来生成。通过使用初始共享公钥并在找到解决方案之后通过群组计算经过证实的共享公钥,可以实现效率。本发明专利技术通过在应用Shamir秘密共享方案时使用椭圆曲线密码术的同态性质,使得任务成为无信任的。本发明专利技术概念在于群组可以合作的安全、无信任和有效的方式。本发明专利技术可以无需知晓任务。

【技术实现步骤摘要】
【国外来华专利技术】跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法
本说明书一般涉及适合于在计算机处理器(例如区块链网络的节点)或这种处理器的群组中实现的计算机实现的方法和系统。描述了在池或群组中进行计算任务,或在池中分配任务以提高计算的安全性和效率的改进方法。本专利技术特别适合于并行工作以确定任务解决方案的参与者之间的无信任合作。
技术介绍
在本文献中,我们使用术语“区块链”来包括所有形式的电子、基于计算机的分布式账本。它们包括基于共识的区块链和交易链技术、许可和非许可的账本、共享账本及其变体。虽然也提出并开发了其他区块链实施方式,但是区块链技术最广为人知的应用是比特币账本。虽然本文中出于方便和说明的目的可以引用比特币,但是应当注意,本专利技术不限于与比特币区块链一起使用,并且替代性的区块链实施方式和协议也落入本专利技术的范围内。术语“用户”在本文中可以指人或基于处理器的资源。区块链是一种点对点的电子账本,其实现为基于计算机的分散式、分布式系统,该系统由区块组成,而区块块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列,因此这些区块变为链接在一起,以创建自其创建以来写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入在其输入和输出中的称为脚本的小程序,这些程序指定如何以及由谁访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。为了将交易写入区块链,该交易必须i)由接收交易的第一节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)加入矿工建造的新区块;iii)被挖掘,即加入过去交易的公共账本。支持区块链在计算上是昂贵的。举例来说,当前挖掘区块的困难在于,单独工作的各个矿工需要专门的专用硬件和资源。计算任务和关联成本通常在统称为“矿池”的多个个人或组织之间分配和共享。以区块链采矿池为例,在向区块链添加新区块时确定“工作量证明”的任务由个人或公司管理,以下称为矿池“操作员”或“交易员”,其控制矿池服务器。交易员代表矿池行事,并经由特定地址接收区块奖励,然后基于他们提交的份额(即贡献)与各个矿工共享奖励。不幸的是,交易员的集中控制使得矿池容易受到欺骗,并且可以解释为单点故障,因为服务器可能会崩溃、需要维护或受到攻击。点对点采矿池消除了对交易商的需求,从而降低了性能。另一个已知的在计算上昂贵的任务的示例是确定区块链上交易的特定地址,通常称为“虚名地址”,该地址可用于增强和/或改进安全措施。确定虚名地址需要椭圆曲线乘法和散列两者。虽然个人可以进行计算以确定虚名地址,但是确定更长虚名地址模式的任务可以分布跨越矿池。不幸的是,分配确定虚名地址的任务充满与腐败相关联的风险。在确定虚名地址时,其私钥和公钥是已知的,从而使得系统不安全。在使用已知技术的矿池中的合作者之间的通信中使用已知安全技术将降低群组的性能能力。此外,系统仍然容易受到腐败和/或搭便车的影响。
技术实现思路
总体而言,本专利技术在于提供一种用于安全确定计算任务的解决方案(S)的新颖方法。该任务需要确定答案。提供对资源或奖励的访问以换取解决方案。资源或奖励由公钥保护,公钥可通过使用对应的私钥来解锁或释放。本专利技术允许通过集合资源或具有多个参与者的群组来处理或解决任务,群组可以是无交易员的阈值签名群组。该方法使得所述群组中的个人能够以无信任或无交易员的方式一起工作。为此,个人生成他们自己的密钥对,并使用他们的公钥通过群组建立初始共享公钥,他们都可以并行使用初始共享公钥来查找任务的解决方案。他们自己的私钥仍然是秘密,并且因此,合作是无信任的并且有效地操作,因为使用在查找和证实解决方案时使用的初始共享公钥来创建经过证实的共享公钥。可通过经过证实的共享公钥来保护资源或奖励。因为每个参与者的私钥都用于确定导致该解决方案的初始共享公钥,所以参与者必须合作以解锁资源或奖励,这是因为对应的共享私钥(或对应的签名)只能通过所有参与者或者预先同意的阈值数量的参与者来生成。通过使用初始共享公钥并在找到解决方案之后通过群组计算不同的共享公钥(经过证实的共享公钥),可以实现高效。当应用Shamir秘密共享方案时,本专利技术通过使用椭圆曲线的同态特性使得任务成为无信任。本专利技术概念在于群组可以合作的方式是安全、无信任和有效。本专利技术可以不需要知道任务。因此,根据本专利技术,提供如所附权利要求所限定的方法和系统。因此,期望提供一种计算机实现的方法,用于通过具有多个参与者的集合资源或群组来安全地确定计算任务的解决方案,所述群组以无信任或无交易员的系统或方式进行操作,所述方法包括:建立或加入具有n个参与者的群组,其中n≥2;生成初始私钥份额和初始公钥份额,并通过所述群组建立初始共享公钥;进行所述任务并使用所述群组的中间私钥和所述共享公钥来搜索确定所述任务的答案的所述解决方案;查找并与所述群组共享所述解决方案,或从另一个参与者接收所述解决方案,从而使得所述群组能够证实所述任务的解决方案;使用提供所述解决方案的所述中间私钥和所述初始共享公钥,通过所述群组计算经过证实的共享公钥;通过将提供所述解决方案的所述中间私钥和所述初始私钥相加,构造经过证实的秘密密钥份额;与所有其他参与者或阈值数量的参与者合作,使用所述经过证实的秘密密钥份额为所述经过证实的共享公钥构造经过证实的共享秘密密钥,其中,所述经过证实的共享秘密密钥用作使得所述群组能够共同操作来解锁或访问过程的阶段或资源的代码。应当注意,是在找到所述解决方案之后计算所述经过证实的共享公钥。所述方法还可包括:从客户端或参与者接收任务以及根据客户端的秘密密钥导出的客户端公钥,其中,所述客户端公钥用于确定所述任务的解决方案。通过这种方式,可以对任务进行加密,使得只有客户端或参与者才能确定解决方案。可以访问过程阶段或可以作为财务奖励的资源或奖励通过经过证实的共享公钥锁定或保护,并且经过证实的共享秘密密钥可以用作使得所述群组能够共同操作来解锁或访问过程的阶段或资源的代码。由n个参与者组成的群组共同操作需要群组中的所有参与者进行合作或预先确定的阈值数量(m)的参与者进行合作,其中m≤n。进行所述任务并搜索所述解决方案可包括:使用所述中间私钥创建中间公钥,将所述中间公钥添加到所述初始共享公钥,以创建临时公钥,所述临时公钥经过处理以确定所述中间私钥是否为确定所寻找答案的解决方案;以及如果所述答案未被确定,则增加所述中间私钥的值并重复该过程,直到确定所述解决方案,并证明所述答案。使用中间公钥(仅用于确定解决方案)使得参与者能够并行工作,而无需在每个步骤中生成新的共享公钥。相反,如果所有参与者都知道并证实解决方案,则创建经过证实的共享公钥。初始共享公钥和经过证实的共享公钥可以生成一次。所述任务需要至少一个群组成员来查找解决方案,所述解决方案在被处理时产生具有指定模式的加密货币地址。根据本文示例,加密货币地址可以是比特币地址。...

【技术保护点】
1.一种计算机实现的方法,用于通过具有多个参与者(P)的集合资源或群组来安全地确定计算任务的解决方案(S),所述群组以无信任或无交易员的系统或方式进行操作,所述方法包括:/n建立或加入具有n个参与者(P

【技术特征摘要】
【国外来华专利技术】20171213 GB 1720753.11.一种计算机实现的方法,用于通过具有多个参与者(P)的集合资源或群组来安全地确定计算任务的解决方案(S),所述群组以无信任或无交易员的系统或方式进行操作,所述方法包括:
建立或加入具有n个参与者(P1…n)的群组(P),其中n≥2;
生成初始私钥份额(sn0)和初始公钥份额(pk1),并通过所述群组建立初始共享公钥(pkO);
进行所述任务并使用所述群组的中间私钥(rn0)和所述共享公钥(pkO)来搜索确定所述任务的答案(Ac)的所述解决方案(S);
查找并与所述群组共享所述解决方案(S),或从另一个参与者接收所述解决方案(S),从而使得所述群组能够证实所述任务的解决方案;
使用提供所述解决方案(S)的所述中间私钥(rn0)和所述初始共享公钥(pk0),通过所述群组计算经过证实的共享公钥(pkv);
通过将提供所述解决方案(S)的所述中间私钥(rn0)和所述初始私钥(son)相加,构造经过证实的秘密密钥份额(sv0);
与所有其他参与者或阈值数量的参与者合作,使用经过证实的秘密密钥份额(sv0)为所述经过证实的共享公钥(pkv)构造经过证实的共享秘密密钥(skv),其中,所述经过证实的共享秘密密钥(skv)用作使得所述群组能够共同操作来解锁或访问过程的阶段或资源的代码。


2.根据权利要求1所述的计算机实现的方法,还包括:
从客户端(C)或参与者(P)接收所述任务以及根据客户端的秘密密钥(skc)导出的客户端公钥(pkc),其中,所述客户端公钥用于确定所述任务的解决方案。


3.根据权利要求1或2所述的计算机实现的方法,其中,进行所述任务并搜索所述解决方案(S)包括:
使用所述中间私钥(rn0)创建中间公钥(Rn0),将所述中间公钥添加到所述初始共享公钥(pkO),以创建临时公钥(pknR),所述临时公钥经过处理以确定所述中间私钥(rn0)是否为确定所寻找答案(Ac)的解决方案;以及
如果所述答案(Ac)未被确定,则增加所述中间私钥(rn0)的值并重复该过程,直到确定所述解决方案(S),并证明所述答案(Ac)。


4.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述初始共享公钥(pk0)和所述经过证实的共享公钥(pkv)被生成一次。


5.根据前述权利要求中任一项所述的方法,其中,所述任务需要至少一个群组成员来查找解决方案,所述解决方案在被处理时产生具有指定模式的加密货币地址。


6.根据前述权利要求中任一项所述的方法,其中,所述任务需要确定设置模式(A),且所述设置模式源自第三方或另一个参与者,并且其中,所述第三方生成第三方秘密密钥(skc)并向所述群组提供对应的第三方公钥(pkc),其中pkC=skC×G,G是椭圆曲线生成器,以及接收所述第三方公钥(pkc),并使用所述第三方公钥(pkc)、通过递增变量(i)来确定所述设置模式,使得在确定所述设置模式后pk=pkc+i×G,向所述第三方发送能够实现所述解决方案的确定的所述递增变量(i),从而使得所述第三方能够使用他们的随机秘密密钥(skc)来证实所述解决方案:
sk=skC+i
其中,pk=sk×G是由于椭圆曲线点乘法的同态性质。

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

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

1