一种区块链上实现分布式密钥生成的方法、系统技术方案

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

【技术实现步骤摘要】
一种区块链上实现分布式密钥生成的方法、系统


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

技术介绍

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

技术实现思路

[0003]本说明书的目的在于提供一种区块链上实现分布式密钥生成的方法、系统,包括:
[0004]一种区块链上实现分布式密钥生成过程中的重传秘密份额的方法,每一共识节点应当生成n个秘密份额和对应的公共验证参数,接收到启动计时的信号后,应当自身保留一份秘密份额,并应当将其它n

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

1个节点,且应当通过链上合约广播所述秘密份额对应的公共验证参数;所述合约应当将请求广播的节点的编号加入第一节点集合;
[0005]如果第一共识节点在第一超时时间内没有接收到第二共识节点发来的秘密份额:
[0006]第一共识节点将第二共识节点的编号通过重传秘密份额请求交易发送至所述合约并通过所述合约广播;
[0007]第二共识节点接收到所述广播的重传秘密份额请求后,通过重传秘密份额交易发送所述秘密份额至所述合约。
[0008]则将该节点标记为验证失败的节点。
[0009]一种区块链系统,包括若干个共识节点,其中:
[0010]每一共识节点生成n个秘密份额和对应的公共验证参数,接收到启动计时的信号后,自身保留一份,并将其中n

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

1个节点,且通过链上合约广播对应的公共验证参数;所述合约将请求广播的节点的编号加入第一节点集合;
[0011]如果第一共识节点在第一超时时间内没有接收到第二共识节点发来的秘密份额:
[0012]第一共识节点将第二共识节点的编号通过重传秘密份额请求交易发送至所述合约并通过所述合约广播;
[0013]第二共识节点接收到所述广播的重传秘密份额请求后,通过重传秘密份额交易发送所述秘密份额至所述合约。
[0014]一种区块链上实现分布式密钥生成过程中的确定失败节点的系统,包括若干共识节点,其中:
[0015]每一共识节点的应当生成n个秘密份额和对应的公共验证参数,接收到启动计时的信号后,应当自身保留一份秘密份额,并应当将其它n

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

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

【技术保护点】

【技术特征摘要】
1.一种区块链上实现分布式密钥生成过程中的重传秘密份额的方法,每一共识节点应当生成n个秘密份额和对应的公共验证参数,接收到启动计时的信号后,应当自身保留一份秘密份额,并应当将其它n

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

1个节点,且应当通过链上合约广播所述秘密份额对应的公共验证参数;所述合约应当将请求广播的节点的编号加入第一节点集合;如果第一共识节点在第一超时时间内没有接收到第二共识节点发来的秘密份额:第一共识节点将第二共识节点的编号通过重传秘密份额请求交易发送至所述合约并通过所述合约广播;第二共识节点接收到所述广播的重传秘密份额请求后,通过重传秘密份额交易发送所述秘密份额至所述合约。2.如权利要求1所述的方法,第一共识节点由一个启动信号来触发启动第一计时器,并发起启动本轮次的分布式密钥生成的交易至所述合约;第一计时器用于对第一超时时间计时。3.如权利要求1所述的方法,所述通过重传秘密份额交易发送所述秘密份额至所述合约,包括明文或密文的所述秘密份额。4.如权利要求3所述的方法,所述合约还广播所述重传的秘密份额。5.如权利要求1所述的方法,第一共识节点还接收广播的重传秘密份额,并将该接收到的秘密份额与对应的公共验证参数进行验证。6.如权利要求5所述的方法,如果验证成功,第一共识节点继续执行分布式密钥生成过程。7.如权利要求5所述的方法,如果验证失败,第一共识节点将验证失败的节点编号通过投诉交易发送至所述合约;所述合约根据验证失败的节点编号和第一节点集合确定第二节点集合。8.如权利要求1所述的方法,所述合约收到第二共识节点的重传秘密份额交易后,如果所述重传的秘密份额是明文,所述合约还对重传的明文秘密份额和对应的的公共验证参数进行验证。9.如权利要求8所述的方法,如果验证成功则广播该重传的秘密份额。10.如权利要求8所述的方法,如果验证失败,所述合约根据验证失败的节点编号和第一节点集合确定第二节点集合。11.如权利要求1所述的方法,第一共识节点将第二共识节点的编号通过重传秘密份额请求交易发送至所述合约之后,还包括:所述接收到重传秘密份额请求交易的节点或合约检验所述第一共识节点是否在第二超时时间范围内发起所述重传秘密份额请求交易;如果是,则通过所述合约广播该重传秘密份额请求;如果否,则丢弃该重传秘密份额请求交易。12.如权利要求1所述的方法,还包括:所述接收到重传秘密份额交易的节点或合约检验所述第二共识节点是否在第三超时时间到达...

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

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

1