节点准入方法、共识方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27661269 阅读:70 留言:0更新日期:2021-03-12 14:31
本申请提供一种节点准入方法、共识方法、装置、电子设备及存储介质,方法包括:待接入共识节点生成自身的公钥、私钥和唯一标识;根据私钥以及唯一标识,采用VRF生成可验证随机数Vh和Vh的证明Vp;根据Vh确定出第一选择基数;基于第一选择基数和共识网络中各共识节点的唯一标识,按照预设的选择标准选择出目标共识节点,连接目标共识节点并发送包含公钥、Vh和Vp的注册申请消息,以供目标共识节点根据公钥和Vp,对待接入共识节点进行验证。这样,通过随机接入方式可以避免非法节点针对性攻击共识网络中的某个固定位置的共识节点;同时,随机接入方式也能在一定程度上起到随机负载的作用,从而提高网络的稳定性。

【技术实现步骤摘要】
节点准入方法、共识方法、装置、电子设备及存储介质
本申请涉及区块链
,具体而言,涉及一种节点准入方法、共识方法、装置、电子设备及存储介质。
技术介绍
联盟链具有一定的准入机制,参与共识的节点与普通节点也做了权利上的区分,从而降低了受到恶意节点干扰的风险,有助于提高共识的效率。目前,联盟链的准入机制引入了基于身份认证的群组概念,将区块链网络中的节点分为普通节点、核心节点、共识节点、验证节点等不同角色,赋予不同权限,并承担不同功能的功能。目前联盟链的准入机制普遍采用基于CA(CertificateAuthority,证书颁发机构)中心和数字证书的认证方式,而可参与共识的节点(本文简称为共识节点)之间构建了区块链核心的共识网络。通过CA中心向不同角色的节点发放不同的数字证书,使节点和共识网络间可以实现双向认证、密钥协商、通道加密等安全措施,防止恶意节点非法接入区块链网络,甚至侵入核心的共识网络。但是,该准入方式通过是在相对固定的一些验证节点或CA中心上进行准入认证,对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且相关事务集中在验证节点或CA中心上,容易导致验证节点或CA中心负载过重。此外,通用的数字证书是纯软件形式,仅依赖数字证书的身份认证只能证明通讯交互的双方节点所持有数字证书是合法的,而不能保证数字证书是否被复制和冒用。从监管的角度来说,这样的形式也不利于对共识节点的控制,不适于特定行业下的监管需要。而且,因为证书和验证过程中没有跟区块链状态信息相关联,所以不能证明节点是合法的活跃的安全节点,还是伪装的恶意节点或被控制的污染节点。因此,如果没有针对区块链网络定制的准入机制,不仅会带来对区块链共识网络的安全风险,也给有关部门在监管区块链网络时造成困难。另一方面,作为区块链核心技术之一的共识机制实现了区块链网络节点之间数据的一致性,共识机制的合理性是影响到区块链工作效率和安全性的主要因素之一。共识机制是区块链的核心环节之一。目前,在节点准入机制的前提下,在区块链核心的共识网络中引入了以BFT(ByzantineFaultTolerance,拜占庭容错)为基础的拜占庭类共识算法。即在共识网络中通过拜占庭投票的方式对提出的区块进行共识,省去了挖矿所需的算力消耗,从而降低了出块时间和对资源的消耗。然而目前的以BFT为基础的共识机制中仍存在以下问题:对于出块权的决定方法,BFT通常采用Leader(领导者)机制,由Leader负责提出每回合的区块提议,再交由其他共识节点进行投票。然而目前的Leader确定机制普遍采用的方式是以某种算法确定出一个范围,将这个范围内的所有共识节点作为Leader候选人组成提议组,每个Leader候选人在本回合都会提出区块提议,再由各共识节点对所有提出的区块提议按一定优先级进行投票,选定出本回合中需要共识的区块,然后才能进入对此区块的共识投票阶段。这无疑又增加了共识的难度,降低了共识效率。在每个回合中,由于需要每个共识节点都广播自己的投票,并计算处理其他共识节点发来的投票,所以随着共识节点数量的增加,容易造成网络风暴堵塞共识网络,也会因每个共识节点都需要处理的所有共识节点的消息而增加计算负担。每个共识节点在等待其他共识节点发来投票时,都需要等待足够的网络延迟时间,以保证全网大部分共识节点的状态能保持同步之后,才能进入下一步的处理。这种同步等待的方式也对提高共识效率造成阻碍。
技术实现思路
为能够在一定程度上解决现有准入机制中,节点准入的门槛控制较松散,且对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且容易导致共识网络中节点负载不均的问题,本申请实施例中提供了一种共识节点准入方法,应用于待接入共识节点中,包括:生成自身的公钥、私钥和唯一标识;根据所述私钥以及所述唯一标识,采用可验证随机函数生成可验证随机数Vh和所述Vh的证明Vp;根据所述Vh确定出第一选择基数;基于所述第一选择基数和共识网络中各共识节点的唯一标识,按照预设的选择标准从所述共识网络中选择出目标共识节点;连接所述目标共识节点,并向所述目标共识节点发送包含所述公钥、所述Vh和所述Vp的注册申请消息,以供所述目标共识节点根据所述公钥和所述Vp,对待接入共识节点进行验证。通过上述实现过程,待接入共识节点根据自身的私钥和唯一标识,通过VRF(VerifiableRandomFunction,可验证随机函数)生成可验证随机数Vh和Vh的证明Vp,从而基于随机数Vh进行目标共识节点的选择与接入,并将包含待接入共识节点的公钥、Vh和Vp的注册申请消息发送给目标共识节点,从而使得目标共识节点可以依据该公钥和Vp验证随机数Vh随机性,进而可以依据Vh验证接入随机性,从而确保待接入共识节点的接入随机性。而随机接入方式可以避免非法节点针对性攻击共识网络中的某个固定位置的共识节点,使共识网络可以在第一时间发现并阻止恶意接入;同时,随机接入方式也能在一定程度上起到随机负载的作用,从而提高网络的稳定性。此外,本申请的准入过程,基于公钥、私钥和唯一标识,结合共识网络中已有的各共识节点的唯一标识,通过可验证的随机接入的方式,使得共识网络始终保持安全可控的状态,提高了共识网络的准入门槛。进一步地,所述生成自身的公钥、私钥和唯一标识包括:安装预设的准入单位所审核分配的第一安全模块;采用所述第一安全模块生成自身的公钥和私钥,并根据所述公钥生成自身的唯一标识。在本申请实施例中,采用预设的准入单位来审核发放第一安全模块,由第一安全模块生成公钥、私钥和唯一标识的方式,来代替CA中心和数字证书的方式,从而由于第一安全模块的发放与否需要由准入单位来审核,从而可以确保待接入共识节点的合法性。而由第一安全模块来进行公钥、私钥和唯一标识的生成,可以有效防止用于进行准入验证的相关数据被复制和冒用,从而可以有效提高共识网络的准入门槛,保证共识网络中的共识节点都是安全可控的。进一步地,所述准入单位具有所述第一安全模块的数据读写权限。应理解,第一安全模块的数据读写权限对准入单位开放,从而可以使得准入单位可以有效对共识节点进行监管。对于存在较高监管需求的场景(比如区块链应用于银行货币业务等场景中),可以有效满足监管需求,提高区块链的安全性和可控性。进一步地,所述第一安全模块为硬件安全模块。硬件安全模块相对于软件安全模块而言,其不依附于网络,从而可以具有更高的安全性,不易被网络攻击,从而可以提高共识节点中数据的安全性。进一步地,在根据所述公钥生成自身的唯一标识之前,所述方法还包括:从所述准入单位处获取根公钥和可被所述根公钥验证的第一根签名;对应的,所述根据所述公钥生成自身的唯一标识包括:对所述第一根签名和所述自身的公钥进行计算,得到所述唯一标识。通过上述实现过程,待接入共识节点的唯一标识即与第一根签名和自身的公钥相关联。而第一根签名是各共识节点均会从准入单位处获取到的数据,而待接入共识节点的公钥会在注本文档来自技高网
...

