WO2024021627A1 - Consortium blockchain management method and related system - Google Patents

Consortium blockchain management method and related system Download PDF

Info

Publication number
WO2024021627A1
WO2024021627A1 PCT/CN2023/081538 CN2023081538W WO2024021627A1 WO 2024021627 A1 WO2024021627 A1 WO 2024021627A1 CN 2023081538 W CN2023081538 W CN 2023081538W WO 2024021627 A1 WO2024021627 A1 WO 2024021627A1
Authority
WO
WIPO (PCT)
Prior art keywords
alliance
chain
user
organization node
alliance chain
Prior art date
Application number
PCT/CN2023/081538
Other languages
French (fr)
Chinese (zh)
Inventor
张子怡
王磊
骆挺
俞岳
Original Assignee
华为云计算技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024021627A1 publication Critical patent/WO2024021627A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • This application relates to the field of blockchain technology, and in particular to a management method, system, computing device cluster, computer-readable storage medium and computer program product of a consortium chain.
  • Blockchain refers to a distributed database technology in which multiple nodes in a peer-to-peer network jointly maintain a continuously growing, chained list ledger constructed of ordered data blocks through a consensus mechanism designed based on cryptography technology. .
  • This technology allows any number of nodes participating in the system to calculate and record all information exchange data in the system for a period of time into a data block through cryptographic algorithms, and generate the fingerprint of the data block for chain ) next data block and verification, all participating nodes in the system jointly determine whether the recorded data block is true.
  • Blockchain networks can be divided into public chains, private chains or consortium chains.
  • the public chain is an unrestricted blockchain network. Any user can join the public chain at any time and can view the ledger and participate in its consensus process.
  • Private and consortium chains are permissioned blockchain networks. Among them, joining a private chain usually requires the permission of a centralized administrator, while a consortium chain is usually jointly managed by multiple organizations or institutions.
  • the invitation system (also called the alliance leader system) is usually used to build alliance chains. Taking the construction of an alliance chain by multiple tenants in a cloud environment as an example, the alliance leader sends invitation information to each participant who wants to join the alliance. The participants decide whether to join the alliance. If they agree to join the alliance, they send the consent information to the management of the alliance chain. System, the management system of the alliance chain sends incremental blocks recording incremental transactions to the consensus node. Participants obtain the channel configuration to join from the consensus node and drive the local node to join the corresponding channel of the alliance chain.
  • This application provides a management method for an alliance chain. This method realizes the construction of an equal and autonomous alliance by configuring an alliance strategy that supports applications to join the alliance chain, and can meet business needs.
  • This application also provides a consortium chain management system, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to this method.
  • this application provides a management method for the alliance chain.
  • This method can be executed by the management system of the alliance chain.
  • the management system may be a software system that may be deployed in a cluster of computing devices.
  • the computing device cluster executes the program code of the software system to execute the alliance chain management method in the embodiment of the present application.
  • the management system may also be a hardware system with a consortium chain management function. When the hardware system is running, it executes the consortium chain management method in the embodiment of the present application.
  • the Department of Management The system can be a computing device cluster with alliance chain management functions.
  • the management system may receive the alliance policy of the alliance chain configured by the first user.
  • the alliance chain includes the first organization node created by the first user from the first user's physical resource set.
  • the management system can respond to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy, and based on the processing result of the application to join the alliance chain, add the second user's application to join the alliance chain.
  • the second organizational node joins the alliance chain.
  • the first user who creates the alliance can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation. This can achieve equal and autonomous alliance construction and meet business needs.
  • the management system can receive the democracy system or alliance committee system selected by the first user, or receive the alliance contract strategy uploaded by the first user.
  • the alliance strategy configured by the first user can be a single strategy or a mixed strategy, so as to achieve a coexistence model based on application invitations and build an equal, self-organizing alliance chain system.
  • the alliance contract strategy can be written in a contract language, where the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
  • This method defines an incentive mechanism in the alliance contract strategy to encourage members in the alliance chain to share data and participate in security verification work in the alliance chain, thereby making transactions in the alliance chain more smooth and orderly.
  • the management system when the processing result indicates that the second user is allowed to join the alliance chain, can configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node, Then the management system updates the chain code of the alliance chain at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • This method is aimed at the situation where the user has already created the organization node.
  • the organization node is directly added to the alliance chain, thereby completing the user's initiative to join the alliance chain and realizing the construction of an equal and autonomous alliance.
  • the management system when the processing result indicates that the second user is allowed to join the alliance chain, can create a second organization node from the second user's physical resource set, and then the management system can configure the second organization node Alliance information, the alliance information includes the communication address of the second organization node, and the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • This method is aimed at the situation where the user has not created an organization node. First, create an organization node, and then add the organization node to the alliance chain by configuring alliance information, thereby completing the user's initiative to join the alliance chain and achieving an equal and autonomous alliance construction.
  • the management system when it is detected that the code of the alliance chain in the second organization node is updated, the management system can synchronize the updated chain code to the first organization node.
  • the management system when an organization node in the alliance chain is updated, it will be updated synchronously to other organization nodes, thereby ensuring the consistency of chain codes on different organization nodes.
  • the management system can trigger a vote for the second user to join the alliance chain according to the alliance strategy and obtain the voting results.
  • This method uses the voting results of the organizational nodes in the alliance chain to decide whether to allow the second user to join the chain, thereby achieving the construction of an equal and autonomous alliance.
  • the management system may include decentralized autonomous organization components and alliance components.
  • the decentralized autonomous organization component serves as the orchestration controller for the construction and management of the autonomous organization alliance, and the collaboration and orchestration alliance participates in The parties implement specific alliance strategies to ensure that the inviting party's business is continuously served and smoothly connected to the network;
  • the alliance component serves as the executor of the dynamic management of alliance members, accepts the instructions of the decentralized autonomous organization component, and performs dynamic organization joining management.
  • the management system can send a voting request to the alliance component through the decentralized autonomous organization component, and perform voting through the alliance component in combination with the voting ratio or voting waiting time defined in the alliance strategy. Then, the management system can aggregate through the decentralized autonomous organization component. Alliance component voting results.
  • This method determines the voting ratio or voting waiting time according to the alliance strategy, and votes according to the above voting ratio or voting waiting time defined by the alliance strategy, thereby deciding whether to allow the second user to join the chain. Compared with the indiscriminate voting method, this method It is more suitable for actual application scenarios and has higher usability.
  • the first user and the second user may be on-cloud tenants or off-cloud users.
  • this method supports cloud tenants or off-cloud users to dynamically join the alliance chain, and can adapt to different scenarios and meet different business needs.
  • the physical resource set of the tenant on the cloud may include a cluster of the tenant on the cloud, and the cluster may include a virtual private cloud cluster or a private cloud cluster in the public cloud.
  • This method supports the creation of organizational nodes in the cluster of cloud tenants, so that cloud tenants can use this to build alliance chains or join alliance chains.
  • the management system can also audit the decisions or behaviors of organizational nodes in the alliance chain based on updates to the chain code. Specifically, the management system can initiate an audit of the decisions or behaviors of organizational nodes in the alliance chain when the alliance chain is abnormal, for example, when data maintained by different organizational nodes is inconsistent. Among them, the management system can determine whether the voting and other behaviors of the organizational nodes in the alliance chain or the decisions based on the voting results comply with relevant regulations or agreements based on the update records of the chain codes deployed in each organizational node. In this way, every decision of the alliance chain can be audited, and the behavior of alliance construction can be traced, ensuring security.
  • the management system can also present the alliance contract strategy to the second user so that the second user can view the content of the alliance contract strategy. And based on the content of the alliance contract strategy, decide whether to apply to join the alliance chain.
  • the management system can also receive a contract update request triggered by the first user.
  • the contract update request is used to update the alliance contract strategy, for example, to update the voting proportion and voting waiting time in the alliance contract strategy.
  • Management The system updates the alliance contract strategy based on the contract update request. Among them, the management system can deliver the updated alliance contract strategy to each organizational node of the alliance chain, thereby updating the alliance contract strategy.
  • the management system can also trigger a vote on updating the alliance contract strategy in response to a contract update request and obtain the voting results.
  • the voting results indicate that the alliance contract strategy is allowed to be updated
  • the management system will issue the updated alliance contract strategy to each organizational node of the alliance chain, thereby updating the alliance contract strategy. In this way, alliance autonomy can be achieved.
  • this application provides an alliance chain management system.
  • the system includes:
  • An orchestration control module configured to receive an alliance policy of an alliance chain configured by the first user, where the alliance chain includes a first organization node created by the first user from the physical resource set of the first user;
  • the orchestration control module is also configured to, when the alliance policy supports an application to join the alliance chain, in response to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy;
  • An execution module configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
  • the orchestration control module is specifically used to:
  • the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
  • the execution module is specifically used to:
  • the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • the execution module is specifically used to:
  • the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • the execution module is specifically used to:
  • the updated chain code is synchronized to the first organization node.
  • the orchestration control module is specifically used to:
  • the orchestration control module is specifically used to:
  • the execution module is specifically used for:
  • the orchestration control module is specifically used for:
  • the first user and the second user are on-cloud tenants or off-cloud users.
  • the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in a public cloud.
  • this application provides a computing device cluster.
  • the cluster of computing devices includes at least one computing device including at least one processor and at least one memory.
  • the at least one processor and the at least one memory communicate with each other.
  • the at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster executes the management method of the consortium chain as described in the first aspect or any implementation of the first aspect.
  • the present application provides a computer-readable storage medium in which instructions are stored, and the instructions instruct a computing device or a cluster of computing devices to execute the above-mentioned first aspect or any one of the first aspects.
  • the present application provides a computer program product containing instructions that, when run on a computing device or a cluster of computing devices, causes the computer or cluster of computing devices to execute the above-mentioned first aspect or any implementation of the first aspect.
  • Figure 1 is a schematic structural diagram of an alliance chain provided by an embodiment of the present application.
  • Figure 2 is a schematic structural diagram of an alliance chain provided by an embodiment of the present application.
  • FIG. 3 is an architectural diagram of a consortium chain management system provided by an embodiment of the present application.
  • Figure 4 is a flow chart of a consortium chain management method provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of an application scenario of a consortium chain management method provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of an application scenario of a consortium chain management method provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • Figure 9 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • Figure 10 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • first and second in the embodiments of this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, features defined as “first” and “second” may explicitly or implicitly include one or more of these features.
  • Blockchain network also referred to as blockchain, refers to a peer-to-peer (P2P) network built using blockchain technology.
  • P2P peer-to-peer
  • multiple nodes jointly maintain a continuously growing, chained list ledger constructed of ordered data blocks.
  • Blockchains can be divided into public blockchain, private blockchain or consortium blockchain according to the degree of openness of read and write permissions.
  • the public chain is a public blockchain, and read and write permissions are open to all nodes;
  • the private chain is a private blockchain, and read and write permissions are open to a certain node;
  • the alliance chain is an alliance blockchain, and read and write permissions are open to all nodes. Nodes joining the alliance (members within the alliance) are open.
  • the number of nodes in the alliance chain is relatively small and it is easier to reach consensus. Therefore, the alliance chain has faster transaction speed and stronger controllability.
  • Members within the alliance can achieve value exchange by maintaining distributed ledgers (such as distributed chain list ledgers).
  • the alliance chain can be widely used in the financial industry and other industries such as energy, insurance, and the Internet of Things. It is especially suitable for business scenarios that focus on privacy protection, transaction speed, and internal supervision in the above industries.
  • the alliance chain can also be combined with cloud computing to provide users with corresponding cloud services.
  • Cloud computing is a computing model that provides dynamically scalable virtualized resources as services over a network.
  • the platform that provides cloud computing is called a cloud platform.
  • the cloud platform can provide blockchain services (Blockchain-As-A-Service, BaaS) for building blockchains such as alliance chains.
  • BaaS can be a public cloud service
  • the cloud platform can provide BaaS to public cloud tenants so that tenants can build alliance chains based on BaaS.
  • the related technology usually uses an invitation system to build a consortium chain.
  • a tenant can create an alliance, and the tenant who creates the alliance can also be called the alliance leader.
  • the alliance leader sends invitation information to various participants who want to join the alliance, such as other parties on the cloud platform.
  • tenant. Participants decide whether to join the alliance. If they agree to join the alliance, they will send the consent information to the management system of the alliance chain.
  • the management system of the alliance chain sends incremental blocks recording incremental transactions to the consensus node. Participants obtain the channel configuration to join from the consensus node and drive the local node to join the corresponding channel of the alliance chain.
  • this method leaves the inviting party to decide who joins the alliance. It is not an equal way to build an alliance that supports autonomy, and it is difficult to meet business needs.
  • embodiments of the present application provide a management method for a consortium chain.
  • This method is applied to the management system of the alliance chain.
  • the management system may be a software system that may be deployed in a cluster of computing devices.
  • the computing device cluster executes the program code of the software system to execute the alliance chain management method in the embodiment of the present application.
  • the management system may also be a hardware system with a consortium chain management function. When the hardware system is running, it executes the consortium chain management method in the embodiment of the present application.
  • the management system can be a computing device cluster with alliance chain management functions.
  • the management system may receive the alliance policy of the alliance chain configured by the first user.
  • the alliance chain includes the first organization node created by the first user from the first user's physical resource set.
  • the management system can respond to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy, and based on the processing result of the application to join the alliance chain, add the second user's application to join the alliance chain.
  • the second organizational node joins the alliance chain.
  • the first user who creates the alliance can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation.
  • the customized alliance contract strategy is a distributed contract strategy, which can achieve a kind of alliance laws and regulations to constrain the behavior of all alliance members.
  • the alliance strategy configured by the first user may be a single strategy, such as democracy, alliance committee system, etc.
  • the alliance strategy configured by the first user may also be a mixed strategy, for example, a mixed strategy of alliance leadership and democracy.
  • the alliance strategy By configuring the alliance strategy as the above hybrid strategy, the first user can realize the coexistence model based on application invitations and build an equal, self-organizing alliance chain system.
  • this method supports cloud tenants or off-cloud users to dynamically join the alliance chain, which can adapt to different scenarios and meet different business needs.
  • the management system supports the interconnection between different virtual private clouds (Virtual private clouds, VPC) in the public cloud.
  • the public cloud includes tenant A and tenant B, where , Tenant A uses VPC01, and tenant B uses VPC02. Node 02 in VPC01 and node 03 in VPC02 are interconnected through connection 102, so that multiple tenants in the public cloud can build a consortium chain.
  • the management system also supports interconnection between public cloud and private cloud.
  • the private cloud includes tenant C, and tenant C uses node 05 in the private cloud.
  • Node 01 in VPC01 of the public cloud can be interconnected with node 05 in the private cloud through connection 104. In this way, public cloud tenants and private cloud tenants can build an alliance chain.
  • cross-cloud interconnection includes interconnection between public clouds and third-party clouds (specifically, clouds provided by third-party cloud service providers), private clouds, and third-party cloud interconnections.
  • third-party cloud specifically, clouds provided by third-party cloud service providers
  • user A of the third-party cloud can read and write to node 06 in the third-party cloud.
  • Node 04 in VPC02 of the public cloud can be interconnected with node 06 in the third-party cloud through connection 106, so that tenants of the public cloud and users of the third-party cloud can build an alliance chain.
  • Node 05 in the private cloud can be interconnected with node 06 in the third-party cloud through the connection 108, so that the tenants of the private cloud and the users of the third-party cloud can build an alliance chain.
  • the management system also supports the interconnection between the cloud platform and edge nodes.
  • An edge node refers to a network node with fewer intermediate links between it and the final access user. It can be a computer room or a physical device. Compared with directly accessing the origin site in the cloud platform, users have better response capabilities and connection speeds when accessing edge nodes.
  • the interconnection between the cloud platform and edge nodes can include the interconnection between public cloud and edge nodes, the interconnection between private cloud and edge nodes, and the interconnection between third-party cloud and edge nodes.
  • User B has read and write permissions to Node 07 in the edge node.
  • Node 04 in VPC02 of the public cloud can be interconnected with Node 07 in the edge node through connection 110.
  • tenants of the public cloud can communicate with each other.
  • Users of edge nodes build alliance chains.
  • node 05 in the private cloud can be interconnected with node 07 in the edge node through the connection 112, so that the tenants of the private cloud and the users of the edge node can build an alliance chain.
  • the node 06 in the third-party cloud can be interconnected with the node 07 in the edge node through the connection 114, so that users of the third-party cloud and users of the edge node can build an alliance chain.
  • Each user or tenant can be regarded as a participant in an alliance and participates in a certain alliance chain as an organization.
  • the following examples use multiple tenants in the public cloud to build a consortium chain.
  • building consortium chains for other types of tenants or users please refer to the relevant descriptions of building consortium chains for multiple tenants in the public cloud.
  • each tenant has a cluster, which may be a VPC cluster, and the cluster includes nodes used to build the consortium chain.
  • each cluster can apply for an elastic Internet protocol address (EIP) to communicate with nodes in other clusters.
  • EIP elastic Internet protocol address
  • Each tenant can be regarded as a participant in an alliance and participates in a certain alliance chain as an organization.
  • tenant A can be regarded as a participant in an alliance and participates in alliance chain A as organization A.
  • Tenant A can also be regarded as a participant in another alliance, participating in alliance chain B as organization A. That is to say, a tenant has one or more nodes, and these nodes can be used together with nodes of different tenants to build multiple alliance chains to achieve different business requirements.
  • a node of tenant A can build alliance chain A with a node of tenant B and a node of tenant C through alliance policy A
  • another node of tenant A can build an alliance chain A with another node of tenant B through alliance policy C.
  • Alliance chain C Alliance chain C.
  • alliance chains can be constructed using the same or different alliance strategies.
  • alliance strategy A can be democracy
  • alliance strategy C can be alliance contract strategy.
  • data in different alliance chains are isolated from each other. Data in the same alliance chain is not isolated, that is, messages sent by nodes in the same alliance chain can be accepted by each other, but nodes not in the alliance chain cannot accept messages sent in the alliance chain.
  • nodes in the tenant A cluster that participate in alliance chain C cannot accept messages sent in alliance chain A.
  • a tenant (such as tenant A) can serve as the initiator of a blockchain network, allowing it to dynamically invite other tenants to join the alliance chain built based on this blockchain network.
  • the chain code embedded in the blockchain network defines general alliance strategies, such as the alliance leader system, democracy system, and alliance committee system.
  • the chain code also defines the incentive system of the alliance chain to be built.
  • This incentive system refers to the incentive mechanism for the operation of the alliance chain.
  • the incentive system can include: a participant in the alliance chain shares data and gives the participant a certain amount of allocable resources to motivate.
  • the above-mentioned tenant can also publish information about the alliance created by the tenant and allow other tenants (or users) to apply to join within the permission network.
  • the invited party can join the alliance chain after receiving the invitation.
  • the applicant can query the alliance strategy of the alliance initiator (i.e. the alliance leader) and initiate an application to join the alliance chain to join the alliance chain.
  • the above-mentioned nodes used to build the alliance chain are also called blockchain nodes. This method supports the invitation application coexistence mode, which can realize the safe autonomy of blockchain nodes between different tenants.
  • each tenant not only has a blockchain node, but also has components for managing the federation.
  • the above-mentioned components for managing the alliance may also be called alliance components and proxy components.
  • the alliance component can interact with the blockchain node to obtain or write alliance information.
  • the alliance component is used to obtain alliance information and then publish the alliance information, or the alliance component is used to update the alliance information in the chain code.
  • the tenant's cluster can include one or more blockchain nodes, and the alliance component can uniformly manage one or more blockchain nodes.
  • the management system 300 includes an orchestration control module 302 and an execution module 304 .
  • the orchestration control module 302 is used to receive the alliance policy of the alliance chain configured by the first user.
  • the alliance chain includes the first organization node created by the first user from the first user's physical resource set.
  • the execution module 304 is configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
  • the orchestration control module 302 and the execution module 304 can be developed using a componentized model.
  • the orchestration control module 303 can be a decentralized autonomous organization (Decentralized Autonomous Organization, DAO) component
  • the execution module 304 can be the above-mentioned alliance component.
  • DAO Decentralized Autonomous Organization
  • the main function of the DAO component is to serve tenants and serve as an orchestration controller for the construction and management of autonomous organization alliances. It coordinates and orchestrates alliance participants to execute specific alliance policies, ensuring that the inviting party's business is continuously served and smoothly connected to the network.
  • the alliance component accepts instructions from the DAO component and performs dynamic organization joining management. At the same time, the alliance component can directly interact with the nodes in the alliance chain. Therefore, the operations triggered by the DAO component when executing a specific alliance strategy, such as voting operations, can be returned by the alliance component to the DAO component.
  • various parts of the management system 300 can be deployed in a distributed manner on the cloud platform.
  • DAO components can be deployed in the management cluster of the cloud platform, and alliance components can be deployed in each tenant cluster of the cloud platform.
  • the DAO component can also be deployed in each tenant cluster of the cloud platform.
  • Figure 2 illustrates the construction of a consortium chain with multi-tenants, in other scenarios of building a consortium chain, various parts of the management system 300 such as DAO components and consortium components of different organizations can also be deployed in other environments, such as at the edge. nodes, this embodiment does not limit this.
  • the method includes:
  • the management system 300 receives the alliance policy of the alliance chain configured by the first user.
  • the first user can be an on-cloud tenant or an off-cloud user (also called an offline user).
  • the first user can serve as the alliance initiator and initiate the operation of creating the alliance chain.
  • the first user can create a first organization node from the first user's physical resource set, and the alliance chain includes the first organization node.
  • the physical resource set of the cloud tenant includes the cluster of the cloud tenant.
  • the cluster is a virtual private cloud or private cloud cluster in the public cloud.
  • the user's physical resource set under the cloud includes edge nodes.
  • the alliance strategy may include one or more of the general alliance-leader system, democracy system, and alliance committee system. Alliance strategies can also include customized alliance contract strategies. Among them, the alliance contract strategy can be written through contract language. In some embodiments, the contract language may include one or more of Solidity or Vyper.
  • the leader determines the members of the alliance.
  • the alliance leader can invite other users (on-cloud tenants or off-cloud users) to join the alliance chain.
  • the user can become an internal member of the alliance.
  • democratic allows users (on-cloud tenants or off-cloud users) to apply to join the alliance chain, and users who have joined (internal members of the alliance) vote whether to agree to the application for users to join.
  • a consensus can be reached when the majority of already-joined users agree.
  • the Alliance Committee supports voting to elect committee members who make decisions. Committee members vote to agree whether the applicant should join. Other members can initiate the election of Alliance Committee members.
  • the alliance contract strategy is a strategy that stipulates the conditions for users to join the alliance chain based on the contract.
  • the alliance contract strategy can stipulate the conditions for users to join the alliance chain through the contract code.
  • Voting weights are set for different types of internal members of the alliance. Based on this weight, the voting results of whether the user joins the alliance can be determined. When the voting results meet the set conditions , the user is allowed to join the alliance chain, otherwise the user is refused to join the alliance chain.
  • the alliance contract strategy can also define incentive mechanisms for different types of members in the alliance chain.
  • This incentive mechanism refers to the incentive mechanism for the operation of the alliance chain.
  • the incentive mechanism can include: members within the alliance share data and are given 5 shares of allocable resources as incentives; members within the alliance invite new users to join the alliance chain and are given 10 shares of allocable resources as incentives.
  • the allocable resources may be virtual resources, such as points.
  • the alliance strategy that supports the application to join the alliance chain can include democracy, alliance committee system, or a hybrid strategy that combines at least one of democracy and alliance committee system.
  • the alliance strategy supporting application to join the alliance chain may also include a customized alliance contract strategy.
  • the management system 300 can present the information of the alliance chain to the second user.
  • the information of the alliance chain may include one or more of the business information and communication address of the alliance chain.
  • the second user can initiate an application to join the alliance chain based on the information of the alliance chain.
  • the management system 300 may respond to the second user's application for joining the alliance chain and process the application for joining the alliance chain according to the alliance policy.
  • the management system 300 can trigger a vote for the second user to join the alliance chain according to the alliance policy, and obtain the voting results.
  • the management system 300 can send voting requests to different internal members of the alliance.
  • the alliance policy is a democratic strategy
  • the management system 300 may send a voting request to each internal member of the alliance.
  • the alliance strategy is an alliance committee system
  • the management system 300 can first determine the members of the alliance committee, for example, by voting, and then report the members to the alliance committee. Committee members send voting requests. Members who receive the voting request can vote and the voting results are returned.
  • the management system 300 can summarize the received voting results to obtain the final voting results.
  • the management system 300 can send a voting request to the alliance component through the DAO component, and then use the alliance component to perform voting in combination with the voting ratio or voting waiting time defined in the alliance policy, and then summarize the voting results of the alliance component through the DAO component. .
  • the management system 300 adds the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
  • the following situations may include:
  • the management system 300 can configure alliance information for the second organization node created by the second user, where the alliance information includes the third communication addresses of the two organization nodes, and then update the chain code of the alliance chain at the first organization node and the second organization node according to the alliance information.
  • the updated chain code includes the communication address of the second organization node.
  • Another situation is that the second user has not created a second organizational node to join the alliance chain.
  • the management system 300 can obtain the information from the third organization node.
  • the physical resources of the two users are pooled to create a second organization node, and alliance information is configured for the second organization node.
  • the alliance information includes the communication address of the second organization node.
  • the management system 300 configures the alliance information in the second organization node based on the alliance information.
  • the first organization node and the second organization node update the chain code of the alliance chain.
  • the updated chain code includes the communication address of the second organization node.
  • the management system 300 can update the chain code of the alliance chain in the second organization node.
  • the chain code of the alliance chain is updated, and the updated chain code is synchronized to the first organization node.
  • the first user who creates the alliance can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation.
  • the customized alliance contract strategy is a distributed contract strategy, which can achieve a kind of alliance laws and regulations to constrain the behavior of all alliance members.
  • the method includes the following steps:
  • Step 1 Tenant A creates the alliance chain, initializes the internal chain code of the alliance chain to support synchronization of alliance information, and then configures the alliance strategy of the alliance chain in the DAO component.
  • tenant A can first create a first organization node from tenant A's cluster, and create an alliance chain based on the first organization node.
  • the alliance chain includes the above-mentioned first organization node. After tenant A creates the alliance chain, it can initialize the internal chain code of the alliance chain to support synchronization of alliance information.
  • the DAO component can provide the following alliance strategies: alliance leader system, democracy system and alliance committee system for users to choose and configure.
  • Different alliance strategies support different ways of building alliances.
  • the alliance leader system the alliance leader determines the alliance members.
  • the master can invite other users to join the alliance.
  • other users can become members of the alliance.
  • democratic allows users to apply to join, and members within the alliance vote whether to agree to apply for users to join.
  • a consensus can be reached if a majority of the members within the alliance agree.
  • the Alliance Committee supports voting to elect Alliance Committee members who make decisions.
  • the Alliance Committee members vote to decide whether to apply for users to join.
  • Other members can initiate the election of Alliance Committee members. It should be noted that voting can also determine one or more of the block generation speed, block size limit, voting proportion required for confirmation, voting waiting time for each round of voting, the list of consensus nodes and the permissions of each node.
  • Step 2 Tenant B views the information of the alliance chain created by tenant A.
  • Tenant B already has the created organization node. Tenant B can decide whether to join by calling the alliance interface of tenant A to view the alliance chain's alliance policy and other alliance information.
  • Step 3 Tenant B and tenant C initiate an application to join the alliance chain.
  • tenant B decides to join the alliance chain created by tenant A, he can apply for joining the alliance chain by packaging tenant B's existing node information, including the number of tenant B's organizational nodes, name, encryption algorithm, storage model and user public key, into the alliance chain. Then the alliance chain joining application (which may also be referred to as a link joining application for short) is sent to the management system 300 .
  • tenant B's existing node information including the number of tenant B's organizational nodes, name, encryption algorithm, storage model and user public key
  • Tenant C is the tenant invited by tenant A.
  • tenant C decides to join the alliance chain created by tenant A, tenant C can package the public key of tenant C and the number and name of the organization nodes to be applied for into the alliance chain joining application, and then send the alliance chain joining application to the management system 300 .
  • Step 4 The management system 300 receives the application to join the alliance chain and initiates a vote on whether tenant B and tenant C join the alliance chain. Then, the management system 300 delivers the alliance chain audit results to the tenant A cluster, delivers the public key of the applicant, the number of joining nodes, and the name, and authorizes the temporary token. Then proceed to step 5.
  • Step 5 Tenant B and tenant C obtain the alliance chain application approval information.
  • the alliance chain application approval information includes the review results of the alliance chain joining application.
  • Tenant B and tenant C can query tenant A for their application results.
  • Step 6 The management system 300 configures alliance information, temporary tokens, and communication addresses for existing organization nodes.
  • the management system 300 creates organization nodes based on the audit results and issues the communication addresses of existing alliances.
  • the DAO component of the management system 300 can configure alliance information, temporary tokens, and communication addresses for the existing organization nodes.
  • the DAO component can pull up
  • the alliance blockchain network issues communication public keys, communication addresses, and temporary tokens to existing alliance parties.
  • Step 7 The organization node of tenant B, the organization node of tenant C, and the organization node of tenant A form an alliance chain.
  • the alliance component of tenant A monitors the alliance interface. After receiving the request, it verifies the signature, temporary token, node number name and organization public key information. After passing the verification, the organization CA is added to the chain configuration, and its communication address, link status and Node information is written to the chain through the alliance chain code interface.
  • the alliance components of tenant B and tenant C initiate a link based on the communication address of a member of the alliance, perform the link operation, and receive the task ID.
  • the alliance member information is queried from the alliance chain code interface. and communication information to update the current alliance member status for other components.
  • the method includes the following steps:
  • Step 1 Tenant A creates the alliance chain, initializes the internal chain code of the alliance chain to support synchronization of alliance information, and then uploads the customized alliance contract strategy in the DAO component.
  • Step 2 Tenant B views the information of the alliance chain created by tenant A.
  • Tenant B already has the organization and nodes he created. Tenant B can call the alliance interface of tenant A to view the alliance strategy of the alliance chain, such as custom contract content, to decide whether to join.
  • Step 3 Tenant B and tenant C initiate an application to join the alliance chain.
  • Step 4 The management system 300 receives the application to join the alliance chain and initiates a vote on whether tenant B and tenant C join the alliance chain. Then, the management system 300 delivers the alliance chain audit results to the tenant A cluster, delivers the public key of the applicant, the number of joining nodes, and the name, and authorizes the temporary token. Then proceed to step 5.
  • Step 5 Tenant B and tenant C obtain the alliance chain application approval information.
  • Step 6 The management system 300 configures alliance information, temporary tokens, and communication addresses for existing organization nodes.
  • the management system 300 creates organization nodes based on the audit results and issues the communication addresses of existing alliances.
  • Step 7 The organization node of tenant B, the organization node of tenant C, and the organization node of tenant A form an alliance chain.
  • the DAO component supports alliance building parties to provide customized alliance contract strategies, such as defining a hybrid alliance building system, and defining an open contract to construct different incentive and attraction strategies under a specific alliance to attract different types of alliances. members gathered.
  • alliance contract strategies such as defining a hybrid alliance building system, and defining an open contract to construct different incentive and attraction strategies under a specific alliance to attract different types of alliances. members gathered.
  • tenants can view the alliance contract based on the code is law strategy, clarify the current alliance strategy, and whether they support voting modification systems and other treaties.
  • the alliance contract is deployed within the organization through the alliance component and the alliance members reach an agreement. Subsequent synchronization of member information, voting and result acquisition can also be completed through the alliance contract.
  • the management method of the alliance chain provided by the embodiment of this application supports sending a link application to the DAO component.
  • the DAO component cooperates with the alliance component to achieve chain communication and dynamically achieve an equal and autonomous alliance chain. This can support the future metaverse.
  • Web3.0, open alliance chain, digital asset chain and other chain networks with high requirements on fairness are in demand.
  • this method also supports writing alliance strategies based on DAO component customization and custom contracts, and supports DAO components to issue alliance contracts to the alliance component side for deployment, and synchronize alliance contracts to other DAO components to support querying during alliance construction.
  • Alliance code business specifications and interfaces This enables auditing and tracing of alliance operations and actions between multiple members.
  • the embodiment of the present application also provides an alliance chain management system 300 as mentioned above.
  • the management system 300 of the alliance chain will be introduced below with reference to the accompanying drawings.
  • the system 300 includes:
  • the orchestration control module 302 is configured to receive the alliance policy of the alliance chain configured by the first user.
  • the alliance chain includes the first organization node created by the first user from the first user's physical resource set;
  • the orchestration control module 302 is also used to process the application to join the alliance chain according to the alliance policy in response to the second user's application to join the alliance chain when the alliance policy supports it;
  • the execution module 304 is configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
  • the above-mentioned orchestration control module 302 and execution module 304 can be implemented through hardware modules or through software modules.
  • orchestration control module 302 and execution module 304 may be applications or application modules running on a computing device or cluster of computing devices.
  • the orchestration control module 302 may also utilize an application-specific integrated circuit (application-specific integrated circuit). integrated circuit, ASIC), or programmable logic device (PLD), etc.
  • application-specific integrated circuit integrated circuit
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • the execution module 304 may include at least one computing device, or a device implemented using ASIC or PLD.
  • the orchestration control module 302 is specifically used to:
  • the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
  • the execution module 304 is specifically used to:
  • the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • the execution module 304 is specifically used to:
  • the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  • the execution module 304 is specifically used to:
  • the updated chain code is synchronized to the first organization node.
  • the orchestration control module 302 is specifically used to:
  • the orchestration control module 302 is specifically used to:
  • the execution module 304 is specifically used to:
  • the arrangement control module 302 is specifically used to:
  • the first user and the second user are on-cloud tenants or off-cloud users.
  • the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in the public cloud.
  • computing device 700 includes: bus 702, processor 704, memory 706, and communication interface 708.
  • the processor 704, the memory 706 and the communication interface 708 communicate through the bus 702.
  • Computing device 700 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 700.
  • the bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 7, but it does not mean that there is only one bus or one type of bus.
  • Bus 702 may include a path that carries information between various components of computing device 700 (eg, memory 706, processor 704, communications interface 708).
  • the processor 704 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP). any one or more of them.
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • Memory 706 may include volatile memory, such as random access memory (RAM).
  • the processor 704 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD). drive, SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 706 stores executable program code, and the processor 704 executes the executable program code to implement the aforementioned alliance chain management method. Specifically, the memory 706 stores instructions for the alliance chain management system 300 to execute the alliance chain management method.
  • the communication interface 708 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 700 and other devices or communication networks.
  • An embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device may be a server, such as a central server, an edge server, or a local server in a local data center.
  • the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
  • the computing device cluster includes at least one computing device 700 .
  • the memory 706 of one or more computing devices 700 in the computing device cluster may store instructions for the same consortium chain management system 300 to execute the consortium chain management method.
  • one or more computing devices 700 in the computing device cluster may also be used to execute part of the instructions of the alliance chain management system 300 for executing the alliance chain management method.
  • a combination of one or more computing devices 700 may jointly execute the instructions of the alliance chain management system for executing the alliance chain management method.
  • the memory 706 in different computing devices 700 in the computing device cluster can store different instructions for executing part of the functions of the alliance chain management system.
  • Figure 9 shows a possible implementation.
  • two computing devices 700A and 700B are connected through a communication interface 708.
  • Stored on memory in computing device 700A are instructions for performing the functions of orchestration control module 302 .
  • the memory in the computing device 700B stores instructions for performing the functions of the execution module 304 described above.
  • the memories 706 of the computing devices 700A and 700B jointly store instructions used by the management system of the consortium chain to execute the management method of the consortium chain.
  • connection method between the computing device clusters shown in Figure 9 may be based on the fact that the management method of the alliance chain provided by this application needs to receive the configured alliance policy and add the second organization node to the alliance chain. Therefore, it is considered that the orchestration control module 302
  • the functions implemented are executed by the computing device 700A, and the functions implemented by the execution module 304 are executed by the computing device 700B.
  • computing device 700A shown in FIG. 9 may also be performed by multiple computing devices 700.
  • the functions of computing device 700B may also be performed by multiple computing devices 700 .
  • one or more computing devices in a cluster of computing devices may be connected through a network.
  • the network may be a wide area network or a local area network, etc.
  • Figure 10 shows a possible implementation. As shown in Figure 10, two computing devices 700C and 700D are connected through a network. Specifically, the connection to the network is made through a communication interface in each computing device.
  • instructions for performing the functions of the orchestration control module 302 are stored in the memory 706 of the computing device 700C.
  • instructions for executing the functions of the execution module 304 are stored in the memory 606 of the computing device 600D.
  • connection method between the computing device clusters shown in Figure 10 can be: Considering that the management method of the alliance chain provided by this application needs to receive the configured alliance policy and add the second organization node to the alliance chain, it is considered to implement the orchestration control module 302
  • the functions implemented by the execution module 304 are executed by the computing device 700C, and the functions implemented by the execution module 304 are executed by the computing device 700D. It should be understood that the functions of computing device 700C shown in FIG. 10 may also be performed by multiple computing devices 700. Likewise, the functions of computing device 700D may also be performed by multiple computing devices 700 .
  • An embodiment of the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
  • the computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned management system applied to the alliance chain for executing the management method of the alliance chain.
  • An embodiment of the present application also provides a computer program product containing instructions.
  • the computer program product may be a software or program product containing instructions capable of running on a computing device or stored in any available medium.
  • the computer program product is run on at least one computing device, at least one computing device is caused to execute the above-mentioned management method of the alliance chain.

