CN114499835A - 联盟链中的新增节点配置方法及*** - Google Patents
联盟链中的新增节点配置方法及*** Download PDFInfo
- Publication number
- CN114499835A CN114499835A CN202111593006.0A CN202111593006A CN114499835A CN 114499835 A CN114499835 A CN 114499835A CN 202111593006 A CN202111593006 A CN 202111593006A CN 114499835 A CN114499835 A CN 114499835A
- Authority
- CN
- China
- Prior art keywords
- node
- newly added
- chain
- nodes
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种联盟链中的新增节点配置方法及***,属于区块链技术领域。所述方法包括:信息中心将链配置的元数据发送给新增节点;新增节点根据元数据中的算法信息生成私钥和链地址,将预设的身份信息和链地址发送给信息中心;信息中心对身份信息的验证通过后获取新增节点的通信地址,将通信地址和链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点;新增节点根据共识节点列表和元数据生成链配置文件,将私钥填充到链配置文件中;根据链配置文件启动,根据节点信息列表与其他节点建立连接并同步区块。本申请既可以避免私钥泄露,也可以避免影响链的共识过程。
Description
技术领域
本申请实施例涉及区块链技术领域,特别涉及一种联盟链中的新增节点配置方法及***。
背景技术
不同于公链,联盟链往往需要设置节点准入机制以确保能够加入网络的节点都是已知准许加入的节点,因此,联盟链的共识不会采用PoX(转移证明)类可以自由进入、离开网络的共识算法,而是选择像BFT(拜占庭容错)或RAFT(分布式一致性算法)一类存在共识节点身份的共识算法。这类共识算法往往会将节点分为共识节点或同步节点,同步节点是只能从其他节点同步数据而不会参与共识的节点,共识节点则是会直接参与共识的节点。达成共识(也就是出块)需要有个最低节点数量,当共识节点的数量无法达到最低节点数量时,整条链将会处于持续等待共识完成的阶段。所以,在链初始时需要在创世块就决定好哪些节点是共识节点,哪些节点作为同步节点——这也就是链的配置文件。
在链运行的过程中可能会增加同步节点或共识节点。其中,增加同步节点是指链中增加了新增节点,增加共识节点是指将同步节点升级为公式节点。当链中增加了新增节点时,需要对该新增节点进行配置。
过去,链的配置文件通常是由中心化的信息中心产生,后通过配置分发的方式发送给新增节点。在配置过程中,可以会存在私钥泄露的风险,且参与链的新增节点也会由于自身私钥被信息中心管理而产生不信任,降低了参与链活动的积极性,从而可能会影响链的整体共识过程。
发明内容
本申请实施例提供了一种联盟链中的新增节点配置方法及***,用于解决的问题。所述技术方案如下:
一方面,提供了一种联盟链中的新增节点配置方法,用于包括信息中心和多个节点的节点配置***中,所述方法包括:
所述信息中心将链启动时创建的链配置的元数据发送给新增节点;
所述新增节点根据所述元数据中的算法信息生成私钥和链地址,将预设的身份信息和所述链地址发送给所述信息中心,所述身份信息表示所述节点是共识节点或同步节点;
所述信息中心对所述身份信息进行验证,在验证通过后获取所述新增节点的通信地址,将所述通信地址和所述链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给所述新增节点;
所述新增节点根据接收到的所述共识节点列表和所述元数据生成链配置文件,并将自身的私钥填充到所述链配置文件中;
所述新增节点根据所述链配置文件启动,根据所述节点信息列表与所述其他节点建立连接,并从已连接的所述其他节点中同步区块。
在一种可能的实现方式中,所述方法还包括:
所述其他节点接收所述信息中心发送的所述通信地址和所述链地址;
所述其他节点将所述通信地址和所述链地址添加到自身的链配置文件中;
当配置生效时,所述其他节点允许所述新增节点与自身建立连接并同步区块。
在一种可能的实现方式中,所述算法信息中包括公私钥算法和链地址生成算法,所述新增节点根据所述元数据中的算法信息生成私钥和链地址,包括:
所述新增节点在安全的环境下生成私钥;
所述新增节点将所述私钥输入所述公私钥算法中,通过所述公私钥算法生成公钥;
所述新增节点将所述公钥输入所述链地址生成算法中,通过所述链地址生成算法生成链地址。
在一种可能的实现方式中,所述信息中心对所述身份信息进行验证,包括:
所述信息中心获取预设的节点列表,所述节点列表中包含每个节点的真实的身份信息;
所述信息中心将接收到的所述新增节点的身份信息与所述节点列表进行比较;
若接收到的身份信息与所述节点列表中对应的身份信息相同,则所述信息中心确定所述新增节点通过验证;
若接收到的身份信息与所述节点列表中对应的身份信息不同,则所述信息中心确定所述新增节点未通过验证。
在一种可能的实现方式中,所述新增节点根据接收到的所述共识节点列表和所述元数据生成链配置文件,包括:
所述新增节点获取预设的配置产生规则,通过所述配置产生规则对所述共识节点列表和所述元数据生成链配置文件。
在一种可能的实现方式中,所述方法还包括:
所述新增节点根据所述链地址和所述身份信息生成校验信息,将所述校验信息发送给所述信息中心;
所述信息中心对所述校验信息进行验证,在验证通过后触发执行所述对所述身份信息进行验证的步骤。
在一种可能的实现方式中,当所述节点配置***中还包括管理端时,所述方法还包括:
在所述新增节点更新到最新状态后,管理端向链上发送第一交易,所述第一交易用于指示将所述新增节点的地址添加到所述共识节点列表中,所述地址包括链地址和通信地址;
当所述第一交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中增加所述新增节点的地址;
所述新增节点参与后续区块的共识过程。
在一种可能的实现方式中,所述方法还包括:
管理端向链上发送第二交易,所述第二交易用于指示从所述共识节点列表中删除所述新增节点的地址;
当所述第二交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中删除所述新增节点的地址;
所述新增节点不参与后续区块的共识过程,并从其他节点中同步后续区块。
在一种可能的实现方式中,所述方法还包括:
所述信息中心向所述其他节点发送待删除的同步节点列表,所述同步节点列表中包括所述新增节点的地址,所述地址包括链地址和通信地址;
所述其他节点从自身的链配置文件中删除所述新增节点的地址;
当配置生效时,所述其他节点禁止所述新增节点与自身建立连接。
一方面,提供了一种基于联盟链的节点配置***,所述节点配置***包括信息中心和多个节点;
所述信息中心,用于将链启动时创建的链配置的元数据发送给新增节点;
所述新增节点,用于根据所述元数据中的算法信息生成私钥和链地址,将预设的身份信息和所述链地址发送给所述信息中心,所述身份信息表示所述节点是共识节点或同步节点;
所述信息中心,还用于对所述身份信息进行验证,在验证通过后获取所述新增节点的通信地址,将所述通信地址和所述链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给所述新增节点;
所述新增节点,还用于根据接收到的所述共识节点列表和所述元数据生成链配置文件,并将自身的私钥填充到所述链配置文件中;
所述新增节点,还用于根据所述链配置文件启动,根据所述节点信息列表与所述其他节点建立连接,并从已连接的所述其他节点中同步区块。
本申请实施例提供的技术方案的有益效果至少包括:
通过新增节点生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,由信息中心对新增节点的身份信息进行验证,并在验证通过后将通信地址和链地址发送给链上的其他节点,将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点,这样,新增节点可以根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中,从而可以由新增节点自己生成私钥并填充到自身的链配置文件中,既可以避免私钥传输过程中的泄露,也可以提高新增节点参与链活动的积极性,从而避免影响链的共识过程。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的联盟链中的新增节点配置方法的方法流程图;
图2是本申请一个实施例提供的联盟链中的新增节点配置方法的方法流程图;
图3是本申请一个实施例提供的同步节点升级为共识节点的方法流程图;
图4是本申请一个实施例提供的共识节点降级为同步节点的方法流程图;
图5是本申请一个实施例提供的删除同步节点的方法流程图;
图6是本申请一个实施例提供的基于联盟链的节点配置***的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的联盟链中的新增节点配置方法的方法流程图,可以应用于包括信息中心和多个节点的节点配置***中。该联盟链中的新增节点配置方法,可以包括:
步骤101,信息中心将链启动时创建的链配置的元数据发送给新增节点。
新增节点是在链上已经包含同步节点和共识节点的情况下,向链上增加的节点。
元数据中至少包括创世块的时间戳信息、密码学算法信息、链地址生成算法信息、链标识信息,还可以包括其他信息。其中,密码学算法信息用于标识密码学算法,这里所说的密码学算法包括但不限于签名算法、公私钥算法、杂凑算法。链地址生成算法信息用于标识链地址生成算法。链标识信息可以包括但不限于链ID、链名称。
由于元数据可以由单方确定且不涉及节点的私钥一类的敏感信息,所以,可以由信息中心在链启动时创建元数据,对元数据进行保存,并将元数据发送给链中的新增节点,以供新增节点进行链配置。
步骤102,新增节点根据元数据中的算法信息生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,该身份信息表示节点是共识节点或同步节点。
新增节点可以根据接收到的算法信息来生成自己的私钥和链地址,具体计算流程详见下文中的描述,此处不作赘述。
本实施例中的节点是同步节点或共识节点,其中,共识节点会参与到区块链的共识,即出块;同步节点不会参与到共识,但会对共识后新增的区块执行同步操作。由于新增节点只能是同步节点,所以,可以预先设置新增节点的身份信息是同步节点,再将身份信息存储到新增节点中,这样,新增节点可以直接获取到自身的身份信息。
同步节点和共识节点的身份信息可以用不同的数值表示,以示区分。比如,共识节点的身份信息的数值为1,同步节点的身份信息的数值为0。
新增节点还可以将链地址和身份信息发送给信息中心。
步骤103,信息中心对身份信息进行验证,在验证通过后获取新增节点的通信地址,将通信地址和链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点。
信息中心在接收到新增节点发送的链地址和身份信息后,可以先对新增节点的身份信息进行核实,避免新增节点冒充共识节点,具体的验证方式详见下文中的描述,此处不作赘述。
在确定新增节点的验证通过后,信息中心需要将新增节点的信息发送给链上的其他节点,也需要将其他节点的信息发送给新增节点,以便于新增节点与其他节点进行通信。
信息中心可以将新增节点的链地址和通信地址发送给链上除新增节点之外的其他节点。其中,通信地址是指新增节点中用于建立通信连接的地址,可以包括但不限于IP(Internet Protocol,因特网协议)、MAC(Media Access Control,媒体存取控制)。
信息中心还可以将共识节点列表和节点信息列表发送给新增节点。其中,共识节点列表中包括链启动时共识节点的地址,这里所说的地址包括共识节点的链地址和通信地址。由于共识节点的特殊且重要的特点,共识节点的身份除了在链创建阶段由配置文件指定,在链启动(在创世块之后至少出了一个块)后,共识节点的地址会存储在链的状态数据库中(状态数据由执行链上共识的区块后获得,并且按照区块链的规则,在相同块高的所有节点的状态数据应该是相同的),共识节点的地址的修改往往需要链上的管理员或管理委员会发送一笔特殊共识节点列表修改交易来完成:增加共识节点——将同步节点升级为共识节点,减少共识节点——将共识节点降级为同步节点,增加共识节点和减少共识节点可以理解为共识节点或同步节点身份的切换。由于共识节点的修改需要通过交易实现,且交易会上链,所以,新增节点只需要获取初始的共识节点列表,即可在后续同步区块时获取到最新的共识节点列表。其他节点的节点信息列表中包括除新增节点之外的其他节点的信息,可以包括其他节点的链地址、通信地址、身份信息等信息。
步骤104,新增节点根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中。
新增节点可以根据共识节点列表和元数据生成链配置文件,再将之前生成的私钥填充到链配置文件中,完成链配置。
步骤105,新增节点根据链配置文件启动,根据节点信息列表与其他节点建立连接,并从已连接的其他节点中同步区块。
其中,新增节点可以与链上的所有其他节点建立连接,并随机选择一个其他节点,从该其他节点中同步区块;或者,新增节点可以与链上的某一个节点建立连接,并从该其他节点中同步区块。
本实施例中,由新增节点自己生成私钥,并将私钥填充到链配置文件中,相比于由信息中心生成私钥并发送给新增节点来说,既可以避免传输私钥所导致的泄露的问题,也可以提高新增节点对信息中心的信任度,从而使新增节点能够积极参与链活动,避免影响链的共识过程。
综上所述,本申请实施例提供的联盟链中的新增节点配置方法,通过新增节点生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,由信息中心对新增节点的身份信息进行验证,并在验证通过后将通信地址和链地址发送给链上的其他节点,将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点,这样,新增节点可以根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中,从而可以由新增节点自己生成私钥并填充到自身的链配置文件中,既可以避免私钥传输过程中的泄露,也可以提高新增节点参与链活动的积极性,从而避免影响链的共识过程。
请参考图2,其示出了本申请一个实施例提供的联盟链中的新增节点配置方法的方法流程图,可以应用于包括信息中心和多个节点的节点配置***中。该联盟链中的新增节点配置方法,可以包括:
步骤201,信息中心将链启动时创建的链配置的元数据发送给新增节点。
新增节点是在链上已经包含同步节点和共识节点的情况下,向链上增加的节点。
元数据中至少包括创世块的时间戳信息、密码学算法信息、链地址生成算法信息、链标识信息,还可以包括其他信息。其中,密码学算法信息用于标识密码学算法,这里所说的密码学算法包括但不限于签名算法、公私钥算法、杂凑算法。链地址生成算法信息用于标识链地址生成算法。链标识信息可以包括但不限于链ID、链名称。
由于元数据可以由单方确定且不涉及节点的私钥一类的敏感信息,所以,可以由信息中心在链启动时创建元数据,对元数据进行保存,并将元数据发送给链中的新增节点,以供新增节点进行链配置。
步骤202,新增节点根据元数据中的算法信息生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,该身份信息表示节点是共识节点或同步节点。
新增节点可以根据接收到的算法信息来生成自己的私钥和链地址,具体的,算法信息中包括公私钥算法和链地址生成算法,则新增节点可以在安全的环境下生成私钥;将私钥输入公私钥算法中,通过公私钥算法生成公钥;将公钥输入链地址生成算法中,通过链地址生成算法生成链地址。
本实施例中的节点是同步节点或共识节点,其中,共识节点会参与到区块链的共识,即出块;同步节点不会参与到共识,但会对共识后新增的区块执行同步操作。由于新增节点只能是同步节点,所以,可以预先设置新增节点的身份信息是同步节点,再将身份信息存储到新增节点中,这样,新增节点可以直接获取到自身的身份信息。
同步节点和共识节点的身份信息可以用不同的数值表示,以示区分。比如,共识节点的身份信息的数值为1,同步节点的身份信息的数值为0。
本实施例中,新增节点还可以根据链地址和身份信息生成校验信息,将校验信息发送给信息中心,以便于信息中心根据校验信息来校验信息节点。具体的,新增节点可以根据私钥对链地址和身份信息进行签名,并将该签名作为校验信息。
可选的,新增节点可以将链地址、身份信息和校验信息一起发送给信息中心。
步骤203,信息中心对身份信息进行验证,在验证通过后获取新增节点的通信地址,将通信地址和链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点。
当信息中心接收到链地址、身份信息和校验信息时,信息中心可以先对校验信息进行验证。具体的,信息中心可以使用新增节点的公钥对校验信息进行验签,在验签通过后,确定验证通过。
信息中心可以在对校验信息的验证通过后,对新增节点的身份信息进行核实,避免新增节点冒充共识节点。具体的,信息中心获取预设的节点列表,节点列表中包含每个节点的真实的身份信息;信息中心将接收到的新增节点的身份信息与节点列表进行比较;若接收到的身份信息与节点列表中对应的身份信息相同,则信息中心确定新增节点通过验证;若接收到的身份信息与节点列表中对应的身份信息不同,则信息中心确定新增节点未通过验证。
在确定新增节点的验证通过后,信息中心需要将新增节点的信息发送给链上的其他节点,也需要将其他节点的信息发送给新增节点,以便于新增节点与其他节点进行通信。
信息中心可以将新增节点的链地址和通信地址发送给链上除新增节点之外的其他节点。其中,通信地址是指新增节点中用于建立通信连接的地址,可以包括但不限于IP、MAC。
信息中心还可以将共识节点列表和节点信息列表发送给新增节点。其中,共识节点列表中包括链启动时共识节点的地址,这里所说的地址包括共识节点的链地址和通信地址。由于共识节点的修改需要通过交易实现,且交易会上链,所以,新增节点只需要获取初始的共识节点列表,即可在后续同步区块时获取到最新的共识节点列表。其他节点的节点信息列表中包括除新增节点之外的其他节点的信息,可以包括其他节点的链地址、通信地址、身份信息等信息。
步骤204,新增节点根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中。
新增节点可以接收到共识节点列表和元数据,获取预设的配置产生规则,再通过配置产生规则对共识节点列表和元数据生成链配置文件。其中,每个节点所获取的配置产生规则相同(相同的程序),所以,此时新增节点生成的链配置文件与其他节点生成的链配置文件相同。然后,新增节点将之前生成的私钥填充到自身的链配置文件中,完成链配置。
步骤205,其他节点接收信息中心发送的通信地址和链地址,将通信地址和链地址添加到自身的链配置文件中,当配置生效时,允许新增节点与自身建立连接并同步区块。
对应的,其他节点接收到新增节点的通信地址和链地址后,将通信地址和链地址添加到自身的链配置文件中。后续,当正在运行的其他节点读取到最新的链配置文件(即配置生效)时,其他节点确定新增节点是准入节点,允许新增节点与自身建立连接,并允许新增节点从自身同步区块。
步骤206,新增节点根据链配置文件启动,根据节点信息列表与其他节点建立连接,并从已连接的其他节点中同步区块。
其中,新增节点可以与链上的所有其他节点建立连接,并随机选择一个其他节点,从该其他节点中同步区块;或者,新增节点可以与链上的某一个节点建立连接,并从该其他节点中同步区块。
本实施例中,由新增节点自己生成私钥,并将私钥填充到链配置文件中,相比于由信息中心生成私钥并发送给新增节点来说,既可以避免传输私钥所导致的泄露的问题,也可以提高新增节点对信息中心的信任度,从而使新增节点能够积极参与链活动,避免影响链的共识过程。
综上所述,本申请实施例提供的联盟链中的新增节点配置方法,通过新增节点生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,由信息中心对新增节点的身份信息进行验证,并在验证通过后将通信地址和链地址发送给链上的其他节点,将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点,这样,新增节点可以根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中,从而可以由新增节点自己生成私钥并填充到自身的链配置文件中,既可以避免私钥传输过程中的泄露,也可以提高新增节点参与链活动的积极性,从而避免影响链的共识过程。
在配置完新增节点后,新增节点可以作为一个同步节点启动,并从其他节点中同步区块。在新增节点完成区块同步后,还可以根据需求将新增节点升级为共识节点,升级流程请参考图3。
步骤301,当节点配置***中还包括管理端时,在新增节点更新到最新状态后,管理端向链上发送第一交易,第一交易用于指示将新增节点的地址添加到共识节点列表中,地址包括链地址和通信地址。
管理端可以是链的管理员或管理委员会使用的应用程序。
新增节点更新到最新状态是指新增节点的区块高度与链上的其他节点的最新区块高度一致。
本实施例中,新增节点可以在更新到最新状态后向管理端上报,或者,管理端可以查询新增节点是否更新到最新状态。在确定新增节点更新到最新状态后,管理端向链上发送第一交易,第一交易的交易内容是将新增节点的地址加入到共识节点列表中,也就是将新增节点由同步节点升级为共识节点。
步骤302,当第一交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中增加新增节点的地址。
由于链启动后的共识节点列表存储在状态数据库中,所以,每个节点在第一交易被打包入块并上链后,可以在状态数据库中的共识节点列表中增加新增节点的地址。
步骤303,新增节点参与后续区块的共识过程。
图3中仅以新增节点升级为共识节点进行了举例,链上的其他同步节点也可以执行步骤301-303来升级为共识节点。
在新增节点升级为共识节点后,还可以根据需求将新增节点降级为同步节点,降级流程请参考图4。
步骤401,管理端向链上发送第二交易,第二交易用于指示从共识节点列表中删除新增节点的地址。
管理端可以是链的管理员或管理委员会使用的应用程序。
本实施例中,管理端向链上发送第二交易,第二交易的交易内容从共识节点列表中删除新增节点的地址,也就是将新增节点由共识节点降级为同步节点。
步骤402,当第二交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中删除新增节点的地址。
由于链启动后的共识节点列表存储在状态数据库中,所以,每个节点在第二交易被打包入块并上链后,可以在状态数据库中的共识节点列表中删除新增节点的地址。
步骤403,新增节点不参与后续区块的共识过程,并从其他节点中同步后续区块。
图4中仅以新增节点降级为同步节点进行了举例,链上的其他共识节点也可以执行步骤401-403来降级为同步节点。
本实施例中,还可以根据需求删除新增节点。当新增节点为共识节点时,需要先将新增节点降级为同步节点,再删除新增节点;当新增节点为同步节点时,可以直接删除新增节点,删除流程请参考图5。
步骤501,信息中心向其他节点发送待删除的同步节点列表,该同步节点列表中包括新增节点的地址,该地址包括链地址和通信地址。
其中,同步节点列表中可以包括至少一个待删除的同步节点的地址,本实施例中仅以待删除的同步节点是新增节点进行举例说明。
步骤502,其他节点从自身的链配置文件中删除新增节点的地址。
步骤503,当配置生效时,其他节点禁止新增节点与自身建立连接。
当正在运行的其他节点读取到最新的链配置文件(即配置生效)时,其他节点确定新增节点是非准入节点,禁止新增节点与自身建立连接,这样,新增节点也就无法从自身同步区块。
请参考图6,其示出了本申请一个实施例提供的基于联盟链的节点配置***的结构框图,该基于联盟链的节点配置***,可以包括信息中心610和多个节点620;
信息中心610,用于将链启动时创建的链配置的元数据发送给新增节点620;
新增节点620,用于根据元数据中的算法信息生成私钥和链地址,将预设的身份信息和链地址发送给信息中心610,身份信息表示节点620是共识节点或同步节点;
信息中心610,还用于对身份信息进行验证,在验证通过后获取新增节点620的通信地址,将通信地址和链地址发送给链上的其他节点620;将链启动时的共识节点列表和链上的其他节点620的节点信息列表发送给新增节点620;
新增节点620,还用于根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中;
新增节点620,还用于根据链配置文件启动,根据节点信息列表与其他节点620建立连接,并从已连接的其他节点620中同步区块。
在一个可选的实施例中,其他节点620,还用于:
接收信息中心610发送的通信地址和链地址;
将通信地址和链地址添加到自身的链配置文件中;
当配置生效时,允许新增节点620与自身建立连接并同步区块。
在一个可选的实施例中,算法信息中包括公私钥算法和链地址生成算法,新增节点620,还用于:
在安全的环境下生成私钥;
将私钥输入公私钥算法中,通过公私钥算法生成公钥;
将公钥输入链地址生成算法中,通过链地址生成算法生成链地址。
在一个可选的实施例中,信息中心610,还用于:
获取预设的节点列表,节点列表中包含每个节点620的真实的身份信息;
将接收到的新增节点620的身份信息与节点列表进行比较;
若接收到的身份信息与节点列表中对应的身份信息相同,则确定新增节点620通过验证;
若接收到的身份信息与节点列表中对应的身份信息不同,则确定新增节点620未通过验证。
在一个可选的实施例中,新增节点620,还用于获取预设的配置产生规则,通过配置产生规则对共识节点列表和元数据生成链配置文件。
在一个可选的实施例中,新增节点620,还用于根据链地址和身份信息生成校验信息,将校验信息发送给信息中心610;
信息中心610,还用于对校验信息进行验证,在验证通过后触发执行对身份信息进行验证的步骤。
在一个可选的实施例中,当节点620配置***中还包括管理端时,在新增节点620更新到最新状态后,管理端,用于向链上发送第一交易,第一交易用于指示将新增节点620的地址添加到共识节点列表中,地址包括链地址和通信地址;
当第一交易被打包入块并上链后,链上的每个节点620,还用于在对应的共识节点列表中增加新增节点620的地址;
新增节点620,还用于参与后续区块的共识过程。
在一个可选的实施例中,管理端,还用于向链上发送第二交易,第二交易用于指示从共识节点列表中删除新增节点620的地址;
当第二交易被打包入块并上链后,链上的每个节点620,用于在对应的共识节点列表中删除新增节点620的地址;
新增节点620,还用于不参与后续区块的共识过程,并从其他节点620中同步后续区块。
在一个可选的实施例中,信息中心610,还用于向其他节点620发送待删除的同步节点列表,同步节点列表中包括新增节点620的地址,地址包括链地址和通信地址;
其他节点620,还用于从自身的链配置文件中删除新增节点620的地址;
当配置生效时,其他节点620,还用于禁止新增节点620与自身建立连接。
综上所述,本申请实施例提供的基于联盟链的节点配置***,通过新增节点生成私钥和链地址,将预设的身份信息和链地址发送给信息中心,由信息中心对新增节点的身份信息进行验证,并在验证通过后将通信地址和链地址发送给链上的其他节点,将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给新增节点,这样,新增节点可以根据接收到的共识节点列表和元数据生成链配置文件,并将自身的私钥填充到链配置文件中,从而可以由新增节点自己生成私钥并填充到自身的链配置文件中,既可以避免私钥传输过程中的泄露,也可以提高新增节点参与链活动的积极性,从而避免影响链的共识过程。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的联盟链中的新增节点配置方法。
本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的联盟链中的新增节点配置方法。
需要说明的是:上述实施例提供的基于联盟链的节点配置***在进行联盟链中的新增节点配置时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于联盟链的节点配置***的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于联盟链的节点配置***与联盟链中的新增节点配置方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (10)
1.一种联盟链中的新增节点配置方法,其特征在于,用于包括信息中心和多个节点的节点配置***中,所述方法包括:
所述信息中心将链启动时创建的链配置的元数据发送给新增节点;
所述新增节点根据所述元数据中的算法信息生成私钥和链地址,将预设的身份信息和所述链地址发送给所述信息中心,所述身份信息表示所述节点是共识节点或同步节点;
所述信息中心对所述身份信息进行验证,在验证通过后获取所述新增节点的通信地址,将所述通信地址和所述链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给所述新增节点;
所述新增节点根据接收到的所述共识节点列表和所述元数据生成链配置文件,并将自身的私钥填充到所述链配置文件中;
所述新增节点根据所述链配置文件启动,根据所述节点信息列表与所述其他节点建立连接,并从已连接的所述其他节点中同步区块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述其他节点接收所述信息中心发送的所述通信地址和所述链地址;
所述其他节点将所述通信地址和所述链地址添加到自身的链配置文件中;
当配置生效时,所述其他节点允许所述新增节点与自身建立连接并同步区块。
3.根据权利要求1所述的方法,其特征在于,所述算法信息中包括公私钥算法和链地址生成算法,所述新增节点根据所述元数据中的算法信息生成私钥和链地址,包括:
所述新增节点在安全的环境下生成私钥;
所述新增节点将所述私钥输入所述公私钥算法中,通过所述公私钥算法生成公钥;
所述新增节点将所述公钥输入所述链地址生成算法中,通过所述链地址生成算法生成链地址。
4.根据权利要求1所述的方法,其特征在于,所述信息中心对所述身份信息进行验证,包括:
所述信息中心获取预设的节点列表,所述节点列表中包含每个节点的真实的身份信息;
所述信息中心将接收到的所述新增节点的身份信息与所述节点列表进行比较;
若接收到的身份信息与所述节点列表中对应的身份信息相同,则所述信息中心确定所述新增节点通过验证;
若接收到的身份信息与所述节点列表中对应的身份信息不同,则所述信息中心确定所述新增节点未通过验证。
5.根据权利要求1所述的方法,其特征在于,所述新增节点根据接收到的所述共识节点列表和所述元数据生成链配置文件,包括:
所述新增节点获取预设的配置产生规则,通过所述配置产生规则对所述共识节点列表和所述元数据生成链配置文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述新增节点根据所述链地址和所述身份信息生成校验信息,将所述校验信息发送给所述信息中心;
所述信息中心对所述校验信息进行验证,在验证通过后触发执行所述对所述身份信息进行验证的步骤。
7.根据权利要求1至6中任一项所述的方法,其特征在于,当所述节点配置***中还包括管理端时,所述方法还包括:
在所述新增节点更新到最新状态后,管理端向链上发送第一交易,所述第一交易用于指示将所述新增节点的地址添加到所述共识节点列表中,所述地址包括链地址和通信地址;
当所述第一交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中增加所述新增节点的地址;
所述新增节点参与后续区块的共识过程。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
管理端向链上发送第二交易,所述第二交易用于指示从所述共识节点列表中删除所述新增节点的地址;
当所述第二交易被打包入块并上链后,链上的每个节点在对应的共识节点列表中删除所述新增节点的地址;
所述新增节点不参与后续区块的共识过程,并从其他节点中同步后续区块。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
所述信息中心向所述其他节点发送待删除的同步节点列表,所述同步节点列表中包括所述新增节点的地址,所述地址包括链地址和通信地址;
所述其他节点从自身的链配置文件中删除所述新增节点的地址;
当配置生效时,所述其他节点禁止所述新增节点与自身建立连接。
10.一种基于联盟链的节点配置***,其特征在于,所述节点配置***包括信息中心和多个节点;
所述信息中心,用于将链启动时创建的链配置的元数据发送给新增节点;
所述新增节点,用于根据所述元数据中的算法信息生成私钥和链地址,将预设的身份信息和所述链地址发送给所述信息中心,所述身份信息表示所述节点是共识节点或同步节点;
所述信息中心,还用于对所述身份信息进行验证,在验证通过后获取所述新增节点的通信地址,将所述通信地址和所述链地址发送给链上的其他节点;将链启动时的共识节点列表和链上的其他节点的节点信息列表发送给所述新增节点;
所述新增节点,还用于根据接收到的所述共识节点列表和所述元数据生成链配置文件,并将自身的私钥填充到所述链配置文件中;
所述新增节点,还用于根据所述链配置文件启动,根据所述节点信息列表与所述其他节点建立连接,并从已连接的所述其他节点中同步区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593006.0A CN114499835B (zh) | 2021-12-23 | 2021-12-23 | 联盟链中的新增节点配置方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593006.0A CN114499835B (zh) | 2021-12-23 | 2021-12-23 | 联盟链中的新增节点配置方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114499835A true CN114499835A (zh) | 2022-05-13 |
CN114499835B CN114499835B (zh) | 2023-06-20 |
Family
ID=81493383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111593006.0A Active CN114499835B (zh) | 2021-12-23 | 2021-12-23 | 联盟链中的新增节点配置方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499835B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281558A (zh) * | 2011-06-23 | 2011-12-14 | 成都赛康信息技术有限责任公司 | 一种应用于物联网数据传输的无线传感器网络组网方法 |
CN109104305A (zh) * | 2018-07-26 | 2018-12-28 | 广东浪潮大数据研究有限公司 | 一种节点增加方法及相关装置 |
CN109728954A (zh) * | 2019-01-04 | 2019-05-07 | 深圳壹账通智能科技有限公司 | 联盟链节点管理***以及方法 |
CN110222535A (zh) * | 2019-05-06 | 2019-09-10 | 平安科技(深圳)有限公司 | 区块链配置文件的处理装置、方法及存储介质 |
US20200389301A1 (en) * | 2019-06-07 | 2020-12-10 | Volum Holdings, OÜ | Supply chain management system |
CN112508562A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 区块链公开交易多级共识方法、设备及存储介质 |
-
2021
- 2021-12-23 CN CN202111593006.0A patent/CN114499835B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281558A (zh) * | 2011-06-23 | 2011-12-14 | 成都赛康信息技术有限责任公司 | 一种应用于物联网数据传输的无线传感器网络组网方法 |
CN109104305A (zh) * | 2018-07-26 | 2018-12-28 | 广东浪潮大数据研究有限公司 | 一种节点增加方法及相关装置 |
CN109728954A (zh) * | 2019-01-04 | 2019-05-07 | 深圳壹账通智能科技有限公司 | 联盟链节点管理***以及方法 |
CN110222535A (zh) * | 2019-05-06 | 2019-09-10 | 平安科技(深圳)有限公司 | 区块链配置文件的处理装置、方法及存储介质 |
US20200389301A1 (en) * | 2019-06-07 | 2020-12-10 | Volum Holdings, OÜ | Supply chain management system |
CN112508562A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 区块链公开交易多级共识方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114499835B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110910138B (zh) | 一种区块链数据监管方法、装置 | |
CN109728954B (zh) | 联盟链节点管理***以及方法 | |
CN112055025B (zh) | 一种基于区块链的隐私数据保护方法 | |
CN107888562B (zh) | 一种平行链接入互联链的数据验证和收发方法、节点及*** | |
CN112291376B (zh) | 区块链***中的数据处理方法及相关设备 | |
CN111628886B (zh) | 私有云环境下组建区块链网络的方法、装置、计算机设备 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
CN110601851B (zh) | 在区块链网络中更换身份证书的方法、装置、介质和设备 | |
CN113824563B (zh) | 一种基于区块链证书的跨域身份认证方法 | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN110855777A (zh) | 一种基于区块链的节点管理方法及装置 | |
CN111447069B (zh) | 一种基于区块链的低频访问数据处理方法 | |
WO2022134797A1 (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN111090386A (zh) | 一种云存储方法、装置、***和计算机设备 | |
US20240163119A1 (en) | Device management method, system, and apparatus | |
CN113609231B (zh) | 一种维护区块链***的网络架构信息的方法和装置 | |
CN111177265A (zh) | 一种区块链分域方法 | |
CN112865983B (zh) | 一种联盟链组织证书更换的方法与*** | |
CN113904854A (zh) | 一种基于商密算法的区块链数据加密方法及装置 | |
CN111917748B (zh) | 基于ipfs+联盟链的智能激光器远程控制***和方法 | |
CN114465714B (zh) | 联盟链中的节点配置方法及*** | |
KR102294569B1 (ko) | 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템 | |
CN112702337A (zh) | 一种区块节点数据的授权处理方法、装置和计算机设备 | |
CN114499835A (zh) | 联盟链中的新增节点配置方法及*** | |
CN115293769B (zh) | 一种基于区块链的动态管理和校验节点*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |