CN115796863A - Consensus method of block chain system and related equipment - Google Patents

Consensus method of block chain system and related equipment Download PDF

Info

Publication number
CN115796863A
CN115796863A CN202111069974.1A CN202111069974A CN115796863A CN 115796863 A CN115796863 A CN 115796863A CN 202111069974 A CN202111069974 A CN 202111069974A CN 115796863 A CN115796863 A CN 115796863A
Authority
CN
China
Prior art keywords
block
consensus
node
voting information
accounting period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111069974.1A
Other languages
Chinese (zh)
Inventor
刘攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111069974.1A priority Critical patent/CN115796863A/en
Publication of CN115796863A publication Critical patent/CN115796863A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The disclosure provides a consensus method of a block chain system and related equipment. The blockchain system comprises a blockchain and a consensus node, wherein the consensus node comprises a first master node and a first slave node of a first accounting period, and the method is executed by the first master node and comprises the following steps: obtaining voting information of a first block to be identified; obtaining a second block to be identified; generating a first block consensus message, wherein the first block consensus message comprises the voting information of the first block and the second block; broadcasting the first block consensus message to each first slave node so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block; the consensus node comprises a second master node for a second accounting period, the second accounting period being located after the first accounting period.

Description

Consensus method of block chain system and related equipment
Technical Field
The present disclosure relates to the field of blockchain technologies, and in particular, to a consensus method and apparatus for a blockchain system, a computer-readable storage medium, an electronic device, and a computer program product.
Background
A Distributed Ledger (DL) is a database that is shared, replicated and synchronized between members (also referred to as "nodes") of a Distributed accounting system (DLSs). The distributed ledger records transactions between members of the distributed accounting system, such as the exchange of assets or data. DLS is a decentralized, distributed accounting system. In DLS, each node replicates and maintains a ledger, which is updated independently at each node and does not require a central node for maintenance.
DLS may also be referred to as a consensus network, blockchain network, and/or blockchain system. The blockchain is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism and an encryption algorithm.
With the development of the blockchain technology, the blockchain technology is applied to more and more fields. For example, the method is widely applied to the fields of finance, information security, computing resource sharing, entertainment, social contact, supply chain management or medical treatment and the like.
The blockchain system is a distributed system, and the consensus mechanism is the basis for ensuring the normal operation of the blockchain system. Consensus means agreement is achieved; each node in the block chain system stores a distributed ledger (namely a block chain); the consensus process of the blockchain system is a process for keeping a distributed account book consistent among node devices. The consensus process for the blockchain system is typically implemented based on consensus algorithms, which may include, but are not limited to: a BFT (Byzantine Fault Tolerance) algorithm, a PBFT (Practical Byzantine Fault Tolerance) algorithm, and the like. However, the consensus process in the related art is performed in a serial manner, which results in a low throughput rate provided to the outside and a low resource utilization rate.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure.
Disclosure of Invention
The disclosed embodiments provide a consensus method and apparatus for a blockchain system, a computer-readable storage medium, an electronic device, and a computer program product, which can improve system throughput and improve resource utilization.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
The embodiment of the disclosure provides a consensus method for a blockchain system, where the blockchain system includes a blockchain and a consensus node, the consensus node includes a first master node and a first slave node in a first accounting period, and the method is executed by the first master node, and the method includes: obtaining voting information of a first block to be identified; obtaining a second block to be identified; generating a first block consensus message, wherein the first block consensus message comprises the voting information of the first block and the second block; broadcasting a first block consensus message to each first slave node so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block; the consensus node comprises a second master node for a second accounting period, the second accounting period being located after the first accounting period.
The embodiment of the present disclosure provides a consensus method for a blockchain system, where the blockchain system includes a blockchain and a consensus node, the consensus node includes a fourth master node and a fourth slave node in a fourth accounting period, and the method is executed by the fourth slave node, and the method includes: acquiring a third block consensus message broadcast by a fourth master node, wherein the third block consensus message comprises voting information of a third block and a fourth block; verifying the fourth block to generate voting information of the fourth block; the voting information of the fourth block is unicast to a fifth main node of a fifth accounting period; adding a third target block located before the third block to the block chain according to the voting information of the third block; the fifth accounting period is located after the fourth accounting period.
The embodiment of the disclosure provides a consensus method for a blockchain system, where the blockchain system includes a blockchain and a consensus node, the consensus node includes a first master node and a first slave node in a first accounting period and a second master node in a second accounting period, and the second accounting period is located after the first accounting period, and the method includes: the method comprises the steps that a first main node obtains voting information of a first block to be identified; the first main node obtains a second block to be identified; the first main node generates a first block consensus message, wherein the first block consensus message comprises the voting information of the first block and the second block; the first master node broadcasts the first block consensus information to each first slave node; each first slave node receives the first block consensus message broadcast by the first master node, verifies the second block and generates voting information of the second block; and each first slave node respectively unicasts the voting information of the second block to the second master node of the second accounting period, and determines to add a first target block positioned before the first block to the block chain according to the voting information of the first block.
The embodiment of the present disclosure provides a consensus device of a blockchain system, where the blockchain system includes a blockchain and a consensus node, the consensus node includes a first master node and a first slave node of a first accounting period, and the device is disposed on the first master node, and the device includes: the first voting information acquisition unit is used for acquiring voting information of a first block to be identified; a second block obtaining unit, configured to obtain a second block to be identified; a first block consensus message generating unit, configured to generate a first block consensus message, where the first block consensus message includes the voting information of the first block and the second block; a first block consensus information broadcasting unit, configured to broadcast a first block consensus information to each first slave node, so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block; the consensus node comprises a second master node for a second accounting period, the second accounting period being located after the first accounting period.
The embodiment of the present disclosure provides a consensus device of a block chain system, where the block chain system includes a block chain and a consensus node, the consensus node includes a fourth master node and a fourth slave node in a fourth accounting period, and the device is disposed on the fourth slave node, and the device includes: a third block consensus message obtaining unit, configured to obtain a third block consensus message broadcast by a fourth host node, where the third block consensus message includes voting information of a third block and a fourth block; the fourth block voting information generating unit is used for verifying the fourth block and generating voting information of the fourth block; a fourth block voting information unicast unit, configured to unicast the voting information of the fourth block to a fifth master node of a fifth accounting period; a third target block uplink unit, configured to add a third target block located before the third block to the block chain according to the voting information of the third block; the fifth accounting period is located after the fourth accounting period.
The embodiment of the present disclosure provides a blockchain system, where the blockchain system includes a blockchain and a consensus node, where the consensus node includes a first master node and a first slave node in a first accounting period and a second master node in a second accounting period, and the second accounting period is located after the first accounting period, where: the first master node is used for acquiring voting information of a first block to be identified, acquiring a second block to be identified, generating a first block identification message, wherein the first block identification message comprises the voting information of the first block and the second block, and broadcasting the first block identification message to each first slave node; each first slave node is used for respectively receiving the first block consensus message broadcast by the first master node, verifying the second block, generating voting information of the second block, respectively unicasting the voting information of the second block to the second master node of the second accounting period, and determining to add a first target block located before the first block to the block chain according to the voting information of the first block.
The embodiments of the present disclosure provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method for implementing the consensus of the blockchain system as in the above embodiments is implemented.
An embodiment of the present disclosure provides an electronic device, including: at least one processor; a storage device configured to store at least one program that, when executed by at least one processor, causes the at least one processor to implement the consensus method of the blockchain system as in the above embodiments.
According to an aspect of the application, a computer program product or computer program is provided, comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided in the various alternative implementations of the embodiments described above.
In some embodiments of the present disclosure, a block chain system includes a block chain and a consensus node, where the consensus node may include a first master node and a first slave node in a first accounting period, the first master node in the first accounting period obtains voting information of a first block to be consensus, and obtains a second block to be consensus, and then packages the voting information of the first block and the second block into a first block consensus message, broadcasts a first block consensus message including both the voting information of the first block and the second block to each first slave node in the first accounting period, so that each first slave node verifies the second block in the first block consensus message, generates voting information of the second block, and when unicasts the voting information of the second block to the second master node in the second accounting period, the second slave node is located after the first accounting period, and may determine that the voting information of the first block is located in the first accounting period according to the first consensus information in the first block message, and when the voting information of the second master node in the second accounting period is unicasted, the second master node determines that the voting information of the second block is located in the second accounting period, and the first block is located in the first accounting period, and the successful uplink voting information of the first block is added, and the first block is added, which the successful uplink voting process is guaranteed, and the first block is located before the successful uplink voting information of the first accounting period, and the successful link is added, and the target block is added.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 is a block chain network architecture diagram according to an embodiment of the disclosure.
Fig. 2 is a schematic structural diagram of a block according to an embodiment of the disclosure.
Fig. 3 schematically illustrates a flow chart of a consensus method of a blockchain system according to an embodiment of the present disclosure.
Fig. 4 is a schematic diagram of a serial consensus of a blockchain system in the related art.
Fig. 5 schematically illustrates a schematic diagram of a consensus method of a blockchain system according to an embodiment of the present disclosure.
Fig. 6 schematically shows a flow chart of a consensus method of a blockchain system according to another embodiment of the present disclosure.
Fig. 7 schematically shows a flow chart of a consensus method of a blockchain system according to a further embodiment of the present disclosure.
Fig. 8 schematically illustrates a block diagram of a consensus device of a blockchain system according to an embodiment of the present disclosure.
Fig. 9 schematically illustrates a block diagram of a consensus device of a blockchain system according to another embodiment of the present disclosure.
Fig. 10 is a schematic diagram of a block chain system according to an embodiment of the disclosure.
FIG. 11 shows a schematic structural diagram of an electronic device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The same reference numerals denote the same or similar parts in the drawings, and thus, a repetitive description thereof will be omitted.
The described features, structures, or characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the embodiments of the disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the disclosure.
The drawings are merely schematic illustrations of the present disclosure, in which the same reference numerals denote the same or similar parts, and thus, a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in at least one hardware module or integrated circuit, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and steps, nor do they necessarily have to be performed in the order described. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
In this specification, the terms "a", "an", "the", "said" and "at least one" are used to indicate the presence of at least one element/component/etc.; the terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. other than the listed elements/components/etc.; the terms "first," "second," and "third," etc. are used merely as labels, and are not limiting as to the number of their objects.
The block chain in the embodiment of the disclosure is a distributed account book, and is a technical scheme for collectively maintaining a reliable database in a decentralized and trust-removing manner. Wherein the blockchain network/blockchain system is a network of computing nodes for managing, updating and maintaining one or more blockchain structures. The blockchain network may include a public blockchain network (referred to as a public chain for short), a private blockchain network (referred to as a private chain for short), or a federation blockchain network (referred to as a federation chain for short). The corresponding block chain network can be selected according to the actual application scenario.
Any node in the public chain is open to anyone, and each person can participate in the blockchain to perform calculation, and anyone can download and obtain the data (all accounts) of the complete blockchain. The greatest advantages of the public chain are decentralization and safety. However, it is difficult to achieve consensus among such many casual nodes, because some nodes may be down at any time and hackers may forge many false nodes. Therefore, the public chain has a very strict consensus mechanism.
In some application scenarios of the blockchain, it is not desirable that anyone can participate in the system, and can view all data, and only permitted nodes can participate in and view all data, and such a blockchain structure is called a private chain. The private chain can customize the policy completely by itself and is therefore extremely fast. Private chains can prevent a single node within an organization from intentionally concealing or tampering with data, and can quickly discover the source even if an error occurs. Many large financial institutions are more inclined to use private chain technology. Such as user access and transactions within only one financial, auditing institution.
Since the industry and application needing to be kept secret do not need the public chain to be publicly transparent, the alliance chain is produced, the alliance chain is limited to alliance members, and all or part of functions are opened for the members, so that the read-write authority and the accounting rule on the alliance chain are 'privately customized' according to the alliance rule.
The alliance chain only aims at members of a specific certain group and limited third parties, a plurality of preselected nodes are internally designated as bookkeepers, the generation of each block is determined by all the preselected nodes, access nodes of other third parties can participate in transactions, but the billing process is not asked, and other third parties can carry out limited query through an Application Programming Interface (API) opened by the alliance chain. Generally, a federation chain is suitable for B2B (Business-to-Business) scenarios such as transactions, settlements, or clearing between enterprises. For example, multiple financial institutions may connect together their respective blockchain networks to form a federated network, thereby facilitating data interfacing and collaboration with one another.
To achieve better performance, the federation chain places certain requirements on the configuration and network environment of the consensus or authentication node. With the admission mechanism, the transaction performance can be improved more easily, and problems caused by the participants with uneven participation can be avoided. The processing speed of the alliance chain is higher than that of the public chain, and because the number and the identity of the nodes are well defined, a relatively loose consensus mechanism can be used, so that the data processing speed is greatly improved compared with that of the public chain.
Embodiments of the present disclosure are described in detail with reference to federation chains in embodiments of the present disclosure. However, it is contemplated that the disclosed embodiments may be implemented in any suitable blockchain network.
Based on the above description, the embodiment of the present disclosure provides a consensus method for a blockchain system, where the consensus method for the blockchain system may be implemented based on a federation chain technology, and a federation chain underlying platform may include processing modules such as user management, basic service, intelligent contracts, and operation monitoring. The user management module is responsible for identity information management of all blockchain participants, and the identity information management comprises public and private key generation maintenance (account management), key management, user real identity and alliance chain address corresponding relation maintenance (authority management) and the like.
The blockchain technology, as a specific implementation of the distributed ledger, by virtue of its natural advantages of storing and managing data, is gradually becoming the preferred way to store data and transaction data in various fields.
A blockchain network/blockchain system is a distributed system, which may be formed by connecting a plurality of nodes (any form of computing devices in an access network, such as servers and terminal devices) through a network communication form.
The following detailed description of exemplary embodiments of the disclosure refers to the accompanying drawings.
Fig. 1 is a schematic diagram of an alternative architecture of a blockchain network/blockchain system according to an embodiment of the present disclosure. The blockchain network/blockchain system comprises a plurality of nodes, a point-To-point (P2P) network is formed among the nodes, and the P2P Protocol is an application layer Protocol operating on a Transmission Control Protocol (TCP). In a blockchain network, any machine, such as a server or a terminal device, can be added to become a node, and the node comprises a hardware layer, a middle layer, an operating system layer and an application layer.
Referring to the functions of each node in the blockchain network shown in fig. 1, the functions involved include:
1) Routing, a basic function that a node has, is used to support communication between nodes.
Besides the routing function, the node may also have the following functions:
2) And the Block chain comprises a series of blocks (blocks) which are mutually connected according to the generated chronological order, new blocks cannot be removed once being added into the Block chain, and recorded data submitted by nodes in the Block chain network are recorded in the blocks.
3) The application is used for being deployed in a block chain, realizing specific services according to actual service requirements, recording data related to the realization function to form recording data, carrying a digital signature in the recording data to represent a source of task data, and sending the recording data to other nodes in the block chain network, so that the other nodes add the recording data to a temporary block when the source and integrity of the recording data are verified successfully.
For example, the services implemented by the applications include:
3.1 Wallet) for providing the function of transaction of virtual resources, which includes initiating transaction, that is, sending the transaction record of the current transaction to other nodes in the blockchain network, and after the other nodes successfully verify the transaction, storing the record data of the transaction in a temporary block of the blockchain as a response for confirming that the transaction is valid.
3.2 Shared account book, which is used for providing functions of operations such as storage, query and modification of account data, sending record data of the operations on the account data to other nodes in the block chain network, and after the other nodes verify that the record data is valid, storing the record data into a temporary block as a response for acknowledging that the account data is valid, and also sending confirmation to the node initiating the operations.
3.3 Intelligent contracts, computerized agreements, which can execute the terms of a certain contract, implemented by code deployed on a shared ledger for execution when certain conditions are met, for completing automated transactions according to actual business requirement code, such as querying the logistics status of goods purchased by a buyer, transferring the buyer's virtual resources to the address of a merchant after the buyer signs the goods; of course, smart contracts are not limited to executing contracts for trading, but may also execute contracts that process received information.
4) And the consensus is used for solving and ensuring the consistency and correctness of each transaction or data on all accounting nodes. The consensus mechanism of blockchains is the way to determine a certain consensus and maintain consensus. The consensus mechanism of the block chain enables the block chain to still cooperate and complete the operation efficiently in a large scale without depending on centralized organization. As shown in fig. 1, the node with the consensus function is called an accounting node/consensus node.
Referring to fig. 2, after the target block (including the first target block, the second target block, and the third target block) is written into the distributed book of the blockchain network, it may be any block in fig. 2, for example, any one of block 1, block2, and block 3. Fig. 2 is an optional schematic diagram of a Block Structure (Block Structure) provided in the embodiment of the present disclosure, where the Block information of each Block may include a hash value of a data record stored in the Block (hash value of the Block) and a hash value of a previous Block, and the blocks are connected by the hash values to form a Block chain (Block chain). The block may include information such as a time stamp at the time of block generation. A blockchain, which is essentially a decentralized database, is a string of data blocks associated using cryptography, each data block containing relevant information for verifying the validity of the information (anti-counterfeiting) and generating the next block.
Each block includes a block header and a block body, the block body contains transactions included in the block, and the block body maintains a root hash value obtained by calculating all transactions through a merkle tree.
Fig. 3 schematically illustrates a flow chart of a consensus method of a blockchain system according to an embodiment of the present disclosure. In the embodiment of fig. 3, the blockchain system may include a blockchain and a consensus node, and the consensus node may include a first master node and a first slave node for a first accounting period, and the method provided in the embodiment of fig. 3 is exemplified by the first master node performing as an example.
The blockchain is a distributed account book, and is a technical scheme of a reliable database which is maintained in a centralized and distrusted mode.
In the embodiment of the present disclosure, the consensus node is a node having a block generating function and a consensus function in the blockchain system, and may be a full node storing a complete blockchain in the blockchain system. The full node is a node for synchronizing all blockchain data, including various blockbodies and transaction lists and other related information. Because the node is full of data, the dependency intermediary is not needed to verify the data.
The consensus node in the embodiments of the present disclosure may be a terminal device or a computer device such as a server.
The server may be an independent server, a server integrated or distributed system composed of a plurality of servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a web service, cloud communication, middleware service, a domain name service, a security service, a CDN (Content Delivery Network), a big data and artificial intelligence platform, and the like.
The terminal may be, but is not limited to, a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and the like. The common nodes may be directly or indirectly connected through wired or wireless communication, and the disclosure is not limited thereto.
The common nodes in the blockchain system can be divided into master nodes and slave nodes. The master node refers to a consensus node that takes charge of generating the block (i.e. generating the current block, which may also be referred to as a new block) for the current accounting period. The slave node refers to a common node except the master node in the block chain network.
In the following embodiments, when the current accounting period is the first accounting period, the master node corresponding to the current accounting period is referred to as a first master node, and the slave node corresponding to the current accounting period is referred to as a first slave node; when the current accounting period is the second accounting period, the corresponding master node is called a second master node, and the corresponding slave node is called a second slave node; when the current accounting period is the third accounting period, the master node corresponding to the current accounting period is called a third master node, and the slave node corresponding to the current accounting period is called a third slave node; when the current accounting period is the fourth accounting period, the master node corresponding to the current accounting period is called a fourth master node, and the slave node corresponding to the current accounting period is called a fourth slave node; and when the current accounting period is the fifth accounting period, the master node corresponding to the current accounting period is called a fifth master node, the slave node corresponding to the current accounting period is called a fifth slave node, and the like.
For example, taking the PBFT consensus algorithm as an example, the PBFT is a state machine copy replication algorithm, all copies operate in a view rotation process, and the master node is determined by a view number and a node number set, that is, the master node is determined according to the following formula:
p=vmod|R| (1)
wherein p is the number of the master node, v is the number of the view, | R | is the number of nodes in the blockchain system, and p, v and | R | are positive integers greater than or equal to 1.
As shown in fig. 3, the method provided by the embodiment of the present disclosure may include the following steps.
In step S310, voting information of a first block to be identified is obtained.
In an exemplary embodiment, the consensus node may further comprise a third master node and a third slave node for a third accounting period, which may be located before the first accounting period. For example, the third accounting period is assumed to be the previous accounting period of the first accounting period.
In the embodiment of the present disclosure, the first host node, the second host node, and the third host node are determined from the consensus nodes in the blockchain system at different accounting periods, and the consensus nodes in the blockchain system may be the same or different at different accounting periods. The first host node, the second host node and the third host node may be the same common node or different common nodes. Similarly, the first slave node, the second slave node, and the third slave node may also be the same common node, or may be different common nodes, which is not limited in this disclosure.
The third master node may be configured to create a first block (hereinafter referred to as block 1) and broadcast the first block to each third slave node, and the third slave node may be configured to verify the first block and generate voting information for the first block.
For example, the third master node may create a new block, referred to as block 1, in a third accounting period, and if block 1 is the first block in the block chain, the third master node may generate a block proposal message based on block 1 and broadcast the block proposal message to the respective consensus nodes (i.e., the respective third slave nodes) except for the third master node; the block proposal message is used to instruct a third slave node in the blockchain system to perform consensus on block 1 in the blockchain system, and to chain block 1 after the block 1 consensus passes, etc.
After receiving the block proposal message broadcasted by the third master node, the third slave nodes (such as slave node a, slave node B, slave node C and slave node D, which are used for illustration only) perform consensus on block 1 in the block proposal message, and unicast the consensus data obtained by consensus to the first master node in the first accounting period in the block chain system.
For example, the consensus data includes voting data generated by the third slave node performing consensus on the block 1, and the voting data may include voting results obtained by the third slave node voting on the validity of the transaction data in the block 1, and/or the execution sequence of the transactions corresponding to the transaction data, and the like. The third master node receives the consensus data of each third slave node, and acquires the voting information of the block 1 to be consensus based on the consensus data of the third slave nodes, for example, the third slave node analyzes the consensus data indicating that the third slave node successfully verifies the block 1 and agrees to uplink the consensus data as the voting information of the block 1, when the third master node receives the consensus data of the block 1 unicast by the third slave node, analyzes whether the consensus data includes the block identifier of the block 1, and if the consensus data includes the block identifier of the block 1, it may be determined that the corresponding third slave node successfully verifies the block 1 and agrees to uplink the block 1; if the third master node does not receive the consensus data of the block 1 unicast by a third slave node after timeout, or the received consensus data of the unicast by the third slave node does not include the block identifier of the block 1, it may be determined that the corresponding third slave node fails to verify the block 1, and does not agree with the uplink of the block 1.
The obtaining of the voting information of the first block to be identified may include: receiving a first number of pieces of voting information for the first block unicast by the third slave node and the third master node respectively, wherein the first number is greater than or equal to a number threshold.
In the embodiment of the present disclosure, the number threshold may be determined according to an adopted consensus algorithm, for example, the value of the number threshold is 2f +1, where f is an integer greater than or equal to 0 and satisfies | R | =3f +1, that is, there are altogether 3f +1 nodes in the block chain system. In other embodiments, the value of the quantity threshold may also be half or more than half of the number | R | of nodes in the blockchain system, and the value of the quantity threshold is not limited in the embodiments of the present disclosure. In the following exemplary description, the number threshold is 2f +1, and the first number is 2f + 1.
In the embodiment of the present disclosure, the third master node may also verify the block 1 created by the third master node, generate the consensus data of the block 1, unicast the consensus data of the block 1 to the first master node, and if the consensus data indicates that the third master node successfully verifies the block 1 and approves uplink of the block 1, the third master node becomes a piece of voting information of the first block received by the first master node.
In step S320, a second block to be identified is obtained.
When the first master node receives more than 2f +1 pieces of voting information of block 1 from the third master node and the third slave node in a unicast mode in the first billing period, the first master node may create another new block to be identified, which is called block 2.
In the embodiment of the present disclosure, when each of the third slave nodes and the third master node generates the voting information of the block 1, the third slave node and the third master node may attach respective signature information to determine that the voting information of the block 1 is generated by the corresponding third slave node or third master node. The first master node may perform signature verification on the received voting information of each block 1 to determine that each of the voting information of the first number of blocks 1 is from a different third slave node or third master node, and in addition, each piece of voting information carries a block identifier of the block 1, and it may be verified that the obtained voting information is for the block 1, so that a malicious third slave node or third master node may be prevented from sending multiple pieces of voting information for the block 1, and accuracy of consensus is improved. When the first master node receives voting information from block 1 unicast by more than 2f +1 different third master nodes and third slave nodes, the first master node creates block2 (second block).
In step S330, a first tile consensus message is generated, wherein the first tile consensus message includes the voting information of the first tile and the second tile.
The first master node in the first accounting period packs the above 2f +1 voting information of block 1 and block2 into a first block consensus message.
In step S340, a first block consensus message is broadcast to each first slave node, so that each first slave node authenticates the second block, generates voting information of the second block, unicasts the voting information of the second block to the second master node of the second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block.
The consensus node may comprise a second master node for a second accounting period, which may be located after the first accounting period.
The first master node in the first accounting period broadcasts the generated first block consensus messages, which simultaneously include 2f +1 pieces of voting information of the block 1 and the block2, to each first slave node, where the first block consensus messages are used to notify each first slave node to perform consensus verification on the block2 carried by the first slave node to generate consensus data of the block2, and generate the voting information of the block2 based on the consensus data of the block2, that is, if the block2 is verified successfully and the block2 is approved to be uplink, the corresponding consensus data is the voting information of the block2, for example, if the block identifier of the block2 is carried in the consensus data, it is determined that the corresponding consensus data is the voting information of the block 2. The first master node may perform consensus verification on the self-created tile 2 to generate consensus data of the tile 2, and generate voting information of the tile 2 based on the consensus data of the tile 2. The first master node and the first slave node may unicast the voting information of block2 to the second master node for the second accounting period, respectively.
In this embodiment of the disclosure, the first block consensus message may be further used to notify the first slave node to verify 2f +1 pieces of voting information of the block 1, that is, the first slave node may perform signature verification on the voting information of each block 1 received from the first master node, to determine that each piece of the voting information of 2f +1 pieces of block 1 is from a different third slave node or third master node, and in addition, each piece of the voting information carries the block identifier of the block 1, it may be verified that the obtained voting information is for the block 1, so that a malicious third slave node or third master node may be prevented from sending multiple pieces of voting information for the block 1, and the consensus accuracy is improved. When the first slave node determines that voting information is received from block 1 unicast by more than 2f +1 different third master nodes and third slave nodes, the first slave node may determine to add a first target block located before block 1 to the block chain of the first slave node. As can be seen from the embodiment of fig. 2, the block chain is a chain structure, and each block includes a previous block hash and a current block hash, and the voting information of block 1 may indicate that the consensus verification of block 1 is successful, or indicate that the consensus verification of the first target block located before block 1 is successful, so that the first target block to be located before block 1 may be determined based on 2f +1 pieces of voting information of block 1.
For example, if the consensus algorithm employed employs a two-stage consensus process: a proposal stage and a voting stage, the first target block can be the previous block of block 1; or, if the adopted consensus algorithm adopts a three-stage consensus process: a proposal phase, a pre-vote phase and a pre-commit phase, then the first target block may be a block previous to the block previous to block 1; by analogy, if the adopted consensus algorithm adopts a four-stage consensus process, the first target block may be a block previous to the block 1, which is not limited in the present disclosure.
In an exemplary embodiment, the consensus node may further comprise a second slave node for a second accounting period.
The second master node may be configured to acquire voting information of the second block to be identified, create a third block to be identified, generate a second block identification message, where the second block identification message may include the voting information of the second block and the third block, and broadcast the second block identification message to each second slave node.
Each second slave node may be configured to receive the second block consensus message broadcast by the second master node, verify the third block, generate voting information for the third block, unicast the voting information for the third block to the fourth master node for a fourth accounting period, and determine, according to the voting information for the second block, to add a second target block located before the second block to the block chain.
The fourth accounting period may be located after the second accounting period. The fourth accounting period may be, for example, the next accounting period of the second accounting period, and the fourth master node is a master node selected from the consensus node and used in the fourth accounting period, and may be the same as or different from the second master node; the fourth slave node is a slave node selected from the consensus node as the fourth accounting period, and may be the same as or different from the first master node or the first slave node.
Specifically, the second master node receives the common identification data of the block2 unicast by the first slave node and the first master node, and performs signature verification and analysis processing on each received common identification data, if it is determined that the common identification data includes 2f +1 pieces of voting information (hereinafter, 2f +1 is exemplified) from different first slave nodes and first master nodes and is equal to or greater than that for the block2, the second master node may create a new block, which is referred to as a third block (block 3), and pack the 2f +1 pieces of voting information and the block 3 of the block2 into a second block common identification message, broadcast the second block common identification message including simultaneously 2f +1 pieces of voting information and the block 3 of the block2 to each second slave node, perform common identification verification on the block 3 carried therein, generate the common identification data of the block 3, and if the common identification data includes the identification of the block 3, it may be determined that the uplink 3 is successfully verified, and the block 3 may be used as the voting information of the block 3. The second master node may also perform consensus verification on the block 3 to generate consensus data of the block 3, and if the consensus data includes the block identifier of the block 3, it may be determined that the block 3 is successfully verified, and it is granted that the block 3 is uplink, which may be used as voting information of the block 3. The second slave node may further perform signature verification and parsing on 2f +1 voting information of block2 carried in the second block consensus message, and if it is determined that the voting information is from different first slave nodes and first master nodes (i.e., the 2f +1 voting information is signed using 2f +1 different consensus nodes) and is voting information for block2 (including the block identifier of block 2), the second slave node may add the second target block located before block2 to the block chain of the second slave node based on the 2f +1 voting information of block 2. The second master node and the second slave node may also unicast respective voting information for block 3 to the fourth master node. In the embodiment of the present disclosure, the voting information of the unicast block carries the block identifier of the corresponding block, and the signature verification is performed using the consensus node performing unicast, for example, the voting information of the block 3 includes the block identifier of the block 3, and if the second master node performs unicast on the fourth master node, the signature verification is performed using the second master node.
For example, if the consensus algorithm employed employs a two-stage consensus process: a proposal stage and a voting stage, the second target block can be the previous block of block 2; or, if the adopted consensus algorithm adopts a three-stage consensus process: a proposal phase, a pre-vote phase and a pre-commit phase, then the second target block may be a block preceding the block preceding block of block 2; by analogy, if the adopted consensus algorithm adopts a four-stage consensus process, the second target block may be a block previous to the block2, which is not limited in the present disclosure.
In an exemplary embodiment, the consensus node may further comprise a fourth slave node for a fourth accounting period.
For example, the fourth master node is a master node selected from the consensus nodes during the fourth accounting period, and the fourth slave nodes are other consensus nodes than the fourth master node during the fourth accounting period. The fourth host node may or may not be the same as the second host node. The fourth slave node may be the same as or different from the second master node or the second slave node.
The fourth master node may be configured to acquire voting information of a third block to be consensus, create a fourth block to be consensus, generate a third block consensus message, where the third block consensus message includes the voting information of the third block and the fourth block, and broadcast the third block consensus message to each fourth slave node.
Each fourth slave node may be configured to receive the third block consensus message broadcast by the fourth master node, verify the fourth block, generate voting information of the fourth block, unicast the voting information of the fourth block to the fifth master node in a fifth accounting period, and determine, according to the voting information of the third block, to add a third target block located before the third block to the block chain.
The fifth accounting period may be located after the fourth accounting period. For example, the fifth accounting period may be the next accounting period of the fourth accounting period. The fifth master node is selected from the consensus nodes as the master node in the fifth accounting period, and may be the same as or different from the fourth master node; the fifth slave node is a slave node selected from the consensus node as the fifth accounting period, and may be the same as or different from the fourth master node or the fourth slave node.
Specifically, the fourth master node receives the consensus data of the block 3 unicast by the second slave node and the second master node, and performs signature verification and analysis processing on each piece of received consensus data, if it is determined that the block 3 contains 2f +1 pieces of voting information (hereinafter, 2f +1 is exemplified) from different second slave nodes and second master nodes and is equal to or greater than that for the block2, the fourth master node may create a new block, which is referred to as a fourth block (block 4), and pack the 2f +1 pieces of voting information of the block 3 and the block 4 into a third block consensus message, broadcast the third block consensus message simultaneously containing 2f +1 pieces of voting information of the block 3 and the block 4 to each fourth slave node, and after each fourth slave node receives the third block consensus message, perform consensus verification on the block 4 carried therein, generate the consensus data of the block 4, and if the consensus data contains the identifier of the block 4, it may be determined that the block 4 is successfully verified, and may be used as the voting information of the block 4. The fourth master node may also perform consensus verification on the block 4 to generate consensus data of the block 4, and if the consensus data includes the block identifier of the block 4, it may be determined that the block 4 is successfully verified, and it is granted that the block 4 is uplink, which may be used as voting information of the block 4. The fourth slave node may further perform signature verification and analysis processing on 2f +1 pieces of voting information of the block 3 carried in the third block consensus message, and if it is determined that the voting information is from different second slave nodes and second master nodes (i.e., the 2f +1 pieces of voting information are signed using 2f +1 different consensus nodes), and is the voting information for the block 3 (including the block identifier of the block 3), the fourth slave node may add the third target block located before the block 3 to the block chain of the fourth slave node based on the 2f +1 pieces of voting information of the block 3.
In an exemplary embodiment, the third target block may comprise a first block, and the fourth slave node may be configured to determine, from voting information of the third block, to add the first block located before the third block to the block chain.
For example, if the consensus algorithm employed employs a two-stage consensus process: a proposal stage and a voting stage, the third target block can be a block before the block 3; or, if the adopted consensus algorithm adopts a three-stage consensus process: one proposal phase, one pre-vote phase and one pre-commit phase, then the third target block may be a block previous to the block 3, i.e. block 1, i.e. the fourth slave node may add block 1 to the block chain of the fourth slave node when receiving 2f +1 vote information from block 3 of different consensus nodes.
The consensus method for the block chain system provided by the embodiment of the present disclosure includes a block chain and a consensus node, where the consensus node may include a first master node and a first slave node in a first accounting period, the first master node in the first accounting period obtains voting information of a first block to be consensus, and obtains a second block to be consensus, and then packages the voting information of the first block and the second block into a first block consensus message, broadcasts a first block consensus message including both the voting information of the first block and the second block to each first slave node in the first accounting period, so that each first slave node verifies the second block in the first block consensus message, generates voting information of the second block, unicasts the voting information of the second block to the second master node in the second accounting period, the second slave node is located after the first accounting period, and may determine that the first block is located in the first accounting period according to the voting information of the first block in the first consensus message, and determine that the first block is located in the second accounting period before the successful uplink voting process is performed, and it is ensured that the first block is located in the first accounting period, and the successful uplink voting information of the first block is added in the first accounting period, and the successful uplink voting process is added, and the target block is added.
The VBFT and PBFT consensus algorithm is exemplified below, but the present disclosure is not limited thereto.
The VBFT Consensus algorithm is a hybrid algorithm, which is a Consensus algorithm combining PoS (Proof of authority), VRF (Verifiable Random Function), and BFT (bayer fault tolerance), and is an agreement algorithm of OCE (Ontology Consensus Engine). The core network of the ontology includes a consensus network and a consensus candidate network.
The consensus network consists of all consensus nodes and is responsible for performing consensus on the transaction requests in the body network, generating blocks, recording accounts, and distributing the blocks after consensus to the synchronous node network. The nodes in the consensus candidate network do not participate in consensus, but keep the synchronization state with the consensus network, and update the latest consensus block into the self-maintained account book in real time. The scale of the consensus network is managed through a consensus management contract, and the candidate nodes are dynamically transferred from the consensus candidate network to the consensus network. The method has the advantages that the body network can call the consensus management contract to regulate and control the scale of the consensus group more easily as required, and due to the introduction of the verifiable random function, the regulation and control process is more randomized, so that the influence of human factors is reduced, the method is more fair and reliable, and the consensus can be quickly ensured to reach the final consistency. The consensus algorithm scheme fully considers and ensures important principles of the whole network such as performance, expandability, fairness and the like.
The PBFT realizes the Byzantine problem under the condition of a limited number of nodes, and solves the problem that the original Byzantine fault-tolerant algorithm is low in efficiency. The PBFT algorithm can tolerate less than 1/3 of invalid or malicious nodes. The malicious node may intentionally send wrong data or send different data to different other nodes except for intentionally making no response to a request from another node of the cluster, so that the nodes of the whole cluster finally cannot achieve consensus.
As a PBFT-based blockchain network and VBFT-based Ontology blockchain are known, a round of complete consensus process is divided into a proposal phase (pro), a pre-vote phase (also referred to as an endorsement phase, endorse) and a commit phase (commit, also referred to as an acknowledgment phase), and each round of complete consensus process is performed through the three phases and in a serial manner, that is, the pre-vote phase is run after the proposal phase, and the pre-commit phase is finally run.
Under normal conditions, in each round of complete consensus process (which can be called as an accounting period), a master node in the round packs blocks and proposes and broadcasts in a proposal stage, other consensus nodes vote the proposal in advance after receiving the proposal, and each consensus node broadcasts a pre-submission message and enters a pre-submission stage after receiving 2f +1 pre-votes in the pre-vote stage; after each consensus node receives 2f +1 pre-submissions in the pre-submission stage, the proposal block is settled and the next consensus round is started.
As shown in fig. 4, it is assumed that a first master node in a first round of consensus process packs a block 1 and proposes a broadcast block 1 (block 1, abbreviated as blk 1) at a first proposal stage P1, and after receiving the block 1, other consensus nodes except the first master node perform pre-voting, and after receiving 2f +1 pre-votes at a first pre-vote stage E1, each consensus node broadcasts a pre-commit message and enters a first pre-commit node C1; in the second round of consensus process, the second master node packs a block2 (block 2, abbreviated as blk 2) at a second proposal stage P2 and proposes a broadcast block2, after receiving the block2, other consensus nodes except the second master node perform pre-voting, and after receiving 2f +1 pre-votes at a second pre-vote stage E2, each consensus node broadcasts a pre-submission message and enters a second pre-submission node C2. In fig. 4, the pre-vote phase and the pre-commit phase are both essentially consensus nodes voting (votes), i.e., each round of consensus process requires two-phase voting.
As described above, in the related art, the block chain system adopts the serial consensus, which is inefficient, and particularly, when different consensus nodes exist across cities and continents, the message delay is high, the overall external throughput rate is low, and the resource utilization rate is also not high. In order to improve resource utilization and performance, the embodiment of the disclosure provides a simplified pipeline consensus method. The method belongs to a general block chain technology and is not limited to a certain product or scene.
The method provided by the embodiment of the disclosure enables a block chain system to adopt a pipeline consensus mode, converts a pairwise broadcast communication mode between the original consensus nodes into a transfer mode, and enables the slave nodes and the master node in the consensus network system to communicate through a message unicast forwarding mechanism. And the master node and the slave node in the previous accounting period send the voting information of the previous block to the master node in the current accounting period in a unicast mode, collect the voting information of the previous block through the master node in the current accounting period instead of the inter-node broadcast communication in the related technology, and after the master node in the current accounting period collects the voting information of the previous block, transfer the newly created current block and the collected voting information of the previous block to the slave node in the current accounting period. Meanwhile, a voting stage (comprising a pre-voting stage and a pre-submitting stage) is used for advancing blocks (creating new blocks), the proposal stage of the next main node (the main node in the next accounting period) can confirm the proposal stage of the current main node (the main node in the current accounting period) at the same time, the endorsement stage of the previous main node (the main node in the previous accounting period) can also be confirmed, and the like. In addition, the next host node may be the current host node or other host nodes. By the method, only one round of communication is needed to achieve consensus on average to each block, so that the system throughput rate is improved, and the protocol is simplified.
In the embodiment of the disclosure, it is further considered that the adoption of the master node collection transfer method causes voting information of each block to need to be interacted for 2 times, once, the master node and the slave node in the last accounting period send to the master node in the current accounting period, and once, the master node in the current accounting period collects and forwards the voting information to the slave node in the current accounting period, so that the consensus process is prolonged. To address such issues, the embodiments of the present disclosure further optimize the consensus process because the consensus process needs to ensure consistency and survivability (referring to consensus persistence, also embodied in block chaining out-service availability), and the block chaining is serialized in a block chaining structure, i.e., one block needs to be chained to the previous one. After the consensus process is fully mined, a characteristic is found that messages of each round, even including the rotation of the node blocks, have the same format in practice, namely that the main node collects the voting information and transfers the collected voting information. Thus, the method provided by the disclosed embodiments takes advantage of the above-described properties of the block chain, and specifies that each legitimate block needs to carry 2f +1 vote information for the block (each vote information carries a corresponding signature and therefore may also be referred to as a vote signature), while each block is concatenated to the previous chain. Thus, 2f +1 vote signature in each published block can actually serve multiple roles simultaneously — it is equivalent to endorsement message (pre-vote) for the block (current block) and confirmation message (pre-commit) for the previous block.
For example, as shown in fig. 5, suppose that the fourth master node in the fourth billing period proposes block 4 (block 4, abbreviated as blk 4) at fourth proposal stage P4, the fourth master node receives 2f +1 voting signatures of previous block 3 (block 3, abbreviated as blk 3) unicast by the second master node and the second slave node at the same time, 2f +1 voting signature of block 3 is shown as QC3 in the illustration, QC3 is a voting set for endorsement stage (E3) of block 3, QC3 is also a voting set for confirmation submission stage (C2) of block2 because the last block of block 3 is block2 (the second block, abbreviated as blk 2), QC3 is a voting set for confirmation submission stage (C2), and 2f +1 consensus node block 3, and 2f +1 consensus node block2 is confirmed because block 3 is strung behind block 2.QC3 and block 4 are packed into a proposal message of block 4, that is, the fourth master node packs 2f +1 voting information of the third block and the fourth block into a third block consensus message and broadcasts the third block consensus message to the fourth slave nodes.
Assuming that the second master node in the second accounting period proposes blk3 at the third proposal phase P3 (the third proposal phase may also be referred to as the proposal phase of block 3), the second master node receives 2f +1 voting signatures of previous blk2 unicast by the first master node and the first slave node at the same time, 2f +1 voting signatures of block2 are represented as QC2 in the diagram, QC2 is the voting set of endorsement phase (E2) to block2, and since the last block of block2 is block 1 (the first block, abbreviated as blk 1), QC2 is also the voting set of confirmation submission phase (C1) to block 1, block2 is approved by 2f +1 common identification nodes, and block2 is behind block 1, block 1 is approved by 2f +1 common identification nodes. QC2 and block 3 are packed into a proposal message of block 3, that is, the second master node packs 2f +1 voting information of the second block and the third block into a second block consensus message and broadcasts the voting information to each second slave node.
Assuming that the first master node in the first accounting period proposes blk2 at the second proposal phase P2 (the second proposal phase may also be referred to as proposal phase of block 2), the first master node simultaneously receives 2f +1 voting signatures of previous blk1 unicast by the third master node and the third slave node, 2f +1 voting signatures of block 1 are represented as QC1 in the diagram, QC1 is a voting set of endorsement phase (E1) to block 1, and it is assumed that blk1 is the first block in the block chain, and 2f +1 consensus nodes approve block 1.QC1 and block2 are packed into a proposal message of block2, that is, the first master node packs 2f +1 voting information of the first block and the second block into a first block consensus message and broadcasts the first block consensus message to each second slave node.
Assuming that the third master node in the third accounting period proposes blk1 in the first proposal phase P1 (the first proposal phase may also be referred to as the proposal phase of block 1), the third master node simultaneously receives 2f +1 voting signatures of previous blk0 (block 0) unicast by the master node and the slave node in the last accounting period, and 2f +1 voting signatures of block 0 are represented as QC in the diagram. QC and block 1 are packed into a proposal message of block 1, that is, the third master node packs the 2f +1 voting information of block 0 and the first block into a block consensus message and broadcasts the information to each third slave node.
QC, QC1, QC2, and QC3 in the fig. 5 embodiment may represent threshold signatures or aggregated signatures of corresponding blocks, and may represent voting signature sets of 2f +1 consensus nodes.
In the disclosed embodiment, if it is a fork, it also corresponds to a legitimate node rotation request, i.e. the pipeline recognizes that a fork may exist, for example, two blocks B and C may exist for the next block of block a. block B assumes that 2f +1 pieces of voting information are not obtained, then reselects the owner due to reasons such as timeout, and the reselected main node proposes block C which obtains 2f +1 pieces of voting information.
As can be seen from FIG. 5, only one round of communication is required to achieve consensus on average for each block, rather, the extra communication requirement is only that of acquiring one 2f +1 voting signature, rather than a single serial two-stage vote.
It should be noted that, due to a network failure, an equipment failure, or other reasons, there may be a situation where some of the common nodes do not receive the voting information of a certain block broadcasted by other common nodes within a predetermined time (which may be set according to actual conditions), at this time, the common nodes may synchronously acquire the voting information of the certain block from other common nodes, for example, a fourth slave node does not receive the third block common message broadcasted by the fourth master node, at this time, the fourth slave node may synchronously acquire the third block common message from other fourth slave nodes, so as to obtain 2f +1 voting information of block 3, so as to ensure normal uplink of block 1.
The method provided by the embodiment of the disclosure streamlines the consensus, simplifies the 3-phase consensus into a general 1-phase message, simplifies the protocol, and more importantly, enables each proposal phase to switch views, where the view switching can be understood as a host node proposal block, that is, each phase or each round can initiate a proposal, only 2f +1 vote information collected for the last block needs to be carried in the proposal block, and when each node verifies the received proposal block, the carried 2f +1 vote information can be verified at the same time, that is, endorsement verification of the last block can be verified, that is, submission verification of the preamble block (the last block of the last block) of the last block can be verified, that is, the proposal phase of the next view is confirmed for the proposal phase of the current view, that the next proposal phase (implicitly) includes endorsement confirmation of the current view, and so on. Thereby increasing system throughput. In addition, by the mode, the block account is generated in each stage, so that the consensus time delay is greatly reduced, and the resource utilization rate is improved.
Fig. 6 schematically shows a flow chart of a consensus method of a blockchain system according to another embodiment of the present disclosure. The blockchain system in the embodiment of fig. 6 may include a blockchain and a consensus node, the consensus node may include a fourth master node and a fourth slave node for a fourth accounting period, and the method may be performed by the fourth slave node.
As shown in fig. 6, the method provided by the embodiment of the present disclosure may include the following steps.
In step S610, a third block consensus message broadcasted by the fourth master node is obtained, where the third block consensus message includes the voting information of the third block and the fourth block.
In step S620, the fourth block is verified, and voting information of the fourth block is generated.
In step S630, the voting information of the fourth block is unicast to the fifth master node of the fifth accounting period.
In step S640, a third target block located before the third block is added to the block chain according to the voting information of the third block.
The fifth accounting period is located after the fourth accounting period.
In an exemplary embodiment, the fourth slave node is the first slave node for the first accounting period, the first accounting period precedes the fourth accounting period, and the third target block includes the first block.
In an exemplary embodiment, the method may further include: receiving a first block consensus message broadcast by a first main node in a first accounting period, wherein the first block consensus message comprises voting information of a first block and a second block; verifying the second block to generate voting information of the second block; unicasting the voting information of the second block to a second main node of a second accounting period; a first target block located before the first block is determined to be added to the block chain according to the voting information of the first block.
Wherein, adding the third target block located before the third block to the block chain according to the voting information of the third block may include: and adding the first block before the third block to the block chain according to the voting information of the third block.
In an exemplary embodiment, adding the first block located before the third block to the block chain according to the voting information of the third block may include: performing signature verification on the voting information of the third block, and determining that the voting information of the third block comes from a first number of different consensus nodes, and the first number of voting information is specific to the third block; if the first number is greater than or equal to the number threshold, the first block is added to the block chain.
In an exemplary embodiment, the fourth slave node is the second slave node for the second accounting period, and the second accounting period is located between the fourth accounting period and the first accounting period.
In an exemplary embodiment, the method may further include: receiving a second block consensus message broadcast by a second main node in a second accounting period, wherein the first block consensus message comprises voting information of a second block and a third block; verifying the third block to generate voting information of the third block; unicasting the voting information of the third block to a fourth main node of a fourth accounting period; and determining to add a second target block located before the second block to the block chain according to the voting information of the second block.
Other aspects of the embodiment of fig. 6 may be found in relation to other embodiments described above.
Fig. 7 schematically shows a flow chart of a consensus method of a blockchain system according to yet another embodiment of the present disclosure. The blockchain system in the embodiment of fig. 7 may include a blockchain and a consensus node, and the consensus node may include a first master node and a first slave node for a first accounting period and a second master node for a second accounting period, and the second accounting period may be located after the first accounting period.
As shown in fig. 7, the method provided by the embodiment of the present disclosure may include the following steps.
In step S710, the first master node obtains voting information of the first block to be identified.
In step S720, the first master node obtains a second block to be identified.
In step S730, the first master node generates a first block consensus message, where the first block consensus message includes the voting information of the first block and the second block.
In step S740, the first master node broadcasts a first tile consensus message to the respective first slave nodes.
In step S750, each of the first slave nodes receives the first block consensus message broadcast by the first master node, verifies the second block, and generates voting information of the second block.
In step S760, each first slave node unicasts the voting information of the second block to the second master node of the second accounting period, and determines to add the first target block located before the first block to the block chain according to the voting information of the first block.
Other aspects of the embodiment of fig. 7 may be found in relation to other embodiments described above.
Fig. 8 schematically illustrates a block diagram of a consensus device of a blockchain system according to an embodiment of the present disclosure. The blockchain system in the embodiment of fig. 8 may include a blockchain and a consensus node, the consensus node may include a first master node and a first slave node of a first accounting period, the consensus device 800 of the blockchain system may be disposed on the first master node, and the consensus device 800 of the blockchain system may include: a first voting information obtaining unit 810, a second block obtaining unit 820, a first block consensus message generating unit 830, and a first block consensus message broadcasting unit 840.
The first voting information acquisition unit 810 may be configured to acquire voting information of a first block to be identified.
The second block obtaining unit 820 may be configured to obtain a second block to be identified.
The first block consensus message generating unit 830 may be configured to generate a first block consensus message, which includes the voting information of the first block and the second block.
The first block consensus message broadcasting unit 840 may be configured to broadcast a first block consensus message to each first slave node, so that each first slave node verifies a second block, generates voting information for the second block, unicasts the voting information for the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information for the first block.
The consensus node may comprise a second master node for a second accounting period, which may be located after the first accounting period.
In an exemplary embodiment, the consensus node may further include a third master node and a third slave node for a third accounting period, the third master node may be configured to create the first block and broadcast the first block to the respective third slave nodes, the third slave nodes may be configured to verify the first block and generate voting information for the first block, and the third accounting period may be before the first accounting period.
The first voting information obtaining unit 810 may be configured to receive a first number of pieces of voting information for the first block unicast by the third slave node and the third master node, where the first number is greater than or equal to the number threshold.
In an exemplary embodiment, the consensus node may further comprise a second slave node for a second accounting period.
The second master node may be configured to acquire voting information of the second block to be identified, create a third block to be identified, generate a second block identification message, where the second block identification message includes the voting information of the second block and the third block, and broadcast the second block identification message to each second slave node.
Each second slave node may be configured to receive the second block consensus message broadcast by the second master node, verify the third block, generate voting information of the third block, unicast the voting information of the third block to the fourth master node for a fourth accounting period, and determine, according to the voting information of the second block, to add a second target block located before the second block to the block chain.
The fourth accounting period may be located after the second accounting period.
In an exemplary embodiment, the consensus node may further comprise a fourth slave node for a fourth accounting period.
The fourth master node may be configured to acquire voting information of a third block to be consensus, create a fourth block to be consensus, generate a third block consensus message, where the third block consensus message includes the voting information of the third block and the fourth block, and broadcast the third block consensus message to each fourth slave node.
Each fourth slave node may be configured to receive the third block consensus message broadcast by the fourth master node, verify the fourth block, generate voting information of the fourth block, unicast the voting information of the fourth block to the fifth master node in the fifth accounting period, and determine, according to the voting information of the third block, to add a third target block located before the third block to the block chain.
The fifth accounting period may be located after the fourth accounting period.
In an exemplary embodiment, the third target block may include a first block, and the fourth slave node may be configured to determine, from voting information of the third block, to add the first block located before the third block to the block chain.
Other contents of the consensus device of the blockchain system of the embodiments of the present disclosure can refer to the above embodiments.
Fig. 9 schematically illustrates a block diagram of a consensus device of a blockchain system according to another embodiment of the present disclosure. The blockchain system in the embodiment of fig. 9 may include a blockchain and a consensus node, the consensus node may include a fourth master node and a fourth slave node of a fourth accounting period, the consensus device 900 of the blockchain system may be disposed on the fourth slave node, and the consensus device 900 of the blockchain system may include: a third block consensus message acquiring unit 910, a fourth block vote information generating unit 920, a fourth block vote information unicasting unit 930, and a third target block uplink unit 940.
The third block consensus message obtaining unit 910 may be configured to obtain a third block consensus message broadcasted by a fourth master node, where the third block consensus message includes the voting information of the third block and the fourth block.
The fourth block voting information generation unit 920 may be configured to verify the fourth block and generate voting information of the fourth block.
The fourth chunk voting information unicasting unit 930 may be configured to unicasting the voting information of the fourth chunk to the fifth master node of the fifth accounting period.
The third target block chaining unit 940 may be configured to add a third target block located before the third block to the block chain according to the voting information of the third block.
The fifth accounting period may be located after the fourth accounting period.
In an exemplary embodiment, the fourth slave node is the first slave node for the first accounting period, the first accounting period precedes the fourth accounting period, and the third target block may include the first block.
In an exemplary embodiment, the consensus apparatus 900 of the blockchain system may further include: a first block consensus message receiving unit, configured to receive a first block consensus message broadcasted by a first master node in a first accounting period, where the first block consensus message includes voting information of a first block and a second block; the second block voting information generating unit may be configured to verify the second block and generate voting information of the second block; a second block voting information unicasting unit, configured to unicasting the voting information of the second block to a second host node of a second accounting period; the first target block uplink unit may be configured to determine to add a first target block located before the first block to the block chain according to the voting information of the first block.
The third target block uplink unit 940 may include: the first block uplink unit may be configured to add the first block located before the third block to the block chain according to the voting information of the third block.
In an exemplary embodiment, the first block uplink unit may be configured to: performing signature verification on the voting information of the third block, and determining that the voting information of the third block comes from a first number of different consensus nodes, and the first number of voting information is specific to the third block; if the first number is greater than or equal to the number threshold, the first block is added to the block chain.
In an exemplary embodiment, the fourth slave node is the second slave node for the second accounting period, and the second accounting period is located between the fourth accounting period and the first accounting period.
In an exemplary embodiment, the consensus apparatus 900 of the blockchain system may further include: a second block consensus message receiving unit, configured to receive a second block consensus message broadcast by the second host node in a second accounting period, where the first block consensus message includes voting information of the second block and a third block; the third block voting information generating unit may be configured to verify the third block and generate voting information of the third block; a third block voting information unicasting unit, configured to unicasting the voting information of the third block to a fourth host node in a fourth accounting period; and a second target block uplink unit, configured to determine to add a second target block located before the second block to the block chain according to the voting information of the second block.
Other contents of the consensus device of the blockchain system of the embodiments of the present disclosure can refer to the above embodiments.
Fig. 10 is a block chain system according to an embodiment of the disclosure.
As shown in fig. 10, the blockchain system 1000 may include a blockchain and a consensus node, the consensus node including a first master node and a first slave node for a first accounting period and a second master node for a second accounting period, the second accounting period being after the first accounting period.
The first master node may be configured to obtain voting information of a first block to be identified, obtain a second block to be identified, generate a first block identification message, where the first block identification message includes the voting information of the first block and the second block, and broadcast the first block identification message to each first slave node.
Each first slave node may be configured to receive the first block consensus message broadcast by the first master node, verify the second block, generate voting information for the second block, unicast the voting information for the second block to the second master node for the second accounting period, and determine, according to the voting information for the first block, to add a first target block located before the first block to the block chain.
Other contents of the blockchain system of the disclosed embodiment can refer to the above embodiments.
It should be noted that although in the above detailed description several units of the device for action execution are mentioned, this division is not mandatory. Indeed, the features and functions of two or more units described above may be embodied in one unit, in accordance with embodiments of the present disclosure. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Reference is now made to fig. 11, which illustrates a schematic diagram of an electronic device suitable for use in implementing embodiments of the present application. The electronic device shown in fig. 11 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
Referring to fig. 11, an electronic device provided in an embodiment of the present disclosure may include: a processor 1101, a communication interface 1102, a memory 1103, and a communication bus 1104.
Wherein the processor 1101, communication interface 1102 and memory 1103 are in communication with each other via a communication bus 1104.
Alternatively, the communication interface 1102 may be an interface of a communication module, such as an interface of a GSM (Global System for Mobile communications) module. The processor 1101 is used to execute programs. The memory 1103 is used to store programs. The program may comprise a computer program comprising computer operating instructions. Wherein, can include in the procedure: and (4) a program of the video client.
The processor 1101 may be a central processing unit CPU, or an Application Specific Integrated Circuit ASIC (Application Specific Integrated Circuit), or one or more Integrated circuits configured to implement embodiments of the present disclosure.
The memory 1103 may include a Random Access Memory (RAM) memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
Among them, the procedure can be specifically used for: obtaining voting information of a first block to be identified; obtaining a second block to be identified; generating a first block consensus message, wherein the first block consensus message comprises the voting information of the first block and the second block; broadcasting a first block consensus message to each first slave node so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block; the consensus node comprises a second master node for a second accounting period, the second accounting period being located after the first accounting period.
Alternatively, the program may be specifically for: acquiring a third block consensus message broadcast by a fourth master node, wherein the third block consensus message comprises voting information of a third block and a fourth block; verifying the fourth block to generate voting information of the fourth block; the voting information of the fourth block is unicast to a fifth main node of a fifth accounting period; adding a third target block located before the third block to the block chain according to the voting information of the third block; the fifth accounting period is located after the fourth accounting period.
Alternatively, the program may be specifically for: obtaining voting information of a first block to be identified through a first main node; obtaining a second block to be identified through the first main node; generating a first block consensus message by a first main node, wherein the first block consensus message comprises voting information of a first block and a second block; broadcasting a first block consensus message to each first slave node through the first master node; receiving the first block consensus message broadcast by the first master node through each first slave node, verifying the second block, and generating voting information of the second block; and the voting information of the second block is unicast to the second main node of the second accounting period through each first slave node, and the first target block positioned before the first block is determined to be added to the block chain according to the voting information of the first block.
It is to be understood that any number of elements in the drawings of the present disclosure are by way of example and not by way of limitation, and any nomenclature is used for differentiation only and not by way of limitation.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (16)

1. A consensus method for a blockchain system, the blockchain system comprising a blockchain and a consensus node, the consensus node comprising a first master node and a first slave node for a first accounting period, the method performed by the first master node, the method comprising:
obtaining voting information of a first block to be identified;
obtaining a second block to be identified;
generating a first block consensus message, wherein the first block consensus message comprises the voting information of the first block and the second block;
broadcasting the first block consensus message to each first slave node so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block;
the consensus node comprises a second master node for the second accounting period, the second accounting period being located after the first accounting period.
2. The method of claim 1, wherein the consensus node further comprises a third master node and a third slave node for a third accounting period, wherein the third master node is configured to create the first block and broadcast the first block to the respective third slave nodes, wherein the third slave nodes are configured to verify the first block and generate voting information for the first block, and wherein the third accounting period precedes the first accounting period;
the obtaining of the voting information of the first block to be identified includes:
receiving a first number of voting information for the first tile unicast by the third slave node and the third master node, respectively, the first number being greater than or equal to a number threshold.
3. The method according to claim 1, wherein the consensus node further comprises a second slave node for the second accounting period;
the second master node is configured to acquire voting information of the second block to be identified, create a third block to be identified, generate a second block identification message, where the second block identification message includes the voting information of the second block and the third block, and broadcast the second block identification message to each second slave node;
each second slave node is configured to receive the second block consensus message broadcast by the second master node, verify the third block, generate voting information of the third block, unicast the voting information of the third block to a fourth master node in a fourth accounting period, and determine, according to the voting information of the second block, to add a second target block located before the second block to the block chain;
the fourth accounting period is located after the second accounting period.
4. The method according to claim 3, wherein the consensus node further comprises a fourth slave node for the fourth accounting period;
the fourth master node is configured to acquire voting information of the third block to be identified, create a fourth block to be identified, generate a third block identification message, where the third block identification message includes the voting information of the third block and the fourth block, and broadcast the third block identification message to each fourth slave node;
each fourth slave node is configured to receive the third block consensus message broadcast by the fourth master node, verify the fourth block, generate voting information of the fourth block, unicast the voting information of the fourth block to a fifth master node in a fifth accounting period, and determine, according to the voting information of the third block, to add a third target block located before the third block to the block chain;
the fifth accounting period is located after the fourth accounting period.
5. The method of claim 4, wherein the third target block comprises the first block, and wherein the fourth slave node is configured to determine, according to voting information of the third block, to add the first block located before the third block to the block chain.
6. A consensus method for a blockchain system, the blockchain system comprising a blockchain and a consensus node, the consensus node comprising a fourth master node and a fourth slave node for a fourth accounting period, the method performed by the fourth slave node, the method comprising:
acquiring a third block consensus message broadcast by the fourth master node, wherein the third block consensus message comprises voting information of a third block and a fourth block;
verifying the fourth block to generate voting information of the fourth block;
unicasting the voting information of the fourth block to a fifth main node of a fifth accounting period;
adding a third target block located before the third block to the block chain according to the voting information of the third block;
the fifth accounting period is located after the fourth accounting period.
7. The method of claim 6, wherein the fourth slave node is the first slave node for a first accounting period, the first accounting period is prior to the fourth accounting period, and the third target block comprises the first block;
the method further comprises the following steps:
receiving a first block consensus message broadcast by a first main node in the first accounting period, wherein the first block consensus message comprises voting information of a first block and a second block;
verifying the second block to generate voting information of the second block;
unicasting the voting information of the second block to a second main node of a second accounting period;
determining to add a first target block located before the first block to the block chain according to the voting information of the first block;
adding a third target block located before the third block to the block chain according to the voting information of the third block, including:
adding the first block located before the third block to the block chain according to the voting information of the third block.
8. The method of claim 7, wherein adding the first block before the third block to the block chain according to the voting information of the third block comprises:
performing signature verification on the voting information of the third block, and determining that the voting information of the third block comes from a first number of different consensus nodes, and the first number of voting information is specific to the third block;
adding the first block to the block chain if the first number is greater than or equal to a number threshold.
9. The method according to claim 7, wherein the fourth slave node is a second slave node for a second accounting period, and the second accounting period is located between the fourth accounting period and the first accounting period;
the method further comprises the following steps:
receiving a second block consensus message broadcast by a second master node in the second accounting period, wherein the first block consensus message comprises voting information of a second block and the third block;
verifying the third block to generate voting information of the third block;
unicasting voting information of the third block to a fourth master node of the fourth accounting period;
and determining to add a second target block located before the second block to the block chain according to the voting information of the second block.
10. A consensus method for a blockchain system, wherein the blockchain system comprises a blockchain and a consensus node, wherein the consensus node comprises a first master node and a first slave node for a first accounting period and a second master node for a second accounting period, and wherein the second accounting period is after the first accounting period, the method comprising:
the first main node acquires voting information of a first block to be identified;
the first main node obtains a second block to be identified;
the first master node generating a first block consensus message, the first block consensus message comprising voting information of the first block and the second block;
the first master node broadcasts the first block consensus message to each first slave node;
each first slave node receives the first block consensus message broadcast by the first master node, verifies the second block and generates voting information of the second block;
and each first slave node respectively unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block.
11. A consensus apparatus of a blockchain system, wherein the blockchain system comprises a blockchain and a consensus node, the consensus node comprises a first master node and a first slave node of a first accounting period, the apparatus is disposed on the first master node, and the apparatus comprises:
the first voting information acquisition unit is used for acquiring voting information of a first block to be identified;
a second block obtaining unit, configured to obtain a second block to be identified;
a first block consensus message generating unit, configured to generate a first block consensus message, where the first block consensus message includes the voting information of the first block and the second block;
a first block consensus information broadcasting unit, configured to broadcast the first block consensus information to each first slave node, so that each first slave node verifies the second block, generates voting information of the second block, unicasts the voting information of the second block to a second master node of a second accounting period, and determines to add a first target block located before the first block to the block chain according to the voting information of the first block;
the consensus node comprises a second master node for the second accounting period, the second accounting period being located after the first accounting period.
12. A consensus apparatus of a blockchain system, wherein the blockchain system comprises a blockchain and a consensus node, the consensus node comprises a fourth master node and a fourth slave node of a fourth accounting period, and the apparatus is disposed on the fourth slave node, the apparatus comprising:
a third block consensus message obtaining unit, configured to obtain a third block consensus message broadcasted by the fourth host node, where the third block consensus message includes voting information of a third block and a fourth block;
a fourth block voting information generating unit, configured to verify the fourth block and generate voting information of the fourth block;
a fourth block voting information unicast unit, configured to unicast the voting information of the fourth block to a fifth master node in a fifth accounting period;
a third target block uplink unit, configured to add a third target block located before the third block to the block chain according to the voting information of the third block;
the fifth accounting period is located after the fourth accounting period.
13. A blockchain system comprising a blockchain and a consensus node comprising a first master node and a first slave node for a first accounting period and a second master node for a second accounting period, the second accounting period being located after the first accounting period, wherein:
the first master node is configured to acquire voting information of a first block to be identified, acquire a second block to be identified, generate a first block identification message, and broadcast the first block identification message to each first slave node, where the first block identification message includes the voting information of the first block and the second block;
each first slave node is configured to receive the first block consensus message broadcast by the first master node, verify the second block, generate voting information of the second block, unicast the voting information of the second block to the second master node in a second accounting period, and determine, according to the voting information of the first block, to add a first target block located before the first block to the block chain.
14. A computer-readable storage medium, characterized in that a computer program is stored thereon, which program, when being executed by a processor, carries out the method of any one of claims 1 to 5 or the method of any one of claims 6 to 9 or the method of claim 10.
15. An electronic device, comprising:
at least one processor;
a storage device configured to store at least one program that, when executed by the at least one processor, causes the at least one processor to implement the method of any one of claims 1 to 5 or the method of any one of claims 6 to 9 or the method of claim 10.
16. A computer program product comprising a computer program, characterized in that the computer program realizes the steps of the method of any one of claims 1 to 5 or the steps of the method of any one of claims 6 to 9 or the steps of the method of claim 10 when executed by a processor.
CN202111069974.1A 2021-09-13 2021-09-13 Consensus method of block chain system and related equipment Pending CN115796863A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111069974.1A CN115796863A (en) 2021-09-13 2021-09-13 Consensus method of block chain system and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111069974.1A CN115796863A (en) 2021-09-13 2021-09-13 Consensus method of block chain system and related equipment

