System and method for multi-node collaborative block generation

Through the multi-node cooperative block production system, the problems of resource waste and resource allocation mismatch in the blockchain network are solved, and efficient utilization of hardware resources and energy conservation are achieved.

CN115883558BActive Publication Date: 2025-09-26SHANGHAI KUNYAO NETWORK SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211579547.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-09
Publication Date
2025-09-26
Estimated Expiration
2042-12-09

AI Technical Summary

Technical Problem

The concentration of node functions in existing blockchain networks leads to waste of resources and difficulty in efficient utilization. Especially when expanding capacity and adding new functions, resource allocation is mismatched, resulting in energy waste and increased carbon emissions.

Method used

A multi-node cooperative block production system is adopted, including block production nodes, verification nodes, signature nodes, certification nodes and management nodes. Each node is deployed independently and is responsible for relatively independent functions. The block production process is realized through collaborative work, and resource allocation is optimized.

Benefits of technology

Effectively utilize various hardware resources, reduce resource waste, improve resource utilization efficiency, reduce energy consumption, and reduce carbon emissions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115883558B_ABST
    Figure CN115883558B_ABST
Patent Text Reader

Abstract

The present application provides a system and method for multi-node cooperative block generation. The solution adopts a system including block generation nodes, verification nodes, signature nodes, certification nodes and management nodes. During the cooperative block generation process, the verification node synchronizes the network height from the blockchain to obtain chain data about the blockchain and provides the chain data to the block generation node; the block generation node synchronizes the participant information from the management node and calculates the block generation rights for the participant based on the chain data; when the block generation node determines that the participant has the block generation right, it generates a block, calls the certification node and signature node to obtain the certification information and signature, and then sends the block with the certification information and the signature to the verification node; after verification, the verification node broadcasts the block to the blockchain network. Among them, each type of node can be deployed independently and is responsible for relatively independent functions. Therefore, the optimal deployment plan can be selected according to actual needs, avoiding resource waste and effectively utilizing different hardware resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information technology, and in particular to a system and method for multi-node collaborative block generation. Background Art

[0002] In a traditional blockchain network, each participating node requires its own validator node and maintains its own set of ledgers. Each node independently calculates whether it has the authority to produce blocks at each network height. Currently, all node functions (including block production, verification, zero-knowledge proofs, signatures, etc.) are centralized on a single node. While this approach significantly increases network security, as blockchain networks expand, scale, and become more widespread, this model becomes difficult to scale horizontally, making it difficult to match optimal hardware resources to specific functions, and making efficient operations and maintenance difficult, as well as optimizing overall cluster efficiency. This results in significant resource waste and unnecessary carbon emissions.

[0003] To address these issues, some public chains pool the computing power of a large number of validator nodes to aggregate the resources required by these computing resources on the corresponding validator server, thereby facilitating multi-node collaboration in block production. However, this approach only optimizes validator nodes. As blockchain networks continue to evolve and new blockchain networks support features such as smart contracts, the hardware configuration and energy consumption requirements for validator nodes continue to increase, forcing us to explore more efficient resource utilization methods.

[0004] On the other hand, new blockchain consensus mechanisms are constantly emerging, from the initial Proof of Work (POW) to Proof of Stake (POS), Proof of History (POH), Proof of Owned Resource (POR), and even POW+POS consensus methods. Against this backdrop, the public chain approach of pooling the computing power of a large number of verification nodes will no longer be suitable for these new blockchain networks. Summary of the Invention

[0005] One purpose of the present application is to provide a system and method for multi-node collaborative block generation to solve the problems of resource waste and difficulty in effectively utilizing different hardware resources in the prior art.

[0006] To achieve the above objectives, an embodiment of the present application provides a multi-node cooperative block production system, the system including a block production node, a verification node, a signing node, a certification node and a management node;

[0007] The verification node is used to synchronize the latest network height from the blockchain to obtain chain data about the blockchain and provide the chain data to the block-producing node; obtain the block with proof information and completed signature from the block-producing node, verify the block, and broadcast the block to the blockchain network to complete the block production;

