【技术实现步骤摘要】
节点准入方法、共识方法、装置、电子设备及存储介质
本申请涉及区块链
,具体而言,涉及一种节点准入方法、共识方法、装置、电子设备及存储介质。
技术介绍
联盟链具有一定的准入机制,参与共识的节点与普通节点也做了权利上的区分,从而降低了受到恶意节点干扰的风险,有助于提高共识的效率。目前,联盟链的准入机制引入了基于身份认证的群组概念,将区块链网络中的节点分为普通节点、核心节点、共识节点、验证节点等不同角色,赋予不同权限,并承担不同功能的功能。目前联盟链的准入机制普遍采用基于CA(CertificateAuthority,证书颁发机构)中心和数字证书的认证方式,而可参与共识的节点(本文简称为共识节点)之间构建了区块链核心的共识网络。通过CA中心向不同角色的节点发放不同的数字证书,使节点和共识网络间可以实现双向认证、密钥协商、通道加密等安全措施,防止恶意节点非法接入区块链网络,甚至侵入核心的共识网络。但是,该准入方式通过是在相对固定的一些验证节点或CA中心上进行准入认证,对于非法节点针对性攻击共识网络中的某个固定位置的共识节点的情况,防御性能不佳,且相关事务集中在验证节点或CA中心上,容易导致验证节点或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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。