区块链上实现分布式密钥生成的方法、系统和共识节点技术方案

技术编号:33892400 阅读:60 留言:0更新日期:2022-06-22 17:27
一种区块链上实现分布式密钥生成的方法、系统和共识节点,包括:每一共识节点生成n个秘密份额,自身保留一份,并将其中n

【技术实现步骤摘要】
区块链上实现分布式密钥生成的方法、系统和共识节点


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链上实现分布式密钥生成的方法、系统和共识节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。

技术实现思路

[0003]本说明书的目的在于提供一种区块链上实现分布式密钥生成的方法、系统和共识节点,包括:
[0004]一种区块链上实现分布式密钥生成的方法,包括:
[0005]每一共识节点生成n个秘密份额,自身保留一份,并将其中n

1个秘密份额分别加密发送至其它n

1个节点;
[0006]每一共识节点生成自身秘密份额对应的公共验证参数并通过链上合约广播;所述合约将请求广播的节点的编号加入第一节点集合;
[0007]每一共识节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合;
[0008]每一共识节点各自基于验证参数及第二节点集合计算公钥份额,并基于本地的秘密份额和第二节点集合计算自身对应的私钥份额
[0009]一种区块链上实现分布式密钥生成的方法,包括:
[0010]第一节点接收其它节点生成并加密的秘密份额,并通过链上合约广播接收对应的公共验证参数;所述合约将请求广播的节点的编号加入第一节点集合;
[0011]第一节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合;
[0012]第一节点各自基于验证参数及第二节点集合计算公钥份额,并基于本地的秘密份额和第二节点集合计算自身对应的私钥份额。
[0013]一种区块链系统,包括若干个共识节点,其中:
[0014]每一共识节点生成n个秘密份额,自身保留一份,并将其中n

1个秘密份额分别加密发送至其它n

1个节点;
[0015]每一共识节点生成自身秘密份额对应的公共验证参数并通过链上合约广播;所述合约将请求广播的节点的编号加入第一节点集合;
[0016]每一共识节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合;
[0017]每一共识节点各自基于验证参数及第二节点集合计算公钥份额,并基于本地的秘密份额和第二节点集合计算自身对应的私钥份额。
[0018]一种区块链系统中的第一共识节点,包括:
[0019]第一节点接收其它节点生成并加密的秘密份额,并通过链上合约广播接收对应的公共验证参数;所述合约将请求广播的节点的编号加入第一节点集合;
[0020]第一节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合;
[0021]第一共识节点各自基于验证参数及第二节点集合计算公钥份额,并基于本地的秘密份额和第二节点集合计算自身对应的私钥份额。
[0022]本说明书提供的上述方案,在共识机制保障区块链网络整体一致性和同步的基础上,结合区块链智能合约实现分布式密钥生成,保障了分布式密钥密钥的生成一方面是由各个参与方通过协作来生成的,另一方面生成的结果是一致和可靠的,从而摆脱了原有的区块链之外实现分布式密钥生成对网络同步的强依赖,并解决了该情况下生成结果的不可靠性问题。
附图说明
[0023]图1是一实施例中实用拜占庭容错算法常规阶段的示意图;
[0024]图2是一实施例中实用拜占庭容错算法视图切换阶段的示意图;
[0025]图3是一实施例中共识节点都没有宕机情况下实用拜占庭容错算法常规阶段的示意图;
[0026]图4是本说明书一实施例中区块链上产生随机数种子的流程图;
[0027]图5是本说明书一实施例中区块头结构的示意图;
[0028]图6是本说明书一实施例中区块链上产生随机数种子的流程图;
[0029]图7是本说明书一实施例中区块链上实现分布式密钥生成的方法;
[0030]图8是本说明书一实施例中区块链上实现分布式密钥生成的方法。
具体实施方式
[0031]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0032]区块链1.0时代通常是指在2009年到2014年之间,区块链应用发展阶段,它们主要致力于解决货币和支付手段的去中心化问题。从2014年开始,开发者们越来越注重于解决上述方案在技术和扩展性方面的不足。2013年底,Vitalik Buterin将智能合约引入区块
链,打开了区块链在货币领域以外的应用,从而开启了区块链2.0时代。
[0033]区块链系统中,不同参与方通过部署的节点(Node)可以建立一个分布式的区块链网络。利用链式区块结构构造的去中心化(或称为多中心化)的分布式账本,保存于分布式的区块链网络中的每个节点(或大多节点上,如共识节点)上。这样的区块链系统需要解决去中心化(或多中心化)的多个节点上各自的账本数据的一致性和正确性的问题。每个节点(或多个节点)上都运行着区块链程序,在一定容错需求的设计下,通过共识(consensus)机制保证所有忠诚节点具有相同的交易,从而保证所有忠诚节点对相同交易的执行结果一致,并将交易及执行结果打包生成区块。
[0034]智能合约是一种基于规定触发规则的,可自动执行的计算机合约,也可以看作是传统合约的数字版本。智能合约这一概念最早由跨领域法律学者、密码学研究工作者尼克
·
萨博(Nick Szabo)在1994年提出。这项技术曾一度因为缺乏可编程数字系统和相关技术而没有被用于实际产业中,直到区块链技术的出现为其提供了可靠的执行环境。由于区块链技术采用块链式账本,产生的数据不可篡改或者删除,且整个账本将不断新增账本数据,从而保证了历史数据的可追溯;同时,去中心化的运行机制避免了中心化因素的影响。基于区块链本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链上实现分布式密钥生成的方法,包括:每一共识节点生成n个秘密份额,自身保留一份,并将其中n