[0008] The block producing node is configured to obtain the chain data from the verification node and synchronize the information of the participant attempting to produce a block from the management node; calculate the block producing right for the participant attempting to produce a block based on the chain data; upon determining that the participant has the block producing right, generate a block with the message to be uploaded to the chain, call the certification node to calculate and obtain the proof information of this block production, call the signing node to sign the proof information; and send the block with the proof information and completed signature to the verification node;

[0009] The management node is used to manage the information of participants participating in block generation;

[0010] The certification node is used to calculate the certification information of the current block and provide the certification information to the block producing node;

[0011] The signing node is used to sign the certification information and provide the signature to the block producing node.

[0012] Furthermore, the participant information stored in the management node includes a unique identifier of the participant in the blockchain network, a first list of certification nodes corresponding to the participant, and a second list of signature nodes corresponding to the participant;

[0013] The block-producing node requests the participant's chain data from the verification node based on the participant's unique identifier in the blockchain network, and calculates the block-producing right for the participant based on the chain data; calls the certification node in the first list to calculate and obtain the certification information of this block, and calls the signing node in the second list to sign the certification information.

[0014] Furthermore, the verification node provides an RPC interface;

[0015] After completing the identity authentication of the RPC interface using the verification token, the block producing node obtains the chain data from the verification node through the RPC interface. The verification token corresponds one-to-one to the user who manages the participant.

[0016] Furthermore, the verification node is a cluster that supports load balancing, and the optimal node in the cluster provides the chain data to the block-producing node.

[0017] Furthermore, when the block-producing node determines that multiple participants have the right to produce blocks, it generates blocks for the messages to be uploaded to the chain corresponding to the multiple participants, calls the proof node to calculate and obtain the proof information of this block, and calls the signature node to sign the proof information.

[0018] Furthermore, when determining that the participant has the right to produce a block, the block producing node sends the first event and data required to calculate the proof information of the current block production to the proving node, and receives the proof information calculated by the proving node from the proving node;

[0019] After receiving the first event, the certification node calculates and obtains the certification information of the current block according to the data, and returns the certification information to the block producing node.

[0020] Furthermore, after receiving the certification information calculated by the certification node from the certification node, the block producing node sends the second event and the data required for signing to the signing node, and receives the signature generated by the signing node from the signing node;

[0021] After receiving the second event, the signing node generates a signature about the proof information based on the data and returns the signature to the block producing node.

[0022] Furthermore, after startup, the verification node and the signature node register with the block-producing node according to the configuration information, establish an encrypted long connection with the block-producing node, and interact with the block-producing node through the encrypted long connection.

[0023] Furthermore, the blockchain is a DAG blockchain.

[0024] Based on another aspect of the present application, a method for multi-node cooperative block production is also provided, the method being applied to a system including a block production node, a verification node, a signing node, a certification node, and a management node, the method comprising:

[0025] The verification node synchronizes the latest network height from the blockchain to obtain chain data about the blockchain, and provides the chain data to the block producing node;

[0026] The block producing node obtains the chain data from the verification node, synchronizes the information of the participant attempting to produce a block from the management node, and calculates the block producing right for the participant attempting to produce a block based on the chain data;

[0027] When the block producing node determines that the participant has the right to produce a block, it generates a block with the message to be uploaded, calls the certification node to calculate and obtain the proof information of this block, and calls the signing node to sign the proof information;

[0028] The block producing node sends the signed block with the proof information to the verification node;

[0029] After verifying the block, the verification node broadcasts the block to the blockchain network, completing the block generation.

