节点准入方法、共识方法、装置、电子设备及存储介质与流程

文档序号:34461858发布日期:2023-06-15 03:44阅读:29来源:国知局
节点准入方法、共识方法、装置、电子设备及存储介质与流程

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


背景技术:

1、联盟链具有一定的准入机制,参与共识的节点与普通节点也做了权利上的区分,从而降低了受到恶意节点干扰的风险,有助于提高共识的效率。

2、目前,联盟链的准入机制引入了基于身份认证的群组概念,将区块链网络中的节点分为普通节点、核心节点、共识节点、验证节点等不同角色,赋予不同权限,并承担不同功能的功能。

3、目前联盟链的准入机制普遍采用基于ca(certificate authority,证书颁发机构)中心和数字证书的认证方式,而可参与共识的节点(本文简称为共识节点)之间构建了区块链核心的共识网络。通过ca中心向不同角色的节点发放不同的数字证书,使节点和共识网络间可以实现双向认证、密钥协商、通道加密等安全措施,防止恶意节点非法接入区块链网络,甚至侵入核心的共识网络。

4、但是,该准入方式通过是在相对固定的一些验证节点或ca中心上进行准入认证,对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且相关事务集中在验证节点或ca中心上,容易导致验证节点或ca中心负载过重。

5、此外,通用的数字证书是纯软件形式,仅依赖数字证书的身份认证只能证明通讯交互的双方节点所持有数字证书是合法的,而不能保证数字证书是否被复制和冒用。从监管的角度来说,这样的形式也不利于对共识节点的控制,不适于特定行业下的监管需要。而且,因为证书和验证过程中没有跟区块链状态信息相关联,所以不能证明节点是合法的活跃的安全节点,还是伪装的恶意节点或被控制的污染节点。因此,如果没有针对区块链网络定制的准入机制,不仅会带来对区块链共识网络的安全风险,也给有关部门在监管区块链网络时造成困难。

6、另一方面,作为区块链核心技术之一的共识机制实现了区块链网络节点之间数据的一致性,共识机制的合理性是影响到区块链工作效率和安全性的主要因素之一。

7、共识机制是区块链的核心环节之一。目前,在节点准入机制的前提下,在区块链核心的共识网络中引入了以bft(byzantine fault tolerance,拜占庭容错)为基础的拜占庭类共识算法。即在共识网络中通过拜占庭投票的方式对提出的区块进行共识,省去了挖矿所需的算力消耗,从而降低了出块时间和对资源的消耗。然而目前的以bft为基础的共识机制中仍存在以下问题:

8、对于出块权的决定方法,bft通常采用leader(领导者)机制,由leader负责提出每回合的区块提议,再交由其他共识节点进行投票。然而目前的leader确定机制普遍采用的方式是以某种算法确定出一个范围,将这个范围内的所有共识节点作为leader候选人组成提议组,每个leader候选人在本回合都会提出区块提议,再由各共识节点对所有提出的区块提议按一定优先级进行投票,选定出本回合中需要共识的区块,然后才能进入对此区块的共识投票阶段。这无疑又增加了共识的难度,降低了共识效率。

9、在每个回合中,由于需要每个共识节点都广播自己的投票,并计算处理其他共识节点发来的投票,所以随着共识节点数量的增加,容易造成网络风暴堵塞共识网络,也会因每个共识节点都需要处理的所有共识节点的消息而增加计算负担。

10、每个共识节点在等待其他共识节点发来投票时,都需要等待足够的网络延迟时间,以保证全网大部分共识节点的状态能保持同步之后,才能进入下一步的处理。这种同步等待的方式也对提高共识效率造成阻碍。


技术实现思路

1、为在一定程度上解决现有准入机制中,节点准入的门槛控制较松散,且对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且容易导致共识网络中节点负载不均的问题,本技术实施例中提供了一种普通节点准入方法,应用于普通节点中,包括:

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

3、通过上述实现过程,可以结合反映出区块链最新状态的区块链最大高度height和普通节点的公钥来实现随机接入,而随机接入方式可以避免非法节点针对性攻击共识网络中的某个固定位置的共识节点,使共识网络可以在第一时间发现并阻止恶意节点接入,同时也能在一定程度上起到随机负载的作用,在一定程度上均衡共识节点的负载,从而提高网络的稳定性。