【技术保护点】
1.一种共识节点准入方法,其特征在于,应用于待接入共识节点中,包括:/n生成自身的公钥、私钥和唯一标识;/n根据所述私钥以及所述唯一标识,采用可验证随机函数VRF生成可验证随机数Vh和所述Vh的证明Vp;/n根据所述Vh确定出第一选择基数;/n基于所述第一选择基数和共识网络中各共识节点的唯一标识,按照预设的选择标准从所述共识网络中选择出目标共识节点;/n连接所述目标共识节点,并向所述目标共识节点发送包含所述公钥、所述Vh和所述Vp的注册申请消息,以供所述目标共识节点根据所述公钥和所述Vp,对待接入共识节点进行验证。/n

【技术特征摘要】
1.一种共识节点准入方法,其特征在于,应用于待接入共识节点中,包括:
生成自身的公钥、私钥和唯一标识;
根据所述私钥以及所述唯一标识,采用可验证随机函数VRF生成可验证随机数Vh和所述Vh的证明Vp;
根据所述Vh确定出第一选择基数;
基于所述第一选择基数和共识网络中各共识节点的唯一标识,按照预设的选择标准从所述共识网络中选择出目标共识节点;
连接所述目标共识节点,并向所述目标共识节点发送包含所述公钥、所述Vh和所述Vp的注册申请消息,以供所述目标共识节点根据所述公钥和所述Vp,对待接入共识节点进行验证。