[0030] The embodiment of the present application provides a multi-node cooperative block generation scheme, which adopts a system including a block generation node, a verification node, a signature node, a certification node and a management node. During the cooperative block generation process, the verification node synchronizes the latest network height from the blockchain to obtain chain data about the blockchain and provides the chain data to the block generation node; the block generation node obtains the chain data from the verification node, synchronizes the information of the participant attempting to generate the block from the management node, and calculates the block generation right for the participant attempting to generate the block based on the chain data; when the block generation node determines that the participant has the block generation right, it generates a block with the message to be uploaded to the chain, calls the certification node to calculate and obtain the certification information for this block generation, and calls the signature node to sign the certification information; the block generation node sends the block with the certification information and the signature to the verification node; after the verification node verifies the block, it broadcasts the block to the blockchain network to complete the block generation. Among them, each type of node can be deployed independently and is responsible for relatively independent functions. Therefore, the optimal deployment scheme can be selected according to actual needs to avoid resource waste and effectively utilize different hardware resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Other features, objects and advantages of the present application will become more apparent upon reading the detailed description of non-limiting embodiments made with reference to the following drawings:

[0032] Figure 1 A schematic diagram of the structure of a multi-node cooperative block generation system provided in an embodiment of the present application;

[0033] Figure 2 This is a flowchart for the process of implementing multi-node cooperation in block generation based on the above system;

[0034] Figure 3 An interactive flow chart for implementing collaborative block generation in a blockchain network using the solution provided in an embodiment of the present application;

[0035] The same or similar reference numerals in the drawings represent the same or similar components. DETAILED DESCRIPTION

[0036] The present application is described in further detail below with reference to the accompanying drawings.

[0037] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0038] It will be understood by those skilled in the art that, unless expressly stated otherwise, the singular forms "a", "an", "said" and "the" used herein may also include the plural forms. It should be further understood that the term "comprising" used in the description of the present invention refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof. It should be understood that when we refer to an element as being "connected" or "coupled" to another element, it may be directly connected or coupled to the other element, or there may be intermediate elements. In addition, "connected" or "coupled" as used herein may include wireless connections or wireless couplings. The term "and / or" used herein includes all or any units and all combinations of one or more associated listed items.

[0039] In a typical configuration of the present application, the terminal and the equipment of the service network each include one or more processors (CPUs), input / output interfaces, network interfaces and memories.

[0040] Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0041] Computer-readable media include both permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology for information storage. Information can be computer program instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc-read only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.

[0042] The embodiment of the present application provides a multi-node cooperative block-producing system, which includes a block-producing node, a verification node, a signature node, a certification node, and a management node. In the process of cooperative block-producing, the verification node synchronizes the latest network height from the blockchain to obtain chain data about the blockchain and provides the chain data to the block-producing node; the block-producing node obtains the chain data from the verification node, synchronizes the information of the participant who attempts to produce the block from the management node, and calculates the block-producing right for the participant who attempts to produce the block based on the chain data; when the block-producing node determines that the participant has the block-producing right, it generates a block with the message to be uploaded to the chain, calls the certification node to calculate and obtain the certification information of this block, and calls the signature node to sign the certification information; the block-producing node sends the block with certification information and completed signature to the verification node; after the verification node verifies the block, it broadcasts the block to the blockchain network to complete this block production. Among them, each type of node can be deployed independently and is responsible for relatively independent functions. Therefore, the optimal deployment plan can be selected according to actual needs to avoid resource waste and effectively utilize different hardware resources.

[0043] In practical scenarios, the nodes in the system can be various network devices, network devices, or devices formed by integrating user devices and network devices through a network. Furthermore, they can be programs running on these devices. User devices include, but are not limited to, various terminal devices such as personal computers, mobile phones, and tablets. Network devices include, but are not limited to, network hosts, single network servers, multiple network servers, or cloud computing-based computer collections. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a group of loosely coupled computers forming a virtual computer.

[0044] Figure 1 The structure of a multi-node cooperative block production system provided by an embodiment of the present application is shown, which includes the following nodes: verification node 110, block production node 120, management node 130, certification node 140 and signature node 150. The main functions of each node are as follows:

[0045] The verification node 110 is used to synchronize the latest network height from the blockchain to obtain chain data about the blockchain and provide the chain data to the block-producing node; obtain the block with proof information and completed signature from the block-producing node, verify the block, and broadcast the block to the blockchain network to complete the block production.

[0046] The block producing node 120 is used to obtain the chain data from the verification node and synchronize the information of the participant attempting to produce a block from the management node; calculate the block producing right for the participant attempting to produce a block based on the chain data; when it is determined that the participant has the block producing right, generate a block with the message to be uploaded to the chain, call the certification node to calculate and obtain the certification information of this block, call the signing node to sign the certification information; and send the block with the certification information and completed signature to the verification node.

[0047] The management node 130 is used to manage the information of participants participating in block generation.

[0048] The certification node 140 is used to calculate the certification information of the current block and provide the certification information to the block producing node.

[0049] The signing node 150 is used to sign the certification information and provide the signature to the block producing node.

[0050] Figure 2 The following figure shows the process flow for implementing multi-node cooperative block generation based on the above system, which includes at least the following processing steps:

[0051] In step S201, the verification node synchronizes the latest network height from the blockchain to obtain chain data related to the blockchain and provides this chain data to the block-producing node. In practical scenarios, the verification node can periodically synchronize the latest network height from the blockchain to obtain the latest blockchain ledger information from the blockchain network, i.e., synchronize the chain data. After obtaining the latest chain data, it can provide this chain data to the block-producing node, so that the block-producing node can perform block-related processing based on this chain data.

[0052] In some embodiments of the present application, the verification node may provide an RPC (Remote Procedure Call) for the block-producing node to query chain data. To ensure the security of the interface, the RPC interface may use a verification method that carries a verification token. Thus, when the block-producing node obtains chain data from the verification node, it may need to complete the identity authentication of the RPC interface using the verification token before obtaining the chain data from the verification node through the RPC interface. The verification token corresponds one-to-one to the user who actually manages the participant, that is, each block-producing participant has a unique verification token, which is used for identity authentication when calling the RPC interface to obtain chain data, thereby ensuring the security of the chain data.

[0053] In addition, the verification node can be a cluster that supports load balancing, and the cluster can include multiple verification nodes. In order to ensure that the chain data can be provided to the block-producing node efficiently and correctly, the verification node can adopt a set of high-availability solutions, use load balancing technology to ensure the response speed of the service interface, avoid single point failures, and can provide the chain data to the block-producing node by the optimal node in the cluster through methods such as a chain selector, ensuring that the block-producing node can obtain the latest chain data in a timely manner. For example, in this embodiment, if the verification node cluster includes three verification nodes, and their currently synchronized network heights are 1003, 1002, and 1001 respectively, then the chain selector will select the verification node with the highest network height and provide the chain data to the block-producing node to ensure that the chain data obtained by the block-producing node is the latest.

[0054] In step S202, the block producing node obtains the chain data from the verification node, synchronizes the information of the participant attempting to produce a block from the management node, and calculates the block production weight for the participant attempting to produce a block based on the chain data. In actual scenarios, the block producing node periodically calculates the block production weight for each participant attempting to produce a block. The calculation period depends on the corresponding blockchain and is determined based on the cycle time for each network height defined by the blockchain itself.

[0055] The management node's functions include user management and participant management. Users are the actual managers of individual block producers. In real-world scenarios, these can be companies or individuals, and each user can manage multiple block producers. Each user is assigned a verification token, allowing block producers to authenticate using the participant's corresponding verification token through the verification node's RPC interface.

[0056] The participant information stored in the management node may include the participant's unique identifier in the blockchain network, a first list of proof nodes corresponding to the participant, and a second list of signature nodes corresponding to the participant. In some embodiments of the present application, the participant's unique identifier in the blockchain network can be recorded as MinerID, which is necessary data for calculating the block production right. The block production node obtains the corresponding chain data from the verification node based on the MinerID and calculates whether the participant represented by the MinerID has the block production right. The first list of proof nodes corresponding to the participant includes the specific information of the proof nodes that can provide zero-knowledge proof services to the participants in the block production process, and the second list of signature nodes corresponding to the participant can include the specific information of the signature nodes that can provide signature services to the participants in the block production process. This participant information can be stored in the management node, and the required information can be read from the management node when the block production node needs it.

[0057] Since the participant information stored in the management node includes the participant's unique identifier in the blockchain network, when calculating the block generation right, the block generation node can request the participant's chain data from the verification node based on the participant's unique identifier in the blockchain network, and calculate the block generation right for the participant based on the chain data.

[0058] In step S203, when the block producing node determines that the participant has the right to produce a block, it generates a block with the message to be uploaded, calls the certification node to calculate and obtain the certification information of this block, and calls the signing node to sign the certification information.

[0059] In actual scenarios, once the block-producing node calculates that the participant has the right to produce blocks, it can proceed with the actual block production process, package the messages to be uploaded into blocks, and call the proof node to calculate the proof information for this block. After completing the calculation of the proof information, it calls the signature node to sign the proof information, thereby completing the proof and signature of the generated block.

[0060] Because the participant information stored in the management node also includes a first list of certification nodes corresponding to the participants and a second list of signature nodes corresponding to the participants, when a block-producing node calls a certification node to calculate the certification information for the current block, it can call the certification nodes in the first list to calculate and obtain the certification information for the current block. When calling a signature node to sign the certification information, it can call the signature nodes in the second list to sign the certification information.

[0061] In some embodiments of the present application, if the blockchain allows multiple blocks to exist at the same network height, the block-producing node may calculate that two or more participants have the right to produce blocks at the same network height. At this time, the block-producing node can generate blocks for the messages to be uploaded to the chain corresponding to multiple participants, call the proof node to calculate and obtain the proof information of this block, and then call the signature node to sign the proof information, thereby reducing the gas consumption when producing blocks.

[0062] The process of the block-producing node calling the proof node to calculate the proof information is implemented in an event-based manner. That is, when the block-producing node determines that the participant has the right to produce a block, it sends a first event and the data required to calculate the proof information of this block to the proof node. After receiving the first event, the proof node calculates the proof information of this block based on the data and returns the proof information to the block-producing node, so that the block-producing node can receive the proof information calculated by the proof node from the proof node.

[0063] Similarly, when a block-producing node calls a signing node to sign the certification information, this can also be implemented using an event. After receiving the certification information calculated by the certification node from the certification node, the block-producing node sends a second event and the data required for signing to the signing node. After receiving the second event, the signing node generates a signature for the certification information based on the data and returns the signature to the block-producing node, so that the block-producing node can receive the signature generated by the signing node from the signing node.

[0064] In some embodiments of the present application, the proof node may include the following functions: providing zero-knowledge proof computing services for the block-producing node. When the proof node is started, it registers with the block-producing node according to the configuration information after startup, establishes an encrypted long connection with the block-producing node, and interacts with the block-producing node through the encrypted long connection. When the block-producing node requires zero-knowledge proof, the proof node will receive a second event and the relevant data that needs to be calculated for the proof information. After the proof information is calculated, the proof information is returned to the block-producing node through the long connection established previously. In actual scenarios, since the proof node usually requires a large amount of reading and calculation, in order to ensure processing efficiency, it is usually necessary to configure higher hardware resources, such as higher GPU, disk IO and other resources.

[0065] Signature nodes can include the following functions: managing the keys of block-producing participants, including adding, deleting, importing, and exporting keys. These keys are used in the signature generation process and can also provide effective security measures. Key security is paramount in blockchain networks and directly impacts the interests of users. In this embodiment, the signature nodes can be deployed in a local area network and do not expose any external interfaces. Instead, upon startup, they register with block-producing nodes based on configuration information, establish an encrypted persistent connection with the node, and interact with the node through this encrypted persistent connection to ensure the security of node data. Furthermore, the signature nodes provide signing services for block-producing nodes. Since the signature nodes themselves can be configured with a cryptographic mechanism to lock or unlock the signing service for a particular participant, this provides a certain degree of security.

[0066] Step S204: After completing the signature, the block-producing node sends the block with the proof information and the signature to the verification node.

[0067] In step S205, after verifying the block, the verification node broadcasts the block to the blockchain network, completing the block generation. Thus, the multi-node cooperative block generation solution provided by this application integrates verification nodes, block generation nodes, management nodes, signature nodes, and certification nodes to form a distributed system service for multi-node cooperative block generation. This service further serves multiple block generation participants to collaborate on block generation, reducing the number of verification nodes in the entire network and effectively utilizing the hardware and software resources of each participant, helping the blockchain network to save energy and reduce emissions.

[0068] Figure 3 This section illustrates the interactive process for collaborative block generation in a blockchain network using the solution provided in an embodiment of the present application. The blockchain network may be a DAG (Direct Acyclic Graph) blockchain. The specific interactive process includes the following steps:

[0069] In step 301, the verification nodes in the verification node cluster synchronize with the blockchain, synchronizing the latest network height from the blockchain to obtain chain data about the blockchain.

[0070] In step S302, the block-producing node obtains the latest chain data from the verification node cluster, and obtains the information of the participant attempting to produce blocks from the management node, and periodically calculates the block-producing rights for the participants.

[0071] In step S303, once it is determined that a participant has obtained the right to produce a block, the block-producing node will generate a block for the message to be uploaded to the chain, and at the same time call the proof node to calculate and obtain the proof information of this block.

[0072] Step S304: After completing the calculation of the proof information, the block producing node calls the signing node to sign the proof information.

[0073] In step S305, the block producing node pushes the block with the proof information and signature to the verification node.

[0074] In step S306, after the verification node verifies that the block is correct, it broadcasts the block to the blockchain network, thereby completing the entire process of multi-node cooperation in block generation.

[0075] In addition, another multi-node cooperative block production system provided in an embodiment of the present application may include a memory for storing computer program instructions and a processor for executing computer program instructions, wherein, when the computer program instructions are executed by the processor, the device is triggered to implement the methods and / or technical solutions of the aforementioned multiple embodiments of the present application.

[0076] In particular, the methods and / or embodiments of the present application can be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the method shown in the flowchart. When the computer program is executed by a processing unit, the above-mentioned functions defined in the method of the present application are performed.

[0077] It should be noted that the computer-readable medium described in this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0078] In the present application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0079] Computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0080] The flow chart or block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the equipment, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code include one or more executable instructions for realizing the logical function of the specification. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs the function or operation of the specification, or can be implemented with a combination of dedicated hardware and computer instructions.

[0081] As another aspect, the present application further provides a computer-readable medium, which may be included in the device described in the above embodiments, or may exist independently without being incorporated into the device. The computer-readable medium carries one or more computer program instructions, which can be executed by a processor to implement the methods and / or technical solutions of the above embodiments of the present application.

[0082] It should be noted that the present application can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of the present application can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including related data structures) can be stored in a computer-readable recording medium, such as a RAM memory, a magnetic or optical drive, a floppy disk, and the like. In addition, some steps or functions of the present application can be implemented in hardware, for example, as a circuit that cooperates with a processor to perform the various steps or functions.

[0083] It is obvious to those skilled in the art that the present application is not limited to the details of the above-mentioned exemplary embodiments, and that the present application can be implemented in other specific forms without departing from the spirit or basic characteristics of the present application. Therefore, no matter from which point of view, the embodiments should be regarded as exemplary and non-restrictive. The scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes that fall within the meaning and scope of the equivalent elements of the claims are included in the present application. Any figure marks in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. Words such as first and second are used to indicate names and do not indicate any specific order. The numerical order of the serial numbers corresponding to the steps does not indicate any specific execution order. The steps can be executed in any order combination under the premise of conforming to the execution logic.

Claims

