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

技术编号:37863500 阅读:12 留言:0更新日期:2023-06-15 20:53
本申请提供一种节点准入方法、共识方法、装置、电子设备及存储介质,方法包括:获取区块链最大高度Height和最新的共识网络的白名单;白名单中包含有共识网络内的各个共识节点的唯一标识;生成自身的公钥和私钥;根据Height和公钥生成第二选择基数;基于第二选择基数,从白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点;连接目标共识节点,并向目标共识节点发送接入请求消息;在接收目标共识节点返回的安全通道建立信息时,根据安全通道建立信息建立安全通道。本申请可以使共识网络在第一时间发现并阻止恶意节点接入,同时也能在一定程度上起到随机负载的作用,在一定程度上均衡共识节点的负载,提高网络的稳定性。络的稳定性。络的稳定性。

【技术实现步骤摘要】
节点准入方法、共识方法、装置、电子设备及存储介质
[0001]本申请为于2020年11月18日提交的名称为“节点准入方法、共识方法、装置、电子设备及存储介质”的中国专利申请202011293600.3的分案申请。


[0002]本申请涉及区块链
,具体而言,涉及一种节点准入方法、共识方法、装置、电子设备及存储介质。

技术介绍

[0003]联盟链具有一定的准入机制,参与共识的节点与普通节点也做了权利上的区分,从而降低了受到恶意节点干扰的风险,有助于提高共识的效率。
[0004]目前,联盟链的准入机制引入了基于身份认证的群组概念,将区块链网络中的节点分为普通节点、核心节点、共识节点、验证节点等不同角色,赋予不同权限,并承担不同功能的功能。
[0005]目前联盟链的准入机制普遍采用基于CA(Certificate Authority,证书颁发机构)中心和数字证书的认证方式,而可参与共识的节点(本文简称为共识节点)之间构建了区块链核心的共识网络。通过CA中心向不同角色的节点发放不同的数字证书,使节点和共识网络间可以实现双向认证、密钥协商、通道加密等安全措施,防止恶意节点非法接入区块链网络,甚至侵入核心的共识网络。
[0006]但是,该准入方式通过是在相对固定的一些验证节点或CA中心上进行准入认证,对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且相关事务集中在验证节点或CA中心上,容易导致验证节点或CA中心负载过重。
[0007]此外,通用的数字证书是纯软件形式,仅依赖数字证书的身份认证只能证明通讯交互的双方节点所持有数字证书是合法的,而不能保证数字证书是否被复制和冒用。从监管的角度来说,这样的形式也不利于对共识节点的控制,不适于特定行业下的监管需要。而且,因为证书和验证过程中没有跟区块链状态信息相关联,所以不能证明节点是合法的活跃的安全节点,还是伪装的恶意节点或被控制的污染节点。因此,如果没有针对区块链网络定制的准入机制,不仅会带来对区块链共识网络的安全风险,也给有关部门在监管区块链网络时造成困难。
[0008]另一方面,作为区块链核心技术之一的共识机制实现了区块链网络节点之间数据的一致性,共识机制的合理性是影响到区块链工作效率和安全性的主要因素之一。
[0009]共识机制是区块链的核心环节之一。目前,在节点准入机制的前提下,在区块链核心的共识网络中引入了以BFT(Byzantine Fault Tolerance,拜占庭容错)为基础的拜占庭类共识算法。即在共识网络中通过拜占庭投票的方式对提出的区块进行共识,省去了挖矿所需的算力消耗,从而降低了出块时间和对资源的消耗。然而目前的以BFT为基础的共识机制中仍存在以下问题:
[0010]对于出块权的决定方法,BFT通常采用Leader(领导者)机制,由Leader负责提出每
回合的区块提议,再交由其他共识节点进行投票。然而目前的Leader确定机制普遍采用的方式是以某种算法确定出一个范围,将这个范围内的所有共识节点作为Leader候选人组成提议组,每个Leader候选人在本回合都会提出区块提议,再由各共识节点对所有提出的区块提议按一定优先级进行投票,选定出本回合中需要共识的区块,然后才能进入对此区块的共识投票阶段。这无疑又增加了共识的难度,降低了共识效率。
[0011]在每个回合中,由于需要每个共识节点都广播自己的投票,并计算处理其他共识节点发来的投票,所以随着共识节点数量的增加,容易造成网络风暴堵塞共识网络,也会因每个共识节点都需要处理的所有共识节点的消息而增加计算负担。
[0012]每个共识节点在等待其他共识节点发来投票时,都需要等待足够的网络延迟时间,以保证全网大部分共识节点的状态能保持同步之后,才能进入下一步的处理。这种同步等待的方式也对提高共识效率造成阻碍。

技术实现思路