1个秘密份额分别加密发送至其它n

1个节点;每一共识节点生成自身秘密份额对应的公共验证参数并通过链上合约广播;所述合约将请求广播的节点的编号加入第一节点集合;每一共识节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合;每一共识节点各自基于验证参数及第二节点集合计算公钥份额,并基于本地的秘密份额和第二节点集合计算自身对应的私钥份额。2.如权利要求1所述的方法,所述每一共识节点将生成的秘密份额加密发送至其它节点,包括生成该秘密份额的共识节点对生成的所述秘密份额签名并加密发送至其它节点。3.如权利要求2所述的方法,所述投诉交易中还包括生成者生成的明文的秘密份额和生成者对该明文秘密份额的签名。4.如权利要求3所述的方法,所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合之前,还包括:所述合约验证所述投诉交易中秘密份额的签名;所述合约验证所述秘密份额的签名正确后,还对所述秘密份额和对应的公共验证参数进行验证。5.如权利要求1所述的方法,所述每一共识节点将生成的秘密份额加密发送至其它节点,包括生成该秘密份额的共识节点将生成的秘密份额连同表示分布式密钥生成轮次的编号一并签名并加密后发送至其它节点。6.如权利要求5所述的方法,所述投诉交易中还包括生成者生成的明文的秘密份额、所述轮次以及生成者对该明文秘密份额和轮次的签名。7.如权利要求6所述的方法,所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点集合之前,还包括:所述合约验证所述投诉交易中秘密份额和轮次的签名;所述合约验证所述秘密份额和轮次的签名正确后,还对所述秘密份额和对应的公共验证参数进行验证。8.如权利要求5所述的方法,每一共识节点通过链上合约所广播的公共验证参数还伴随有所述轮次。9.如权利要求4或7所述的方法,所述合约对所述秘密份额和对应的公共验证参数进行验证,确认验证失败后,根据所述投诉交易中的节点编号和第一节点集合确定第二节点集合。10.如权利要求5

8中任一项所述的方法,每一共识节点通过链上合约所广播的公共验证参数还伴随有所述轮次。11.如权利要求1所述的方法,每一共识节点各自还基于验证参数及第二节点集合计算公钥份额总公钥。12.一种区块链上实现分布式密钥生成的方法,包括:
第一节点接收其它节点生成并加密的秘密份额,并通过链上合约广播接收对应的公共验证参数;所述合约将请求广播的节点的编号加入第一节点集合;第一节点对接收到的每一秘密份额和对应的公共验证参数进行验证,并将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据各共识节点发来的验证失败的节点编号和第一节点集合确定第二节点...

【专利技术属性】
技术研发人员:李康
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1