Abstract

The present application provides a consortium blockchain management method, comprising: receiving a consortium policy of a consortium blockchain configured by a first user, the consortium blockchain comprising first organization nodes created by the first user from a physical resource set of the first user; when the consortium policy supports an application for joining the consortium blockchain, and in response to a consortium blockchain joining application of a second user, processing the consortium blockchain joining application according to the consortium policy; and on the basis of a processing result for the consortium blockchain joining application, joining second organization nodes of the second user in the consortium blockchain. By configuring the consortium policy that supports the application for joining the consortium blockchain, the method achieves equal and autonomous consortium construction, and can satisfy the requirements of services. Moreover, the self-defined consortium contract policy is a distributed contract policy, so that a consortium law and regulation can be achieved to restrain behaviors of all consortium members.

Description

一种联盟链的管理方法及相关系统An alliance chain management method and related systems
本申请要求于2022年07月28日提交中国国家知识产权局、申请号为202210899350.0、发明名称为“一种联盟链的管理方法及相关系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application submitted to the State Intellectual Property Office of China on July 28, 2022, with application number 202210899350.0 and the invention title "A management method and related system for alliance chains", the entire content of which is incorporated by reference. incorporated in this application.
技术领域Technical field
本申请涉及区块链技术领域,尤其涉及一种联盟链的管理方法、系统、计算设备集群、计算机可读存储介质以及计算机程序产品。This application relates to the field of blockchain technology, and in particular to a management method, system, computing device cluster, computer-readable storage medium and computer program product of a consortium chain.
背景技术Background technique
区块链(Blockchain)是指通过基于密码学技术设计的共识机制方式,在对等网络中多个节点共同维护一个持续增长,由有序数据块所构建的链式列表账本的分布式数据库技术。该技术让参与系统中的任意多个节点,将一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的指纹用于链接(chain)下个数据块和校验,系统中所有参与节点来共同认定记录的数据块是否为真。Blockchain refers to a distributed database technology in which multiple nodes in a peer-to-peer network jointly maintain a continuously growing, chained list ledger constructed of ordered data blocks through a consensus mechanism designed based on cryptography technology. . This technology allows any number of nodes participating in the system to calculate and record all information exchange data in the system for a period of time into a data block through cryptographic algorithms, and generate the fingerprint of the data block for chain ) next data block and verification, all participating nodes in the system jointly determine whether the recorded data block is true.
区块链网络可以分为公有链、私有链或联盟链。其中,公有链是一种没有限制的区块链网络,任何用户都可以随时加入公有链,并可以查看账本以及参与其共识过程。私有链和联盟链是一种需要获得许可的区块链网络。其中,加入私有链通常需要集中管理者的许可,而联盟链通常由多个组织或机构共同管理。Blockchain networks can be divided into public chains, private chains or consortium chains. Among them, the public chain is an unrestricted blockchain network. Any user can join the public chain at any time and can view the ledger and participate in its consensus process. Private and consortium chains are permissioned blockchain networks. Among them, joining a private chain usually requires the permission of a centralized administrator, while a consortium chain is usually jointly managed by multiple organizations or institutions.
联盟链的节点数量有限,比较容易达成共识,而且由多个组织或机构共同管理,具有较强可控制性,因此在很多领域得到广泛应用。目前,构建联盟链通常是采用邀请制(也称作盟主制)。以云环境中多个租户构建联盟链为例,盟主将邀请信息发给想要加入联盟的各个参与方,参与方决定是否加入联盟,如果同意加入联盟,就将同意信息发送给联盟链的管理系统,联盟链的管理系统发送记录增量交易的增量区块至共识节点,参与方从共识节点获取要加入的通道配置,驱动本地节点加入联盟链的相应通道。The number of nodes in the alliance chain is limited, it is easier to reach consensus, and it is jointly managed by multiple organizations or institutions. It has strong controllability, so it is widely used in many fields. At present, the invitation system (also called the alliance leader system) is usually used to build alliance chains. Taking the construction of an alliance chain by multiple tenants in a cloud environment as an example, the alliance leader sends invitation information to each participant who wants to join the alliance. The participants decide whether to join the alliance. If they agree to join the alliance, they send the consent information to the management of the alliance chain. System, the management system of the alliance chain sends incremental blocks recording incremental transactions to the consensus node. Participants obtain the channel configuration to join from the consensus node and drive the local node to join the corresponding channel of the alliance chain.
然而,这种方法由邀请方决定加入联盟的成员,不是一种平等的支持自治的联盟构建方式,难以满足业务需求。However, this method leaves the inviting party to decide who joins the alliance. It is not an equal way to build an alliance that supports autonomy, and it is difficult to meet business needs.
发明内容Contents of the invention
本申请提供了一种联盟链的管理方法,该方法通过配置支持申请加入联盟链的联盟策略,实现平等的、支持自治的联盟构建,能够满足业务的需求。本申请还提供了该方法对应的联盟链的管理系统、计算设备集群、计算机可读存储介质以及计算机程序产品。This application provides a management method for an alliance chain. This method realizes the construction of an equal and autonomous alliance by configuring an alliance strategy that supports applications to join the alliance chain, and can meet business needs. This application also provides a consortium chain management system, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to this method.
第一方面,本申请提供了一种联盟链的管理方法。该方法可以由联盟链的管理系统执行。为了便于描述,下文也可以简称为管理系统。管理系统可以是软件系统,该软件系统可以部署在计算设备集群中。计算设备集群通过执行软件系统的程序代码,从而执行本申请实施例的联盟链的管理方法。在一些实施例中,管理系统也可以是具有联盟链管理功能的硬件系统,该硬件系统运行时,执行本申请实施例的联盟链的管理方法。例如,管理系 统可以是具有联盟链管理功能的计算设备集群。In the first aspect, this application provides a management method for the alliance chain. This method can be executed by the management system of the alliance chain. For ease of description, it may also be referred to as the management system for short below. The management system may be a software system that may be deployed in a cluster of computing devices. The computing device cluster executes the program code of the software system to execute the alliance chain management method in the embodiment of the present application. In some embodiments, the management system may also be a hardware system with a consortium chain management function. When the hardware system is running, it executes the consortium chain management method in the embodiment of the present application. For example, the Department of Management The system can be a computing device cluster with alliance chain management functions.
具体地,管理系统可以接收第一用户配置的联盟链的联盟策略。其中,联盟链包括第一用户从第一用户的物理资源集中创建的第一组织节点。当联盟策略支持申请加入上述联盟链,管理系统可以响应于第二用户的联盟链加入申请,根据联盟策略对联盟链加入申请进行处理,基于对联盟链加入申请的处理结果,将第二用户的第二组织节点加入联盟链。Specifically, the management system may receive the alliance policy of the alliance chain configured by the first user. Among them, the alliance chain includes the first organization node created by the first user from the first user's physical resource set. When the alliance policy supports the application to join the above alliance chain, the management system can respond to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy, and based on the processing result of the application to join the alliance chain, add the second user's application to join the alliance chain. The second organizational node joins the alliance chain.
在该方法中,创建联盟的第一用户(即盟主)可以通过配置支持申请加入的联盟策略,如民主制、联盟委员会制或者自定义的联盟合约策略,使得第二用户(例如是云上租户或云下用户)可以主动发起联盟链加入申请,而无需被动接受盟主的邀请,如此可以实现平等的、支持自治的联盟构建,能够满足业务的需求。In this method, the first user who creates the alliance (i.e., the alliance leader) can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation. This can achieve equal and autonomous alliance construction and meet business needs.
在一些可能的实现方式中,管理系统可以接收第一用户选择的民主制或者联盟委员会制,或者接收第一用户上传的联盟合约策略。该方法中第一用户配置的联盟策略可以是单一策略,也可以是混合策略,以此实现基于申请邀请并存的模式,构建平等的、自组织联盟链体系。In some possible implementations, the management system can receive the democracy system or alliance committee system selected by the first user, or receive the alliance contract strategy uploaded by the first user. In this method, the alliance strategy configured by the first user can be a single strategy or a mixed strategy, so as to achieve a coexistence model based on application invitations and build an equal, self-organizing alliance chain system.
在一些可能的实现方式中,联盟合约策略可以通过合约语言编写,其中,联盟合约策略中定义有联盟链中不同类型成员的激励机制。该方法通过在联盟合约策略中定义激励机制,鼓励联盟链中的成员分享数据并参与联盟链中的安全验证工作,从而使得联盟链的交易更加流畅和有序。In some possible implementations, the alliance contract strategy can be written in a contract language, where the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain. This method defines an incentive mechanism in the alliance contract strategy to encourage members in the alliance chain to share data and participate in security verification work in the alliance chain, thereby making transactions in the alliance chain more smooth and orderly.
在一些可能的实现方式中,当处理结果表征允许第二用户加入联盟链,管理系统可以为第二用户已创建的第二组织节点配置联盟信息,该联盟信息包括第二组织节点的通信地址,接着管理系统根据联盟信息在第一组织节点和第二组织节点更新联盟链的链代码,该链代码包括第二组织节点的通信地址。In some possible implementations, when the processing result indicates that the second user is allowed to join the alliance chain, the management system can configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node, Then the management system updates the chain code of the alliance chain at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
该方法针对用户已创建好组织节点的情况,通过配置联盟信息,直接将组织节点加入联盟链,从而完成用户主动加入联盟链,实现平等的、支持自治的联盟构建。This method is aimed at the situation where the user has already created the organization node. By configuring the alliance information, the organization node is directly added to the alliance chain, thereby completing the user's initiative to join the alliance chain and realizing the construction of an equal and autonomous alliance.
在一些可能的实现方式中,当处理结果表征允许第二用户加入所述联盟链,管理系统可以从第二用户的物理资源集中创建第二组织节点,接着,管理系统可以为第二组织节点配置联盟信息,该联盟信息包括第二组织节点的通信地址,并根据联盟信息在第一组织节点和第二组织节点更新联盟链的链代码,该链代码包括所述第二组织节点的通信地址。In some possible implementations, when the processing result indicates that the second user is allowed to join the alliance chain, the management system can create a second organization node from the second user's physical resource set, and then the management system can configure the second organization node Alliance information, the alliance information includes the communication address of the second organization node, and the chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
该方法针对用户未创建组织节点的情况,首先创建组织节点,再通过配置联盟信息,将组织节点加入联盟链,从而完成用户主动加入联盟链,实现平等的、支持自治的联盟构建。This method is aimed at the situation where the user has not created an organization node. First, create an organization node, and then add the organization node to the alliance chain by configuring alliance information, thereby completing the user's initiative to join the alliance chain and achieving an equal and autonomous alliance construction.
在一些可能的实现方式中,当监听到第二组织节点中联盟链的代码被更新,管理系统可以同步更新后的链代码至第一组织节点。该方法在联盟链中某个组织节点更新时,将同步更新至其他组织节点,从而保障不同组织节点上链代码的一致性。In some possible implementations, when it is detected that the code of the alliance chain in the second organization node is updated, the management system can synchronize the updated chain code to the first organization node. In this method, when an organization node in the alliance chain is updated, it will be updated synchronously to other organization nodes, thereby ensuring the consistency of chain codes on different organization nodes.
在一些可能的实现方式中,管理系统可以根据联盟策略触发对第二用户加入联盟链的投票,获得投票结果。该方法通过联盟链中的组织节点的投票结果,决定是否允许第二用户入链,由此实现平等的、支持自治的联盟构建。In some possible implementations, the management system can trigger a vote for the second user to join the alliance chain according to the alliance strategy and obtain the voting results. This method uses the voting results of the organizational nodes in the alliance chain to decide whether to allow the second user to join the chain, thereby achieving the construction of an equal and autonomous alliance.
在一些可能的实现方式中,管理系统可以包括去中心化自治组织组件和联盟组件。其中,去中心化自治组织组件作为自治组织联盟构建管理的编排控制器,协同和编排联盟参 与方执行特定的联盟策略,保障邀请方的业务不断服且平滑接入网络;联盟组件作为联盟成员动态管理的执行器,接受去中心化自治组织组件的指令,执行动态组织加入管理。In some possible implementations, the management system may include decentralized autonomous organization components and alliance components. Among them, the decentralized autonomous organization component serves as the orchestration controller for the construction and management of the autonomous organization alliance, and the collaboration and orchestration alliance participates in The parties implement specific alliance strategies to ensure that the inviting party's business is continuously served and smoothly connected to the network; the alliance component serves as the executor of the dynamic management of alliance members, accepts the instructions of the decentralized autonomous organization component, and performs dynamic organization joining management.
管理系统可以通过去中心化自治组织组件向联盟组件发送投票请求,并通过联盟组件,结合联盟策略中定义的投票比例或投票等待时间执行投票,接着,管理系统可以通过去中心化自治组织组件汇总联盟组件的投票结果。The management system can send a voting request to the alliance component through the decentralized autonomous organization component, and perform voting through the alliance component in combination with the voting ratio or voting waiting time defined in the alliance strategy. Then, the management system can aggregate through the decentralized autonomous organization component. Alliance component voting results.
该方法根据联盟策略确定投票比例或投票等待时间,并按照联盟策略定义的上述投票比例或投票等待时间进行投票,从而决定是否允许第二用户入链,相较于无差别的投票方式,该方法更贴合实际的应用场景,可用性更高。This method determines the voting ratio or voting waiting time according to the alliance strategy, and votes according to the above voting ratio or voting waiting time defined by the alliance strategy, thereby deciding whether to allow the second user to join the chain. Compared with the indiscriminate voting method, this method It is more suitable for actual application scenarios and has higher usability.
在一些可能的实现方式中,第一用户、第二用户可以为云上租户或云下用户。也就是说,该方法支持云上租户或云下用户动态加入联盟链,能够适应不同场景,满足不同业务需求。In some possible implementations, the first user and the second user may be on-cloud tenants or off-cloud users. In other words, this method supports cloud tenants or off-cloud users to dynamically join the alliance chain, and can adapt to different scenarios and meet different business needs.
在一些可能的实现方式中,云上租户的物理资源集可以包括云上租户的集群,该集群可以包括公有云中的虚拟私有云集群或私有云集群。该方法支持在云上租户的集群中创建组织节点,使得云上租户可以以此构建联盟链或加入联盟链。In some possible implementations, the physical resource set of the tenant on the cloud may include a cluster of the tenant on the cloud, and the cluster may include a virtual private cloud cluster or a private cloud cluster in the public cloud. This method supports the creation of organizational nodes in the cluster of cloud tenants, so that cloud tenants can use this to build alliance chains or join alliance chains.
在一些可能的实现方式中,管理系统还可以根据对链代码的更新,对联盟链中的组织节点的决策或行为进行审计。具体地,管理系统可以在联盟链异常时,例如是不同组织节点维护的数据不一致时,启动对联盟链中的组织节点的决策或行为的审计。其中,管理系统可以根据各组织节点中部署的链代码的更新记录,确定联盟链中的组织节点的投票等行为或者基于投票结果确定的决策是否符合相关规定或约定。如此可以实现联盟链的每个决策可以被审计,联盟构建的行为可以被追溯,保障了安全性。In some possible implementations, the management system can also audit the decisions or behaviors of organizational nodes in the alliance chain based on updates to the chain code. Specifically, the management system can initiate an audit of the decisions or behaviors of organizational nodes in the alliance chain when the alliance chain is abnormal, for example, when data maintained by different organizational nodes is inconsistent. Among them, the management system can determine whether the voting and other behaviors of the organizational nodes in the alliance chain or the decisions based on the voting results comply with relevant regulations or agreements based on the update records of the chain codes deployed in each organizational node. In this way, every decision of the alliance chain can be audited, and the behavior of alliance construction can be traced, ensuring security.
在一些可能的实现方式中,当第一用户配置的联盟链的联盟策略为联盟合约策略时,管理系统还可以向第二用户呈现联盟合约策略,以便于第二用户查看联盟合约策略的内容,并基于该联盟合约策略的内容,决定是否申请加入联盟链。In some possible implementations, when the alliance strategy of the alliance chain configured by the first user is the alliance contract strategy, the management system can also present the alliance contract strategy to the second user so that the second user can view the content of the alliance contract strategy. And based on the content of the alliance contract strategy, decide whether to apply to join the alliance chain.
在一些可能的实现方式中,管理系统还可以接收第一用户触发的合约更新请求,该合约更新请求用于更新联盟合约策略,例如用于更新联盟合约策略中的投票比例、投票等待时间,管理系统根据合约更新请求,更新联盟合约策略。其中,管理系统可以将更新后的联盟合约策略下发至联盟链的各组织节点,从而实现更新联盟合约策略。In some possible implementations, the management system can also receive a contract update request triggered by the first user. The contract update request is used to update the alliance contract strategy, for example, to update the voting proportion and voting waiting time in the alliance contract strategy. Management The system updates the alliance contract strategy based on the contract update request. Among them, the management system can deliver the updated alliance contract strategy to each organizational node of the alliance chain, thereby updating the alliance contract strategy.
在一些可能的实现方式中,管理系统还可以针对合约更新请求触发对更新联盟合约策略的投票,获得投票结果。当投票结果表征允许更新联盟合约策略时,管理系统将更新后的联盟合约策略下发至联盟链的各组织节点,从而实现更新联盟合约策略。如此,可以实现联盟自治。In some possible implementations, the management system can also trigger a vote on updating the alliance contract strategy in response to a contract update request and obtain the voting results. When the voting results indicate that the alliance contract strategy is allowed to be updated, the management system will issue the updated alliance contract strategy to each organizational node of the alliance chain, thereby updating the alliance contract strategy. In this way, alliance autonomy can be achieved.
第二方面,本申请提供了一种联盟链的管理系统。所述系统包括:In the second aspect, this application provides an alliance chain management system. The system includes:
编排控制模块,用于接收第一用户配置的联盟链的联盟策略,所述联盟链包括第一用户从所述第一用户的物理资源集中创建的第一组织节点;An orchestration control module, configured to receive an alliance policy of an alliance chain configured by the first user, where the alliance chain includes a first organization node created by the first user from the physical resource set of the first user;
所述编排控制模块,还用于当所述联盟策略支持申请加入所述联盟链,响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理;The orchestration control module is also configured to, when the alliance policy supports an application to join the alliance chain, in response to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy;
执行模块,用于基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。 An execution module, configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
在一些可能的实现方式中,所述编排控制模块具体用于:In some possible implementations, the orchestration control module is specifically used to:
接收所述第一用户选择的民主制或者联盟委员会制;或者,Receive the first user's choice of democracy or federation committee; or,
接收所述第一用户上传的联盟合约策略。Receive the alliance contract strategy uploaded by the first user.
在一些可能的实现方式中,所述联盟合约策略通过合约语言编写,所述联盟合约策略中定义有所述联盟链中不同类型成员的激励机制。In some possible implementations, the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
在一些可能的实现方式中,所述执行模块具体用于:In some possible implementations, the execution module is specifically used to:
当所述处理结果表征允许所述第二用户加入所述联盟链,为所述第二用户已创建的第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;When the processing result indicates that the second user is allowed to join the alliance chain, configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node;
根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
在一些可能的实现方式中,所述执行模块具体用于:In some possible implementations, the execution module is specifically used to:
当所述处理结果表征允许所述第二用户加入所述联盟链,从所述第二用户的物理资源集中创建第二组织节点;When the processing result indicates that the second user is allowed to join the alliance chain, create a second organization node from the physical resource set of the second user;
为所述第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;Configure alliance information for the second organization node, where the alliance information includes the communication address of the second organization node;
根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
在一些可能的实现方式中,所述执行模块具体用于:In some possible implementations, the execution module is specifically used to:
当监听到所述第二组织节点中所述联盟链的链代码被更新,同步更新后的所述链代码至所述第一组织节点。When it is detected that the chain code of the alliance chain in the second organization node is updated, the updated chain code is synchronized to the first organization node.
在一些可能的实现方式中,所述编排控制模块具体用于:In some possible implementations, the orchestration control module is specifically used to:
根据所述联盟策略触发对所述第二用户加入所述联盟链的投票,获得投票结果。Trigger a vote for the second user to join the alliance chain according to the alliance policy, and obtain the voting result.
在一些可能的实现方式中,所述编排控制模块具体用于:In some possible implementations, the orchestration control module is specifically used to:
向所述执行模块发送投票请求;Send a voting request to the execution module;
所述执行模块具体用于:The execution module is specifically used for:
结合所述联盟策略中定义的投票比例或投票等待时间执行投票;Perform voting in conjunction with the voting ratio or voting waiting time defined in the alliance policy;
所述编排控制模块具体用于:The orchestration control module is specifically used for:
汇总所述执行模块的投票结果。Summarize the voting results of the execution modules.
在一些可能的实现方式中,所述第一用户、所述第二用户为云上租户或云下用户。In some possible implementations, the first user and the second user are on-cloud tenants or off-cloud users.
在一些可能的实现方式中,所述云上租户的物理资源集包括所述云上租户的集群,所述集群包括公有云中的虚拟私有云集群或私有云集群。In some possible implementations, the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in a public cloud.
第三方面,本申请提供一种计算设备集群。所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器。所述至少一个处理器、所述至少一个存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备或计算设备集群执行如第一方面或第一方面的任一种实现方式所述的联盟链的管理方法。In a third aspect, this application provides a computing device cluster. The cluster of computing devices includes at least one computing device including at least one processor and at least one memory. The at least one processor and the at least one memory communicate with each other. The at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster executes the management method of the consortium chain as described in the first aspect or any implementation of the first aspect.
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的联盟链的管理方法。 In a fourth aspect, the present application provides a computer-readable storage medium in which instructions are stored, and the instructions instruct a computing device or a cluster of computing devices to execute the above-mentioned first aspect or any one of the first aspects. The management method of the alliance chain described in the implementation method.
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算机或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的联盟链的管理方法。In a fifth aspect, the present application provides a computer program product containing instructions that, when run on a computing device or a cluster of computing devices, causes the computer or cluster of computing devices to execute the above-mentioned first aspect or any implementation of the first aspect. The management method of the alliance chain described in the method.
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。In order to explain the technical methods of the embodiments of the present application more clearly, the drawings required to be used in the embodiments will be briefly introduced below.
图1为本申请实施例提供的一种联盟链的结构示意图;Figure 1 is a schematic structural diagram of an alliance chain provided by an embodiment of the present application;
图2为本申请实施例提供的一种联盟链的结构示意图;Figure 2 is a schematic structural diagram of an alliance chain provided by an embodiment of the present application;
图3为本申请实施例提供的一种联盟链的管理系统的架构图;Figure 3 is an architectural diagram of a consortium chain management system provided by an embodiment of the present application;
图4为本申请实施例提供的一种联盟链的管理方法的流程图;Figure 4 is a flow chart of a consortium chain management method provided by an embodiment of the present application;
图5为本申请实施例提供的一种联盟链的管理方法的应用场景示意图;Figure 5 is a schematic diagram of an application scenario of a consortium chain management method provided by an embodiment of the present application;
图6为本申请实施例提供的一种联盟链的管理方法的应用场景示意图;Figure 6 is a schematic diagram of an application scenario of a consortium chain management method provided by an embodiment of the present application;
图7为本申请实施例提供的一种计算设备的结构示意图;Figure 7 is a schematic structural diagram of a computing device provided by an embodiment of the present application;
图8为本申请实施例提供的一种计算设备集群的结构示意图;Figure 8 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application;
图9为本申请实施例提供的一种计算设备集群的结构示意图;Figure 9 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application;
图10为本申请实施例提供的一种计算设备集群的结构示意图。Figure 10 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
具体实施方式Detailed ways
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。The terms "first" and "second" in the embodiments of this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, features defined as "first" and "second" may explicitly or implicitly include one or more of these features.
首先对本申请实施例中所涉及到的一些技术术语进行介绍。First, some technical terms involved in the embodiments of this application are introduced.
区块链网络,也可以简称为区块链,是指利用区块链技术构建的对等(peer to peer,P2P)网络。在区块链网络中,多个节点共同维护一个持续增长,由有序数据块所构建的链式列表账本。Blockchain network, also referred to as blockchain, refers to a peer-to-peer (P2P) network built using blockchain technology. In a blockchain network, multiple nodes jointly maintain a continuously growing, chained list ledger constructed of ordered data blocks.
区块链可以根据读写权限的开放程度不同,分为公有链(public blockchain)、私有链(Private Blockchain)或联盟链(Consortium Blockchain)。公有链即为公有的区块链,读写权限对所有节点开放;私有链即为私有的区块链,读写权限对某个节点开放;联盟链即为联盟区块链,读写权限对加入联盟的节点(联盟内成员)开放。Blockchains can be divided into public blockchain, private blockchain or consortium blockchain according to the degree of openness of read and write permissions. The public chain is a public blockchain, and read and write permissions are open to all nodes; the private chain is a private blockchain, and read and write permissions are open to a certain node; the alliance chain is an alliance blockchain, and read and write permissions are open to all nodes. Nodes joining the alliance (members within the alliance) are open.
联盟链的节点数量相对较少,比较容易达成共识,因此联盟链具有较快的交易速度以及较强的可控制性。联盟内成员通过维护分布式账本(如分布式的链式列表账本),可以实现价值交换。基于此,联盟链可以广泛应用于金融行业以及能源、保险、物联网等其他行业,尤其适合应用于上述行业中注重隐私保护、交易速度以及内部监管的业务场景。The number of nodes in the alliance chain is relatively small and it is easier to reach consensus. Therefore, the alliance chain has faster transaction speed and stronger controllability. Members within the alliance can achieve value exchange by maintaining distributed ledgers (such as distributed chain list ledgers). Based on this, the alliance chain can be widely used in the financial industry and other industries such as energy, insurance, and the Internet of Things. It is especially suitable for business scenarios that focus on privacy protection, transaction speed, and internal supervision in the above industries.
联盟链还可以与云计算(cloud computing)结合,从而实现向用户提供相应的云服务。云计算是一种通过网络以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。其中, 提供云计算的平台称作云平台。云平台可以提供区块链服务(Blockchain-As-A-Service,BaaS),以用于构建联盟链等区块链。其中,BaaS可以是公有云服务,云平台可以向公有云的租户提供BaaS,以便于租户基于BaaS构建联盟链。The alliance chain can also be combined with cloud computing to provide users with corresponding cloud services. Cloud computing is a computing model that provides dynamically scalable virtualized resources as services over a network. in, The platform that provides cloud computing is called a cloud platform. The cloud platform can provide blockchain services (Blockchain-As-A-Service, BaaS) for building blockchains such as alliance chains. Among them, BaaS can be a public cloud service, and the cloud platform can provide BaaS to public cloud tenants so that tenants can build alliance chains based on BaaS.
相关技术通常是采用邀请制构建联盟链。以云平台的多个租户构建联盟链为例,一个租户可以创建联盟,创建联盟的租户也可以称作盟主,盟主将邀请信息发给想要加入联盟的各个参与方,例如是云平台的其他租户。参与方决定是否加入联盟,如果同意加入联盟,就将同意信息发送给联盟链的管理系统。联盟链的管理系统发送记录增量交易的增量区块至共识节点,参与方从共识节点获取要加入的通道配置,驱动本地节点加入联盟链的相应通道。然而,这种方法由邀请方决定加入联盟的成员,不是一种平等的支持自治的联盟构建方式,难以满足业务需求。The related technology usually uses an invitation system to build a consortium chain. Taking multiple tenants of a cloud platform to build an alliance chain as an example, a tenant can create an alliance, and the tenant who creates the alliance can also be called the alliance leader. The alliance leader sends invitation information to various participants who want to join the alliance, such as other parties on the cloud platform. tenant. Participants decide whether to join the alliance. If they agree to join the alliance, they will send the consent information to the management system of the alliance chain. The management system of the alliance chain sends incremental blocks recording incremental transactions to the consensus node. Participants obtain the channel configuration to join from the consensus node and drive the local node to join the corresponding channel of the alliance chain. However, this method leaves the inviting party to decide who joins the alliance. It is not an equal way to build an alliance that supports autonomy, and it is difficult to meet business needs.
有鉴于此,本申请实施例提供了一种联盟链的管理方法。该方法应用于联盟链的管理系统。为了便于描述,本申请实施例中也可以简称为管理系统。管理系统可以是软件系统,该软件系统可以部署在计算设备集群中。计算设备集群通过执行软件系统的程序代码,从而执行本申请实施例的联盟链的管理方法。在一些实施例中,管理系统也可以是具有联盟链管理功能的硬件系统,该硬件系统运行时,执行本申请实施例的联盟链的管理方法。例如,管理系统可以是具有联盟链管理功能的计算设备集群。In view of this, embodiments of the present application provide a management method for a consortium chain. This method is applied to the management system of the alliance chain. For convenience of description, it may also be referred to as the management system for short in the embodiment of this application. The management system may be a software system that may be deployed in a cluster of computing devices. The computing device cluster executes the program code of the software system to execute the alliance chain management method in the embodiment of the present application. In some embodiments, the management system may also be a hardware system with a consortium chain management function. When the hardware system is running, it executes the consortium chain management method in the embodiment of the present application. For example, the management system can be a computing device cluster with alliance chain management functions.
具体地,管理系统可以接收第一用户配置的联盟链的联盟策略。其中,联盟链包括第一用户从第一用户的物理资源集中创建的第一组织节点。当联盟策略支持申请加入上述联盟链,管理系统可以响应于第二用户的联盟链加入申请,根据联盟策略对联盟链加入申请进行处理,基于对联盟链加入申请的处理结果,将第二用户的第二组织节点加入联盟链。Specifically, the management system may receive the alliance policy of the alliance chain configured by the first user. Among them, the alliance chain includes the first organization node created by the first user from the first user's physical resource set. When the alliance policy supports the application to join the above alliance chain, the management system can respond to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy, and based on the processing result of the application to join the alliance chain, add the second user's application to join the alliance chain. The second organizational node joins the alliance chain.
在该方法中,创建联盟的第一用户(即盟主)可以通过配置支持申请加入的联盟策略,如民主制、联盟委员会制或者自定义的联盟合约策略,使得第二用户(例如是云上租户或云下用户)可以主动发起联盟链加入申请,而无需被动接受盟主的邀请,如此可以实现平等的、支持自治的联盟构建,能够满足业务的需求。而且,自定义的联盟合约策略为分布式合约策略,可以达成一种联盟法律法规,约束所有联盟成员的行为。In this method, the first user who creates the alliance (i.e., the alliance leader) can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation. This can achieve equal and autonomous alliance construction and meet business needs. Moreover, the customized alliance contract strategy is a distributed contract strategy, which can achieve a kind of alliance laws and regulations to constrain the behavior of all alliance members.
还需要说明的是,第一用户配置的联盟策略可以是单一策略,如民主制、联盟委员会制等。第一用户配置的联盟策略也可以是混合策略,例如是盟主制和民主制的混合策略。第一用户通过将联盟策略配置为上述混合策略,可以实现基于申请邀请并存的模式,构建平等的、自组织联盟链体系。It should also be noted that the alliance strategy configured by the first user may be a single strategy, such as democracy, alliance committee system, etc. The alliance strategy configured by the first user may also be a mixed strategy, for example, a mixed strategy of alliance leadership and democracy. By configuring the alliance strategy as the above hybrid strategy, the first user can realize the coexistence model based on application invitations and build an equal, self-organizing alliance chain system.
进一步地,该方法支持云上租户或云下用户动态加入联盟链,能够适应不同场景,满足不同业务需求。Furthermore, this method supports cloud tenants or off-cloud users to dynamically join the alliance chain, which can adapt to different scenarios and meet different business needs.
参见图1所示的联盟链的结构示意图,管理系统支持公有云中不同虚拟私有云(Virtual private cloud,VPC)之间互联,如图1所示,公有云中包括租户A和租户B,其中,租户A使用VPC01,租户B使用VPC02,VPC01中的节点02与VPC02中的节点03,通过连接102互联,如此公有云中的多个租户可以构建联盟链。管理系统也支持公有云和私有云互联,例如私有云中包括租户C,租户C使用私有云中的节点05,公有云的VPC01中的节点01可以与私有云中的节点05通过连接104互联,如此可以实现公有云的租户和私有云的租户构建联盟链。 Referring to the schematic structural diagram of the alliance chain shown in Figure 1, the management system supports the interconnection between different virtual private clouds (Virtual private clouds, VPC) in the public cloud. As shown in Figure 1, the public cloud includes tenant A and tenant B, where , Tenant A uses VPC01, and tenant B uses VPC02. Node 02 in VPC01 and node 03 in VPC02 are interconnected through connection 102, so that multiple tenants in the public cloud can build a consortium chain. The management system also supports interconnection between public cloud and private cloud. For example, the private cloud includes tenant C, and tenant C uses node 05 in the private cloud. Node 01 in VPC01 of the public cloud can be interconnected with node 05 in the private cloud through connection 104. In this way, public cloud tenants and private cloud tenants can build an alliance chain.
管理系统还支持跨云互联。其中,跨云互联包括公有云和第三方云(具体是第三方云服务提供商所提供的云)互联、私有云和第三方云互联。如图1所示,第三方云的用户A能够对第三方云中的节点06进行读写。公有云的VPC02中的节点04可以与第三方云中的节点06通过连接106互联,如此可以实现公有云的租户与第三方云的用户构建联盟链。私有云中的节点05可以与第三方云中的节点06通过连接108互联,如此可以实现私有云的租户与第三方云的用户构建联盟链。The management system also supports cross-cloud interconnection. Among them, cross-cloud interconnection includes interconnection between public clouds and third-party clouds (specifically, clouds provided by third-party cloud service providers), private clouds, and third-party cloud interconnections. As shown in Figure 1, user A of the third-party cloud can read and write to node 06 in the third-party cloud. Node 04 in VPC02 of the public cloud can be interconnected with node 06 in the third-party cloud through connection 106, so that tenants of the public cloud and users of the third-party cloud can build an alliance chain. Node 05 in the private cloud can be interconnected with node 06 in the third-party cloud through the connection 108, so that the tenants of the private cloud and the users of the third-party cloud can build an alliance chain.
管理系统也支持云平台与边缘节点的互联。边缘节点是指与最终接入的用户之间具有较少中间环节的网络节点,可以是某个机房或者某个物理设备。相对于直接访问云平台中源站而言,用户访问边缘节点时有更好的响应能力和连接速度。The management system also supports the interconnection between the cloud platform and edge nodes. An edge node refers to a network node with fewer intermediate links between it and the final access user. It can be a computer room or a physical device. Compared with directly accessing the origin site in the cloud platform, users have better response capabilities and connection speeds when accessing edge nodes.
其中,云平台与边缘节点的互联可以包括公有云和边缘节点互联、私有云和边缘节点互联、第三方云和边缘节点互联。如图1所示,用户B具有对边缘节点中的节点07的读写权限,公有云的VPC02中的节点04可以与边缘节点中的节点07通过连接110互联,如此可以实现公有云的租户与边缘节点的用户构建联盟链。类似地,私有云中的节点05可以与边缘节点中的节点07通过连接112互联,如此可以实现私有云的租户与边缘节点的用户构建联盟链。第三方云中的节点06可以与边缘节点中的节点07通过连接114互联,如此可以实现第三方云的用户与边缘节点的用户构建联盟链。Among them, the interconnection between the cloud platform and edge nodes can include the interconnection between public cloud and edge nodes, the interconnection between private cloud and edge nodes, and the interconnection between third-party cloud and edge nodes. As shown in Figure 1, User B has read and write permissions to Node 07 in the edge node. Node 04 in VPC02 of the public cloud can be interconnected with Node 07 in the edge node through connection 110. In this way, tenants of the public cloud can communicate with each other. Users of edge nodes build alliance chains. Similarly, node 05 in the private cloud can be interconnected with node 07 in the edge node through the connection 112, so that the tenants of the private cloud and the users of the edge node can build an alliance chain. The node 06 in the third-party cloud can be interconnected with the node 07 in the edge node through the connection 114, so that users of the third-party cloud and users of the edge node can build an alliance chain.
每个用户或者租户可以视作一个联盟中的参与方,作为一个组织参与到某条联盟链中。为了便于描述,下文均以公有云的多个租户构建联盟链进行示例说明。其他类型的租户或用户构建联盟链的具体实现可以参考公有云的多个租户构建联盟链的相关内容描述。Each user or tenant can be regarded as a participant in an alliance and participates in a certain alliance chain as an organization. For the convenience of description, the following examples use multiple tenants in the public cloud to build a consortium chain. For specific implementations of building consortium chains for other types of tenants or users, please refer to the relevant descriptions of building consortium chains for multiple tenants in the public cloud.
参见图2所示的多租户构建的联盟链的示意图,每个租户具有一个集群,该集群可以是VPC集群,该集群内包括用于构建联盟链的节点。其中,每个集群可以申请弹性公网网络地址(elastic internet protocol address,EIP),用于和其他集群中的节点通信。Referring to the schematic diagram of a consortium chain constructed by multi-tenants shown in Figure 2, each tenant has a cluster, which may be a VPC cluster, and the cluster includes nodes used to build the consortium chain. Among them, each cluster can apply for an elastic Internet protocol address (EIP) to communicate with nodes in other clusters.
每个租户可以视作一个联盟中的参与方,作为一个组织参与到某条联盟链中。例如,租户A可以视作一个联盟中的参与方,作为组织A参与到联盟链A中。租户A也可以视作另一个联盟中的参与方,作为组织A参与到联盟链B中。也即,租户存在一个或者多个节点,这些节点可以和不同租户的节点一起用于构建多条联盟链来达成不同的业务诉求。例如,租户A的一个节点可以和租户B的一个节点、租户C的一个节点通过联盟策略A,构建联盟链A,租户A的另一个节点可以和租户B的另一个节点通过联盟策略C,构建联盟链C。需要说明的是,不同联盟链可以采用相同或不同联盟策略构建。例如,联盟策略A可以是民主制,联盟策略C可以是联盟合约策略。其中,不同联盟链中的数据是相互隔离的。同一条联盟链中的数据不隔离,即同一条联盟链中的节点发送的消息可以互相接受,不在该联盟链中的节点不能接受该联盟链中发送的消息。例如,租户A集群中参与到联盟链C的节点不能接受联盟链A中发送的消息。Each tenant can be regarded as a participant in an alliance and participates in a certain alliance chain as an organization. For example, tenant A can be regarded as a participant in an alliance and participates in alliance chain A as organization A. Tenant A can also be regarded as a participant in another alliance, participating in alliance chain B as organization A. That is to say, a tenant has one or more nodes, and these nodes can be used together with nodes of different tenants to build multiple alliance chains to achieve different business requirements. For example, a node of tenant A can build alliance chain A with a node of tenant B and a node of tenant C through alliance policy A, and another node of tenant A can build an alliance chain A with another node of tenant B through alliance policy C. Alliance chain C. It should be noted that different alliance chains can be constructed using the same or different alliance strategies. For example, alliance strategy A can be democracy, and alliance strategy C can be alliance contract strategy. Among them, data in different alliance chains are isolated from each other. Data in the same alliance chain is not isolated, that is, messages sent by nodes in the same alliance chain can be accepted by each other, but nodes not in the alliance chain cannot accept messages sent in the alliance chain. For example, nodes in the tenant A cluster that participate in alliance chain C cannot accept messages sent in alliance chain A.
在本实施例中,一个租户(如租户A)可以作为一个区块链网络的发起方,允许其动态邀请其他租户加入基于此区块链网络所构建的联盟链中。其中,区块链网络内嵌的链代码中定义有通用的联盟策略,如盟主制、民主制、联盟委员会制,进一步地,链代码中还定义有所要构建的联盟链的激励体系。该激励体系是指针对联盟链的操作的激励机制。例如,激励体系可以包括:联盟链的一个参与方分享数据,给予该参与方一定数量的可分配 资源进行激励。上述租户也可以发布该租户创建的联盟的信息,在许可网络内允许其他租户(或用户)申请加入。被邀请方在收到邀请可以加入联盟链,申请方查询到联盟发起者(也即盟主)的联盟策略后发起联盟链加入申请来加入联盟链。上述用于构建联盟链的节点也称作区块链节点。该方法支持邀请申请并存模式,可以实现不同租户之间的区块链节点的安全自治。In this embodiment, a tenant (such as tenant A) can serve as the initiator of a blockchain network, allowing it to dynamically invite other tenants to join the alliance chain built based on this blockchain network. Among them, the chain code embedded in the blockchain network defines general alliance strategies, such as the alliance leader system, democracy system, and alliance committee system. Furthermore, the chain code also defines the incentive system of the alliance chain to be built. This incentive system refers to the incentive mechanism for the operation of the alliance chain. For example, the incentive system can include: a participant in the alliance chain shares data and gives the participant a certain amount of allocable resources to motivate. The above-mentioned tenant can also publish information about the alliance created by the tenant and allow other tenants (or users) to apply to join within the permission network. The invited party can join the alliance chain after receiving the invitation. The applicant can query the alliance strategy of the alliance initiator (i.e. the alliance leader) and initiate an application to join the alliance chain to join the alliance chain. The above-mentioned nodes used to build the alliance chain are also called blockchain nodes. This method supports the invitation application coexistence mode, which can realize the safe autonomy of blockchain nodes between different tenants.
需要说明的是,每个租户不仅具有区块链节点,还具有用于管理联盟的组件。上述用于管理联盟的组件也可以称作联盟组件、代理(proxy)组件。在本实施例中,联盟组件可以和区块链节点交互,以获取或写入联盟的信息。例如,联盟组件用于获取联盟的信息,进而发布该联盟的信息,或者联盟组件用于更新链代码中联盟的信息。其中,租户的集群可以包括一个或多个区块链节点,联盟组件可以对一个或多个区块链节点进行统一管理。It should be noted that each tenant not only has a blockchain node, but also has components for managing the federation. The above-mentioned components for managing the alliance may also be called alliance components and proxy components. In this embodiment, the alliance component can interact with the blockchain node to obtain or write alliance information. For example, the alliance component is used to obtain alliance information and then publish the alliance information, or the alliance component is used to update the alliance information in the chain code. Among them, the tenant's cluster can include one or more blockchain nodes, and the alliance component can uniformly manage one or more blockchain nodes.
以上对联盟链的结构进行了介绍,接下来,结合附图对本申请实施例的用于构建联盟链的管理系统的系统结构进行介绍。The structure of the alliance chain has been introduced above. Next, the system structure of the management system for building the alliance chain according to the embodiment of the present application will be introduced with reference to the accompanying drawings.
参见图3所示的管理系统的系统架构图,管理系统300包括编排控制模块302和执行模块304。其中,编排控制模块302用于接收第一用户配置的联盟链的联盟策略,该联盟链包括第一用户从第一用户的物理资源集中创建的第一组织节点,当所述联盟策略支持申请加入所述联盟链,响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理。执行模块304用于基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。Referring to the system architecture diagram of the management system shown in FIG. 3 , the management system 300 includes an orchestration control module 302 and an execution module 304 . Wherein, the orchestration control module 302 is used to receive the alliance policy of the alliance chain configured by the first user. The alliance chain includes the first organization node created by the first user from the first user's physical resource set. When the alliance policy supports the application to join The alliance chain, in response to the second user's alliance chain joining application, processes the alliance chain joining application according to the alliance policy. The execution module 304 is configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
其中,编排控制模块302、执行模块304可以采用组件化模式开发得到,基于此,编排控制模块303可以为去中心化自治组织(Decentralized Autonomous Organization,DAO)组件,执行模块304可以为上述联盟组件。Among them, the orchestration control module 302 and the execution module 304 can be developed using a componentized model. Based on this, the orchestration control module 303 can be a decentralized autonomous organization (Decentralized Autonomous Organization, DAO) component, and the execution module 304 can be the above-mentioned alliance component.
DAO组件的主要作用是面向租户,作为自治组织联盟构建管理的编排控制器,协同和编排联盟参与方执行特定的联盟策略,保障邀请方的业务不断服且平滑接入网络。The main function of the DAO component is to serve tenants and serve as an orchestration controller for the construction and management of autonomous organization alliances. It coordinates and orchestrates alliance participants to execute specific alliance policies, ensuring that the inviting party's business is continuously served and smoothly connected to the network.
联盟组件作为联盟成员动态管理的执行器,接受DAO组件的指令,执行动态组织加入管理。同时,联盟组件能够直接和联盟链中的节点交互,因此DAO组件执行特定的联盟策略时所触发的操作如投票操作,可以由联盟组件返回结果给DAO组件。As the executor of dynamic management of alliance members, the alliance component accepts instructions from the DAO component and performs dynamic organization joining management. At the same time, the alliance component can directly interact with the nodes in the alliance chain. Therefore, the operations triggered by the DAO component when executing a specific alliance strategy, such as voting operations, can be returned by the alliance component to the DAO component.
需要说明的是,管理系统300的各个部分可以分布式地部署在云平台中。例如,DAO组件可以部署在云平台的管理集群中,联盟组件可以部署在云平台的各租户集群中。在本申请实施例其他可能的实现方式中,DAO组件也可以部署在云平台的各租户集群中。由于图2是以多租户构建联盟链进行示例说明,在其他构建联盟链的场景中,管理系统300的各个部分如DAO组件以及不同组织的联盟组件也可以部署在其他环境中,例如部署在边缘节点中,本实施例对此不作限制。It should be noted that various parts of the management system 300 can be deployed in a distributed manner on the cloud platform. For example, DAO components can be deployed in the management cluster of the cloud platform, and alliance components can be deployed in each tenant cluster of the cloud platform. In other possible implementations of the embodiments of this application, the DAO component can also be deployed in each tenant cluster of the cloud platform. Since Figure 2 illustrates the construction of a consortium chain with multi-tenants, in other scenarios of building a consortium chain, various parts of the management system 300 such as DAO components and consortium components of different organizations can also be deployed in other environments, such as at the edge. nodes, this embodiment does not limit this.
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例的联盟链的管理方法进行介绍。In order to make the technical solution of the present application clearer and easier to understand, the management method of the alliance chain in the embodiment of the present application will be introduced below with reference to the accompanying drawings.
参见图4所示的联盟链的管理方法的流程图,该方法包括:Refer to the flow chart of the alliance chain management method shown in Figure 4. The method includes:
S402:管理系统300接收第一用户配置的联盟链的联盟策略。 S402: The management system 300 receives the alliance policy of the alliance chain configured by the first user.
第一用户可以为云上租户或云下用户(也可以称为离线用户)。第一用户可以作为联盟发起方,发起创建联盟链的操作。在创建联盟链时,第一用户可以从第一用户的物理资源集中创建第一组织节点,联盟链包括该第一组织节点。云上租户的物理资源集包括云上租户的集群。该集群为公有云中的虚拟私有云或私有云集群。云下用户的物理资源集包括边缘节点。The first user can be an on-cloud tenant or an off-cloud user (also called an offline user). The first user can serve as the alliance initiator and initiate the operation of creating the alliance chain. When creating the alliance chain, the first user can create a first organization node from the first user's physical resource set, and the alliance chain includes the first organization node. The physical resource set of the cloud tenant includes the cluster of the cloud tenant. The cluster is a virtual private cloud or private cloud cluster in the public cloud. The user's physical resource set under the cloud includes edge nodes.
联盟策略可以包括通用的盟主制、民主制、联盟委员会制中的一种或多种。联盟策略也可以包括自定义的联盟合约策略。其中,联盟合约策略可以是通过合约语言编写。在一些实施例中,合约语言可以包括Solidity或Vyper中的一种或多种。The alliance strategy may include one or more of the general alliance-leader system, democracy system, and alliance committee system. Alliance strategies can also include customized alliance contract strategies. Among them, the alliance contract strategy can be written through contract language. In some embodiments, the contract language may include one or more of Solidity or Vyper.
盟主制由盟主来决定联盟内部成员。具体地,盟主可以邀请其它用户(云上租户或云下用户)加入联盟链,当用户同意,该用户可以成为联盟内部成员。民主制是允许用户(云上租户或云下用户)申请加入联盟链,由已加入用户(联盟内部成员)投票是否同意申请用户加入,大多数已加入用户同意即能达成一致。联盟委员会支持投票选举出进行决策的委员会成员,由委员会成员投票同意申请用户是否加入,其它成员可以发起联盟委员会成员选举换届。In the leader system, the leader determines the members of the alliance. Specifically, the alliance leader can invite other users (on-cloud tenants or off-cloud users) to join the alliance chain. When the user agrees, the user can become an internal member of the alliance. Democracy allows users (on-cloud tenants or off-cloud users) to apply to join the alliance chain, and users who have joined (internal members of the alliance) vote whether to agree to the application for users to join. A consensus can be reached when the majority of already-joined users agree. The Alliance Committee supports voting to elect committee members who make decisions. Committee members vote to agree whether the applicant should join. Other members can initiate the election of Alliance Committee members.
联盟合约策略是基于合约对用户加入联盟链的条件进行约定的策略。例如,联盟合约策略可以通过合约代码将用户加入联盟链的条件约定为不同类型的联盟内部成员设置有投票权重,基于该权重可以确定用户是否加入联盟的投票结果,当投票结果满足设定条件时,则允许用户加入联盟链,否则拒绝用户加入联盟链。The alliance contract strategy is a strategy that stipulates the conditions for users to join the alliance chain based on the contract. For example, the alliance contract strategy can stipulate the conditions for users to join the alliance chain through the contract code. Voting weights are set for different types of internal members of the alliance. Based on this weight, the voting results of whether the user joins the alliance can be determined. When the voting results meet the set conditions , the user is allowed to join the alliance chain, otherwise the user is refused to join the alliance chain.
在一些可能的实现方式中,联盟合约策略中还可以定义联盟链中不同类型成员的激励机制。该激励机制是指针对联盟链的操作的激励机制。例如,激励机制可以包括:联盟内部成员分享数据,给予5份额的可分配资源进行激励,联盟内部成员邀请新用户加入联盟链,给予10份额的可分配资源进行激励。需要说明的是,可分配资源可以是虚拟资源,例如是积分等。In some possible implementations, the alliance contract strategy can also define incentive mechanisms for different types of members in the alliance chain. This incentive mechanism refers to the incentive mechanism for the operation of the alliance chain. For example, the incentive mechanism can include: members within the alliance share data and are given 5 shares of allocable resources as incentives; members within the alliance invite new users to join the alliance chain and are given 10 shares of allocable resources as incentives. It should be noted that the allocable resources may be virtual resources, such as points.
S404:当所述联盟策略支持申请加入所述联盟链,管理系统300响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理。S404: When the alliance policy supports the application to join the alliance chain, the management system 300 responds to the second user's application to join the alliance chain and processes the application to join the alliance chain according to the alliance policy.
支持申请加入联盟链的联盟策略可以包括民主制、联盟委员会制,或者是混合有民主制、联盟委员会制中至少一种的混合策略。在一些实施例中,支持申请加入联盟链的联盟策略也可以包括自定义的联盟合约策略。The alliance strategy that supports the application to join the alliance chain can include democracy, alliance committee system, or a hybrid strategy that combines at least one of democracy and alliance committee system. In some embodiments, the alliance strategy supporting application to join the alliance chain may also include a customized alliance contract strategy.
当第一用户配置的联盟策略为民主制、联盟委员会制或者是联盟合约策略等支持申请加入联盟链的合约策略,管理系统300可以向第二用户呈现联盟链的信息。联盟链的信息可以包括联盟链的业务信息、通信地址中的一种或多种。第二用户可以根据联盟链的信息发起联盟链加入申请。相应地,管理系统300可以响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理。When the alliance strategy configured by the first user is a contract strategy such as democracy, alliance committee system, or alliance contract strategy that supports application to join the alliance chain, the management system 300 can present the information of the alliance chain to the second user. The information of the alliance chain may include one or more of the business information and communication address of the alliance chain. The second user can initiate an application to join the alliance chain based on the information of the alliance chain. Correspondingly, the management system 300 may respond to the second user's application for joining the alliance chain and process the application for joining the alliance chain according to the alliance policy.
在一些可能的实现方式中,管理系统300可以根据所述联盟策略触发对所述第二用户加入所述联盟链的投票,获得投票结果。其中,根据联盟策略不同,管理系统300可以向不同的联盟内部成员发送投票请求。例如,联盟策略为民主制策略时,管理系统300可以向每个联盟内部成员发送投票请求。又例如,联盟策略为联盟委员会制时,管理系统300可以先确定联盟委员会成员,例如可以通过投票方式确定联盟委员会成员,然后向联盟委 员会成员发送投票请求。接收到投票请求的成员可以进行投票,并返回投票结果。管理系统300可以对接收到的投票结果进行汇总,获得最终的投票结果。In some possible implementations, the management system 300 can trigger a vote for the second user to join the alliance chain according to the alliance policy, and obtain the voting results. Among them, according to different alliance policies, the management system 300 can send voting requests to different internal members of the alliance. For example, when the alliance policy is a democratic strategy, the management system 300 may send a voting request to each internal member of the alliance. For another example, when the alliance strategy is an alliance committee system, the management system 300 can first determine the members of the alliance committee, for example, by voting, and then report the members to the alliance committee. Committee members send voting requests. Members who receive the voting request can vote and the voting results are returned. The management system 300 can summarize the received voting results to obtain the final voting results.
具体实现时,管理系统300可以通过DAO组件向联盟组件发送投票请求,然后通过联盟组件,结合联盟策略中定义的投票比例或投票等待时间执行投票,接着通过DAO组件汇总所述联盟组件的投票结果。During specific implementation, the management system 300 can send a voting request to the alliance component through the DAO component, and then use the alliance component to perform voting in combination with the voting ratio or voting waiting time defined in the alliance policy, and then summarize the voting results of the alliance component through the DAO component. .
S406:管理系统300基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。S406: The management system 300 adds the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
在本申请实施例中,第二用户申请加入联盟链时,可以包括以下多种情况:In the embodiment of this application, when the second user applies to join the alliance chain, the following situations may include:
一种情况为,第二用户已创建好待加入联盟链的第二组织节点。基于此,当所述处理结果表征允许所述第二用户加入所述联盟链,管理系统300可以为所述第二用户已创建的第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址,然后根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码。更新后的链代码包括所述第二组织节点的通信地址。One situation is that the second user has created a second organization node to be added to the alliance chain. Based on this, when the processing result indicates that the second user is allowed to join the alliance chain, the management system 300 can configure alliance information for the second organization node created by the second user, where the alliance information includes the third communication addresses of the two organization nodes, and then update the chain code of the alliance chain at the first organization node and the second organization node according to the alliance information. The updated chain code includes the communication address of the second organization node.
另一种情况为,第二用户未创建待加入联盟链的第二组织节点,基于此,当所述处理结果表征允许所述第二用户加入所述联盟链,管理系统300可以从所述第二用户的物理资源集中创建第二组织节点,为所述第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址,接着管理系统300根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码。更新后的链代码包括所述第二组织节点的通信地址。Another situation is that the second user has not created a second organizational node to join the alliance chain. Based on this, when the processing result indicates that the second user is allowed to join the alliance chain, the management system 300 can obtain the information from the third organization node. The physical resources of the two users are pooled to create a second organization node, and alliance information is configured for the second organization node. The alliance information includes the communication address of the second organization node. Then the management system 300 configures the alliance information in the second organization node based on the alliance information. The first organization node and the second organization node update the chain code of the alliance chain. The updated chain code includes the communication address of the second organization node.
其中,管理系统300在第一组织节点和第二组织节点更新所述联盟链的链代码时,可以更新第二组织节点中所述联盟链的链代码,当监听到所述第二组织节点中所述联盟链的链代码被更新,同步更新后的所述链代码至所述第一组织节点。Wherein, when the first organization node and the second organization node update the chain code of the alliance chain, the management system 300 can update the chain code of the alliance chain in the second organization node. The chain code of the alliance chain is updated, and the updated chain code is synchronized to the first organization node.
在该方法中,创建联盟的第一用户(即盟主)可以通过配置支持申请加入的联盟策略,如民主制、联盟委员会制或者自定义的联盟合约策略,使得第二用户(例如是云上租户或云下用户)可以主动发起联盟链加入申请,而无需被动接受盟主的邀请,如此可以实现平等的、支持自治的联盟构建,能够满足业务的需求。而且,自定义的联盟合约策略为分布式合约策略,可以达成一种联盟法律法规,约束所有联盟成员的行为。In this method, the first user who creates the alliance (i.e., the alliance leader) can enable the second user (for example, a cloud tenant) by configuring an alliance strategy that supports application to join, such as democracy, alliance committee system, or a customized alliance contract strategy. Or users under the cloud) can actively initiate an application to join the alliance chain without passively accepting the alliance leader's invitation. This can achieve equal and autonomous alliance construction and meet business needs. Moreover, the customized alliance contract strategy is a distributed contract strategy, which can achieve a kind of alliance laws and regulations to constrain the behavior of all alliance members.
为了使得本申请的技术方案更加清楚、易于理解,下面结合不同应用场景对本申请实施例的联盟链的管理方法进行介绍。In order to make the technical solution of this application clearer and easier to understand, the management method of the alliance chain in the embodiment of this application is introduced below in combination with different application scenarios.
参见图5所示的联盟链的管理方法的一种应用场景示意图,该方法包括如下步骤:Referring to the schematic diagram of an application scenario of the alliance chain management method shown in Figure 5, the method includes the following steps:
步骤1:租户A创建联盟链,并初始化联盟链内部链码以支持同步联盟信息,然后在DAO组件配置联盟链的联盟策略。Step 1: Tenant A creates the alliance chain, initializes the internal chain code of the alliance chain to support synchronization of alliance information, and then configures the alliance strategy of the alliance chain in the DAO component.
具体地,租户A可以先从租户A集群中创建第一组织节点,根据该第一组织节点创建联盟链,联盟链中包括上述第一组织节点。租户A创建联盟链后,可以初始化联盟链内部链码,从而支持同步联盟信息。Specifically, tenant A can first create a first organization node from tenant A's cluster, and create an alliance chain based on the first organization node. The alliance chain includes the above-mentioned first organization node. After tenant A creates the alliance chain, it can initialize the internal chain code of the alliance chain to support synchronization of alliance information.
其中,DAO组件可以提供如下联盟策略:盟主制,民主制和联盟委员会制,以供用户选择配置。不同的联盟策略支持不同的联盟构建方式。盟主制由盟主来决定联盟成员,盟 主可以邀请其它用户加入联盟,当其他用户同意,则其他用户可以成为联盟内部成员。民主制是允许用户申请加入,由联盟内部成员投票是否同意申请用户加入,大多数联盟内部成员同意即能达成一致。联盟委员会支持投票选举出决策的联盟委员会成员,由联盟委员会成员投票决策申请用户是否加入,其它成员可以发起联盟委员会成员选举换届。需要说明,投票还可以决策出块速度、区块大小限制、确认所需的投票比例、每轮投票的投票等待时间、共识节点的列表和各节点权限中的一种或多种。Among them, the DAO component can provide the following alliance strategies: alliance leader system, democracy system and alliance committee system for users to choose and configure. Different alliance strategies support different ways of building alliances. In the alliance leader system, the alliance leader determines the alliance members. The master can invite other users to join the alliance. When other users agree, other users can become members of the alliance. Democracy allows users to apply to join, and members within the alliance vote whether to agree to apply for users to join. A consensus can be reached if a majority of the members within the alliance agree. The Alliance Committee supports voting to elect Alliance Committee members who make decisions. The Alliance Committee members vote to decide whether to apply for users to join. Other members can initiate the election of Alliance Committee members. It should be noted that voting can also determine one or more of the block generation speed, block size limit, voting proportion required for confirmation, voting waiting time for each round of voting, the list of consensus nodes and the permissions of each node.
步骤2:租户B查看租户A创建的联盟链的信息。Step 2: Tenant B views the information of the alliance chain created by tenant A.
租户B已经拥有创建好的组织节点。租户B可以通过调用租户A的联盟接口查看联盟链的联盟策略等联盟信息来决定是否加入。Tenant B already has the created organization node. Tenant B can decide whether to join by calling the alliance interface of tenant A to view the alliance chain's alliance policy and other alliance information.
步骤3:租户B和租户C发起联盟链加入申请。Step 3: Tenant B and tenant C initiate an application to join the alliance chain.
当租户B决定加入租户A创建的联盟链,可以通过将租户B现有的节点信息,包括租户B的组织节点个数,名称,加密算法,存储模型及用户公钥打包至联盟链加入申请,然后向管理系统300发送该联盟链加入申请(也可以简称为入链申请)。When tenant B decides to join the alliance chain created by tenant A, he can apply for joining the alliance chain by packaging tenant B's existing node information, including the number of tenant B's organizational nodes, name, encryption algorithm, storage model and user public key, into the alliance chain. Then the alliance chain joining application (which may also be referred to as a link joining application for short) is sent to the management system 300 .
租户C为租户A邀请的租户。当租户C决定加入租户A创建的联盟链,租户C可以将该租户C的公钥及要申请的组织节点个数,名称打包至联盟链加入申请,然后向管理系统300发送该联盟链加入申请。Tenant C is the tenant invited by tenant A. When tenant C decides to join the alliance chain created by tenant A, tenant C can package the public key of tenant C and the number and name of the organization nodes to be applied for into the alliance chain joining application, and then send the alliance chain joining application to the management system 300 .
步骤4:管理系统300接收到联盟链加入申请,发起针对租户B和租户C是否加入联盟链的投票。然后,管理系统300向租户A集群下发联盟链审核结果,将申请方公钥、加入节点数量、名称下发,并授权临时token。接着执行步骤5。Step 4: The management system 300 receives the application to join the alliance chain and initiates a vote on whether tenant B and tenant C join the alliance chain. Then, the management system 300 delivers the alliance chain audit results to the tenant A cluster, delivers the public key of the applicant, the number of joining nodes, and the name, and authorizes the temporary token. Then proceed to step 5.
步骤5:租户B和租户C获取联盟链申请审批信息。Step 5: Tenant B and tenant C obtain the alliance chain application approval information.
联盟链申请审批信息包括联盟链加入申请的审核结果,租户B和租户C可以向租户A查询其申请结果。The alliance chain application approval information includes the review results of the alliance chain joining application. Tenant B and tenant C can query tenant A for their application results.
步骤6:管理系统300为已有组织节点配置联盟信息、临时token、通信地址,以及管理系统300基于审核结果创建组织节点,将已有联盟的通信地址下发。Step 6: The management system 300 configures alliance information, temporary tokens, and communication addresses for existing organization nodes. The management system 300 creates organization nodes based on the audit results and issues the communication addresses of existing alliances.
具体地,针对已有组织节点的租户B集群,管理系统300的DAO组件可以为已有组织节点配置联盟信息、临时token、通信地址,针对尚未创建组织节点的租户C集群,DAO组件可以拉起联盟区块链网络,下发已有联盟方通信公钥、通信地址、临时token。Specifically, for the tenant B cluster that already has organization nodes, the DAO component of the management system 300 can configure alliance information, temporary tokens, and communication addresses for the existing organization nodes. For the tenant C cluster that has not yet created an organization node, the DAO component can pull up The alliance blockchain network issues communication public keys, communication addresses, and temporary tokens to existing alliance parties.
步骤7:租户B的组织节点、租户C的组织节点和租户A的组织节点构成联盟链。Step 7: The organization node of tenant B, the organization node of tenant C, and the organization node of tenant A form an alliance chain.
租户A的联盟组件监听联盟接口,接受到请求后校验签名,临时token,节点数量名称及组织公钥信息,验证通过后将其组织CA加入链配置,并将其通信地址,入链状态和节点信息通过联盟链代码接口写入链。The alliance component of tenant A monitors the alliance interface. After receiving the request, it verifies the signature, temporary token, node number name and organization public key information. After passing the verification, the organization CA is added to the chain configuration, and its communication address, link status and Node information is written to the chain through the alliance chain code interface.
租户B和租户C的联盟组件在链工作正常后基于联盟中某个成员的通信地址发起链接,进行入链操作,并收到任务ID,查询任务结束后从联盟链代码接口中查询联盟成员信息及通信信息,为其他组件更新当前联盟成员状态。After the chain works normally, the alliance components of tenant B and tenant C initiate a link based on the communication address of a member of the alliance, perform the link operation, and receive the task ID. After the query task is completed, the alliance member information is queried from the alliance chain code interface. and communication information to update the current alliance member status for other components.
参见图6所示的联盟链的管理方法的另一种应用场景示意图,该方法包括如下步骤:Refer to the schematic diagram of another application scenario of the alliance chain management method shown in Figure 6. The method includes the following steps:
步骤1:租户A创建联盟链,并初始化联盟链内部链码以支持同步联盟信息,然后在DAO组件上传自定义的联盟合约策略。 Step 1: Tenant A creates the alliance chain, initializes the internal chain code of the alliance chain to support synchronization of alliance information, and then uploads the customized alliance contract strategy in the DAO component.
步骤2:租户B查看租户A创建的联盟链的信息。Step 2: Tenant B views the information of the alliance chain created by tenant A.
租户B已经拥有自己创建好的组织和节点。租户B可以通过调用租户A的联盟接口查看联盟链的联盟策略,例如是自定义合约内容,来决定是否加入。Tenant B already has the organization and nodes he created. Tenant B can call the alliance interface of tenant A to view the alliance strategy of the alliance chain, such as custom contract content, to decide whether to join.
步骤3:租户B和租户C发起联盟链加入申请。Step 3: Tenant B and tenant C initiate an application to join the alliance chain.
步骤4:管理系统300接收到联盟链加入申请,发起针对租户B和租户C是否加入联盟链的投票。然后,管理系统300向租户A集群下发联盟链审核结果,将申请方公钥、加入节点数量、名称下发,并授权临时token。接着执行步骤5。Step 4: The management system 300 receives the application to join the alliance chain and initiates a vote on whether tenant B and tenant C join the alliance chain. Then, the management system 300 delivers the alliance chain audit results to the tenant A cluster, delivers the public key of the applicant, the number of joining nodes, and the name, and authorizes the temporary token. Then proceed to step 5.
步骤5:租户B和租户C获取联盟链申请审批信息。Step 5: Tenant B and tenant C obtain the alliance chain application approval information.
步骤6:管理系统300为已有组织节点配置联盟信息、临时token、通信地址,以及管理系统300基于审核结果创建组织节点,将已有联盟的通信地址下发。Step 6: The management system 300 configures alliance information, temporary tokens, and communication addresses for existing organization nodes. The management system 300 creates organization nodes based on the audit results and issues the communication addresses of existing alliances.
步骤7:租户B的组织节点、租户C的组织节点和租户A的组织节点构成联盟链。Step 7: The organization node of tenant B, the organization node of tenant C, and the organization node of tenant A form an alliance chain.
在本实施例中,DAO组件支持构建联盟方提供自定义联盟合约策略,譬如定义混合的联盟构建制度,通过定义一种开放式的合约来构建特定联盟下的不同激励和吸引策略,吸引不同类型的成员聚集。租户申请加入时可以基于code is law的策略查看联盟合约,明确当前联盟策略,是否支持投票修改制度等条约。并在加入后通过联盟组件在本组织内部署联盟合约和联盟成员方达成一致。后续对成员信息的同步和投票及结果获取也可以通过联盟合约完成。In this embodiment, the DAO component supports alliance building parties to provide customized alliance contract strategies, such as defining a hybrid alliance building system, and defining an open contract to construct different incentive and attraction strategies under a specific alliance to attract different types of alliances. members gathered. When applying to join, tenants can view the alliance contract based on the code is law strategy, clarify the current alliance strategy, and whether they support voting modification systems and other treaties. After joining, the alliance contract is deployed within the organization through the alliance component and the alliance members reach an agreement. Subsequent synchronization of member information, voting and result acquisition can also be completed through the alliance contract.
基于上述内容描述,本申请实施例提供的联盟链的管理方法,支持向DAO组件发送入链申请,DAO组件协同联盟组件达成链通信,动态达成平等自治的联盟链,如此可以支持未来元宇宙,web3.0,开放联盟链,数字资产链等对公平性要求高的链网需求。Based on the above description, the management method of the alliance chain provided by the embodiment of this application supports sending a link application to the DAO component. The DAO component cooperates with the alliance component to achieve chain communication and dynamically achieve an equal and autonomous alliance chain. This can support the future metaverse. Web3.0, open alliance chain, digital asset chain and other chain networks with high requirements on fairness are in demand.
进一步地,该方法也支持基于DAO组件定制化和自定义合约编写联盟策略,且支持DAO组件下发联盟合约到联盟组件侧部署,且同步联盟合约到其它DAO组件,达成支持在联盟构建中查询联盟代码业务规范及接口。如此可以实现支持多成员方之间联盟操作和动作审计和追溯。Furthermore, this method also supports writing alliance strategies based on DAO component customization and custom contracts, and supports DAO components to issue alliance contracts to the alliance component side for deployment, and synchronize alliance contracts to other DAO components to support querying during alliance construction. Alliance code business specifications and interfaces. This enables auditing and tracing of alliance operations and actions between multiple members.
基于本申请实施例提供的联盟链的管理方法,本申请实施例还提供了一种如前述的联盟链的管理系统300。下面结合附图对联盟链的管理系统300进行介绍。Based on the alliance chain management method provided by the embodiment of the present application, the embodiment of the present application also provides an alliance chain management system 300 as mentioned above. The management system 300 of the alliance chain will be introduced below with reference to the accompanying drawings.
参见图3所示的联盟链的管理系统300的结构示意图,该系统300包括:Referring to the schematic structural diagram of the alliance chain management system 300 shown in Figure 3, the system 300 includes:
编排控制模块302,用于接收第一用户配置的联盟链的联盟策略,该联盟链包括第一用户从第一用户的物理资源集中创建的第一组织节点;The orchestration control module 302 is configured to receive the alliance policy of the alliance chain configured by the first user. The alliance chain includes the first organization node created by the first user from the first user's physical resource set;
编排控制模块302,还用于当联盟策略支持申请加入联盟链,响应于第二用户的联盟链加入申请,根据联盟策略对联盟链加入申请进行处理;The orchestration control module 302 is also used to process the application to join the alliance chain according to the alliance policy in response to the second user's application to join the alliance chain when the alliance policy supports it;
执行模块304,用于基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。The execution module 304 is configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
上述编排控制模块302和执行模块304可以通过硬件模块实现或通过软件模块实现。The above-mentioned orchestration control module 302 and execution module 304 can be implemented through hardware modules or through software modules.
当通过软件实现时,编排控制模块302和执行模块304可以是运行在计算设备或计算设备集群上的应用程序或者应用程序模块。When implemented in software, orchestration control module 302 and execution module 304 may be applications or application modules running on a computing device or cluster of computing devices.
当通过硬件实现时,编排控制模块302也可以是利用专用集成电路(application-specific  integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。类似地,执行模块304可以包括至少一个计算设备,或者是是利用ASIC实现、PLD实现的设备。When implemented by hardware, the orchestration control module 302 may also utilize an application-specific integrated circuit (application-specific integrated circuit). integrated circuit, ASIC), or programmable logic device (PLD), etc. The above-mentioned PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof. Similarly, the execution module 304 may include at least one computing device, or a device implemented using ASIC or PLD.
在一些可能的实现方式中,编排控制模块302具体用于:In some possible implementations, the orchestration control module 302 is specifically used to:
接收第一用户选择的民主制或者联盟委员会制;或者,Receive the first user's choice of democracy or federation committee; or,
接收第一用户上传的联盟合约策略。Receive the alliance contract strategy uploaded by the first user.
在一些可能的实现方式中,所述联盟合约策略通过合约语言编写,所述联盟合约策略中定义有所述联盟链中不同类型成员的激励机制。In some possible implementations, the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
在一些可能的实现方式中,执行模块304具体用于:In some possible implementations, the execution module 304 is specifically used to:
当处理结果表征允许第二用户加入所述联盟链,为第二用户已创建的第二组织节点配置联盟信息,该联盟信息包括第二组织节点的通信地址;When the processing result indicates that the second user is allowed to join the alliance chain, configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node;
根据联盟信息在第一组织节点和第二组织节点更新联盟链的链代码,该链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
在一些可能的实现方式中,执行模块304具体用于:In some possible implementations, the execution module 304 is specifically used to:
当处理结果表征允许第二用户加入所述联盟链,从第二用户的物理资源集中创建第二组织节点;When the processing result indicates that the second user is allowed to join the alliance chain, create a second organization node from the second user's physical resource set;
为第二组织节点配置联盟信息,该联盟信息包括所述第二组织节点的通信地址;Configuring alliance information for the second organization node, where the alliance information includes the communication address of the second organization node;
根据联盟信息在第一组织节点和第二组织节点更新联盟链的链代码,该链代码包括第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
在一些可能的实现方式中,执行模块304具体用于:In some possible implementations, the execution module 304 is specifically used to:
当监听到第二组织节点中联盟链的链代码被更新,同步更新后的链代码至第一组织节点。When it is detected that the chain code of the alliance chain in the second organization node is updated, the updated chain code is synchronized to the first organization node.
在一些可能的实现方式中,编排控制模块302具体用于:In some possible implementations, the orchestration control module 302 is specifically used to:
根据联盟策略触发对第二用户加入联盟链的投票,获得投票结果。Trigger the vote for the second user to join the alliance chain according to the alliance strategy, and obtain the voting results.
在一些可能的实现方式中,所述编排控制模块302具体用于:In some possible implementations, the orchestration control module 302 is specifically used to:
向所述执行模块304发送投票请求;Send a voting request to the execution module 304;
所述执行模块304具体用于:The execution module 304 is specifically used to:
结合所述联盟策略中定义的投票比例或投票等待时间执行投票;Perform voting in conjunction with the voting ratio or voting waiting time defined in the alliance strategy;
所述编排控制模块302具体用于:The arrangement control module 302 is specifically used to:
汇总所述执行模块的投票结果。Summarize the voting results of the execution modules.
在一些可能的实现方式中,第一用户、第二用户为云上租户或云下用户。In some possible implementations, the first user and the second user are on-cloud tenants or off-cloud users.
在一些可能的实现方式中,云上租户的物理资源集包括云上租户的集群,该集群包括公有云中的虚拟私有云集群或私有云集群。In some possible implementations, the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in the public cloud.
本申请还提供一种计算设备700。如图7所示,计算设备700包括:总线702、处理器704、存储器706和通信接口708。处理器704、存储器706和通信接口708之间通过总线702通信。 计算设备700可以是服务器或终端设备。应理解,本申请不限定计算设备700中的处理器、存储器的个数。The present application also provides a computing device 700. As shown in Figure 7, computing device 700 includes: bus 702, processor 704, memory 706, and communication interface 708. The processor 704, the memory 706 and the communication interface 708 communicate through the bus 702. Computing device 700 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 700.
总线702可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线702可包括在计算设备700各个部件(例如,存储器706、处理器704、通信接口708)之间传送信息的通路。The bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 7, but it does not mean that there is only one bus or one type of bus. Bus 702 may include a path that carries information between various components of computing device 700 (eg, memory 706, processor 704, communications interface 708).
处理器704可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。The processor 704 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP). any one or more of them.
存储器706可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器704还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。存储器706中存储有可执行的程序代码,处理器704执行该可执行的程序代码以实现前述联盟链的管理方法。具体的,存储器706上存有联盟链的管理系统300用于执行联盟链的管理方法的指令。Memory 706 may include volatile memory, such as random access memory (RAM). The processor 704 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD). drive, SSD). The memory 706 stores executable program code, and the processor 704 executes the executable program code to implement the aforementioned alliance chain management method. Specifically, the memory 706 stores instructions for the alliance chain management system 300 to execute the alliance chain management method.
通信接口708使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备700与其他设备或通信网络之间的通信。The communication interface 708 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 700 and other devices or communication networks.
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。An embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
如图8所示,所述计算设备集群包括至少一个计算设备700。计算设备集群中的一个或多个计算设备700中的存储器706中可以存有相同的联盟链的管理系统300用于执行联盟链的管理方法的指令。As shown in FIG. 8 , the computing device cluster includes at least one computing device 700 . The memory 706 of one or more computing devices 700 in the computing device cluster may store instructions for the same consortium chain management system 300 to execute the consortium chain management method.
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备700也可以用于执行联盟链的管理系统300用于执行联盟链的管理方法的部分指令。换言之,一个或多个计算设备700的组合可以共同执行联盟链的管理系统用于执行联盟链的管理方法的指令。In some possible implementations, one or more computing devices 700 in the computing device cluster may also be used to execute part of the instructions of the alliance chain management system 300 for executing the alliance chain management method. In other words, a combination of one or more computing devices 700 may jointly execute the instructions of the alliance chain management system for executing the alliance chain management method.
需要说明的是,计算设备集群中的不同的计算设备700中的存储器706可以存储不同的指令,用于执行联盟链的管理系统的部分功能。It should be noted that the memory 706 in different computing devices 700 in the computing device cluster can store different instructions for executing part of the functions of the alliance chain management system.
图9示出了一种可能的实现方式。如图9所示,两个计算设备700A和700B通过通信接口708实现连接。计算设备700A中的存储器上存有用于执行编排控制模块302的功能的指令。计算设备700B中的存储器上存有用于执行上述执行模块304的功能的指令。换言之,计算设备700A和700B的存储器706共同存储了联盟链的管理系统用于执行联盟链的管理方法的指令。Figure 9 shows a possible implementation. As shown in Figure 9, two computing devices 700A and 700B are connected through a communication interface 708. Stored on memory in computing device 700A are instructions for performing the functions of orchestration control module 302 . The memory in the computing device 700B stores instructions for performing the functions of the execution module 304 described above. In other words, the memories 706 of the computing devices 700A and 700B jointly store instructions used by the management system of the consortium chain to execute the management method of the consortium chain.
图9所示的计算设备集群之间的连接方式可以是考虑到本申请提供的联盟链的管理方法需要接收配置的联盟策略和将第二组织节点加入联盟链。因此,考虑将编排控制模块302 实现的功能交由计算设备700A执行,执行模块304实现的功能由计算设备700B执行。The connection method between the computing device clusters shown in Figure 9 may be based on the fact that the management method of the alliance chain provided by this application needs to receive the configured alliance policy and add the second organization node to the alliance chain. Therefore, it is considered that the orchestration control module 302 The functions implemented are executed by the computing device 700A, and the functions implemented by the execution module 304 are executed by the computing device 700B.
应理解,图9中示出的计算设备700A的功能也可以由多个计算设备700完成。同样,计算设备700B的功能也可以由多个计算设备700完成。It should be understood that the functions of computing device 700A shown in FIG. 9 may also be performed by multiple computing devices 700. Likewise, the functions of computing device 700B may also be performed by multiple computing devices 700 .
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如图10所示,两个计算设备700C和700D之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备700C中的存储器706中存有执行编排控制模块302的功能的指令。同时,计算设备600D中的存储器606中存有执行上述执行模块304的功能的指令。In some possible implementations, one or more computing devices in a cluster of computing devices may be connected through a network. Wherein, the network may be a wide area network or a local area network, etc. Figure 10 shows a possible implementation. As shown in Figure 10, two computing devices 700C and 700D are connected through a network. Specifically, the connection to the network is made through a communication interface in each computing device. In this type of possible implementation, instructions for performing the functions of the orchestration control module 302 are stored in the memory 706 of the computing device 700C. At the same time, instructions for executing the functions of the execution module 304 are stored in the memory 606 of the computing device 600D.
图10所示的计算设备集群之间的连接方式可以是考虑到本申请提供的联盟链的管理方法需要接收配置的联盟策略和将第二组织节点加入联盟链,因此考虑将编排控制模块302实现的功能交由计算设备700C执行,执行模块304实现的功能由计算设备700D执行。应理解,图10中示出的计算设备700C的功能也可以由多个计算设备700完成。同样,计算设备700D的功能也可以由多个计算设备700完成。The connection method between the computing device clusters shown in Figure 10 can be: Considering that the management method of the alliance chain provided by this application needs to receive the configured alliance policy and add the second organization node to the alliance chain, it is considered to implement the orchestration control module 302 The functions implemented by the execution module 304 are executed by the computing device 700C, and the functions implemented by the execution module 304 are executed by the computing device 700D. It should be understood that the functions of computing device 700C shown in FIG. 10 may also be performed by multiple computing devices 700. Likewise, the functions of computing device 700D may also be performed by multiple computing devices 700 .
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于联盟链的管理系统用于执行联盟链的管理方法。An embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media. The available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc. The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned management system applied to the alliance chain for executing the management method of the alliance chain.
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述联盟链的管理方法。An embodiment of the present application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions capable of running on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, at least one computing device is caused to execute the above-mentioned management method of the alliance chain.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。 Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be used Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent substitutions are made to some of the technical features; however, these modifications or substitutions do not cause the essence of the corresponding technical solutions to depart from the protection scope of the technical solutions of the various embodiments of the present invention.