1. A multi-node cooperative block generation system, characterized in that: The system includes block production nodes, verification nodes, signature nodes, certification nodes, and management nodes; The verification node is used to synchronize the latest network height from the blockchain to obtain chain data about the blockchain and provide the chain data to the block-producing node; obtain the block with proof information and completed signature from the block-producing node, verify the block, and broadcast the block to the blockchain network to complete the block production; The block producing node is used to obtain the chain data from the verification node and synchronize the information of the participants who attempt to produce blocks from the management node; Calculate the block generation right for the participant attempting to generate a block based on the chain data; when it is determined that the participant has the block generation right, generate a block with the message to be uploaded to the chain, call the certification node to calculate and obtain the proof information of this block generation, call the signing node to sign the proof information; send the block with the proof information and completed signature to the verification node; The management node is used to manage the information of participants participating in block generation; The certification node is used to calculate the certification information of the current block and provide the certification information to the block producing node; The signing node is used to sign the certification information and provide the signature to the block producing node.

2. The system according to claim 1, wherein: The participant information stored in the management node includes the participant's unique identifier in the blockchain network, a first list of certification nodes corresponding to the participant, and a second list of signature nodes corresponding to the participant; The block-producing node requests the participant's chain data from the verification node based on the participant's unique identifier in the blockchain network, and calculates the block-producing right for the participant based on the chain data; calls the certification node in the first list to calculate and obtain the certification information of this block, and calls the signing node in the second list to sign the certification information.

3. The system according to claim 1, wherein: The verification node provides an RPC interface; After completing the identity authentication of the RPC interface using the verification token, the block producing node obtains the chain data from the verification node through the RPC interface. The verification token corresponds one-to-one to the user who manages the participant.

4. The system according to claim 1, wherein: The verification node is a cluster that supports load balancing, and the optimal node in the cluster provides the chain data to the block-producing node.

5. The system according to claim 1, wherein: When the block-producing node determines that multiple participants have the right to produce blocks, it generates blocks for the messages to be uploaded to the chain corresponding to the multiple participants, calls the proof node to calculate and obtain the proof information of this block, and calls the signature node to sign the proof information.

6. The system according to claim 1, wherein: When determining that the participant has the right to produce a block, the block producing node sends the first event and the data required to calculate the proof information of the current block production to the proving node, and receives the proof information calculated by the proving node from the proving node; After receiving the first event, the certification node calculates and obtains the certification information of the current block according to the data, and returns the certification information to the block producing node.

7. The system according to claim 1, wherein: After receiving the certification information calculated by the certification node from the certification node, the block producing node sends the second event and the data required for signing to the signing node, and receives the signature generated by the signing node from the signing node; After receiving the second event, the signing node generates a signature about the proof information based on the data and returns the signature to the block producing node.

8. The system according to claim 1, wherein: After startup, the verification node and the signature node register with the block-producing node according to the configuration information, establish an encrypted long connection with the block-producing node, and interact with the block-producing node through the encrypted long connection.

9. The system according to claim 1, wherein: The blockchain is a DAG blockchain.

10. A multi-node collaborative block generation method, characterized in that: The method is applied to a system including a block-producing node, a verification node, a signing node, a certification node, and a management node, and the method includes: The verification node synchronizes the latest network height from the blockchain to obtain chain data about the blockchain, and provides the chain data to the block producing node; The block producing node obtains the chain data from the verification node, synchronizes the information of the participant attempting to produce a block from the management node, and calculates the block producing right for the participant attempting to produce a block based on the chain data; When the block producing node determines that the participant has the right to produce a block, it generates a block with the message to be uploaded, calls the certification node to calculate and obtain the proof information of this block, and calls the signing node to sign the proof information; The block producing node sends the signed block with the proof information to the verification node; After verifying the block, the verification node broadcasts the block to the blockchain network, completing the block generation.

Citation Information

Patent Citations

  • Multi-node collaborative blocking method and system

    CN110557416A

  • Block generation method, device and blockchain network

    US20190173667A1