4、进一步地,所述生成自身的公钥和私钥,包括:从预设的门户站点处获取预设的准入单位配置的第二安全模块;采用所述第二安全模块生成自身的公钥和私钥。

5、在本技术实施例中,由准入单位来设置第二安全模块,并设置在预设的门户站点供各普通节点获取。这样,一方面,可以便于各普通节点获取相应的安全模块,另一方面,由第二安全模块来进行公钥、私钥和唯一标识的生成,可以有效防止用于进行准入验证的相关数据被复制和冒用,从而可以有效提高共识网络的准入门槛,保证共识网络中的共识节点都是安全可控的。

6、进一步地,所述第二安全模块为软件安全模块。

7、采用软件安全模块作为第二安全模块,可以便于普通节点的获取。同时,由于普通节点对于第二安全模块的获取是从门户站点获取的,可以在一定程度上实现共识网络与普通节点的数据分隔,从而可以提高共识网络的安全性。

8、进一步地,所述准入单位具有所述第二安全模块的数据读写权限。

9、应理解,第二安全模块的数据读写权限对准入单位开放,从而可以使得准入单位可以有效对共识节点进行监管。对于存在较高监管需求的场景,可以有效满足监管需求,提高区块链的安全性和可控性。

10、进一步地,所述获取区块链最大高度height和最新的共识网络的白名单,包括:从预设的门户站点处获取所述height和所述最新的共识网络的白名单。

11、进一步地,所述普通节点中预设有用户名和密码;所述方法还包括:根据所述用户名和密码,计算得到帐户因子;使用所述帐户因子对所述私钥进行加密。

12、在本技术实施例中,普通节点的用户名和密码可以由用户自定义,从而满足常规的业务场景需求。而基于用户名和密码计算得到帐户因子,进而使用所述帐户因子对所述私钥进行加密,则可以提高对私钥的保存安全性,降低因私钥泄露而可能带来的风险。

13、进一步地,基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点,包括:从所述白名单中,选择出唯一标识与所述第二选择基数最接近的m个候选共识节点;所述m为预设的大于等于1的正整数;从所述m个候选共识节点中,确定出一个候选共识节点作为所述目标共识节点。

14、进一步地,所述方法还包括:在与所述目标共识节点连接失败时,从所述m个候选共识节点中重新确定一个候选共识节点作为所述目标共识节点进行连接。

15、通过预先确定多个符合选择标准的候选共识节点,然后从中确定一个目标节点进行连接,并在连接失败时,可以重新从中选择新的目标共识节点重新进行连接。这样,可以有效防止出现与某一共识节点连接失败时,导致普通节点无法再次尝试接入区块链中,确保了区块链中节点接入的可靠性。

16、对应的,本技术实施例中还提供了一种普通节点准入方法,应用于共识节点中,包括:在接收到普通节点发来的接入请求消息时,验证所述接入请求消息的合法性;在验证合法时,与所述普通节点建立安全通道;所述普通节点通过前述任一种方法与所述共识节点建立所述安全通道。

17、进一步地,所述接入请求消息中包含有所述普通节点的用户名和密码的哈希值;所述验证所述接入请求消息的合法性包括:验证所述普通节点的用户名是否在区块链中唯一;若所述普通节点的用户名在所述区块链中唯一,且所述区块链中各共识节点未保存有所述用户名,则在本地关联记录所述用户名和密码的哈希值。

18、进一步地,所述接入请求消息中还包含有所述普通节点请求接入时的时间戳;在验证所述普通节点的用户名是否在所述区块链中唯一之前,所述方法还包括:确定所述时间戳与当前时间之间的时间差在预设范围内。

19、应理解,对于恶意攻击,恶意节点可能是截获了早期某一接入请求消息来尝试进行接入。那么,该接入请求消息内携带的时间戳往往会与当前时间相差较大。基于此思路,通过上述方式即可有效证明该普通节点是合法的活跃的安全节点,从而有效防御恶意入侵,提高区块链的安全性。