Claims (23)

  1. 一种联盟链的管理方法,其特征在于,应用于联盟链的管理系统,所述方法包括:A management method of an alliance chain, characterized in that it is applied to a management system of an alliance chain, and the method includes:
    接收第一用户配置的联盟链的联盟策略,所述联盟链包括第一用户从所述第一用户的物理资源集中创建的第一组织节点;Receive the alliance policy of the alliance chain configured by the first user, the alliance chain including the first organization node created by the first user from the physical resource set of the first user;
    当所述联盟策略支持申请加入所述联盟链,响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理;When the alliance policy supports an application to join the alliance chain, in response to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy;
    基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。Based on the processing result of the alliance chain joining application, the second organization node of the second user is added to the alliance chain.
  2. 根据权利要求1所述的方法,其特征在于,所述接收第一用户配置的联盟链的联盟策略,包括:The method according to claim 1, characterized in that said receiving the alliance policy of the alliance chain configured by the first user includes:
    接收所述第一用户选择的民主制或者联盟委员会制;或者,Receive the first user's choice of democracy or federation committee; or,
    接收所述第一用户上传的联盟合约策略。Receive the alliance contract strategy uploaded by the first user.
  3. 根据权利要求2所述的方法,其特征在于,所述联盟合约策略通过合约语言编写,所述联盟合约策略中定义有所述联盟链中不同类型成员的激励机制。The method according to claim 2, characterized in that the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链,包括:The method according to any one of claims 1 to 3, characterized in that, based on the processing result of the application for joining the alliance chain, adding the second organization node of the second user to the alliance chain includes: :
    当所述处理结果表征允许所述第二用户加入所述联盟链,为所述第二用户已创建的第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;When the processing result indicates that the second user is allowed to join the alliance chain, configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node;
    根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  5. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链,包括:The method according to any one of claims 1 to 3, characterized in that, based on the processing result of the application for joining the alliance chain, adding the second organization node of the second user to the alliance chain includes: :
    当所述处理结果表征允许所述第二用户加入所述联盟链,从所述第二用户的物理资源集中创建第二组织节点;When the processing result indicates that the second user is allowed to join the alliance chain, create a second organization node from the physical resource set of the second user;
    为所述第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;Configure alliance information for the second organization node, where the alliance information includes the communication address of the second organization node;
    根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  6. 根据权利要求4或5所述的方法,其特征在于,所述根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,包括:The method according to claim 4 or 5, characterized in that, updating the chain code of the alliance chain at the first organization node and the second organization node according to the alliance information includes:
    当监听到所述第二组织节点中所述联盟链的链代码被更新,同步更新后的所述链代码至所述第一组织节点。When it is detected that the chain code of the alliance chain in the second organization node is updated, the updated chain code is synchronized to the first organization node.
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述联盟策略对所述联盟链加入申请进行处理,包括:The method according to any one of claims 1 to 6, characterized in that processing the alliance chain joining application according to the alliance policy includes:
    根据所述联盟策略触发对所述第二用户加入所述联盟链的投票,获得投票结果。Trigger a vote for the second user to join the alliance chain according to the alliance policy, and obtain the voting result.
  8. 根据权利要求7所述的方法,其特征在于,所述管理系统包括去中心化自治组织组件和联盟组件,所述根据所述联盟策略触发对所述第二用户加入所述联盟链的投票,获得投票结果,包括:The method according to claim 7, characterized in that the management system includes a decentralized autonomous organization component and an alliance component, and the voting for the second user to join the alliance chain is triggered according to the alliance policy, Get voting results, including:
    通过所述去中心化自治组织组件向所述联盟组件发送投票请求; Send a voting request to the alliance component through the decentralized autonomous organization component;
    通过所述联盟组件,结合所述联盟策略中定义的投票比例或投票等待时间执行投票;Through the alliance component, voting is performed in combination with the voting ratio or voting waiting time defined in the alliance strategy;
    通过所述去中心化自治组织组件汇总所述联盟组件的投票结果。The voting results of the alliance components are aggregated through the decentralized autonomous organization component.
  9. 根据权利要求1至8任一项所述的方法,其特征在于,所述第一用户、所述第二用户为云上租户或云下用户。The method according to any one of claims 1 to 8, characterized in that the first user and the second user are on-cloud tenants or off-cloud users.
  10. 根据权利要求9所述的方法,其特征在于,所述云上租户的物理资源集包括所述云上租户的集群,所述集群包括公有云中的虚拟私有云集群或私有云集群。The method of claim 9, wherein the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in a public cloud.
  11. 一种联盟链的管理系统,其特征在于,所述系统包括:An alliance chain management system, characterized in that the system includes:
    编排控制模块,用于接收第一用户配置的联盟链的联盟策略,所述联盟链包括第一用户从所述第一用户的物理资源集中创建的第一组织节点;An orchestration control module, configured to receive an alliance policy of an alliance chain configured by the first user, where the alliance chain includes a first organization node created by the first user from the physical resource set of the first user;
    所述编排控制模块,还用于当所述联盟策略支持申请加入所述联盟链,响应于第二用户的联盟链加入申请,根据所述联盟策略对所述联盟链加入申请进行处理;The orchestration control module is also configured to, when the alliance policy supports an application to join the alliance chain, in response to the second user's application to join the alliance chain, process the application to join the alliance chain according to the alliance policy;
    执行模块,用于基于对所述联盟链加入申请的处理结果,将所述第二用户的第二组织节点加入所述联盟链。An execution module, configured to add the second organization node of the second user to the alliance chain based on the processing result of the alliance chain joining application.
  12. 根据权利要求11所述的系统,其特征在于,所述编排控制模块具体用于:The system according to claim 11, characterized in that the orchestration control module is specifically used to:
    接收所述第一用户选择的民主制或者联盟委员会制;或者,Receive the first user's choice of democracy or federation committee; or,
    接收所述第一用户上传的联盟合约策略。Receive the alliance contract strategy uploaded by the first user.
  13. 根据权利要求12所述的系统,其特征在于,所述联盟合约策略通过合约语言编写,所述联盟合约策略中定义有所述联盟链中不同类型成员的激励机制。The system according to claim 12, wherein the alliance contract strategy is written in a contract language, and the alliance contract strategy defines incentive mechanisms for different types of members in the alliance chain.
  14. 根据权利要求11至13任一项所述的系统,其特征在于,所述执行模块具体用于:The system according to any one of claims 11 to 13, characterized in that the execution module is specifically used to:
    当所述处理结果表征允许所述第二用户加入所述联盟链,为所述第二用户已创建的第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;When the processing result indicates that the second user is allowed to join the alliance chain, configure alliance information for the second organization node created by the second user, and the alliance information includes the communication address of the second organization node;
    根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  15. 根据权利要求11至13任一项所述的系统,其特征在于,所述执行模块具体用于:The system according to any one of claims 11 to 13, characterized in that the execution module is specifically used to:
    当所述处理结果表征允许所述第二用户加入所述联盟链,从所述第二用户的物理资源集中创建第二组织节点;When the processing result indicates that the second user is allowed to join the alliance chain, create a second organization node from the physical resource set of the second user;
    为所述第二组织节点配置联盟信息,所述联盟信息包括所述第二组织节点的通信地址;Configure alliance information for the second organization node, where the alliance information includes the communication address of the second organization node;
    根据所述联盟信息在所述第一组织节点和所述第二组织节点更新所述联盟链的链代码,所述链代码包括所述第二组织节点的通信地址。The chain code of the alliance chain is updated at the first organization node and the second organization node according to the alliance information, and the chain code includes the communication address of the second organization node.
  16. 根据权利要求14或15所述的系统,其特征在于,所述执行模块具体用于:The system according to claim 14 or 15, characterized in that the execution module is specifically used to:
    当监听到所述第二组织节点中所述联盟链的链代码被更新,同步更新后的所述链代码至所述第一组织节点。When it is detected that the chain code of the alliance chain in the second organization node is updated, the updated chain code is synchronized to the first organization node.
  17. 根据权利要求11至16任一项所述的系统,其特征在于,所述编排控制模块具体用于:The system according to any one of claims 11 to 16, characterized in that the orchestration control module is specifically used for:
    根据所述联盟策略触发对所述第二用户加入所述联盟链的投票,获得投票结果。Trigger a vote for the second user to join the alliance chain according to the alliance policy, and obtain the voting result.
  18. 根据权利要求17所述的系统,其特征在于,所述编排控制模块具体用于:The system according to claim 17, characterized in that the orchestration control module is specifically used to:
    向所述执行模块发送投票请求;Send a voting request to the execution module;
    所述执行模块具体用于: The execution module is specifically used for:
    结合所述联盟策略中定义的投票比例或投票等待时间执行投票;Perform voting in conjunction with the voting ratio or voting waiting time defined in the alliance strategy;
    所述编排控制模块具体用于:The orchestration control module is specifically used for:
    汇总所述执行模块的投票结果。Summarize the voting results of the execution modules.
  19. 根据权力要求11至18任一项所述的系统,其特征在于,所述第一用户、所述第二用户为云上租户或云下用户。The system according to any one of claims 11 to 18, characterized in that the first user and the second user are on-cloud tenants or off-cloud users.
  20. 根据权利要求19所述的系统,其特征在于,所述云上租户的物理资源集包括所述云上租户的集群,所述集群包括公有云中的虚拟私有云集群或私有云集群。The system according to claim 19, wherein the physical resource set of the cloud tenant includes a cluster of the cloud tenant, and the cluster includes a virtual private cloud cluster or a private cloud cluster in a public cloud.
  21. 一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至10中任一项所述的方法。A computing device cluster, characterized in that the computing device cluster includes at least one computing device, the at least one computing device includes at least one processor and at least one memory, and the at least one memory stores computer-readable Instructions; the at least one processor executes the computer-readable instructions to cause the cluster of computing devices to perform the method of any one of claims 1 to 10.
  22. 一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。A computer-readable storage medium, characterized by comprising computer-readable instructions; the computer-readable instructions are used to implement the method described in any one of claims 1 to 10.
  23. 一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。 A computer program product, characterized by comprising computer readable instructions; the computer readable instructions are used to implement the method described in any one of claims 1 to 10.