[0013]为在一定程度上解决现有准入机制中,节点准入的门槛控制较松散,且对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且容易导致共识网络中节点负载不均的问题,本申请实施例中提供了一种普通节点准入方法,应用于普通节点中,包括:
[0014]获取区块链最大高度Height和最新的共识网络的白名单;所述白名单中包含有所述共识网络内的各个共识节点的唯一标识;生成自身的公钥和私钥;根据所述Height和所述公钥生成第二选择基数;基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点;连接所述目标共识节点,并向所述目标共识节点发送接入请求消息;在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道。
[0015]通过上述实现过程,可以结合反映出区块链最新状态的区块链最大高度Height和普通节点的公钥来实现随机接入,而随机接入方式可以避免非法节点针对性攻击共识网络中的某个固定位置的共识节点,使共识网络可以在第一时间发现并阻止恶意节点接入,同时也能在一定程度上起到随机负载的作用,在一定程度上均衡共识节点的负载,从而提高网络的稳定性。
[0016]进一步地,所述生成自身的公钥和私钥,包括:从预设的门户站点处获取预设的准入单位配置的第二安全模块;采用所述第二安全模块生成自身的公钥和私钥。
[0017]在本申请实施例中,由准入单位来设置第二安全模块,并设置在预设的门户站点供各普通节点获取。这样,一方面,可以便于各普通节点获取相应的安全模块,另一方面,由第二安全模块来进行公钥、私钥和唯一标识的生成,可以有效防止用于进行准入验证的相关数据被复制和冒用,从而可以有效提高共识网络的准入门槛,保证共识网络中的共识节点都是安全可控的。
[0018]进一步地,所述第二安全模块为软件安全模块。
[0019]采用软件安全模块作为第二安全模块,可以便于普通节点的获取。同时,由于普通节点对于第二安全模块的获取是从门户站点获取的,可以在一定程度上实现共识网络与普通节点的数据分隔,从而可以提高共识网络的安全性。
[0020]进一步地,所述准入单位具有所述第二安全模块的数据读写权限。
[0021]应理解,第二安全模块的数据读写权限对准入单位开放,从而可以使得准入单位可以有效对共识节点进行监管。对于存在较高监管需求的场景,可以有效满足监管需求,提高区块链的安全性和可控性。
[0022]进一步地,所述获取区块链最大高度Height和最新的共识网络的白名单,包括:从预设的门户站点处获取所述Height和所述最新的共识网络的白名单。
[0023]进一步地,所述普通节点中预设有用户名和密码;所述方法还包括:根据所述用户名和密码,计算得到帐户因子;使用所述帐户因子对所述私钥进行加密。
[0024]在本申请实施例中,普通节点的用户名和密码可以由用户自定义,从而满足常规的业务场景需求。而基于用户名和密码计算得到帐户因子,进而使用所述帐户因子对所述私钥进行加密,则可以提高对私本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种普通节点准入方法,其特征在于,应用于普通节点中,包括:获取区块链最大高度Height和最新的共识网络的白名单;所述白名单中包含有所述共识网络内的各个共识节点的唯一标识;生成自身的公钥和私钥;根据所述Height和所述公钥生成第二选择基数;基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点;连接所述目标共识节点,并向所述目标共识节点发送接入请求消息;在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道。2.如权利要求1所述的普通节点准入方法,其特征在于,所述生成自身的公钥和私钥,包括:从预设的门户站点处获取预设的准入单位配置的第二安全模块;采用所述第二安全模块生成自身的公钥和私钥。3.如权利要求2所述的普通节点准入方法,其特征在于,所述第二安全模块为软件安全模块。4.如权利要求2所述的普通节点准入方法,其特征在于,所述准入单位具有所述第二安全模块的数据读写权限。5.如权利要求1所述的普通节点准入方法,其特征在于,所述获取区块链最大高度Height和最新的共识网络的白名单,包括:从预设的门户站点处获取所述Height和所述最新的共识网络的白名单。6.如权利要求1所述的普通节点准入方法,其特征在于,所述普通节点中预设有用户名和密码;所述方法还包括:根据所述用户名和密码,计算得到帐户因子;使用所述帐户因子对所述私钥进行加密。7.如权利要求1

6任一项所述的普通节点准入方法,其特征在于,基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点,包括:从所述白名单中,选择出唯一标识与所述第二选择基数最接近的m个候选共识节点;所述m为预设的大于等于1的正整数;从所述m个候选共识节点中,确定出一个候选共识节点作为所述目标共识节点。8.如权利要求7所述的普通节点准入方法,其特征在于,所述方法还包括:在与所述目标共识节点连接失败时,从所述m个候选共识节点中重新确定一个候选共识节点作为所述目标共识节点进行连接。9.一种普通节点准入方法,其特征在于,应用于共识节点中,包括:在接收到普通节点发来的接入请求消息时,验证所述接入请求消息的合法性;在验证合法时,与所述普通节点建立安全通道;其中,所述普通节点通过如权利要求1

8任一项所述的方法与所述共识节点建立所述安全通道。10.如权利要求9所述的普通节点准入方法,其特征在于,所述接入请求消息中包含有
所述普通节点的用户名和密码的哈希值;所述验证所述接入请求消息的合法性包括:验证所述普通节点的用户名是否在区块链中唯一;若所述普通节点的用户名在所述区块链中唯一,并在唯一时,确定所述接入请求消息合法。11.如权利要求10所述的普通节点准入方法,其特征在于,所述接入请求消息中还包含有所述普通节点请求接入时的时间戳;在验证所述普通节点的用户名是否在所述区块链中唯一之前,所述方法还包括:确定所述时间戳与当前时间之间的时间差在预设范围内。12.如权利要求10所述的普通节点准入方法,其特征在于,所述接入请求消息中还包含有所述普通节点请求接入时所获取到的区块链最大高度Height;在验证所述普通节点的用户名是否在所述区块链中唯一之前,所述方法还包括:确定所述Height与当前的区块链最大高度之间的差值在预设范围内。13.一种普通节点准入方法,其特征在于,应用于普通节点中,包括:获取区块链最大高度Height和最新的共识网...

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

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

1