基于区块链网络的节点管理方法、装置、设备及介质转让专利

申请号 : CN202010471558.3

文献号 : CN111383021B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱耿良

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开一种基于区块链网络的节点管理方法、装置、设备及介质;方法包括:可信节点接收目标设备发送的节点注册请求,并在可信执行环境中根据节点注册请求中的身份证书和设备信息,检测目标设备的共识资格;可信执行环境是指位于可信节点中且与可信节点的操作系统相互隔离的安全区域。若确定目标设备具有共识资格,则对身份证书进行签名;将签名后的身份证书返回至目标设备,使目标设备请求历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使目标设备在通过共识后根据历史共识节点返回的允许参与通知,作为区块链网络的新共识节点参与区块链网络的共识处理。本申请可在对目标设备进行共识过程中,有效提高设备信息的信息安全性。

权利要求 :

1.一种基于区块链网络的节点管理方法,其特征在于,所述区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信节点是指在所述可信执行环境中通过执行可信计算检测目标设备的共识资格的节点;所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述方法由所述可信节点执行,所述方法包括:接收所述目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;

在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;

若确定所述目标设备具有所述共识资格,则在所述可信执行环境中采用所述可信执行环境的设备私钥对所述身份证书进行签名;

将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。

2.如权利要求1所述的方法,其特征在于,所述在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格,包括:在所述可信执行环境中,根据所述身份证书对所述目标设备进行身份校验;

若所述目标设备通过身份校验,则根据所述设备信息检测所述目标设备的共识能力;

若所述目标设备具有所述共识能力,则确定所述目标设备具有共识资格;否则,则确定所述目标设备不具有共识资格。

3.如权利要求2所述的方法,其特征在于,所述设备信息包括设备标识,所述根据所述设备信息检测所述目标设备的共识能力,包括:根据所述设备标识获取所述目标设备的至少一条数据提交记录,所述数据提交记录用于记录所述目标设备向所述历史共识节点所提交的交易数据;

根据所述至少一条数据提交记录,确定所述目标设备历史提交的违规交易数据;所述违规交易数据包括以下至少一种:虚假的交易数据、采用虚假证书进行签名的交易数据、以及未使用所述身份证书进行签名的交易数据;

若所述违规交易数据的数据量小于第一数量阈值,则确定所述目标设备具有共识能力;若所述违规交易数据的数据量大于或等于所述第一数量阈值,则确定所述目标设备不具有共识能力。

4.如权利要求2所述的方法,其特征在于,所述目标设备是所述区块链网络中参与区块同步的节点;所述根据所述设备信息检测所述目标设备的共识能力,包括:获取所述目标设备在历史参与所述区块链网络的区块同步的过程中,所产生的历史同步信息,所述历史同步信息包括以下至少一种:历史同步的交易数据量、历史同步的同步效率;

若所述历史同步信息满足预设条件,则确定所述目标设备具有共识能力;若所述历史同步信息不满足所述预设条件,则确定所述目标设备不具有所述共识能力;其中,所述预设条件包括以下至少一项:所述历史同步的交易数据量大于第二数量阈值,以及所述历史同步的同步效率大于效率阈值。

5.如权利要求2所述的方法,其特征在于,所述设备信息包括所述目标设备的状态信息,所述状态信息用于指示所述目标设备的设备状态,所述设备状态包括空闲状态或者占用状态;所述根据所述设备信息检测所述目标设备的共识能力,包括:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力;

若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力。

6.如权利要求5所述的方法,其特征在于,所述设备信息还包括所述空闲状态的总持续时长;所述若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力,包括:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备处于所述空闲状态的已空闲时长;

根据所述空闲状态的总持续时长和所述已空闲时长,确定所述目标设备的剩余空闲时长;

若所述剩余空闲时长大于第一时长阈值,则确定所述目标设备具有共识能力;若所述剩余空闲时长小于或等于所述第一时长阈值,则确定所述目标设备不具有所述共识能力。

7.如权利要求5所述的方法,其特征在于,所述设备信息还包括所述占用状态的总持续时长;所述若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力,包括:若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备处于所述占用状态的已占用时长;

根据所述占用状态的总持续时长和所述已占用时长,确定所述目标设备的剩余占用时长;

若所述剩余占用时长小于第二时长阈值,则确定所述目标设备具有所述共识能力;若所述剩余占用时长大于或等于所述第二时长阈值,则确定所述目标设备不具有共识能力。

8.如权利要求1所述的方法,其特征在于,所述节点注册请求携带加密后的身份信息,所述加密后的身份信息是采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密得到的;所述在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格之前,还包括:解析所述节点注册请求,得到所述加密后的身份信息;

获取所述目标设备的系统公钥,并采用所述系统公钥对所述加密后的身份信息进行解密,得到所述身份证书和所述设备信息;

将所述身份证书和所述设备信息加载到所述可信节点的可信执行环境中。

9.一种基于区块链网络的节点管理方法,其特征在于,所述区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信节点是指在所述可信执行环境中通过执行可信计算检测目标设备的共识资格的节点;所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述方法由所述目标设备执行,所述方法包括:根据所述目标设备的身份证书和设备信息生成节点注册请求;

将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,在所述可信执行环境中采用所述可信执行环境的设备私钥对所述身份证书进行签名并返回签名后的身份证书;

若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;

若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。

10.如权利要求9所述的方法,其特征在于,所述根据所述目标设备的身份证书和设备信息生成节点注册请求,包括:获取所述目标设备的身份证书以及设备信息;

采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密,得到加密后的身份信息;

