CN113824674B - 联盟链式数据结构网络管理方法、管理节点及介质 - Google Patents
联盟链式数据结构网络管理方法、管理节点及介质 Download PDFInfo
- Publication number
- CN113824674B CN113824674B CN202010564760.0A CN202010564760A CN113824674B CN 113824674 B CN113824674 B CN 113824674B CN 202010564760 A CN202010564760 A CN 202010564760A CN 113824674 B CN113824674 B CN 113824674B
- Authority
- CN
- China
- Prior art keywords
- network
- node
- management
- request message
- data structure
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- 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/3236—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 cryptographic hash functions
- H04L9/3239—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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/3247—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 involving digital signatures
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种联盟链式数据结构网络管理方法、管理节点及介质。所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,用于实现联盟链式数据结构网络的管理共识的管理节点仅接入所述第一网络,所述方法包括使所述管理节点:接收请求节点发送的管理请求消息;对所述管理请求消息进行验证;在所述验证通过时对所述管理请求消息进行处理,其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
Description
技术领域
本公开涉及联盟链式数据结构网络管理领域,尤其涉及一种联盟链式数据结构网络管理方法、管理节点及介质。
背景技术
链式数据结构技术是利用数据的链式结构来保证不可篡改性和可追溯性、利用数字签名来实现权限控制、利用共识算法来达成链式数据结构网络中的各个节点的共识以生成和更新数据,以及利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的基础架构与计算方式。通常联盟链式数据结构网络为一个由形成联盟的各方组织或实体共同组建的分布式网络,其中包括由各方控制的大量节点,因此用分布式算法来达成各方对网络的管理共识可能效率较低。因此,可以使用一个中心式的管理节点来充当管理者,以在网络中的各个节点之间进行协调,并提高达成对网络的管理共识的效率。然而,中心式的管理节点不利于维护用户数据的隐私,且一旦该管理节点被攻破,则用户数据的安全性将遭受严重威胁。
此外,通常各方组织需要分别对组织内部中的各个节点进行配置,以使这些节点能够组成一个联盟链式数据结构网络,然而这样的联盟建立方式通常效率较低,并且无法支持动态地改变联盟中的成员关系。并且,当存在新的组织请求加入联盟时,联盟中的现有成员作为数据的提供方,可能希望有权利拒绝会对自身数据安全造成威胁的节点接入该网络。
因此,需要一种有效的联盟链式数据结构网络管理方法和管理节点,以在提高达成管理共识的效率的基础上进一步保证用户数据的隐私和安全性,同时有效地管理联盟中的成员关系。
发明内容
为解决上述技术问题,根据本公开的一方面,提供了一种联盟链式数据结构网络管理方法,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,用于实现联盟链式数据结构网络的管理共识的管理节点仅接入所述第一网络,所述方法包括使所述管理节点:接收请求节点发送的管理请求消息;对所述管理请求消息进行验证;在所述验证通过时对所述管理请求消息进行处理,其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
根据本公开的一些实施例,所述管理节点为所述请求节点预先颁发节点数字证书,所述对所述管理请求消息进行验证包括:利用所述节点数字证书对所述管理请求消息中包含的数字签名进行验证。
根据本公开的一些实施例,所述管理请求消息为第一网络新建请求消息,所述第一网络新建请求消息中包含节点列表,所述对所述管理请求消息进行处理包括:基于所述第一网络新建请求消息生成所述第一链式数据结构的创世数据块;以及将所述第一链式数据结构的创世数据块同步到所述节点列表中包含的节点。
根据本公开的一些实施例,所述创世数据块包括更新后的节点列表,所述更新后的节点列表是通过将所述管理节点加入到所述第一网络新建请求消息中包含的节点列表而获得的。
根据本公开的一些实施例,所述管理请求消息为第一网络变更请求消息,所述对所述管理请求消息进行处理包括:基于所述第一网络变更请求消息生成第一网络变更事务,并在所述第一网络中广播所述第一网络变更事务;收集所述第一网络中的成员节点针对所述第一网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第一网络中的成员节点。
根据本公开的一些实施例,所述根据所述反馈消息确定是否变更所述第一网络中的成员节点包括:将接收到的反馈消息作为第一智能合约的输入,其中所述第一智能合约用于:在确定变更所述第一网络中的成员节点时,在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。
根据本公开的一些实施例,所述管理请求消息为第二网络新建请求消息或第二网络变更请求消息,在所述管理请求消息为所述第二网络新建请求消息的情况下,所述对所述管理请求消息进行处理包括:基于所述第二网络新建请求消息生成第二网络新建事务,并在所述第一网络中广播所述第二网络新建事务;收集所述第一网络中的成员节点针对所述第二网络新建事务的反馈消息,以根据所述反馈消息确定是否新建第二网络,以及在所述管理请求消息为所述第二网络变更请求消息的情况下,所述对所述管理请求消息进行处理包括:基于所述第二网络变更请求消息生成第二网络变更事务,并在所述第一网络中广播所述第二网络变更事务;收集所述第一网络中的成员节点针对所述第二网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第二网络中的成员节点。
根据本公开的一些实施例,所述管理节点根据所述第一链式数据结构中的数据块在本地维护第一网络成员列表,所述对所述管理请求消息进行验证还包括:利用所述第一网络成员列表验证发送所述第二网络变更请求消息的所述请求节点的身份。
根据本公开的一些实施例,所述方法还包括:将接收到的反馈消息作为第二智能合约的输入,其中,在所述管理请求消息为所述第二网络新建请求消息的情况下,所述第二智能合约用于:在确定新建第二网络时,在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块;以及在所述管理请求消息为所述第二网络变更请求消息的情况下,所述第二智能合约用于:在确定变更所述第二网络中的成员节点时,在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。
根据本公开的一些实施例,在所述管理请求消息为所述第二网络新建请求消息的情况下,在所述第一链式数据结构中生成的包含所述第二网络新建事务的数据块用于:使所述请求节点生成新建的第二链式数据结构的创世数据块。
根据本公开的一些实施例,所述第一链式数据结构中的数据块用于使同时接入所述第一网络和所述第二网络的各个成员节点:更新本地维护的第一网络成员列表和第二网络成员列表,并对仅接入所述第二网络的同组织成员节点维护的第二网络成员列表进行更新。
根据本公开的另一方面,提供了一种用于实现联盟链式数据结构网络的管理共识的管理节点,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点仅接入所述第一网络,并包括:接收模块,配置为接收请求节点发送的管理请求消息;验证模块,配置为对所述管理请求消息进行验证;处理模块,配置为在所述验证通过时对所述管理请求消息进行处理,其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
根据本公开的另一方面,提供了一种用于实现联盟链式数据结构网络的管理共识的管理节点,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点仅接入所述第一网络,并包括:处理器;和存储器,在所述存储器中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:接收请求节点发送的管理请求消息;对所述管理请求消息进行验证;在所述验证通过时对所述管理请求消息进行处理,其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现如上所述的联盟链式数据结构网络管理方法。
利用根据本公开实施例的联盟链式数据结构网络管理方法、管理节点及介质,可以实现在提高达成管理共识的效率的基础上进一步保证用户数据的隐私和安全性,同时有效地管理联盟链式数据结构网络中的成员关系。
附图说明
通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚。
图1示出了根据本公开实施例的联盟链式数据结构网络系统的架构图;
图2示出了根据本公开实施例的由管理节点执行的联盟链式数据结构网络管理方法的流程图;
图3示出了根据本公开实施例的用于实现创建联盟的流程图;
图4示出了根据本公开实施例的用于实现加入联盟或退出联盟的流程图;
图5示出了根据本公开实施例的用于实现在联盟中新建第二网络的流程图;
图6示出了根据本公开实施例的用于实现加入或退出在联盟中已建立的第二网络的流程图;
图7示出了根据本公开实施例的管理节点的示意性框图;以及
图8示出了根据本公开实施例的管理节点的示意性框图。
具体实施方式
下面将参照附图来描述根据本发明实施例的联盟链式数据结构网络管理方法、管理节点及介质。在附图中,相同的参考标号自始至终表示相同的元件。应当理解:这里描述的实施例仅仅是说明性的,而不应被解释为限制本发明的范围。
本公开首先提供了一种联盟链式数据结构网络的整体架构。根据本公开实施例的联盟链式数据结构网络可以包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,用于实现联盟链式数据结构网络的管理共识的管理节点仅接入所述第一网络。
一般而言,一个联盟链式数据结构网络由若干互相已知对方身份的组织共同创建并维护,并且仅允许联盟成员来访问链式数据结构中的数据,因此需要对网络中的节点进行严格的身份认证和权限管理。通常为了建立一个联盟链式数据结构网络,各方组织需要分别对组织内部的各个节点进行配置,然而这样的联盟建立方式效率较低,并且无法支持动态地改变联盟中的成员关系。
本公开将整个联盟链式数据结构网络划分成了第一网络和第二网络,其中,所述第一网络中的节点对记录网络的管理数据的第一链式数据结构进行更新和维护,而所述第二网络中的节点对记录用户数据的第二链式数据结构进行更新和维护。接入了第一网络的节点才具有参与网络的管理事务以及对管理数据进行访问的权限,而接入了第二网络的节点才具有参与用户业务事务以及对用户数据进行访问的权限。因此,根据本公开实施例的联盟链式数据结构网络实现了对管理数据和用户数据进行隔离。由于负责收集各方对网络的管理共识的管理节点仅接入第一网络,因此其仅能接触到管理数据而无法接触到用户数据,从而在提高了达成管理共识的效率的基础上进一步保证了用户数据的隐私和安全性。
图1示出了根据本公开实施例的联盟链式数据结构网络系统的架构图,其中在图1的左半部分中示出了由组织A和B创建并维护的联盟链式数据结构网络A-B,而在图1的右半部分中示出了由组织B和C创建并维护的联盟链式数据结构网络B-C。以图1左半部分中的联盟链式数据结构网络A-B为例进行具体说明,其中,组织A中的节点1、组织B中的节点4和管理节点101组成了对第一链式数据结构102进行更新和维护的第一网络,并具有参与联盟链式数据结构网络A-B的管理事务以及对管理数据进行访问的权限,而组织A中的节点1和节点2以及组织B中的节点3和节点4组成了对第二链式数据结构103进行更新和维护的第二网络,并具有参与用户业务事务以及对用户数据进行访问的权限。由于负责收集组织A和组织B对网络的管理共识的管理节点101仅接入第一网络,因此其仅能接触到管理数据而无法接触到用户数据,从而提高了用户数据的隐私和安全性。
虽然在图1中仅示出了整个联盟链式数据结构网络系统包含两个联盟链式数据结构网络的示例,但可选地,所述联盟链式数据结构网络系统可以包含任意数量的联盟链式数据结构网络。此外,在各个联盟链式数据结构网络中也可以包含不止一个的第二网络以及对应的第二链式数据结构,在此不进行限制。
作为一个示例,可以基于区块链技术来实施根据本公开实施例的联盟链式数据结构网络以及链式数据结构,所述区块链技术诸如比特币(Bitcoin)区块链技术、超级账本(Hyperledger Fabric)区块链技术及以太坊(Ethereum)区块链技术。所述区块链技术是点对点通信、数字加密、多方协同共识算法、分布式账本等多个领域的融合技术,具有不可篡改、链上数据可溯源等特性。在此示例中,所述链式数据结构也可以称为区块链,所述区块链可以由一个或多个数据块(或者称为区块)组成。采用区块链技术形成的联盟链式数据结构网络可以被称为联盟区块链网络。利用根据本公开实施例的联盟链式数据结构网络管理方法,可以安全且高效地实现联盟的创建以及动态地改变联盟中的成员关系。因此,本公开可以应用在基于联盟区块链的系统中,例如应用在基于区块链的多方供应链管理系统、基于区块链的跨多公司的财务合同管理系统以及基于区块链的跨多公司的客户资源管理系统,并为这些应用系统提供联盟区块链基础设施。此外,本公开也可以应用在区块链即服务(BaaS,Blockchain as a Service)的区块链云平台管理中。
本公开基于上述网络架构还提供了一种联盟链式数据结构网络管理方法,图2示出了根据本公开实施例的由管理节点执行的联盟链式数据结构网络管理方法的流程图。如图2所示,首先,在步骤S201,接收请求节点发送的管理请求消息。其中,所述管理请求消息可以是用于请求创建联盟或改变联盟中的成员关系等的各种类型的请求消息,并且在下文中将具体阐述针对不同类型的请求消息所进行的具体处理。
在步骤S202,对所述管理请求消息进行验证。
在一个实施例中,所述管理节点可以为所述请求节点预先颁发节点数字证书,所述对所述管理请求消息进行验证可以包括:利用所述节点数字证书对所述管理请求消息中包含的数字签名进行验证。
具体而言,根据本公开实施例的管理节点可以具备为节点颁发证书的功能,从而预先为各个请求节点颁发节点数字证书。随后,所述请求节点在生成所述管理请求消息时,可以用其节点数字证书所对应的私钥对消息内容进行数字签名,并将数字签名包含在所述管理请求消息中以进行发送。管理节点在接收到所述管理请求消息之后,可以首先利用节点数字证书中包含的公钥对管理请求消息中的数字签名进行验证。如果验证成功,则可以对该管理请求消息进行进一步处理,如果验证失败,则可以丢弃该管理请求消息。因此,通过颁发数字证书,可以向各个潜在的请求节点赋予发送有效的请求消息的权限,并且管理节点可以通过对数字签名进行验证来判断请求消息是否来自于可信节点。
在一个示例中,管理节点可以由联盟链式数据结构节点制造商所控制,从而可以在制造过程中为每个制造出的节点颁发节点数字证书。可以采用现有的公钥基础设施(Public Key Infrastructure,PKI)技术来实现对节点数字证书的颁发和管理,并且根据本公开实施例所颁发的节点数字证书可以包括持有证书的节点的名称、域名、IP地址、公钥、节点唯一标识符(UID,Unique Identifier)等信息,在此不进行限制。
可选地,每个组织的内部可以具有能够为同组织的其他节点颁发节点数字证书的中间节点。在此情况下,所述管理节点可以通过为各个组织内部的中间节点颁发中间证书,从而由该中间节点来为同组织的其他节点颁发节点数字证书。在此示例中,所述管理节点可以生成根证书,并且可以在根证书、中间证书以及节点数字证书之间建立起信任链关系,从而实现通过从节点数字证书追溯到中间证书再从中间证书追溯到根证书,来对节点数字证书的有效性进行验证。
在步骤S203,在所述验证通过时对所述管理请求消息进行处理。其中,所述第一链式数据结构中的数据块是基于在此步骤中的所述处理的结果而生成的。因此,可以对各种类型的管理请求消息进行处理,并根据处理的结果而将管理数据记录到第一链式数据结构,从而利用链式数据结构本身所具有的不可篡改的特性来避免网络的管理数据被篡改,以避免恶意节点访问用户数据,从而提高联盟成员的用户数据的安全性。例如,可以在联盟的成员关系发生改变时,在第一链式数据结构中生成包含新的成员列表的数据块,以避免成员列表被篡改使恶意节点接入网络而给用户数据带来的安全风险。此外,由于负责接收并对所述管理请求消息进行处理的管理节点仅接入第一网络,因此其仅能接触到在第一链式数据结构中记录的管理数据,而无法接触到用户数据,从而在提高了达成对网络的管理共识的效率的基础上进一步保证了用户数据的隐私和安全性。
在下文中,将基于管理节点接收到的不同类型的管理请求消息来具体阐述根据本公开实施例的联盟链式数据结构网络管理方法。
图3示出了根据本公开实施例的用于实现创建联盟的流程图。
在步骤S301,接收请求节点发送的第一网络新建请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第一网络新建请求消息的管理请求消息来实现联盟的创建。在此实施例中,所述第一网络新建请求消息可以包括节点列表,以便请求将所述节点列表中的节点加入新建的联盟。然而,根据本公开实施例的所述第一网络新建请求消息还可以包括其他信息,例如可以包括待建立的联盟的名称、时间戳、节点所属组织的组织唯一标识符等。
在一个示例中,所述节点列表中的节点可以包括该请求节点本身以及与其属于同一个组织的其他节点。在另一个示例中,所述节点列表中的节点还可以包括与该请求节点属于不同组织的节点。例如,若干组织可能事先已在线下达成了一种基于实体的联盟关系,此时,可以通过其中一方组织所控制的请求节点来实现将各方组织的节点均一同加入到新建的联盟中。优选地,各个组织中有且仅有一个节点被包括在所述节点列表中,从而使每个组织仅具有一个节点加入所述第一网络并参与到管理事务,从而限制第一网络中的成员节点的数量,以提高达成管理共识的效率。
在步骤S302,对所述第一网络新建请求消息进行验证。
在此步骤中,所述管理节点在接收到所述请求节点发送的所述第一网络新建请求消息时,可以根据在步骤S202中描述的过程验证所述第一网络新建请求消息中包含的数字签名,以便在验证通过后对所述第一网络新建请求消息进行进一步处理。
在步骤S303,在所述验证通过时,基于所述第一网络新建请求消息生成所述第一链式数据结构的创世数据块。
通常来说,可以将链式数据结构中最早被构建的数据块称为创世数据块(也称为创世区块)。所述管理节点可以在验证通过后为待建立的联盟分配联盟唯一标识符,从而生成所创建的第一链式数据结构的创世数据块,其中所述创世数据块中记录了分配的所述联盟唯一标识符以及所述第一网络新建请求消息中包括的各种信息(例如,节点列表等)。
优选地,所述管理节点在接收到所述第一网络新建请求消息后,可以对其中包含的节点列表进行更新,以将该管理节点本身加入到节点列表中,从而使该管理节点也接入所述第一网络并参与到管理事务。在此情况下,所述创世数据块可以包括更新后的节点列表,其中所述更新后的节点列表是通过将所述管理节点加入到所述第一网络新建请求消息中包含的节点列表而获得的。
在步骤S304,将所述第一链式数据结构的创世数据块同步到所述节点列表中包含的节点。
在此步骤中,所述节点列表中的节点可以在接收到所述创世数据块后,确定联盟创建已经完成。此外,各个节点在接收到所述创世数据块后,还可以基于其中包含的成员列表,开始在本地维护第一网络成员列表,其中所述第一网络成员列表可以被用于实现对第一网络的接入控制,以进一步提高联盟用户数据的安全性。具体而言,所述第一网络中的成员节点在接收到在所述第一网络中广播的管理事务时,可以根据本地维护的第一网络成员列表,判断发送对应的请求消息的节点是否被包括在所述第一网络成员列表中,以便在确定发送请求消息的节点被包括在所述第一网络成员列表时对所述管理事务进行处理,并在确定发送请求消息的节点未被包括在所述第一网络成员列表时丢弃所述管理事务。
图4示出了根据本公开实施例的用于实现加入联盟或退出联盟的流程图。
在步骤S401,接收请求节点发送的第一网络变更请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第一网络变更请求消息的管理请求消息来实现使该请求节点本身加入联盟或退出联盟。其中,所述第一网络变更请求消息可以包括所述请求节点希望加入或退出的联盟的联盟唯一标识符。可选地,所述第一网络变更请求消息还可以包括诸如节点所属组织的组织唯一标识符、时间戳等其他信息,在此不进行限制。
在步骤S402,对所述第一网络变更请求消息进行验证。
在此步骤中,所述管理节点在接收到所述请求节点发送的所述第一网络变更请求消息时,可以根据在步骤S202中描述的过程验证所述第一网络变更请求消息中包含的数字签名,以便在验证通过后对所述第一网络变更请求消息进行进一步处理。
在步骤S403,在所述验证通过时,基于所述第一网络变更请求消息生成第一网络变更事务,并在所述第一网络中广播所述第一网络变更事务。
在此步骤中,优选地,所述管理节点可以通过在当前的第一网络成员列表中加入或删除所述请求节点来获得更新后的第一网络成员列表,并将所述更新后的第一网络成员列表包括在所述第一网络变更事务中。然而,根据本公开实施例的所述第一网络变更事务还可以包括所述第一网络变更请求消息中包含的各种信息,诸如节点所属组织的组织唯一标识符、时间戳等。
在一个示例中,所述管理节点可以为自身颁发节点数字证书,并且在生成所述第一网络变更事务时,用其节点数字证书所对应的私钥对事务内容进行数字签名,并将数字签名包含在所述第一网络变更事务中进行发送。所述第一网络中的成员节点在接收到所述第一网络变更事务之后,可以首先利用管理节点的节点数字证书中包含的公钥对所述第一网络变更事务中的数字签名进行验证,以根据验证结果决定处理或丢弃所述事务。在下文中,所述第一网络中的成员节点在接收到管理节点广播的任何类型的管理事务时,均可以首先对其中包含的数字签名进行验证,后续将不再进行赘述。
在步骤S404,收集所述第一网络中的成员节点针对所述第一网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第一网络中的成员节点。
在此步骤中,所述第一网络中的成员节点在接收到所述第一网络变更事务后,可以决定同意或拒绝所述第一网络变更事务,从而生成对应的表示同意或表示拒绝的反馈消息并将其发送给管理节点。
此外,在另一个示例中,所述第一网络中的成员节点可以在决定同意所述第一网络变更事务时生成表示同意的反馈消息,并且在决定拒绝所述第一网络变更事务时直接丢弃所述事务。在此示例中,所述成员节点可以在决定同意所述第一网络变更事务时,通过对所述第一网络变更事务进行数字签名,并发送包含数字签名的第一网络变更事务以作为所述表示同意的反馈消息。
在一个示例中,所述根据所述反馈消息确定是否变更所述第一网络中的成员节点可以包括:将接收到的反馈消息作为第一智能合约的输入,其中所述第一智能合约用于:在确定变更所述第一网络中的成员节点时,在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。如本领域技术人员所熟知的,智能合约是一段用于实现各方约定的规则的自动化脚本代码,在满足触发条件时,智能合约能够自动地根据约定好的规则对输入进行处理,并将处理所得的结果记录在链式数据结构中。在一个示例中,可以由运行智能合约的节点来执行生成新的数据块的操作,以将处理所得的结果记录在链式数据结构中。在另一个示例中,运行智能合约的节点也可以将处理结果发送给其他专门用于出块的节点(例如,超级账本区块链中的排序(order)节点,比特币区块链中的矿工节点等),使得与运行智能合约的节点不同的其他节点能够执行生成新的数据块的操作,在此不进行限制。
在此示例中,管理节点可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将所述反馈消息作为所述第一智能合约的输入,其中,在所述第一智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定变更所述第一网络中的成员节点,将第一智能合约的运行结果加入第一网络变更事务中,并在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。可选地,可以针对所述请求节点请求退出联盟的情况而在所述第一智能合约中将上述的预定数量设置为零,从而实现请求节点可以在不需要获得其他联盟成员的同意的情况下退出联盟。
在确定变更所述第一网络中的成员节点的情况下,可以通过将在所述第一链式数据结构中生成的数据块同步到所述请求节点,以告知其已经成功加入联盟或退出联盟。此外,还可以将所述数据块同步到所述第一网络中的各个成员节点,以便使各个成员节点可以据此更新本地维护的第一网络成员列表。
在根据所述反馈消息确定不变更所述第一网络中的成员节点的情况下,管理节点可以向所述请求节点发送失败通知消息,以告知其未能成功加入联盟或退出联盟。可选地,管理节点可以将由未发送表示同意的反馈消息的节点组成的节点列表包含在所述失败通知消息中一同进行发送,以便请求节点能够确定拒绝其加入或退出联盟的节点的身份。
经由上述过程,根据本公开实施例的联盟链式数据结构网络管理方法能够支持动态地改变联盟中的成员关系,并且只有在联盟中的所有现有组织之间达成了允许加入联盟的共识之后才能允许新的组织节点加入联盟,从而进一步提高了用户数据的安全性。
此外,经由上述第一网络变更请求消息而加入了联盟的请求节点可以实现接入到所述第一网络,并参与到整个联盟链式数据结构网络的管理事务中。例如,所述请求节点在成为第一网络的成员节点后,可以向管理节点发送各种类型的管理请求消息(例如,请求在联盟中新建第二网络,或者请求将其他节点加入到已建立的第二网络中),在下文中将对相关的细节进行详细阐述。
图5示出了根据本公开实施例的用于实现在联盟中新建第二网络的流程图。
在步骤S501,接收请求节点发送的第二网络新建请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第二网络新建请求消息的管理请求消息来实现在联盟中新建第二网络以及创建对应的第二链式数据结构。其中,所述第二网络新建请求消息可以包括节点列表,以便请求将所述节点列表中的节点加入新建的第二网络中。然而,根据本公开实施例的所述第二网络新建请求消息还可以包括其他信息,例如可以包括待创建的第二链式数据结构的名称、时间戳、采用的共识算法等,在此不进行限制。
在一个示例中,所述节点列表中的节点不仅可以包括该请求节点本身,还可以包括与该请求节点属于同一个组织的其他节点,以便利用该请求节点将同组织的一个或多个其他节点一同加入新建的第二网络并参与到用户业务事务中。
在步骤S502,对所述第二网络新建请求消息进行验证。
在此步骤中,所述管理节点在接收到所述请求节点发送的第二网络新建请求消息时,可以根据在步骤S202中描述的过程验证所述第二网络新建请求消息中包含的数字签名,以便在验证通过后对所述第二网络新建请求消息进行进一步处理。
在一个示例中,所述管理节点可以根据所述第一链式数据结构中的数据块在本地维护第一网络成员列表。在上述对数字签名的验证通过后,所述管理节点可以进一步利用所述第一网络成员列表验证发送所述第二网络新建请求消息的请求节点的身份。相应地,管理节点可以在确定所述请求节点属于第一网络中的成员时生成所述第二网络新建事务,并且确定所述请求节点不属于第一网络中的成员时丢弃所述第二网络新建请求消息。通过利用上述过程来验证请求节点的身份,可以使得仅接入了第一网络并具有参与管理事务权限的第一网络成员才具有发送有效的第二网络新建请求消息的权限,从而避免联盟外的节点随意地篡改网络中的成员关系并对用户数据造成威胁。
在下文中,管理节点在接收到除了用于创建联盟的管理请求消息(例如,第一网络新建请求消息)或加入联盟的管理请求消息(例如,第一网络变更请求消息)以外的其他请求消息时,均可以类似地利用第一网络成员列表来验证请求节点的身份,后续将不再进行赘述。
在步骤S503,在所述验证通过时,基于所述第二网络新建请求消息生成第二网络新建事务,并在所述第一网络中广播所述第二网络新建事务。
在上述验证过程通过后,所述管理节点可以为待创建的第二链式数据结构分配链唯一标识符,以生成所述第二网络新建事务并在所述请求节点接入的第一网络中广播所述第二网络新建事务,其中所述第二网络新建事务中可以包含分配的所述链唯一标识符以及所述第二网络新建请求消息中包括的各种信息(例如,节点列表等)。
在步骤S504,收集所述第一网络中的成员节点针对所述第二网络新建事务的反馈消息,以根据所述反馈消息确定是否新建第二网络。
在此步骤中,所述第一网络中的成员节点可以决定同意或拒绝所述第二网络新建事务,并以类似上述的方式发送针对所述第二网络新建事务的反馈消息,例如,发送包含数字签名的第二网络新建事务以作为所述表示同意的反馈消息。
在一个示例中,管理节点可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将接收到的反馈消息作为第二智能合约的输入,其中,所述第二智能合约用于:在确定新建第二网络时,在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块。
具体地,在所述第二智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定新建第二网络,将第二智能合约的运行结果加入第二网络新建事务中,并在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。
在确定新建第二网络的情况下,可以将所生成的包含所述第二网络新建事务的数据块在第一网络中的各个成员节点处同步。作为第一网络成员的所述请求节点在接收到包含所述第二网络新建事务的所述数据块后,可以生成新建的第二链式数据结构的创世数据块,并将该创世数据块同步到所述节点列表中的其他节点,以完成新建第二网络以及创建第二链式数据结构的操作。其中,所述创世数据块中可以记录联盟唯一标识符、链唯一标识符以及第二网络新建请求消息中包含的各种信息(例如,共识算法、节点列表等)。在此过程中,由于第二链式数据结构的创世数据块是由请求节点而并非是管理节点生成的,因此可以避免管理节点被攻破后恶意篡改节点列表,从而进一步保证了用户数据的隐私和安全性。
此外,所述节点列表中的各个节点在获得了所述第二链式数据结构的创世数据块后,还可以基于其中包含的成员列表,开始在本地维护第二网络成员列表,其中所述第二网络成员列表可以用于实现对第二网络的接入控制,以进一步提高联盟用户数据的安全性。具体而言,当第二网络中的成员节点在接收到在第二网络中广播的用户业务事务时,可以根据本地维护的第二网络成员列表,判断发送对应的请求消息的节点是否被包括在所述第二网络成员列表中,以便在确定发送请求消息的节点被包括在所述第二网络成员列表时对所述用户业务事务进行处理,并在确定发送请求消息的节点未被包括在所述第二网络成员列表时丢弃所述用户业务事务。由于各个节点可能接入不止一个的第二网络并参与维护不同的第二链式数据结构,因此可以在本地一并存储与各个第二网络成员列表对应的第二链式数据结构的名称和链唯一标识符等信息,以便对不同的第二网络成员列表进行区分。
图6示出了根据本公开实施例的用于实现加入或退出在联盟中已建立的第二网络的流程图。
在步骤S601,接收请求节点发送的第二网络变更请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第二网络变更请求消息的管理请求消息来实现加入或退出所述第二网络。作为第一网络成员的请求节点可以访问所述第一链式数据结构中的管理数据并获得关于联盟中已建立的各个第二网络的信息,从而选择加入其中的一个或多个第二网络。根据本公开实施例的所述第二网络变更请求消息可以包括第二链式数据结构的名称、时间戳、节点列表等,在此不进行限制。类似地,所述节点列表中的节点不仅可以包括该请求节点本身,还可以包括与该请求节点属于同一个组织的其他节点,以便利用该请求节点将同组织的一个或多个其他节点一同加入或退出所述第二网络。
在步骤S602,对所述第二网络变更请求消息进行验证。
在此步骤中,所述管理节点可以以类似上述的过程对接收到的所述第二网络变更请求消息中包含的数字签名以及所述请求节点的身份进行验证,并在验证通过后才生成所述第二网络变更事务。例如,管理节点可以通过第一网络成员列表对所述请求节点的身份进行验证,使得仅接入了第一网络并具有参与管理事务权限的第一网络成员才具有发送有效的第二网络变更请求消息的权限。
在步骤S603,在所述验证通过时,基于所述第二网络变更请求消息生成第二网络变更事务,并在所述第一网络中广播所述第二网络变更事务。
优选地,所述管理节点可以通过在当前的第二网络成员列表中加入或删除所述节点列表中的节点来获得更新后的第二网络成员列表,并将所述更新后的第二网络成员列表包括在所述第二网络变更事务中。然而,根据本公开实施例的所述第二网络变更事务还可以包括所述第二网络变更请求消息中包含的各种信息,诸如第二链式数据结构的名称、时间戳等。
在步骤S604,收集所述第一网络中的成员节点针对所述第二网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第二网络中的成员节点。
在此步骤中,所述第一网络中的成员节点可以决定同意或拒绝所述第二网络变更事务,并以类似上述的方式发送针对所述第二网络变更事务的反馈消息,例如,发送包含数字签名的第二网络变更事务以作为所述表示同意的反馈消息。
在一个示例中,管理节点可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将接收到的反馈消息作为第二智能合约的输入,其中,所述第二智能合约用于:在确定变更所述第二网络中的成员节点时,在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。
具体地,在所述第二智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定变更所述第二网络中的成员节点,将第二智能合约的运行结果加入第二网络变更事务中,并在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。
在确定变更所述第二网络的情况下,可以将所生成的包含所述第二网络变更事务的数据块在第一网络中的各个成员节点处进行同步,从而完成变更所述第二网络中的成员。优选地,同时接入所述第一网络以及一个或多个第二网络的成员节点可以在获得了包含所述第二网络变更事务的数据块时,据此更新在本地维护的第二网络成员列表,同时将更新后的第二网络成员列表发送给仅接入第二网络的同组织的其他成员节点,以便对仅接入第二网络的同组织成员节点维护的第二网络成员列表进行更新。
利用上述根据本公开实施例的联盟链式数据结构网络管理方法,可以对管理数据和用户数据进行隔离并使管理节点仅具有访问管理数据的权限,从而在利用管理节点提高达成管理共识的效率的基础上进一步保证用户数据的隐私和安全性。此外,所述管理方法还可以实现根据网络中的各方共识来动态地改变联盟中的成员关系,并且只有在联盟中的所有现有组织之间达成了允许加入联盟的共识之后才能允许新的组织节点加入联盟,从而进一步提高了用户数据的安全性。并且,所述管理方法通过将包含更新后的成员列表等各种类型的管理数据均记录到第一链式数据结构,可以利用链式数据结构本身所具有的不可篡改的特性来避免联盟的管理数据被篡改,以避免恶意节点访问用户数据,提高联盟成员的用户数据的安全性。
根据本公开的另一方面,还提供了一种用于实现联盟链式数据结构网络的管理共识的管理节点。图7示出了根据本公开实施例的管理节点的示意性框图。其中,根据本公开实施例的联盟链式数据结构网络可以包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点仅接入所述第一网络。
如图7所示,所述管理节点700可以包括接收模块701、验证模块702、处理模块703、证书颁发模块704和接入控制模块705。
根据本公开的实施例,所述接收模块701可以接收请求节点发送的管理请求消息。其中,所述管理请求消息可以是用于请求创建联盟或改变联盟中的成员关系等的各种类型的请求消息,并且在下文中将具体阐述针对不同类型的请求消息所进行的具体处理。
所述验证模块702可以对所述管理请求消息进行验证。
在一个实施例中,所述证书颁发模块704可以为所述请求节点预先颁发节点数字证书,所述对所述管理请求消息进行验证可以包括:所述验证模块702利用所述节点数字证书对所述管理请求消息中包含的数字签名进行验证。
具体而言,所述证书颁发模块704可以预先为各个请求节点颁发节点数字证书。随后,所述请求节点在生成所述管理请求消息时,可以用其节点数字证书所对应的私钥对消息内容进行数字签名,并将数字签名包含在所述管理请求消息中以进行发送。在接收到所述管理请求消息之后,验证模块702可以首先利用节点数字证书中包含的公钥对管理请求消息中的数字签名进行验证。如果验证成功,则处理模块703可以对该管理请求消息进行进一步处理,如果验证失败,则处理模块703可以丢弃该管理请求消息。因此,通过颁发数字证书,可以向各个潜在的请求节点赋予发送有效的请求消息的权限,并且管理节点可以通过对数字签名进行验证来判断请求消息是否来自于可信节点。
可选地,每个组织的内部可以具有能够为同组织的其他节点颁发节点数字证书的中间节点。在此情况下,所述证书颁发模块704可以通过为各个组织内部的中间节点颁发中间证书,从而由该中间节点来为同组织的其他节点颁发节点数字证书。在此示例中,所述证书颁发模块704可以生成根证书,并且可以在根证书、中间证书以及节点数字证书之间建立起信任链关系,从而实现通过从节点数字证书追溯到中间证书再从中间证书追溯到根证书,来对节点数字证书的有效性进行验证。
所述处理模块703可以在所述验证通过时对所述管理请求消息进行处理。所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。所述处理模块703可以对各种类型的管理请求消息进行处理,并根据处理的结果而将管理数据记录到第一链式数据结构,从而利用链式数据结构本身所具有的不可篡改的特性来避免网络的管理数据被篡改,以避免恶意节点访问用户数据,从而提高联盟成员的用户数据的安全性。例如,可以在联盟的成员关系发生改变时,在第一链式数据结构中生成包含新的成员列表的数据块,以避免成员列表被篡改使恶意节点接入网络而给用户数据带来的安全风险。此外,由于负责接收并对所述管理请求消息进行处理的管理节点700仅接入第一网络,因此其仅能接触到在第一链式数据结构中记录的管理数据,而无法接触到用户数据,从而在提高了达成对网络的管理共识的效率的基础上进一步保证了用户数据的隐私和安全性。
在下文中,将基于管理节点700接收到的不同类型的管理请求消息来具体阐述根据本公开实施例的管理节点700的操作。
所述管理节点700可以实现如图3所示的根据本公开实施例的用于实现创建联盟的处理。
在此处理中,所述接收模块701接收请求节点发送的第一网络新建请求消息。
具体而言,所述请求节点可以通过向管理节点700发送作为第一网络新建请求消息的管理请求消息来实现联盟的创建。在此实施例中,所述第一网络新建请求消息可以包括节点列表,以便请求将所述节点列表中的节点加入新建的联盟。然而,根据本公开实施例的所述第一网络新建请求消息还可以包括其他信息,例如可以包括待建立的联盟的名称、时间戳、节点所属组织的组织唯一标识符等。
在一个示例中,所述节点列表中的节点可以包括该请求节点本身以及与其属于同一个组织的其他节点。在另一个示例中,所述节点列表中的节点还可以包括与该请求节点属于不同组织的节点。例如,若干组织可能事先已在线下达成了一种基于实体的联盟关系,此时,可以通过其中一方组织所控制的请求节点来实现将各方组织的节点均一同加入到新建的联盟中。优选地,各个组织中有且仅有一个节点被包括在所述节点列表中,从而使每个组织仅具有一个节点加入所述第一网络并参与到管理事务,从而限制第一网络中的成员节点的数量,以提高达成管理共识的效率。
所述验证模块702对所述第一网络新建请求消息进行验证。
其中,所述验证模块702可以根据在步骤S202中描述的过程验证所述第一网络新建请求消息中包含的数字签名,以便在验证通过后对所述第一网络新建请求消息进行进一步处理。
所述处理模块703在所述验证通过时,基于所述第一网络新建请求消息生成所述第一链式数据结构的创世数据块。
通常来说,可以将链式数据结构中最早被构建的数据块称为创世数据块(也称为创世区块)。所述处理模块703可以在验证通过后为待建立的联盟分配联盟唯一标识符,从而生成所创建的第一链式数据结构的创世数据块,其中所述创世数据块中记录了分配的所述联盟唯一标识符以及所述第一网络新建请求消息中包括的各种信息(例如,节点列表等)。
优选地,所述处理模块703可以对所述第一网络新建请求消息的中包含的节点列表进行更新,以将该管理节点700本身加入到节点列表中,从而使该管理节点700也接入所述第一网络并参与到管理事务。在此情况下,所述创世数据块可以包括更新后的节点列表,其中所述更新后的节点列表是通过将所述管理节点700加入到所述第一网络新建请求消息中包含的节点列表而获得的。
所述处理模块703将所述第一链式数据结构的创世数据块同步到所述节点列表中包含的节点。
其中,所述节点列表中的节点可以在接收到所述创世数据块后,确定联盟创建已经完成。此外,各个节点在接收到所述创世数据块后,还可以基于其中包含的成员列表,开始在本地维护第一网络成员列表,其中所述第一网络成员列表可以被用于实现对第一网络的接入控制,以进一步提高联盟用户数据的安全性。具体而言,所述第一网络中的成员节点在接收到在所述第一网络中广播的管理事务时,可以根据本地维护的第一网络成员列表,判断发送对应的请求消息的节点是否被包括在所述第一网络成员列表中,以便在确定发送请求消息的节点被包括在所述第一网络成员列表时对所述管理事务进行处理,并在确定发送请求消息的节点未被包括在所述第一网络成员列表时丢弃所述管理事务。
所述管理节点700还可以实现如图4所示的根据本公开实施例的用于实现加入联盟或退出联盟的处理。
在此处理中,所述接收模块701接收请求节点发送的第一网络变更请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第一网络变更请求消息的管理请求消息来实现使该请求节点本身加入联盟或退出联盟。其中,所述第一网络变更请求消息可以包括所述请求节点希望加入或退出的联盟的联盟唯一标识符。可选地,所述第一网络变更请求消息还可以包括诸如节点所属组织的组织唯一标识符、时间戳等其他信息,在此不进行限制。
所述验证模块702对所述第一网络变更请求消息进行验证。
其中,所述验证模块702可以根据在步骤S202中描述的过程验证所述第一网络变更请求消息中包含的数字签名,以便在验证通过后对所述第一网络变更请求消息进行进一步处理。
所述处理模块703在所述验证通过时,基于所述第一网络变更请求消息生成第一网络变更事务,并在所述第一网络中广播所述第一网络变更事务。
其中,优选地,所述处理模块703可以通过在当前的第一网络成员列表中加入或删除所述请求节点来获得更新后的第一网络成员列表,并将所述更新后的第一网络成员列表包括在所述第一网络变更事务中。然而,根据本公开实施例的所述第一网络变更事务还可以包括所述第一网络变更请求消息中包含的各种信息,诸如节点所属组织的组织唯一标识符、时间戳等。
在一个示例中,所述管理节点700可以利用证书颁发模块704为自身颁发节点数字证书,并且在生成所述第一网络变更事务时,用其节点数字证书所对应的私钥对事务内容进行数字签名,并将数字签名包含在所述第一网络变更事务中进行发送。所述第一网络中的成员节点在接收到所述第一网络变更事务之后,可以首先利用管理节点的节点数字证书中包含的公钥对所述第一网络变更事务中的数字签名进行验证,以根据验证结果决定处理或丢弃所述事务。在下文中,所述第一网络中的成员节点在接收到管理节点广播的任何类型的管理事务时,均可以首先对其中包含的数字签名进行验证,后续将不再进行赘述。
所述处理模块703收集所述第一网络中的成员节点针对所述第一网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第一网络中的成员节点。
其中,所述第一网络中的成员节点在接收到所述第一网络变更事务后,可以决定同意或拒绝所述第一网络变更事务,从而生成对应的表示同意或表示拒绝的反馈消息并将其发送给管理节点。
此外,在另一个示例中,所述第一网络中的成员节点可以在决定同意所述第一网络变更事务时生成表示同意的反馈消息,并且在决定拒绝所述第一网络变更事务时直接丢弃所述事务。在此示例中,所述成员节点可以在决定同意所述第一网络变更事务时,通过对所述第一网络变更事务进行数字签名,并发送包含数字签名的第一网络变更事务以作为所述表示同意的反馈消息。
在一个示例中,所述根据所述反馈消息确定是否变更所述第一网络中的成员节点可以包括:所述处理模块703将接收到的反馈消息作为第一智能合约的输入,其中所述第一智能合约用于:在确定变更所述第一网络中的成员节点时,在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。如本领域技术人员所熟知的,智能合约是一段用于实现各方约定的规则的自动化脚本代码,在满足触发条件时,智能合约能够自动地根据约定好的规则对输入进行处理,并将处理所得的结果记录在链式数据结构中。在一个示例中,可以由运行智能合约的节点来执行生成新的数据块的操作,以将处理所得的结果记录在链式数据结构中。在另一个示例中,运行智能合约的节点也可以将处理结果发送给其他专门用于出块的节点(例如,超级账本区块链中的排序(order)节点,比特币区块链中的矿工节点等),使得与运行智能合约的节点不同的其他节点能够执行生成新的数据块的操作,在此不进行限制。
在此示例中,所述处理模块703可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将所述反馈消息作为所述第一智能合约的输入,其中,在所述第一智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定变更所述第一网络中的成员节点,将第一智能合约的运行结果加入第一网络变更事务中,并在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。可选地,可以针对所述请求节点请求退出联盟的情况而在所述第一智能合约中将上述的预定数量设置为零,从而实现请求节点可以在不需要获得其他联盟成员的同意的情况下退出联盟。
在确定变更所述第一网络中的成员节点的情况下,可以通过将在所述第一链式数据结构中生成的数据块同步到所述请求节点,以告知其已经成功加入联盟或退出联盟。此外,还可以将所述数据块同步到所述第一网络中的各个成员节点,以便使各个成员节点可以据此更新本地维护的第一网络成员列表。
在根据所述反馈消息确定不变更所述第一网络中的成员节点的情况下,所述处理模块703可以向所述请求节点发送失败通知消息,以告知其未能成功加入联盟或退出联盟。可选地,所述处理模块703可以将由未发送表示同意的反馈消息的节点组成的节点列表包含在所述失败通知消息中一同进行发送,以便请求节点能够确定拒绝其加入或退出联盟的节点的身份。
经由上述处理,根据本公开实施例的管理节点700能够支持动态地改变联盟中的成员关系,并且只有在联盟中的所有现有组织之间达成了允许加入联盟的共识之后才能允许新的组织节点加入联盟,从而进一步提高了用户数据的安全性。
此外,经由上述第一网络变更请求消息而加入了联盟的请求节点可以实现接入到所述第一网络,并参与到整个联盟链式数据结构网络的管理事务中。例如,所述请求节点在成为第一网络的成员节点后,可以向管理节点发送各种类型的管理请求消息(例如,请求在联盟中新建第二网络,或者请求将其他节点加入到已建立的第二网络中),在下文中将对相关的细节进行详细阐述。
所述管理节点700还可以实现如图5所示的根据本公开实施例的用于实现在联盟中新建第二网络的处理。
在此处理中,所述接收模块701接收请求节点发送的第二网络新建请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第二网络新建请求消息的管理请求消息来实现在联盟中新建第二网络以及创建对应的第二链式数据结构。其中,所述第二网络新建请求消息可以包括节点列表,以便请求将所述节点列表中的节点加入新建的第二网络中。然而,根据本公开实施例的所述第二网络新建请求消息还可以包括其他信息,例如可以包括待创建的第二链式数据结构的名称、时间戳、采用的共识算法等,在此不进行限制。
在一个示例中,所述节点列表中的节点不仅可以包括该请求节点本身,还可以包括与该请求节点属于同一个组织的其他节点,以便利用该请求节点将同组织的一个或多个其他节点一同加入新建的第二网络并参与到用户业务事务中。
所述验证模块702对所述第二网络新建请求消息进行验证。
其中,所述验证模块702可以根据在步骤S202中描述的过程验证所述第二网络新建请求消息中包含的数字签名,以便在验证通过后对所述第二网络新建请求消息进行进一步处理。
在一个示例中,所述管理节点700中的接入控制模块705可以根据所述第一链式数据结构中的数据块在本地维护第一网络成员列表。在上述对数字签名的验证通过后,所述验证模块702可以进一步利用所述第一网络成员列表验证发送所述第二网络新建请求消息的请求节点的身份。相应地,管理节点700可以在确定所述请求节点属于第一网络中的成员时生成所述第二网络新建事务,并且确定所述请求节点不属于第一网络中的成员时丢弃所述第二网络新建请求消息。通过利用上述过程来验证请求节点的身份,可以使得仅接入了第一网络并具有参与管理事务权限的第一网络成员才具有发送有效的第二网络新建请求消息的权限,从而避免联盟外的节点随意地篡改网络中的成员关系并对用户数据造成威胁。
在下文中,管理节点700在接收到除了用于创建联盟的管理请求消息(例如,第一网络新建请求消息)或加入联盟的管理请求消息(例如,第一网络变更请求消息)以外的其他请求消息时,均可以类似地利用第一网络成员列表来验证请求节点的身份,后续将不再进行赘述。
所述处理模块703在所述验证通过时,基于所述第二网络新建请求消息生成第二网络新建事务,并在所述第一网络中广播所述第二网络新建事务。
在上述验证过程通过后,所述处理模块703可以为待创建的第二链式数据结构分配链唯一标识符,以生成所述第二网络新建事务并在所述请求节点接入的第一网络中广播所述第二网络新建事务,其中所述第二网络新建事务中可以包含分配的所述链唯一标识符以及所述第二网络新建请求消息中包括的各种信息(例如,节点列表等)。
所述处理模块703收集所述第一网络中的成员节点针对所述第二网络新建事务的反馈消息,以根据所述反馈消息确定是否新建第二网络。
其中,所述第一网络中的成员节点可以决定同意或拒绝所述第二网络新建事务,并以类似上述的方式发送针对所述第二网络新建事务的反馈消息,例如,发送包含数字签名的第二网络新建事务以作为所述表示同意的反馈消息。
在一个示例中,所述处理模块703可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将接收到的反馈消息作为第二智能合约的输入,其中,所述第二智能合约用于:在确定新建第二网络时,在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块。
具体地,在所述第二智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定新建第二网络,将第二智能合约的运行结果加入第二网络新建事务中,并在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。
在确定新建第二网络的情况下,可以将所生成的包含所述第二网络新建事务的数据块在第一网络中的各个成员节点处同步。作为第一网络成员的所述请求节点在接收到包含所述第二网络新建事务的所述数据块后,可以生成新建的第二链式数据结构的创世数据块,并将该创世数据块同步到所述节点列表中的其他节点,以完成新建第二网络以及创建第二链式数据结构的操作。其中,所述创世数据块中可以记录联盟唯一标识符、链唯一标识符以及第二网络新建请求消息中包含的各种信息(例如,共识算法、节点列表等)。在此过程中,由于第二链式数据结构的创世数据块是由请求节点而并非是管理节点700生成的,因此可以避免管理节点700被攻破后恶意篡改节点列表,从而进一步保证了用户数据的隐私和安全性。
此外,所述节点列表中的各个节点在获得了所述第二链式数据结构的创世数据块后,还可以基于其中包含的成员列表,开始在本地维护第二网络成员列表,其中所述第二网络成员列表可以用于实现对第二网络的接入控制,以进一步提高联盟用户数据的安全性。具体而言,当第二网络中的成员节点在接收到在第二网络中广播的用户业务事务时,可以根据本地维护的第二网络成员列表,判断发送对应的请求消息的节点是否被包括在所述第二网络成员列表中,以便在确定发送请求消息的节点被包括在所述第二网络成员列表时对所述用户业务事务进行处理,并在确定发送请求消息的节点未被包括在所述第二网络成员列表时丢弃所述用户业务事务。由于各个节点可能接入不止一个的第二网络并参与维护不同的第二链式数据结构,因此可以在本地一并存储与各个第二网络成员列表对应的第二链式数据结构的名称和链唯一标识符等信息,以便对不同的第二网络成员列表进行区分。
所述管理节点700还可以实现如图7所示的根据本公开实施例的用于实现加入或退出在联盟中已建立的第二网络的处理。
在此处理中,所述接收模块701接收请求节点发送的第二网络变更请求消息。
具体而言,所述请求节点可以通过向管理节点发送作为第二网络变更请求消息的管理请求消息来实现加入或退出所述第二网络。作为第一网络成员的请求节点可以访问所述第一链式数据结构中的管理数据并获得关于联盟中已建立的各个第二网络的信息,从而选择加入其中的一个或多个第二网络。根据本公开实施例的所述第二网络变更请求消息可以包括第二链式数据结构的名称、时间戳、节点列表等,在此不进行限制。类似地,所述节点列表中的节点不仅可以包括该请求节点本身,还可以包括与该请求节点属于同一个组织的其他节点,以便利用该请求节点将同组织的一个或多个其他节点一同加入或退出所述第二网络。
所述验证模块702对所述第二网络变更请求消息进行验证。
其中,所述验证模块702可以以类似上述的过程对接收到的所述第二网络变更请求消息中包含的数字签名以及所述请求节点的身份进行验证,并在验证通过后才生成所述第二网络变更事务。例如,所述验证模块702可以通过第一网络成员列表对所述请求节点的身份进行验证,使得仅接入了第一网络并具有参与管理事务权限的第一网络成员才具有发送有效的第二网络变更请求消息的权限。
所述处理模块703在所述验证通过时,基于所述第二网络变更请求消息生成第二网络变更事务,并在所述第一网络中广播所述第二网络变更事务。
优选地,所述处理模块703可以通过在当前的第二网络成员列表中加入或删除所述节点列表中的节点来获得更新后的第二网络成员列表,并将所述更新后的第二网络成员列表包括在所述第二网络变更事务中。然而,根据本公开实施例的所述第二网络变更事务还可以包括所述第二网络变更请求消息中包含的各种信息,诸如第二链式数据结构的名称、时间戳等。
所述处理模块703收集所述第一网络中的成员节点针对所述第二网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第二网络中的成员节点。
其中,所述第一网络中的成员节点可以决定同意或拒绝所述第二网络变更事务,并以类似上述的方式发送针对所述第二网络变更事务的反馈消息,例如,发送包含数字签名的第二网络变更事务以作为所述表示同意的反馈消息。
在一个示例中,所述处理模块703可以在预定时间内收集所述第一网络中的各个成员节点发送的反馈消息,并将接收到的反馈消息作为第二智能合约的输入,其中,所述第二智能合约用于:在确定变更所述第二网络中的成员节点时,在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。
具体地,在所述第二智能合约中,可以约定:如果在预定的时间内接收到预定数量的、有效的表示同意的反馈消息,则确定变更所述第二网络中的成员节点,将第二智能合约的运行结果加入第二网络变更事务中,并在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。其中,可以通过对所述反馈消息中包含的数字签名进行验证,并在验证通过时确定其为有效的反馈消息。
在确定变更所述第二网络的情况下,可以将所生成的包含所述第二网络变更事务的数据块在第一网络中的各个成员节点处进行同步,从而完成变更所述第二网络中的成员。优选地,同时接入所述第一网络以及一个或多个第二网络的成员节点可以在获得了包含所述第二网络变更事务的数据块时,据此更新在本地维护的第二网络成员列表,同时将更新后的第二网络成员列表发送给仅接入第二网络的同组织的其他成员节点,以便对仅接入第二网络的同组织成员节点维护的第二网络成员列表进行更新。
利用上述根据本公开实施例的用于实现联盟链式数据结构网络的管理共识的管理节点,通过对管理数据和用户数据进行隔离并使所述管理节点仅具有访问管理数据的权限,从而在利用管理节点提高达成管理共识的效率的基础上进一步保证用户数据的隐私和安全性。此外,所述管理节点还可以实现根据网络中的各方共识来动态地改变联盟中的成员关系,并且只有在联盟中的所有现有组织之间达成了允许加入联盟的共识之后才能允许新的组织节点加入联盟,从而进一步提高了用户数据的安全性。并且,通过将包含更新后的成员列表等各种类型的管理数据均记录到第一链式数据结构,可以利用链式数据结构本身所具有的不可篡改的特性来避免联盟的管理数据被篡改,以避免恶意节点访问用户数据,提高联盟成员的用户数据的安全性。
根据本公开的另一方面,还提供了一种用于实现联盟链式数据结构网络的管理共识的管理节点。图8示出了根据本公开实施例的管理节点的示意性框图。如图8所示,该管理节点800可以是计算机或服务器。其中,所述链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点800仅接入所述第一网络。
如图8所示,管理节点800包括一个或多个处理器810以及存储器820,当然,除此之外,管理节点800还可能包括输入装置、输出装置(未示出)等,这些组件可以通过总线系统和/或其它形式的连接机构互连。应当注意,图8所示的管理节点800的组件和结构只是示例性的,而非限制性的,根据需要,管理节点800也可以具有其他组件和结构。
处理器810可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以利用存储器820中所存储的计算机程序指令以执行期望的功能,可以包括:接收请求节点发送的管理请求消息;对所述管理请求消息进行验证;在所述验证通过时对所述管理请求消息进行处理,其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
存储器820可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器810可以运行所述程序指令,以实现上文所述的本发明的实施例的显示装置的功能以及/或者其它期望的功能,并且/或者可以执行根据本发明实施例的显示方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据。
根据本公开的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现如上所述的联盟链式数据结构网络管理方法。
当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。
注意,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述发明的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本发明中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。
另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。
以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。
可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。
结合本发明描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
在此发明的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。
所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘。
因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。
软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。
此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软盘等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。
其他例子和实现方式在本发明和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本发明的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所发明的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不希望被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不希望将本发明的实施例限制到在此发明的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (14)
1.一种联盟链式数据结构网络管理方法,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,用于实现联盟链式数据结构网络的管理共识的管理节点仅接入所述第一网络,所述方法包括使所述管理节点:
接收请求节点发送的管理请求消息;
对所述管理请求消息进行验证;
在所述验证通过时对所述管理请求消息进行处理,
其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
2.如权利要求1所述的联盟链式数据结构网络管理方法,其中,所述管理节点为所述请求节点预先颁发节点数字证书,
所述对所述管理请求消息进行验证包括:利用所述节点数字证书对所述管理请求消息中包含的数字签名进行验证。
3.如权利要求2所述的联盟链式数据结构网络管理方法,其中所述管理请求消息为第一网络新建请求消息,所述第一网络新建请求消息中包含节点列表,所述对所述管理请求消息进行处理包括:
基于所述第一网络新建请求消息生成所述第一链式数据结构的创世数据块;以及
将所述第一链式数据结构的创世数据块同步到所述节点列表中包含的节点。
4.如权利要求3所述的联盟链式数据结构网络管理方法,其中,所述创世数据块包括更新后的节点列表,所述更新后的节点列表是通过将所述管理节点加入到所述第一网络新建请求消息中包含的节点列表而获得的。
5.如权利要求2所述的联盟链式数据结构网络管理方法,其中,所述管理请求消息为第一网络变更请求消息,所述对所述管理请求消息进行处理包括:
基于所述第一网络变更请求消息生成第一网络变更事务,并在所述第一网络中广播所述第一网络变更事务;
收集所述第一网络中的成员节点针对所述第一网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第一网络中的成员节点。
6.如权利要求5所述的联盟链式数据结构网络管理方法,其中,所述根据所述反馈消息确定是否变更所述第一网络中的成员节点包括:将接收到的反馈消息作为第一智能合约的输入,其中所述第一智能合约用于:在确定变更所述第一网络中的成员节点时,在所述第一链式数据结构中生成包含所述第一网络变更事务的数据块。
7.如权利要求2所述的联盟链式数据结构网络管理方法,其中,所述管理请求消息为第二网络新建请求消息或第二网络变更请求消息,
在所述管理请求消息为所述第二网络新建请求消息的情况下,所述对所述管理请求消息进行处理包括:
基于所述第二网络新建请求消息生成第二网络新建事务,并在所述第一网络中广播所述第二网络新建事务;
收集所述第一网络中的成员节点针对所述第二网络新建事务的反馈消息,以根据所述反馈消息确定是否新建第二网络,以及
在所述管理请求消息为所述第二网络变更请求消息的情况下,所述对所述管理请求消息进行处理包括:
基于所述第二网络变更请求消息生成第二网络变更事务,并在所述第一网络中广播所述第二网络变更事务;
收集所述第一网络中的成员节点针对所述第二网络变更事务的反馈消息,以根据所述反馈消息确定是否变更所述第二网络中的成员节点。
8.如权利要求7所述的联盟链式数据结构网络管理方法,其中,所述管理节点根据所述第一链式数据结构中的数据块在本地维护第一网络成员列表,
所述对所述管理请求消息进行验证还包括:利用所述第一网络成员列表验证发送所述第二网络变更请求消息的所述请求节点的身份。
9.如权利要求8所述的联盟链式数据结构网络管理方法,其中所述方法还包括:将接收到的反馈消息作为第二智能合约的输入,其中,
在所述管理请求消息为所述第二网络新建请求消息的情况下,所述第二智能合约用于:在确定新建第二网络时,在所述第一链式数据结构中生成包含所述第二网络新建事务的数据块;以及
在所述管理请求消息为所述第二网络变更请求消息的情况下,所述第二智能合约用于:在确定变更所述第二网络中的成员节点时,在所述第一链式数据结构中生成包含所述第二网络变更事务的数据块。
10.如权利要求9所述的联盟链式数据结构网络管理方法,其中在所述管理请求消息为所述第二网络新建请求消息的情况下,在所述第一链式数据结构中生成的包含所述第二网络新建事务的数据块用于:使所述请求节点生成新建的第二链式数据结构的创世数据块。
11.如权利要求1-10中任一项所述的联盟链式数据结构网络管理方法,其中,所述第一链式数据结构中的数据块用于使同时接入所述第一网络和所述第二网络的各个成员节点:更新本地维护的第一网络成员列表和第二网络成员列表,并对仅接入所述第二网络的同组织成员节点维护的第二网络成员列表进行更新。
12.一种用于实现联盟链式数据结构网络的管理共识的管理节点,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点仅接入所述第一网络,并包括:
接收模块,配置为接收请求节点发送的管理请求消息;
验证模块,配置为对所述管理请求消息进行验证;
处理模块,配置为在所述验证通过时对所述管理请求消息进行处理,
其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
13.一种用于实现联盟链式数据结构网络的管理共识的管理节点,所述联盟链式数据结构网络包含维护第一链式数据结构的第一网络和维护第二链式数据结构的第二网络,所述第一链式数据结构用于记录管理数据且所述第二链式数据结构用于记录用户数据,所述管理节点仅接入所述第一网络,并包括:
处理器;
和存储器,在所述存储器中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:
接收请求节点发送的管理请求消息;
对所述管理请求消息进行验证;
在所述验证通过时对所述管理请求消息进行处理,
其中所述第一链式数据结构中的数据块是基于所述处理的结果而生成的。
14.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010564760.0A CN113824674B (zh) | 2020-06-19 | 2020-06-19 | 联盟链式数据结构网络管理方法、管理节点及介质 |
JP2021100289A JP7140238B2 (ja) | 2020-06-19 | 2021-06-16 | コンソーシアムチェーンデータ構造ネットワークの管理方法、管理ノード及び記憶媒体 |
US17/348,946 US12003653B2 (en) | 2020-06-19 | 2021-06-16 | Method for managing consortium chain data structure network, management node, and non-transitory computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010564760.0A CN113824674B (zh) | 2020-06-19 | 2020-06-19 | 联盟链式数据结构网络管理方法、管理节点及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113824674A CN113824674A (zh) | 2021-12-21 |
CN113824674B true CN113824674B (zh) | 2023-06-30 |
Family
ID=78924592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010564760.0A Active CN113824674B (zh) | 2020-06-19 | 2020-06-19 | 联盟链式数据结构网络管理方法、管理节点及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12003653B2 (zh) |
JP (1) | JP7140238B2 (zh) |
CN (1) | CN113824674B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12101399B2 (en) * | 2020-07-20 | 2024-09-24 | Pruve Systems, Inc. | Secure storage techniques utilizing consortium distributed ledgers |
CN115150246B (zh) * | 2022-04-14 | 2023-06-30 | 北京邮电大学 | 基于新型嵌套链架构的面向海量实时物联网的上链方法 |
CN114997864A (zh) * | 2022-04-24 | 2022-09-02 | 广东电网有限责任公司广州供电局 | 基于云平台与区块链的电力缴费管理系统、方法、设备及介质 |
CN115348263B (zh) * | 2022-06-29 | 2024-10-25 | 中国工商银行股份有限公司 | 多层次区块链系统、多层次区块链的混合组网方法及装置 |
CN117240621B (zh) * | 2023-11-13 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 网络请求的处理方法、装置、计算机可读介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995594A (zh) * | 2019-04-10 | 2019-07-09 | 广州致链科技有限公司 | 区块链网络资源管理方法、装置及区块链系统 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110544095A (zh) * | 2019-09-03 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 区块链网络的交易处理方法及区块链网络 |
CN111290776A (zh) * | 2018-12-10 | 2020-06-16 | 航天信息股份有限公司 | 一种用于管理区块链节点的管理装置及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615060B2 (en) * | 2018-04-12 | 2023-03-28 | ISARA Corporation | Constructing a multiple entity root of trust |
CN109246179B (zh) * | 2018-06-30 | 2021-06-01 | 华为技术有限公司 | 维护区块链的方法和装置、服务器和计算机可读存储介质 |
JP7062571B2 (ja) * | 2018-10-05 | 2022-05-06 | 株式会社日立製作所 | 組織管理支援システム、組織管理支援方法、および、組織管理支援装置 |
CN109302415B (zh) * | 2018-11-09 | 2019-11-01 | 四川虹微技术有限公司 | 一种认证方法、区块链节点及存储介质 |
US20200160330A1 (en) * | 2018-11-21 | 2020-05-21 | TraDove, Inc. | Lightweight blockchain supported transaction platform with proof-of-two consensus and centralized identification management |
CN111835520B (zh) * | 2019-04-19 | 2023-04-07 | 株式会社理光 | 设备认证的方法、服务接入控制的方法、设备及存储介质 |
JP6979984B2 (ja) | 2019-07-11 | 2021-12-15 | 株式会社日立製作所 | コンソーシアム支援システム、方法、およびプログラム |
CN112487490B (zh) * | 2019-09-11 | 2024-09-13 | 株式会社理光 | 篡改识别方法、设备和介质 |
CN110647559B (zh) * | 2019-09-24 | 2024-08-23 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关节点及系统 |
CN110599181B (zh) * | 2019-09-26 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置和设备及存储介质 |
-
2020
- 2020-06-19 CN CN202010564760.0A patent/CN113824674B/zh active Active
-
2021
- 2021-06-16 US US17/348,946 patent/US12003653B2/en active Active
- 2021-06-16 JP JP2021100289A patent/JP7140238B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290776A (zh) * | 2018-12-10 | 2020-06-16 | 航天信息股份有限公司 | 一种用于管理区块链节点的管理装置及方法 |
CN109995594A (zh) * | 2019-04-10 | 2019-07-09 | 广州致链科技有限公司 | 区块链网络资源管理方法、装置及区块链系统 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110544095A (zh) * | 2019-09-03 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 区块链网络的交易处理方法及区块链网络 |
Also Published As
Publication number | Publication date |
---|---|
JP2022002089A (ja) | 2022-01-06 |
US12003653B2 (en) | 2024-06-04 |
US20210399904A1 (en) | 2021-12-23 |
CN113824674A (zh) | 2021-12-21 |
JP7140238B2 (ja) | 2022-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113824674B (zh) | 联盟链式数据结构网络管理方法、管理节点及介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN109327528B (zh) | 一种基于区块链的节点管理方法和装置 | |
US10284379B1 (en) | Public key infrastructure based on the public certificates ledger | |
CN110110555B (zh) | 一种区块链中的投票方法及装置 | |
US20210083882A1 (en) | Distributed certificate authority | |
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
US20160359965A1 (en) | Automatic identification of invalid participants in a secure synchronization system | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
US11849052B2 (en) | Certificate in blockchain network, storage medium, and computer device | |
US20140068251A1 (en) | Method and device for dynamically updating and maintaining certificate path data across remote trust domains | |
WO2020088074A1 (zh) | 基于区块链的隐私交易方法、装置及其应用方法、装置 | |
CN113783699B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN111556120A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN112152778B (zh) | 一种节点管理方法、装置、及电子设备 | |
CN113850599B (zh) | 一种应用于联盟链的跨链交易方法及系统 | |
CN112016923A (zh) | 基于区块链的网内跨域身份管理方法、系统以及算力网络 | |
CN106886722A (zh) | 大数据信息处理方法及装置 | |
WO2022193984A1 (zh) | 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品 | |
CN114240433A (zh) | 基于区块链的数据处理方法及系统 | |
CN109995737B (zh) | 去中心化的数字证书管理方法及装置、节点、系统 | |
CN110008739B (zh) | 一种基于群组的区块链系统、群组管理方法及装置 | |
WO2023082883A1 (zh) | 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品 | |
CN110945833B (zh) | 一种用于多模标识网络隐私保护与身份管理的方法及系统 | |
CN114079632A (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 |