2.如权利要求1所述的共识节点准入方法,其特征在于,所述生成自身的公钥、私钥和唯一标识包括:
安装预设的准入单位所审核分配的第一安全模块;
采用所述第一安全模块生成自身的公钥和私钥,并根据所述公钥生成自身的唯一标识。


3.如权利要求2所述的共识节点准入方法,其特征在于,所述准入单位具有所述第一安全模块的数据读写权限。


4.如权利要求2所述的共识节点准入方法,其特征在于,所述第一安全模块为硬件安全模块。


5.如权利要求2所述的共识节点准入方法,其特征在于,在根据所述公钥生成自身的唯一标识之前,所述方法还包括:
从所述准入单位处获取根公钥和可被所述根公钥验证的第一根签名;
对应的,所述根据所述公钥生成自身的唯一标识包括:
对所述第一根签名和所述自身的公钥进行计算,得到所述唯一标识。


6.如权利要求1所述的共识节点准入方法,其特征在于,基于所述第一选择基数和共识网络中各共识节点的唯一标识,按照预设的选择标准从所述共识网络中选择出目标共识节点,包括:
从共识网络中,选择出唯一标识与所述第一选择基数最接近的n个候选共识节点;所述n为预设的大于等于1的正整数;
从所述n个候选共识节点中,确定出一个候选共识节点作为所述目标共识节点。


7.如权利要求6所述的共识节点准入方法,其特征在于,所述方法还包括:
在与所述目标共识节点连接失败时,从所述n个候选共识节点中重新确定一个候选共识节点作为所述目标共识节点进行连接。


8.如权利要求1-7任一项所述的共识节点准入方法,其特征在于,所述方法还包括:
在接收到针对所述注册申请消息的注册响应消息时,对所述注册响应消息进行验证;
在接收到的验证通过的注册响应消息的数量大于等于预设数量阈值时,确定注册成功。


9.如权利要求8所述的共识节点准入方法,其特征在于,所述待接入共识节点中预先获取有根公钥;所述注册响应消息中包含可被所述根公钥验证的第二根签名、发送所述注册响应消息的共识节点的公钥;
所述在接收到针对所述注册申请消息的注册响应消息时,对所述注册响应消息进行验证,包括:
使用所述根公钥对所述注册响应消息中的第二根签名进行验证;
在验证通过时,采用所述共识节点的公钥和第二根签名,计算所述共识节点的唯一标识;
校验计算出的所述共识节点的唯一标识是否为所述共识网络中已有的唯一标识;
若是,验证通过;否则,验证不通过。


10.如权利要求9所述的共识节点准入方法,其特征在于,所述注册申请消息中包含有第一根签名;所述注册响应消息中还包含:发送所述注册响应消息的共识节点,根据所述注册申请消息中的公钥和所述第一根签名计算得到的所述待接入共识节点的唯一标识;
所述使用所述根公钥对所述注册响应消息中的第二根签名进行验证之前,还包括:
确定所述注册响应消息中的唯一标识与自身的唯一标识一致。