根据所述加密后的身份信息生成节点注册请求。

11.一种基于区块链网络的节点管理装置,其特征在于,所述区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信节点是指在所述可信执行环境中通过执行可信计算检测目标设备的共识资格的节点;所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述装置运行于所述可信节点中,所述装置包括:接收单元,用于接收所述目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;

处理单元,用于在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;

所述处理单元,还用于若确定所述目标设备具有所述共识资格,则在所述可信执行环境中采用所述可信执行环境的设备私钥对所述身份证书进行签名;

发送单元,用于将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。

12.一种基于区块链网络的节点管理装置,其特征在于,所述区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信节点是指在所述可信执行环境中通过执行可信计算检测目标设备的共识资格的节点;所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述装置运行于所述目标设备中,所述装置包括:处理单元,用于根据所述目标设备的身份证书和设备信息生成节点注册请求;

发送单元,用于将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,在所述可信执行环境中采用所述可信执行环境的设备私钥对所述身份证书进行签名并返回签名后的身份证书;

所述发送单元,用于若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;

共识单元,用于若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。

13.一种计算机设备,包括输入接口和输出接口,其特征在于,还包括:

处理器,适于实现一条或多条指令;以及,

计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如权利要求1-8任一项所述的基于区块链网络的节点管理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求9-10任一项所述的基于区块链网络的节点管理方法。

14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-8任一项所述的基于区块链网络的节点管理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求9-10任一项所述的基于区块链网络的节点管理方法。

说明书 :

基于区块链网络的节点管理方法、装置、设备及介质

技术领域

[0001] 本发明涉及互联网技术领域,具体涉及通信技术领域,尤其涉及一种基于区块链网络的节点管理方法、一种基于区块链网络的节点管理装置、一种计算机设备及一种计算机存储介质。

背景技术

[0002] 随着互联网技术的发展,区块链网络逐渐出现在人们的视野中;且区块链网络凭借其特有的共识机制,具有安全可靠的性能。所谓的共识机制是指通过共识节点的投票,在较短的时间内完成对交易数据的验证和确认的机制。随着区块链网络的不断扩大,越来越多的设备欲成为区块链网络中的共识节点,以参与区块链网络的共识处理。基于此,为了保证区块链网络的性能,如何更好地对欲成为区块链网络中的共识节点的目标设备进行管理成为了研究热点。

发明内容

[0003] 本发明实施例提供了一种基于区块链网络的节点管理方法、装置、设备及介质,可在对目标设备进行共识过程中,有效提高设备信息的信息安全性。
[0004] 一方面,本发明实施例提供了一种基于区块链网络的节点管理方法;其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述方法由所述可信节点执行,所述方法包括:
[0005] 接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;
[0006] 在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;
[0007] 若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;
[0008] 将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0009] 一方面,本发明实施例提供了一种基于区块链网络的节点管理方法;其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述方法由目标设备执行,该方法包括:
[0010] 根据所述目标设备的身份证书和设备信息生成节点注册请求;
[0011] 将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;
[0012] 若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;
[0013] 若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0014] 一方面,本发明实施例提供了一种基于区块链网络的节点管理装置;其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述装置运行于所述可信节点中,所述装置包括:
[0015] 接收单元,用于接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;
[0016] 处理单元,用于在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;
[0017] 所述处理单元,还用于若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;
[0018] 发送单元,用于将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0019] 一方面,本发明实施例提供了一种基于区块链网络的节点管理装置;其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域;所述装置运行于目标设备中,所述装置包括:
[0020] 处理单元,用于根据所述目标设备的身份证书和设备信息生成节点注册请求;
[0021] 发送单元,用于将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;
[0022] 所述发送单元,用于若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;
[0023] 共识单元,用于若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0024] 一方面,本发明实施例提供了一种计算机设备,所述计算机设备可以是上述的可信节点或者目标设备;所述计算机设备包括输入接口和输出接口,所述计算机设备还包括:
[0025] 处理器,适于实现一条或多条指令;以及计算机存储介质;
[0026] 当计算机设备为可信节点时,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
[0027] 接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;
[0028] 在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;
[0029] 若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;
[0030] 将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0031] 当计算机设备为目标设备时,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
[0032] 根据所述目标设备的身份证书和设备信息生成节点注册请求;
[0033] 将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;
[0034] 若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;
[0035] 若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0036] 一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行上述可信节点侧的节点管理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行上述目标设备侧的节点管理方法。
[0037] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。

附图说明

[0038] 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1a是本发明实施例提供的一种区块链网络的架构示意图;
[0040] 图1b是本发明实施例提供的一种可信节点的结构示意图;
[0041] 图1c是本发明实施例提供的一种节点管理方案的示意图;
[0042] 图2是本发明实施例提供的一种基于区块链网络的节点管理方法的流程示意图;
[0043] 图3是本发明实施例提供的一种基于区块链网络的节点管理方法的流程示意图;
[0044] 图4是本发明实施例提供的一种基于区块链网络的节点管理装置的结构示意图;
[0045] 图5是本发明实施例提供的一种基于区块链网络的节点管理装置的结构示意图;
[0046] 图6是本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0048] 区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式;其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块。此处的数据块又可称为区块,其本质上是一个用于记录数据信息的数据结构;每一个数据块(区块)中包含了一批次网络交易的信息,用于验证其信息的有效性(即防伪)和生成下一个区块。基于区块链和点对点网络(P2P网络)所构成的网络可称为区块链网络,区块链网络中进行数据处理的计算机设备可称为节点设备(简称节点)。应理解的是,区块链网络中的任一计算机设备(即节点)可以是终端设备,也可以是服务器。其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,对此不作限制;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,对此不作限制。
[0049] 其中,云计算是一种计算模式;其通过将计算任务分布在大量计算机构成的资源地上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务提供资源的网络可称作“云”,“云”中的资源支持随时获取、按需使用、随时扩展等功能。也就是说,云计算是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network  Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。大数据则是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
[0050] 为了可以更好地对欲成为区块链网络中的共识节点的目标设备进行管理,本发明实施例首先提出了一种新型的区块链网络。参见图1a所示,本发明实施例提出的区块链网络可至少包括:一个或多个历史共识节点11、证书签发节点12以及可信节点13(RA节点)。其中,历史共识节点11是指区块链网络中已存在的基于共识机制执行共识处理的节点。证书签发节点12是指区块链网络中用于提供证书签发服务的节点,证书签发节点12可与可信节点13进行通信。可信节点13是指区块链网络中用于存储各个节点的设备信息,并在可信执行环境(Trusted execution environment,TEE)中通过执行可信计算(Trusted Computing,TC)检测目标设备的共识资格的节点;所谓的可行执行环境是指位于可信节点中,且与可信节点的操作系统(System on Chip,Soc)相互隔离的安全区域;所谓的可信计算又可称为可信用计算,是一项由可信计算组(可信计算集群,简称为TCPA)推动和开发的技术。
[0051] 具体的,可信节点13的结构示意图可参见图1b所示;其可至少包括:可信执行环境、其他区域以及支撑可信节点的硬件。其中,可信执行环境可包括可信应用(Trusted Application,TA)、可信执行环境的API(Application Programming Interface,应用程序接口)接口以及安全系统;可信执行环境通过硬件和软件的结合,能够保证敏感数据安全传输、存储和处理,以及保证TA执行的机密性和完整性。其他区域可包括其他模块、其他API接口以及操作系统(如安卓系统、IOS操作系统等);硬件则可包括用于通信的视频发射器、中央处理器(CPU,central processing unit)、硬盘等。
[0052] 应理解的是,图1a只是实例性地表示区块链网络的架构;但并不对区块链网络的具体架构进行限定。例如,图1a所示的区块链网络中包括证书签发节点12;但在实际部署时,也可不在区块链网络中部署该证书签发节点12,而是采用区块链网络外的证书签发机构统一提供证书签发服务。又如,区块链网络除了包括图1a所示的各个节点外,还可包括同步节点、业务节点、SPV(Simplified Payment Verification,简单支付验证)节点等其他节点;其中,同步节点是指区块链网络中参与区块同步的节点,业务节点是指区块链网络中提供业务处理服务的节点,SPV节点是指区块链网络中只提供存储服务的节点。再如,图1a所示区块链网络中的可信节点13的数量为一个,但在实际部署时,可在区块链网络中部署多个可信节点13,等等。
[0053] 基于上述的区块链网络,本发明实施例提出了一种节点管理方案;该节点管理方案主要用于对目标设备进行安全监管,提升目标设备的设备信息的安全性。此处的目标设备是指欲成为区块链网络中的共识节点以参与区块链网络的共识处理的设备;其可以包括但不限于:位于区块链网络外的任一设备、位于区块链网络内的非共识节点(如同步节点、业务节点等)。参见图1c所示,该节点管理方案的大致原理如下:目标设备需先通过步骤s11向证书签发节点申请一个身份证书;然后,目标设备可通过步骤s12将自己的身份证书以及设备信息提交给可信节点。相应的,可信节点可通过步骤s13将目标设备的身份证书和设备信息载入到可信执行环境中执行可信计算,以检测目标设备是否具有作为共识节点的共识资格。若确定目标设备具有共识资格,则可在可信执行环境中对目标设备的身份证书执行签名操作;并通过步骤s14返回签名后的身份证书。目标设备在接收到可信节点返回的签名后的身份证书后,可通过步骤s15根据签名后的身份证书请求区块链网络中的历史共识节点同意该目标设备参与共识。相应的,历史共识节点在根据签名后的身份证书验证到可信节点的批准之后,可同意让目标设备参与后续的共识处理;此时目标设备可成为区块链网络中的新共识节点并以新共识节点的身份参与区块链网络的共识处理。
[0054] 由此可见,采用上述的节点管理方案对目标设备进行管理时,无需目标设备将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。并且,由于可信执行环境是位于可信节点中,且与可信节点的操作系统相互隔离的安全区域;因此通过将设备信息和身份证书加载到可信执行环境中进行可信计算,可通过依靠可信执行环境的安全保密机制提升资格检测的私密性,且进一步防止设备信息的泄露。
[0055] 基于上述节点管理方案的相关描述,本发明实施例提出一种基于区块链网络的节点管理方法。请参见图2,该节点管理方法可包括以下步骤S201-S207:
[0056] S201,目标设备根据目标设备的身份证书和设备信息生成节点注册请求。
[0057] 在具体实现中,目标设备若欲成为区块链网络中的共识节点以参与区块链网络的共识处理,则可先获取目标设备的身份证书以及设备信息;此处的身份证书可以是从区块链网络中的证书签发节点处申请得到的,也可以是从区块链网络外的证书签发机构处申请得到的,本发明实施对此不作限制。目标设备的设备信息可包括但不限于:目标设备的设备标识,目标设备的状态信息,等等。其中,状态信息用于指示目标设备的设备状态;该设备状态可包括空闲状态或者占用状态。在获取到目标设备的身份证书和设备信息后,目标设备可直接生成携带该身份证书和设备信息的节点注册请求;在此情况下,节点注册请求携带身份证书和设备信息。
[0058] 在一种实施方式中,目标设备在获取到目标设备的身份证书和设备信息后,也可采用目标设备的系统私钥对身份证书和设备信息进行加密,得到加密后的身份信息;然后,根据加密后的身份信息生成节点注册请求。通过对身份证书和设备信息进行加密,可有效防止身份证书和设备信息在被发送至可信节点的过程中被盗取,从而有效提升身份证书和设备信息的安全性。在此情况下,节点注册请求携带加密后的身份信息;该加密后的身份信息是采用目标设备的系统私钥对身份证书和设备信息进行加密得到的。
[0059] S202,目标设备将节点注册请求发送至可信节点。
[0060] 目标设备在通过步骤S201生成节点注册请求之后,便可通过步骤S202将该节点注册请求发送至可信节点,以使可信节点在可信执行环境中根据身份证书和设备信息确定目标设备具有共识资格后,对身份证书进行签名并返回签名后的身份证书。相应的,可信节点可接收目标设备发送的节点注册请求,并执行步骤S203-S205。
[0061] S203,可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。
[0062] 由前述可知,节点注册请求是根据目标设备的身份证书和设备信息生成的;该节点注册请求可能直接携带身份证书和设备信息,也可能携带加密后的身份信息。因此在具体实现中,若节点注册请求直接携带身份证书和设备信息,则可信节点可执行步骤S203。若节点注册请求携带加密后的身份信息,则可信节点可先解析节点注册请求,得到加密后的身份信息;其次,可获取目标设备的系统公钥,并采用系统公钥对加密后的身份信息进行解密,得到身份证书和设备信息;然后,将身份证书和设备信息加载到可信节点的可信执行环境中,再执行步骤S203。
[0063] 在步骤S203的具体实施过程中,目标设备可先在可信执行环境中,根据身份证书对目标设备进行身份校验。若目标设备通过身份校验,则可信节点可根据设备信息检测目标设备的共识能力。若目标设备具有共识能力,则可确定目标设备具有共识资格;此情况下,可信节点可执行步骤S204-S205。若目标设备不具有共识能力,则可确定目标设备不具有共识资格;此情况下,可信节点可拒绝对目标设备的身份证书进行签名,并向目标设备返回一个拒绝签名通知。目标设备若接收到可信节点返回的拒绝签名通知,可重新向可信节点发送节点注册请求;或者结束整个流程。
[0064] S204,可信节点若确定目标设备具有共识资格,则对身份证书进行签名。
[0065] S205,可信节点将签名后的身份证书返回至目标设备。
[0066] 在步骤S204-S205中,若目标设备具有共识资格,则可信节点可采用可信执行环境的设备私钥对身份证书进行签名,得到签名后的身份证书;该签名后的身份证书携带可信节点的签名信息。由于可信执行环境中的设备私钥只存储在可信执行环境中,外界无法获取;并且,可信执行环境是一个具有硬件加密机制的安全区域;因此通过在可信执行环境中采用设备私钥执行签名操作,可使得整个签名过程对外不可见,可有效提升签名后的身份证书的可靠性。在得到签名后的身份证书后,可信节点可将签名后的身份证书返回至目标设备;使目标设备请求历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使目标设备在通过共识后根据历史共识节点返回的允许参与通知,作为区块链网络的新共识节点参与区块链网络的共识处理。
[0067] S206,目标设备若接收到可信节点返回的签名后的身份证书,则将携带签名后的身份证书的共识参与请求发送至历史共识节点,以请求历史共识节点根据签名后的身份证书对目标设备进行共识处理,并在目标设备通过共识后返回允许参与通知。
[0068] 相应的,历史共识节点在接收到目标设备发送的共识参与请求后,可以先解析共识参与请求得到签名后的身份证书。然后,根据签名后的身份证书对目标设备进行共识处理。在一种实施方式中,若区块链网络中只包括一个历史共识节点,则该历史共识节点可检测签名后的身份证书中是否存在可信节点的签名信息。若存在,则可确定目标设备通过共识;此情况下,共识节点可向目标设备返回允许参与通知。若不存在,则可确定目标设备未通过共识;此情况下,共识节点可向目标设备返回禁止参与通知。其中,检测签名后的身份证书中是否存在可信节点的签名信息的具体实施方式如下:获取可信节点的可信执行环境的设备公钥,采用该设备公钥对签名后的身份证书中的签名信息进行验证;若验证成功,则可确定签名后的身份证书中存在可信节点的签名信息;若验证失败,则可确定签名后的身份证书中不存在可信节点的签名信息。
[0069] 在一种实施方式中,若区块链网络中包含多个历史共识节点,则这多个历史共识节点可分别检测签名后的身份证书中是否存在可信节点的签名信息。其次,可根据自身所得到的检测结果对该目标设备是否通过共识进行投票,得到各个历史共识节点的投票结果;此处的投票结果可包括用于指示支持目标设备通过共识的支持投票结果,或者反对目标设备通过共识的发对投票结果。若支持投票结果的数量满足预设条件,则可确定目标设备通过共识;否则,则可确定目标设备未通过共识。其中,预设条件可包括以下任一项:支持投票结果的数量大于反对投票结果的数量、支持投票结果的数量大于数量阈值,等等。
[0070] S207,目标设备若接收到历史共识节点返回的允许参与通知,则作为区块链网络的新共识节点参与区块链网络的共识处理。
[0071] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。
[0072] 请参见图3,是本发明实施例提供的另一种基于区块链网络的节点管理方法的流程示意图。请参见图3,该节点管理方法可包括以下步骤S301-S311:
[0073] S301,目标设备获取目标设备的身份证书以及设备信息。
[0074] S302,目标设备采用目标设备的系统私钥对身份证书和设备信息进行加密,得到加密后的身份信息。
[0075] S303,目标设备根据加密后的身份信息生成节点注册请求,并将节点注册请求发送至可信节点。
[0076] S304,可信节点解析节点注册请求,得到加密后的身份信息。
[0077] S305,可信节点获取目标设备的系统公钥,并采用系统公钥对加密后的身份信息进行解密,得到身份证书和设备信息。
[0078] S306,可信节点将身份证书和设备信息加载到可信节点的可信执行环境中。
[0079] S307,可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。在具体实施过程中,步骤S307可包括以下步骤s21-s23:
[0080] 步骤s21,在可信执行环境中,根据身份证书对目标设备进行身份校验。
[0081] 在一种实施方式中,目标设备可直接在可信执行环境中,检测身份证书所绑定的设备是否为该目标设备;若是,则可确定目标设备通过身份校验。否则,则可确定目标设备未通过身份校验。在一种实施方式中,目标设备在执行在可信执行环境中,检测身份证书所绑定的设备是否为该目标设备这一步骤之前,还可在可信执行环境中校验身份证书的合法性。若身份证书通过合法性校验,则再执行在可信执行环境中,检测身份证书所绑定的设备是否为该目标设备这一步骤;若身份证书未通过合法性校验,则可直接确定目标设备未通过身份校验。其中,在可信执行环境中校验身份证书的合法性的具体实施方式可以如下:从证书签发节点(或证书签发机构)处获取根证书,该根证书是采用自签名算法生成的;然后,采用根证书对该身份证书进行验证。若验证成功,则确定身份证书通过合法性校验;否则,则确定身份证书未通过合法性校验。
[0082] 步骤s22,若目标设备通过身份校验,则根据设备信息检测目标设备的共识能力。
[0083] 在一种实施方式中,若设备信息包括设备标识,则可根据设备标识获取目标设备历史所提及的交易数据来检测目标设备是否具有共识能力。具体的,可信节点可先根据设备标识获取目标设备的至少一条数据提交记录,该数据提交记录用于记录目标设备向历史共识节点所提交的交易数据。其次,可根据至少一条数据提交记录,确定目标设备历史提交的违规交易数据;此处的违规交易数据可包括以下至少一种:虚假的交易数据、采用虚假证书进行签名的交易数据、以及未使用身份证书进行签名的交易数据。若违规交易数据的数据量小于第一数量阈值,则可确定目标设备具有共识能力;若违规交易数据的数据量大于或等于第一数量阈值,则可确定目标设备不具有共识能力;其中,第一数量阈值可根据经验值或者业务需求设置。应理解的是,若目标设备历史未提交过违规交易数据,则可能导致根据至少一条数据记录无法确定得到违规交易数据;此情况下,便可直接确定目标设备具有共识能力。
[0084] 在一种实施方式中,若目标设备是区块链网络中参与区块同步的节点,即目标设备为区块链网络中的同步节点;则可根据目标设备在历史同步区块的过程中所产生的历史同步信息来检测目标设备是否具有共识能力。具体的,可信节点可先获取目标设备在历史参与区块链网络的区块同步的过程中,所产生的历史同步信息;此处的历史同步信息可包括以下至少一种:历史同步的交易数据量、历史同步的同步效率。若历史同步信息满足预设条件,则可确定目标设备具有共识能力;若历史同步信息不满足预设条件,则可确定目标设备不具有共识能力。其中,预设条件可包括以下至少一项:历史同步的交易数据量大于第二数量阈值,以及历史同步的同步效率大于效率阈值;应理解的是,此处的第二数量阈值和效率阈值均可根据经验值或者业务需求设置。
[0085] 在一种实施方式中,若设备信息包括目标设备的状态信息,则由于状态信息可用于指示目标设备的设备状态,设备状态包括空闲状态或者占用状态;因此可根据目标设备的设备状态来检测目标设备是否具有共识能力。具体的,若状态信息指示目标设备的设备状态为空闲状态,则可确定目标设备具有共识能力。进一步的,若设备信息还包括空闲状态的总持续时长;则若状态信息指示目标设备的设备状态为空闲状态,则确定目标设备具有共识能力的具体实施方式还可以是:若状态信息指示目标设备的设备状态为空闲状态,则确定目标设备处于空闲状态的已空闲时长;并根据空闲状态的总持续时长和已空闲时长,确定目标设备的剩余空闲时长。若剩余空闲时长大于第一时长阈值,则可确定目标设备具有共识能力;若剩余空闲时长小于或等于第一时长阈值,则确定目标设备不具有共识能力。其中,第一时长阈值可根据经验值或者业务需求设置。
[0086] 若状态信息指示目标设备的设备状态为占用状态,则可确定目标设备不具有共识能力。进一步的,若设备信息还包括占用状态的总持续时长;则若状态信息指示目标设备的设备状态为占用状态,则确定目标设备不具有共识能力的具体实施方式还可以是:若状态信息指示目标设备的设备状态为占用状态,则确定目标设备处于占用状态的已占用时长;并根据占用状态的总持续时长和已占用时长,确定目标设备的剩余占用时长。若剩余占用时长小于第二时长阈值,则确定目标设备具有共识能力;若剩余占用时长大于或等于第二时长阈值,则确定目标设备不具有共识能力。其中,第二时长阈值可根据经验值或者业务需求设置。
[0087] 步骤s23,若目标设备具有共识能力,则确定目标设备具有共识资格;否则,则确定目标设备不具有共识资格。
[0088] S308,可信节点若确定目标设备具有共识资格,则对身份证书进行签名。
[0089] S309,可信节点将签名后的身份证书返回至目标设备。
[0090] S310,目标设备若接收到可信节点返回的签名后的身份证书,则将携带签名后的身份证书的共识参与请求发送至历史共识节点,以请求历史共识节点根据签名后的身份证书对目标设备进行共识处理,并在目标设备通过共识后返回允许参与通知。
[0091] S311,目标设备若接收到历史共识节点返回的允许参与通知,则作为区块链网络的新共识节点参与区块链网络的共识处理。
[0092] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。
[0093] 基于上述节点管理方法实施例的描述,本发明实施例还公开了一种基于区块链网络的节点管理装置。其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域。该节点管理装置可以是运行于区块链网络中的可信节点中的一个计算机程序(包括程序代码),该节点管理装置可以执行图2-图3所示的部分方法步骤。请参见图4,所述节点管理装置可以运行如下单元:
[0094] 接收单元401,用于接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;
[0095] 处理单元402,用于在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;
[0096] 所述处理单元402,还用于若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;
[0097] 发送单元403,用于将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与区块链网络的共识处理。
[0098] 在一种实施方式中,处理单元402在用于在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格时,可具体用于:在所述可信执行环境中,根据所述身份证书对所述目标设备进行身份校验;若所述目标设备通过身份校验,则根据所述设备信息检测所述目标设备的共识能力;若所述目标设备具有所述共识能力,则确定所述目标设备具有共识资格;否则,则确定所述目标设备不具有共识资格。
[0099] 在一种实施方式中,所述设备信息包括设备标识;相应的,处理单元402在用于根据所述设备信息检测所述目标设备的共识能力时,可具体用于:根据所述设备标识获取所述目标设备的至少一条数据提交记录,所述数据提交记录用于记录所述目标设备向所述历史共识节点所提交的交易数据;根据所述至少一条数据提交记录,确定所述目标设备历史提交的违规交易数据;所述违规交易数据包括以下至少一种:虚假的交易数据、采用虚假证书进行签名的交易数据、以及未使用所述身份证书进行签名的交易数据;若所述违规交易数据的数据量小于第一数量阈值,则确定所述目标设备具有共识能力;若所述违规交易数据的数据量大于或等于所述第一数量阈值,则确定所述目标设备不具有共识能力。
[0100] 在一种实施方式中,所述目标设备是所述区块链网络中参与区块同步的节点;相应的,处理单元402在用于根据所述设备信息检测所述目标设备的共识能力时,可具体用于:获取所述目标设备在历史参与所述区块链网络的区块同步的过程中,所产生的历史同步信息,所述历史同步信息包括以下至少一种:历史同步的交易数据量、历史同步的同步效率;若所述历史同步信息满足预设条件,则确定所述目标设备具有共识能力;若所述历史同步信息不满足所述预设条件,则确定所述目标设备不具有所述共识能力;其中,所述预设条件包括以下至少一项:所述历史同步的交易数据量大于第二数量阈值,以及所述历史同步的同步效率大于效率阈值。
[0101] 在一种实施方式中,所述设备信息包括所述目标设备的状态信息,所述状态信息用于指示所述目标设备的设备状态,所述设备状态包括空闲状态或者占用状态;相应的,处理单元402在用于根据所述设备信息检测所述目标设备的共识能力时,可具体用于:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力;若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力。
[0102] 在一种实施方式中,所述设备信息还包括所述空闲状态的总持续时长;相应的,处理单元402在用于若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力时,可具体用于:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备处于所述空闲状态的已空闲时长;根据所述空闲状态的总持续时长和所述已空闲时长,确定所述目标设备的剩余空闲时长;若所述剩余空闲时长大于第一时长阈值,则确定所述目标设备具有共识能力;若所述剩余空闲时长小于或等于所述第一时长阈值,则确定所述目标设备不具有所述共识能力。
[0103] 在一种实施方式中,所述设备信息还包括所述占用状态的总持续时长;相应的,处理单元402在用于若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力时,可具体用于:若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备处于所述占用状态的已占用时长;根据所述占用状态的总持续时长和所述已占用时长,确定所述目标设备的剩余占用时长;若所述剩余占用时长小于第二时长阈值,则确定所述目标设备具有所述共识能力;若所述剩余占用时长大于或等于所述第二时长阈值,则确定所述目标设备不具有共识能力。
[0104] 在一种实施方式中,所述节点注册请求携带加密后的身份信息,所述加密后的身份信息是采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密得到的;相应的,处理单元402在用于在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格之前,还可用于:解析所述节点注册请求,得到所述加密后的身份信息;获取所述目标设备的系统公钥,并采用所述系统公钥对所述加密后的身份信息进行解密,得到所述身份证书和所述设备信息;将所述身份证书和所述设备信息加载到所述可信节点的可信执行环境中。
[0105] 根据本发明的一个实施例,图2-图3所示的方法所涉及的部分步骤可以是由图4所示的节点管理装置中的各个单元来执行的。例如,图2中所示的步骤S203-S204均可由图4中所示的处理单元402来执行,步骤S205可由图4中所示的发送单元403来执行;又如,图3中所示的步骤S304-S308均可由图4中所示的处理单元402来执行,步骤S309可由图4中所示的发送单元403来执行。
[0106] 根据本发明的另一个实施例,图4所示的节点管理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于节点管理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0107] 根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2-图3中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图4中所示的节点管理装置设备,以及来实现本发明实施例的节点管理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0108] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。
[0109] 基于上述节点管理方法实施例的描述,本发明实施例还公开了一种基于区块链网络的节点管理装置。其中,区块链网络包括历史共识节点和可信节点;所述可信节点基于可信执行环境提供证书签发服务,所述可信执行环境是指位于所述可信节点中,且与所述可信节点的操作系统相互隔离的安全区域。该节点管理装置可以是运行于上述所提及的目标设备中的一个计算机程序(包括程序代码),该节点管理装置可以执行图2-图3所示的部分方法步骤。请参见图5,所述节点管理装置可以运行如下单元:
[0110] 处理单元501,用于根据所述目标设备的身份证书和设备信息生成节点注册请求;
[0111] 发送单元502,用于将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;
[0112] 所述发送单元502,用于若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;
[0113] 共识单元503,用于若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0114] 在一种实施方式中,处理单元501在用于根据所述目标设备的身份证书和设备信息生成节点注册请求时,具体用于:获取所述目标设备的身份证书以及设备信息;采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密,得到加密后的身份信息;根据所述加密后的身份信息生成节点注册请求。
[0115] 根据本发明的一个实施例,图2-图3所示的方法所涉及的部分步骤可以是由图5所示的节点管理装置中的各个单元来执行的。例如,图2中所示的步骤S201可由图5中所示的处理单元501来执行,步骤S202和S206均可由图5中所示的发送单元502来执行,步骤S207可由图5中所示的共识单元503来执行;又如,图3中所示的步骤S301-S302以及步骤S303中的步骤“根据加密后的身份信息生成节点注册请求”均可由图5中所示的处理单元501来执行,步骤S303中的步骤“将节点注册请求发送至可信节点”以及步骤S310均可由图5中所示的发送单元502来执行,步骤S311可由图5中所示的共识单元503来执行。
[0116] 根据本发明的另一个实施例,图5所示的节点管理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于节点管理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0117] 根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2-图3中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图5中所示的节点管理装置设备,以及来实现本发明实施例的节点管理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0118] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。
[0119] 基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种计算机设备;该计算机设备可以是上述所提及的可信节点,也可以是上述所提及的目标设备。请参见图6,该计算机设备至少包括处理器601、输入接口602、输出接口603以及计算机存储介质604。其中,计算机设备内的处理器601、输入接口602、输出接口603以及计算机存储介质604可通过总线或其他方式连接。计算机存储介质604可以存储在计算机设备的存储器中,所述计算机存储介质604用于存储计算机程序,所述计算机程序包括程序指令,所述处理器601 用于执行所述计算机存储介质604存储的程序指令。处理器601(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
[0120] 在一个实施例中,若计算机设备为可信节点,则本发明实施例所述的处理器601可以用于被可信节点控制进行一系列的节点管理处理,包括:接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与所述区块链网络的共识处理,等等。
[0121] 在一个实施例中,若计算机设备为目标设备,则本发明实施例所述的处理器601可以用于被目标设备控制进行一系列的节点管理处理,包括:根据所述目标设备的身份证书和设备信息生成节点注册请求;将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理,等等。
[0122] 本发明实施例还提供了一种计算机存储介质(Memory),该计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器601加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,其还可以是至少一个位于远离前述处理器的计算机存储介质。
[0123] 在一个实施例中,若计算机设备为可信节点,则该计算机存储介质中可存储有一条或多条第一指令;且可由处理器601加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关节点管理方法实施例中的相应步骤;具体实现中,计算机存储介质中的一条或多第一条指令由处理器601加载并执行如下步骤:
[0124] 接收目标设备发送的节点注册请求,所述节点注册请求是根据所述目标设备的身份证书和设备信息生成的;
[0125] 在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格;
[0126] 若确定所述目标设备具有所述共识资格,则对所述身份证书进行签名;
[0127] 将所述签名后的身份证书返回至所述目标设备,使所述目标设备请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,以使所述目标设备在通过共识后根据所述历史共识节点返回的允许参与通知,作为所述区块链网络的新共识节点参与区块链网络的共识处理。
[0128] 在一种实施方式中,在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格时,该一条或多条第一指令由处理器601加载并具体执行:在所述可信执行环境中,根据所述身份证书对所述目标设备进行身份校验;若所述目标设备通过身份校验,则根据所述设备信息检测所述目标设备的共识能力;若所述目标设备具有所述共识能力,则确定所述目标设备具有共识资格;否则,则确定所述目标设备不具有共识资格。
[0129] 在一种实施方式中,所述设备信息包括设备标识;相应的,在根据所述设备信息检测所述目标设备的共识能力时,该一条或多条第一指令由处理器601加载并具体执行:根据所述设备标识获取所述目标设备的至少一条数据提交记录,所述数据提交记录用于记录所述目标设备向所述历史共识节点所提交的交易数据;根据所述至少一条数据提交记录,确定所述目标设备历史提交的违规交易数据;所述违规交易数据包括以下至少一种:虚假的交易数据、采用虚假证书进行签名的交易数据、以及未使用所述身份证书进行签名的交易数据;若所述违规交易数据的数据量小于第一数量阈值,则确定所述目标设备具有共识能力;若所述违规交易数据的数据量大于或等于所述第一数量阈值,则确定所述目标设备不具有共识能力。
[0130] 在一种实施方式中,所述目标设备是所述区块链网络中参与区块同步的节点;相应的,在根据所述设备信息检测所述目标设备的共识能力时,该一条或多条第一指令由处理器601加载并具体执行:获取所述目标设备在历史参与所述区块链网络的区块同步的过程中,所产生的历史同步信息,所述历史同步信息包括以下至少一种:历史同步的交易数据量、历史同步的同步效率;若所述历史同步信息满足预设条件,则确定所述目标设备具有共识能力;若所述历史同步信息不满足所述预设条件,则确定所述目标设备不具有所述共识能力;其中,所述预设条件包括以下至少一项:所述历史同步的交易数据量大于第二数量阈值,以及所述历史同步的同步效率大于效率阈值。
[0131] 在一种实施方式中,所述设备信息包括所述目标设备的状态信息,所述状态信息用于指示所述目标设备的设备状态,所述设备状态包括空闲状态或者占用状态;相应的,在根据所述设备信息检测所述目标设备的共识能力时,该一条或多条第一指令由处理器601加载并具体执行:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力;若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力。
[0132] 在一种实施方式中,设备信息还包括所述空闲状态的总持续时长;相应的,在若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备具有共识能力时,该一条或多条第一指令由处理器601加载并具体执行:若所述状态信息指示所述目标设备的设备状态为所述空闲状态,则确定所述目标设备处于所述空闲状态的已空闲时长;根据所述空闲状态的总持续时长和所述已空闲时长,确定所述目标设备的剩余空闲时长;若所述剩余空闲时长大于第一时长阈值,则确定所述目标设备具有共识能力;若所述剩余空闲时长小于或等于所述第一时长阈值,则确定所述目标设备不具有所述共识能力。
[0133] 在一种实施方式中,所述设备信息还包括所述占用状态的总持续时长;相应的,在若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备不具有所述共识能力时,该一条或多条第一指令由处理器601加载并具体执行:若所述状态信息指示所述目标设备的设备状态为所述占用状态,则确定所述目标设备处于所述占用状态的已占用时长;根据所述占用状态的总持续时长和所述已占用时长,确定所述目标设备的剩余占用时长;若所述剩余占用时长小于第二时长阈值,则确定所述目标设备具有所述共识能力;若所述剩余占用时长大于或等于所述第二时长阈值,则确定所述目标设备不具有共识能力。
[0134] 在一种实施方式中,所述节点注册请求携带加密后的身份信息,所述加密后的身份信息是采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密得到的;相应的,在所述可信执行环境中根据所述身份证书和设备信息,检测所述目标设备的共识资格之前,该一条或多条第一指令还可由处理器601加载并具体执行:解析所述节点注册请求,得到所述加密后的身份信息;获取所述目标设备的系统公钥,并采用所述系统公钥对所述加密后的身份信息进行解密,得到所述身份证书和所述设备信息;将所述身份证书和所述设备信息加载到所述可信节点的可信执行环境中。
[0135] 在一个实施例中,若计算机设备为目标设备,则该计算机存储介质中可存储有一条或多条第二指令;且可由处理器601加载并执行计算机存储介质中存放的一条或多条第二指令,以实现上述有关节点管理方法实施例中的相应步骤;具体实现中,计算机存储介质中的一条或多第二条指令由处理器601加载并执行如下步骤:
[0136] 根据所述目标设备的身份证书和设备信息生成节点注册请求;
[0137] 将所述节点注册请求发送至所述可信节点,以使所述可信节点在所述可信执行环境中根据所述身份证书和设备信息确定所述目标设备具有共识资格后,对所述身份证书进行签名并返回签名后的身份证书;
[0138] 若接收到所述可信节点返回的签名后的身份证书,则将携带所述签名后的身份证书的共识参与请求发送至所述历史共识节点,以请求所述历史共识节点根据所述签名后的身份证书对所述目标设备进行共识处理,并在所述目标设备通过共识后返回允许参与通知;
[0139] 若接收到所述历史共识节点返回的所述允许参与通知,则作为所述区块链网络的新共识节点参与所述区块链网络的共识处理。
[0140] 在一种实施方式中,在根据所述目标设备的身份证书和设备信息生成节点注册请求时,该一条或多条第二指令由处理器601加载并具体执行:获取所述目标设备的身份证书以及设备信息;采用所述目标设备的系统私钥对所述身份证书和所述设备信息进行加密,得到加密后的身份信息;根据所述加密后的身份信息生成节点注册请求。
[0141] 本发明实施例中的目标设备欲参与区块链网络的共识处理时,可向可信节点发送携带身份证书和设备信息的节点注册请求;使得可信节点在可信执行环境中根据身份证书和设备信息,检测目标设备的共识资格。由于可信执行环境位于可信节点中且与可信节点的操作系统相互隔离,因此通过依靠可信执行环境的安全保密机制可防止设备信息的泄露,提升资格检测的私密性。可信节点在确定目标设备具有共识资格后,可对身份证书进行签名并将签名后的身份证书返回至目标设备,使目标设备请求区块链网络中的历史共识节点根据签名后的身份证书对目标设备进行共识处理,以使得目标设备在通过共识后,作为区块链网络的新共识节点参与区块链网络的共识处理。可见,本发明实施例无需将敏感的设备信息发送给共识节点进行共识处理;这样可有效节省网络资源,且可有效防止设备信息被泄露,从而提高设备信息的信息安全性。
[0142] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。