20、进一步地,所述接入请求消息中还包含有所述普通节点请求接入时所获取到的区块链最大高度height;在验证所述普通节点的用户名是否在所述区块链中唯一之前,所述方法还包括:确定所述height与当前的区块链最大高度之间的差值在预设范围内。

21、由于区块链本身是不断生长的,因此若恶意节点截获的是早期的接入请求消息,或随机生成的一个height,那么其与当前的区块链最大高度之间偏差往往会较大。因此,基于此思路,通过上述方式即可有效证明该普通节点是合法的活跃的安全节点,从而有效防御恶意入侵,提高区块链的安全性。

22、为解决现有准入机制中,验证过程中没有跟区块链状态信息相关联,所以不能证明节点是合法的活跃的安全节点,还是伪装的恶意节点或被控制的污染节点,从而导致的网络安全性不足的问题,本技术实施例中提供了一种普通节点准入方法,应用于普通节点中,包括:

23、获取区块链最大高度height和最新的共识网络的白名单;从所述白名单中确定出目标共识节点;连接所述目标共识节点,并向所述目标共识节点发送包含所述height的接入请求消息,以供所述目标共识节点基于所述height验证所述普通节点的合法性;在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道;所述安全通道建立信息为所述目标共识节点基于所述height验证所述普通节点合法后发送的反馈的信息。

24、通过上述实现过程,可以结合反映出区块链最新状态的区块链最大高度height来实现准入验证,从而可以基于height来证明该普通节点是合法的活跃的安全节点,从而解决现有准入机制中,验证过程中没有跟区块链状态信息相关联,所以不能证明节点是合法的活跃的安全节点,还是伪装的恶意节点或被控制的污染节点,从而导致的网络安全性不足的问题。

25、进一步地,所述方法还包括:生成自身的公钥和私钥;所述从所述白名单中确定出目标共识节点包括:根据所述height和所述公钥生成第二选择基数;基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点。

26、进一步地,所述生成自身的公钥和私钥,包括:从预设的门户站点处获取预设的准入单位配置的第二安全模块;采用所述第二安全模块生成自身的公钥和私钥。

27、进一步地,所述第二安全模块为软件安全模块。

28、进一步地,所述准入单位具有所述第二安全模块的数据读写权限。

29、本技术实施例还提供了一种普通节点准入装置,应用于普通节点中,包括:第一获取模块、第二生成模块和第二连接处理模块;所述第一获取模块,用于获取区块链最大高度height和最新的共识网络的白名单;所述白名单中包含有所述共识网络内的各个共识节点的唯一标识;所述第二生成模块,用于生成自身的公钥和私钥,根据所述height和所述公钥生成第二选择基数;所述第二连接处理模块,用于基于所述第二选择基数,从所述白名单中确定出满足预设的选择标准的唯一标识所对应的目标共识节点;连接所述目标共识节点,并向所述目标共识节点发送接入请求消息;在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道。

30、本技术实施例还提供了一种普通节点准入装置,应用于共识节点中,包括:第二验证模块和处理单元;所述第二验证模块,用于在接收到普通节点发来的接入请求消息时,验证所述接入请求消息的合法性;所述处理单元,用于在验证合法时,与所述普通节点建立安全通道。

31、本技术实施例还提供了一种普通节点准入装置,应用于普通节点中,包括:第二获取模块和第三连接处理模块;所述第二获取模块,用于获取区块链最大高度height和最新的共识网络的白名单;所述第三连接处理模块,用于从所述白名单中确定出目标共识节点,连接所述目标共识节点,并向所述目标共识节点发送包含所述height的接入请求消息,以供所述目标共识节点基于所述height验证所述普通节点的合法性;在接收所述目标共识节点返回的安全通道建立信息时,根据所述安全通道建立信息建立安全通道;所述安全通道建立信息为所述目标共识节点基于所述height验证所述普通节点合法后发送的反馈的信息。

32、本技术实施例还提供了一种电子设备,包括:处理器、存储器及通信总线;所述通信总线用于实现所述处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的共识节点准入方法或普通节点准入方法。

33、本技术实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的共识节点准入方法或普通节点准入方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1