11.一种共识节点准入方法,其特征在于,应用于共识节点中,包括:
接收待接入共识节点发来的注册申请消息;所述注册申请消息中包含有所述待接入共识节点的公钥、可验证随机数Vh和所述Vh的证明Vp;
根据所述待接入共识节点的公钥和Vp验证所述Vh的合法性;
在验证合法后,根据所述Vh确定出第一选择基数;
在所述共识节点自身的唯一标识和所述第一选择基数满足预设的选择标准时,将所述待接入共识节点的信息更新到自身的白名单中。


12.如权利要求11所述的共识节点准入方法,其特征在于,在所述共识节点自身的唯一标识和所述第一选择基数满足预设的选择标准时,所述方法还包括:
向所述待接入共识节点反馈注册响应消息,所述注册响应消息中包含可被根公钥验证的第二根签名、所述共识节点的公钥,以供所述待接入共识节点对所述注册响应消息进行验证。


13.如权利要求12所述的共识节点准入方法,其特征在于,所述注册申请消息中包含有所述待接入共识节点的第一根签名;向所述待接入共识节点反馈注册响应消息之前,所述方法还包括:
根据所述注册申请消息中的第一根签名和公钥,计算得到所述待接入共识节点的唯一标识;
将计算得到的所述待接入共识节点的唯一标识放入所述注册响应消息中。


14.一种普通节点准入方法,其特征在于,应用于普通节点中,包括:
获取区块链最大高度Height和最新的共识网络的白名单;所述白名单中包含有所述共识网络内的各个共识节点的唯一标识;
生成自身的公钥和私钥;
根据所述Height和所述公钥生成第二选择基数;
基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点;
连接所述目标共识节点,并向所述目标共识节点发送接入请求消息;
在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道。


15.如权利要求14所述的普通节点准入方法,其特征在于,所述生成自身的公钥和私钥,包括:
从预设的门户站点处获取预设的准入单位配置的第二安全模块;
采用所述第二安全模块生成自身的公钥和私钥。


16.如权利要求15所述的普通节点准入方法,其特征在于,所述第二安全模块为软件安全模块。


17.如权利要求15所述的普通节点准入方法,其特征在于,所述准入单位具有所述第二安全模块的数据读写权限。


18.如权利要求14所述的普通节点准入方法,其特征在于,所述获取区块链最大高度Height和最新的共识网络的白名单,包括:
从预设的门户站点处获取所述Height和所述最新的共识网络的白名单。


19.如权利要求14所述的普通节点准入方法,其特征在于,所述普通节点中预设有用户名和密码;
所述方法还包括:
根据所述用户名和密码,计算得到帐户因子;
使用所述帐户因子对所述私钥进行加密。


20.如权利要求14-19任一项所述的普通节点准入方法,其特征在于,基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点,包括:
从所述白名单中,选择出唯一标识与所述第二选择基数最接近的m个候选共识节点;所述m为预设的大于等于1的正整数;
从所述m个候选共识节点中,确定出一个候选共识节点作为所述目标共识节点。


21.如权利要求20所述的普通节点准入方法,其特征在于,所述方法还包括:
在与所述目标共识节点连接失败时,从所述m个候选共识节点中重新确定一个候选共识节点作为所述目标共识节点进行连接。


22.一种普通节点准入方法,其特征在于,应用于共识节点中,包括:
在接收到普通节点发来的接入请求消息时,验证所述接入请求消息的合法性;
在验证合法时,与所述普通节点建立安全通道。


23.如权利要求22所述的普通节点准入方法,其特征在于,所述接入请求消息中包含有所述普通节点的用户名和密码的哈希值;
所述验证所述接入请求消息的合法性包括:
验证所述普通节点的用户名是否在区块链中唯一;
若所述普通节点的用户名在所述区块链中唯一,并在唯一时,确定所述接入请求消息合法。


24.如权利要求23所述的普通节点准入方法,其特征在于,所述接入请求消息中还包含有所述普通节点请求接入时的时间戳;
在验证所述普通节点的用户名是否在所述区块链中唯一之前,所述方法还包括:
确定所述时间戳与当前时间之间的时间差在预设范围内。


25.如权利要求23所述的普通节点准入方法,其特征在于,所述接入请求消息中还包含有所述普通节点请求接入时所获取到的区块链最大高度Height;
在验证所述普通节点的用...

【专利技术属性】
技术研发人员:魏晔郑力铮刘利华汤俊峰
申请(专利权)人:北京数码视讯科技股份有限公司
类型:发明
国别省市:北京;11

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

1