PCT/CN2023/081538 2022-07-28 2023-03-15 Consortium blockchain management method and related system WO2024021627A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210899350.0A CN117527558A (en) 2022-07-28 2022-07-28 Alliance chain management method and related system
CN202210899350.0 2022-07-28

Publications (1)

Publication Number Publication Date
WO2024021627A1 true WO2024021627A1 (en) 2024-02-01

Family

ID=89705184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081538 WO2024021627A1 (en) 2022-07-28 2023-03-15 Consortium blockchain management method and related system

Country Status (2)

Country Link
CN (1) CN117527558A (en)
WO (1) WO2024021627A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474584A (en) * 2018-10-29 2019-03-15 中化能源科技有限公司 A kind of rule-based block chain network permits Adding Way automatically
CN109493063A (en) * 2018-12-29 2019-03-19 杭州趣链科技有限公司 The method of permission control is carried out in a kind of alliance's block chain
CN112398924A (en) * 2020-11-03 2021-02-23 深圳壹账通智能科技有限公司 Block chain node admission control method, block chain node admission control device, computer equipment and storage medium
CN112910982A (en) * 2021-01-27 2021-06-04 网易(杭州)网络有限公司 Node access method and device of alliance chain, electronic equipment and storage medium
WO2021159606A1 (en) * 2020-02-11 2021-08-19 深圳壹账通智能科技有限公司 Organization node chaining method and system based on blockchain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474584A (en) * 2018-10-29 2019-03-15 中化能源科技有限公司 A kind of rule-based block chain network permits Adding Way automatically
CN109493063A (en) * 2018-12-29 2019-03-19 杭州趣链科技有限公司 The method of permission control is carried out in a kind of alliance's block chain
WO2021159606A1 (en) * 2020-02-11 2021-08-19 深圳壹账通智能科技有限公司 Organization node chaining method and system based on blockchain
CN112398924A (en) * 2020-11-03 2021-02-23 深圳壹账通智能科技有限公司 Block chain node admission control method, block chain node admission control device, computer equipment and storage medium
CN112910982A (en) * 2021-01-27 2021-06-04 网易(杭州)网络有限公司 Node access method and device of alliance chain, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN117527558A (en) 2024-02-06