Publications (1)

Publication Number Publication Date
CN115796863A true CN115796863A (en) 2023-03-14

Family

ID=85473376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111069974.1A Pending CN115796863A (en) 2021-09-13 2021-09-13 Consensus method of block chain system and related equipment

Country Status (1)

Country Link
CN (1) CN115796863A (en)

Similar Documents

Publication Publication Date Title
CN114079660B (en) High-performance distributed storage block data, time stamp, cross-chain communication and data collaboration method
US11128522B2 (en) Changing a master node in a blockchain system
US20210295321A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
US20230092484A1 (en) Block chain-based block consensus method and related device
CN111448781A (en) Shared blockchain data storage
CN111108478A (en) Shared blockchain data storage
CN112235420B (en) Data synchronization method, system and related equipment based on block chain
CN111837115A (en) Shared blockchain data storage
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN112101942B (en) Transaction request processing method, system, device and equipment based on block chain
Yanovich et al. Exonum: Byzantine fault tolerant protocol for blockchains
CN111314067A (en) Block storage method and device, computer equipment and storage medium
CN111931220B (en) Consensus processing method, device, medium and electronic equipment for block chain network
Sohrabi et al. ZyConChain: A scalable blockchain for general applications
CN113255014B (en) Data processing method based on block chain and related equipment
CN111798234B (en) Lightweight block chain system and construction method
JP2024515022A (en) Blockchain-based data processing method, device, equipment, and computer program
CN114726517A (en) Method, system and consensus node for generating random number seeds on block chain
CN113706313A (en) Financing method, system and computer readable storage medium based on block chain
CN115701078B (en) Cross-chain transaction processing method, device, electronic equipment and storage medium
CN116777631B (en) Transaction uplink method and device based on blockchain, equipment and medium
Wang et al. A fast and secured peer-to-peer energy trading using blockchain consensus
CN112231415B (en) Data synchronization method and system of block chain network, electronic device and readable medium
CN117221337A (en) Block chain consensus method, device, medium and electronic equipment
CN115796863A (en) Consensus method of block chain system and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40083835

Country of ref document: HK