Similar Documents

Publication Publication Date Title
CN110417558B (en) Signature verification method and device, storage medium and electronic device
US11157833B2 (en) Learning service blockchain
JP7292783B2 (en) Prioritization in Permissioned Blockchain
WO2020001117A1 (en) Blockchain maintaining method and apparatus, server, and computer-readable storage medium
JP2022174127A (en) DAG-based transaction processing method and system in distributed ledger
WO2021239070A1 (en) Method for creating node group in consortium blockchain network, and node group-based transaction method
WO2021139788A1 (en) Cloud gateway configuration method, system, apparatus, and computer readable storage medium
US11188920B2 (en) Autocommit transaction management in a blockchain network
JP2016219014A (en) Resource transfer system
US20220058285A1 (en) Systems and methods for computer-implemented data trusts
TW202030656A (en) Cross-chain right-using system, method and device, electronic equipment and storage medium
WO2020173499A1 (en) Public chain-based sub-blockchain construction method and system
TWI450109B (en) Processing write requests with server having global knowledge
US11888790B2 (en) Dynamic skill handling mechanism for bot participation in secure multi-user collaboration workspaces
WO2020228531A1 (en) Consortium blockchain governance method and apparatus, computer device and storage medium
US9935844B2 (en) Reducing internodal communications in a clustered system
JP7432443B2 (en) Migration support system, migration support method, and nodes
KR20220027809A (en) Systems and Methods for Virtual Distributed Ledger Networks
CN114039733B (en) Certificate storage service transfer method, device and equipment for alliance chains
CN112910982B (en) Node admission method and device of alliance chain, electronic equipment and storage medium
WO2024021627A1 (en) Consortium blockchain management method and related system
WO2019237661A1 (en) Electronic resource distribution method, medium, device and computing device based on instant messaging behavior data
US11736553B1 (en) Selecting hosting servers for interactive electronic activities
CN115086352A (en) Block chain event processing method and related device, platform and storage medium
CN110290215B (en) Signal transmission method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23844845

Country of ref document: EP

Kind code of ref document: A1