CN113746635A - Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium - Google Patents

Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium Download PDF

Info

Publication number
CN113746635A
CN113746635A CN202110950596.1A CN202110950596A CN113746635A CN 113746635 A CN113746635 A CN 113746635A CN 202110950596 A CN202110950596 A CN 202110950596A CN 113746635 A CN113746635 A CN 113746635A
Authority
CN
China
Prior art keywords
consensus
transactions
node
coordinator
pbft
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
CN202110950596.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.)
Hubei University of Arts and Science
Original Assignee
Hubei University of Arts and Science
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 Hubei University of Arts and Science filed Critical Hubei University of Arts and Science
Priority to CN202110950596.1A priority Critical patent/CN113746635A/en
Publication of CN113746635A publication Critical patent/CN113746635A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention discloses a method, a device, computing equipment and a storage medium for improving PBFT consensus expandability. The method comprises the steps of introducing a consensus coordinator, selecting a main node to execute a PBFT-based consistency algorithm, and communicating the main node with the consensus coordinator; the consensus coordinator collects transactions from the transaction pool of each node, classifies the transactions according to the equality of the collected transactions, and decides whether to execute a consistency algorithm. The invention aims to provide good service for a system after a plurality of nodes are added into the system.

Description

Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium
Technical Field
The invention relates to the technical field of block chain consensus, in particular to expandability of a PBFT consensus algorithm in a block chain tracing and other scenes, namely performance under network node expansion. In particular to a method, a device, computing equipment and a storage medium for improving PBFT consensus expandability.
Background
The current block chain technology is applied to different fields such as commerce, finance and the like, and plays an important role in scenes such as traceability and the like. The federation chain is initiated by some authority, and in practical applications the federation chain is primarily the PBFT algorithm. Compared with the traditional public chain algorithm, the PBFT algorithm recognizes that each node consists of a service participant or a service supervisor. The algorithm does not need mining and currency excitation, and the safety and the stability are ensured by business-related parties. Therefore, the method is more suitable for the actual production environment.
However, the application of the technology is limited due to scalability issues. Although factors related to scalability are diverse, such as network bandwidth and encryption algorithms, the coherence algorithm is a key factor that significantly impacts the problem, ensuring that participants maintain the same data in a distributed environment.
Among consistency algorithms of a block chain, a consistency algorithm based on Byzantine Fault Tolerance (BFT) is widely applied. PBFT (practical byzantine fault tolerance) is a popular and representative example. In the BFT-based coherency algorithm, the number of network communications between participants grows exponentially as the number of participants increases. This is because BFT-based coherency algorithms require all participants to participate in the process of completing each transaction, which is composed of different steps.
The core three phases of the BFT-based coherency algorithm are the pre-prepare phase, the prepare phase, and the commit phase, respectively. In FIG. 1, C represents a client, N0-N3 represent nodes numbered 0-3, and N0 is a master node. The cross N3 represents a node that may be a failed node or a problem node, and the behavior presented here is to be unresponsive to requests from other nodes. In the node communication process, one single-point full broadcast and two full-point full broadcasts are available, when the number of nodes is more and more, the communication times are exponentially increased, the network consumption in the consensus process is larger, and the network congestion is easily caused to influence the correct execution of the request.
As the number of nodes increases, their performance and scalability inevitably decreases. This is because all participants should join the consensus process, which is done more and more slowly.
The disadvantages of the PBFT algorithm are also found in the application:
(1) after receiving the client request, the algorithm needs three stages of pre-preparation, preparation and confirmation to reach consensus. Each stage requires broadcasting the network-wide nodes, which results in huge transmission consumption. This consumption increases rapidly as nodes increase. When n nodes achieve state consensus, the algorithm communication complexity reaches O (n)2). Experiments show that when the number of nodes exceeds 16 in the Hyperridge Fabric platform test, the performance of the algorithm is reduced sharply.
(2) The main node selection strategy in the PBFT algorithm is simple, when the main node is a Byzantine node, view switching can occur, the overhead of a view switching protocol is increased, and a new main node is selected according to a new view. This operation will bring about a not insignificant time overhead,
(3) the consensus nodes in the blockchain system may be unstable, and nodes may join or leave the system at any time. The selection policy of the master node and whether to perform view switching after a node change are also issues to be considered. The PBFT algorithm does not have a perfect node join and exit mechanism. When the node is added and withdrawn, the whole network needs to be restarted, and the cost is high. This will significantly reduce the availability of the system if the frequency of node replacement in the system is large.
Disclosure of Invention
In order to overcome the defects of the prior art, the present invention provides a method, an apparatus, a computing device, and a storage medium for improving the scalability of PBFT consensus, so that a system can still provide good services after a plurality of nodes join the system.
According to an aspect of the present specification, there is provided a method for improving PBFT consensus scalability, introducing a consensus coordinator, the method comprising:
selecting a master node to execute a PBFT-based coherency algorithm, the master node in communication with a consensus coordinator;
the consensus coordinator collects transactions from the transaction pool of each node, classifies the transactions according to the equality of the collected transactions, and determines whether to execute a consistency algorithm; wherein the content of the first and second substances,
when all transactions are equal, the consensus coordinator requests the master node to perform block generation;
when some transactions are not equal, the consensus coordinator divides the transactions into common transactions and fault transactions, and requests the main node to execute a consistency algorithm based on PBFT only on the fault transactions to generate appointed transactions; the master node informs the consensus coordinator of the transaction after consensus; the consensus coordinator packages all common transactions and appointment transactions in time order and requests all nodes to perform block generation on the packaged transactions.
In the technical scheme, a consistency algorithm based on PBFT is executed by introducing a consensus coordinator and classifying the transaction conditions; the transaction is divided into the same transaction and different transactions, the different transactions are divided into the common transaction and the fault transaction, only the consistency algorithm is executed for the problematic transactions, and the classic PBFT algorithm is executed under the condition that the consensus is not achieved; therefore, the system overhead caused by the view switching of the node change can be saved, and the expandability is realized.
As a further technical scheme, one master node is selected from all the participating nodes in a mode of verifying a random function VRF; when the VRF random number is less than or equal to the previous NodeiIn case of this number i NodeiSelected as the main Node, and takes the Node signature private key sk as the input to the Node number NodeiAnd generating a VRF public key and informing the consensus coordinator after the seed signature.
As a further technical solution, the consensus coordinator collects all transactions from the transaction pool of each node once notified by the master node's selection master node.
As a further stepBy using published seeds and nodesiGenerating a random number random to check the validity of the selected master node; if the generated random number is equal to the Node received from the master NodeiThe consensus coordinator requests all nodes to send the previous timepTime to current timecAll transactions accumulated in the transaction pool of each node in between; if the generated random number is not equal to the Node received from the master NodeiThe consensus coordinator terminates all coordination steps of the current round and waits for the next idle state.
According to an aspect of the present specification, there is provided an apparatus for improving scalability of PBFT consensus, including:
a selection module for selecting a master node from all block link points to execute a BFT based consistency algorithm, the master node in communication with a consensus coordinator;
the consensus coordinator is used for collecting transactions from the transaction pool of each node, classifying the transactions according to the equality of the collected transactions and determining whether to execute a consistency algorithm; wherein the content of the first and second substances,
when all transactions are equal, the consensus coordinator requests the master node to perform block generation;
when some transactions are not equal, the consensus coordinator divides the transactions into common transactions and fault transactions, and requests the main node to execute a consistency algorithm based on PBFT only on the fault transactions to generate appointed transactions; the master node informs the consensus coordinator of the transaction after consensus; the consensus coordinator packages all common transactions and appointment transactions in time order and requests all nodes to perform block generation on the packaged transactions.
In the technical scheme, after the transactions of all nodes are equivalently classified by introducing the consensus coordinator, the conditional execution of the consistency algorithm based on the PBFT is controlled; according to the technical scheme, transaction equality is checked, a consensus algorithm is executed on fault transactions, although the time for consensus of PBFT is increased, under the condition that the number of the block link points is increased, the speed increase of the total operation delay is greatly reduced compared with the traditional PBFT mode.
As a further technical solution, the selection module is further configured to select a master node from all participating nodes in a manner that a random function VRF can be verified; when the VRF random number is less than or equal to the previous NodeiIn case of this number i NodeiSelected as the main Node, and takes the Node signature private key sk as the input to the Node number NodeiAnd generating a VRF public key and informing the consensus coordinator after the seed signature.
As a further aspect, the consensus coordinator is further configured to order all public transactions and appointment transactions in a chronological order and request the master node to generate a new block containing all processed transactions.
According to an aspect of the present description, there is provided a computing device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method when executing the computer program.
According to an aspect of the present specification, there is provided a computer-readable storage medium storing a computer program for executing the method.
Compared with the prior art, the invention has the beneficial effects that:
(1) the present invention provides a method for improving the scalability of PBFT conformance algorithms, i.e. in case of node addition, executing conditional PBFT conformance algorithms by transaction classification, instead of relying solely on the use of PBFT. Compared with the traditional mode in which all node algorithms participate in the negotiation process and the number of communication times increases with the increase of nodes, all transactions execute the negotiation consistency program, and the running time of the PBFT increases. The invention checks the equality of the transaction, performs the consensus algorithm only on the faulty transaction, although introducing an additional phase, the increase in total run time is not as dramatic as the single PBFT approach, with the increase in block link point number.
(2) The invention introduces verifiable random function technology (VRF), so that each consensus node only knows itself after being selected, but can provide proof for other nodes to verify. In the process of selecting the main node, each node in the network only knows whether the node is selected and cannot know who other nodes are selected. Due to the introduction of the VRF technology, the election process has unpredictability and non-maneuverability, and only after the election is finished, other nodes in the network can know the selected node, so that the election process is prevented from being controlled, and the election process is more fair and safer.
(3) The invention provides a system, which controls the conditional execution of a consistency algorithm based on PBFT after equivalently classifying the transactions of all nodes by introducing a consensus coordinator; after the node changes, the system is switched to the classic PBFT algorithm under the condition that consensus is not achieved, so that the system can select proper transactions to participate in consensus according to the actual condition of the node, and configurability of the consensus algorithm is realized.
Drawings
FIG. 1 is a schematic diagram of a PBFT protocol.
Fig. 2 is a flowchart of a method for improving PBFT consensus scalability according to an embodiment of the present invention.
FIG. 3 is a schematic diagram of the operation of the consensus coordination module and the PBFT module according to an embodiment of the present invention.
Detailed Description
The technical solutions of the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings, and it is to be understood that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without any inventive step, are within the scope of the present invention.
The node referred to in the embodiment of the present application may be understood as an abstract machine that responds to an external specific trigger condition and performs state conversion according to a certain rule, and may be a device that can be networked according to application software, such as a mobile phone, a tablet computer, a palm computer, a personal PC, and the like.
As shown in fig. 2, the present specification provides a method for improving PBFT consensus scalability, introducing a consensus coordinator, the method comprising:
and 1, selecting a main node from all the participating nodes.
The selected master node acts to interact with the consensus coordinator. A master node is elected among all participating nodes by means of a Verifiable Random Function (VRF). The election step runs every t regular time. The election master node starts with a seed, which is the hash value of a previous chunk. Since the agreement has been reached in the previous round, the hash value of the previous block is the same in all nodes.
Each node has a private key SK, while its verification public key VK is public. VRF random number less than or equal to former NodeiIn case of this number i NodeiSelected as a main Node, and takes the Node signature private key SK as an input to the Node number NodeiAnd generating a VRF public key and informing the consensus coordinator after the seed signature.
And 2, collecting all the transactions existing in the transaction pool of each node by the consensus coordinator.
The consensus coordinator, once informed by the election master node of the master node, collects all transactions from the transaction pool of each node. Consensus coordinator through the use of published seeds and nodesiA random number random is generated to check the validity of the selected master node. If the generated random number is equal to the Node received from the master NodeiThe consensus coordinator requests all nodes to send the previous timepTime to current timecAll transactions accumulated in the transaction pool of each node in between. When the generated random number is not equal to the Node received from the master NodeiThe consensus coordinator terminates all coordination steps of the current round and waits for the next idle state.
Step 3, the consensus coordinator checks whether the transactions collected by each node are the same as all the transactions of other nodes.
This step performs the consensus algorithm of PBFT in two cases, based on each transaction collected by the node. First, the consensus coordinator checks if the transactions collected from each node are the same as all transactions from other nodes. When all transactions are equal, an equal transaction processing step is performed, and then the third step is terminated. When all transactions are not the same, the transactions are first classified into normal transactions and failure transactions. For a failed transaction, the consensus coordinator requests the master node to execute a consistency algorithm and generate a commitment transaction. Finally, the consensus coordinator packages the normal transactions and the appointment transactions in time order and requests the controllers of all nodes to perform block generation on the packaged transactions. The detailed process is as follows:
1. transactions from each node are equal to other nodes
If the transaction from each node is equal to all the transactions of the other nodes, the consensus coordinator performs the step of generating. To check the equality of the transactions, a set of transactions from each node is first converted to a hash function and then compared for equality. If all transactions are the same, their hash values must be the same.
If all transactions are the same, the consensus coordinator requests the master node nodiprime to confirm the transaction Txs, and the master node responds to the confirmation request for the consensus coordinator transaction.
When the master node recognizes that the transactions of all nodes are equal, the consensus coordinator requests all nodes of the blockchain network to generate a new block. All nodes receive the request and delegate the request to the PBFT consensus module to generate a new block. Time of all nodespAll use the current timecAnd updating, namely setting the starting time period of the next round. If the host node does not confirm the transaction, the round of consensus is terminated, timepThe start period of the previous round is maintained.
2. Transactions from each node are not equal to other nodes
(1) And (3) transaction classification: in this step, the consensus coordinator classifies all transactions from each node into normal and faulty transactions, and the classified outputs are stored in a ListcommAnd Listtr
(2) Executing a consensus algorithm: the consensus coordinator requests the master node to perform the consensus algorithm only on the failed transaction, the List in which we agree (get an agreement transaction)aggKnown as contract transactions. The List of failed transactions List, because some transactions cannot be reached in the consensus algorithmtrAll transactions in (1) are not in ListaggIn (1).
(3) All transactions are ordered: at this step the consensus coordinator follows the List of common transactions ListcommAnd contracted transaction ListaggThey are packaged and sorted chronologically into a SortedList. The consensus coordinator then requests the master node to confirm the packaged transaction SortedList. If the identity of the master node is legal and the transaction is confirmed, the consensus coordinator requests the controllers of all the nodes to perform block generation on the packaged transaction SortedList, and the time of all the nodes after a new block is generatedpUpdated to the current timec
And 4, generating a block by all the nodes for the packed transaction execution.
This step is to generate a new block for the blockchain platform, and the consensus coordinator does not intervene in this last step. Before the block is generated, the master node is broadcasted together with the certificate (VRF proof), and other nodes can determine the identity validity through the calculation of the certificate (VRF proof). This can reduce the possibility that a plurality of consensus nodes collude to do malicious efforts, and improve the security of the system. If the master node identity is legitimate and the transaction is confirmed, all nodes create a new block containing the hash value specifying the transaction and the previous block.
The controller for requesting the PBFT module to generate new blocks and access the transaction pool is developed for a blockchain platform, and this method can be applied to various BFT-based consensus algorithms.
The specification also provides a device for improving PBFT consensus expandability, and the device controls the conditional execution of the PBFT-based consistency algorithm after equivalently classifying the transactions of all nodes by introducing the consensus coordinator.
In some embodiments, a working diagram of the consensus coordination module with a conventional PBFT module is shown in FIG. 3.
The right part of fig. 3 is a PBFT module, representing a conventional PBFT algorithm. It consists of a master node that controls the consensus process and other common nodes like the BFT blockchain platform. Each node has a BFT module to control the negotiation process, creating new blocks and transaction pools to maintain unacknowledged transactions. The PBFT module periodically accesses transactions in the transaction pool and executes a PBFT-based coherency algorithm. Once all nodes have agreed on the trade, the PBFT module generates a new block after the accumulated trade has agreed.
The consensus coordination module is shown on the left of FIG. 3. A consensus coordinator is designed in the module, and the consensus coordinator is based on a consistency algorithm of the PBFT and controls each node to execute according to the consistency algorithm condition of the PBFT according to the transaction equivalence.
In the context of blockchain tracing, consensus nodes are motivated by no subjective maliciousness. It is common for byzantine nodes to appear only if the network is down or communications are interrupted, and this is at a very low probability, so that a three-phase broadcast is not required each time to achieve consensus.
In some embodiments, the core idea is to introduce a consensus coordinator, which controls the conditional execution of the PBFT-based coherency algorithm after equally classifying the transactions of all nodes. Transactions are divided into identical transactions and non-identical transactions. In addition, the non-identical transactions are divided into normal transactions and failure transactions. On this basis, the consensus algorithm is only performed for problematic transactions, and the classical PBFT algorithm is performed without consensus being reached. This saves overhead due to node change view switching. Such a PBFT-based conformance algorithm can achieve scalability.
In some embodiments, first, one master node is selected among all block-node nodes to perform a BFT-based consistency algorithm and communicate with the consensus coordinator. The consensus coordinator then collects the transactions from the transaction pool of each node. In a third step, the coordinator sorts the transactions according to the equality of the collected transactions and decides whether to execute a consistency algorithm or not. In the case where all transactions are equal, the coordinator lets the master node perform block generation without performing the consistency algorithm, which is done synchronously in the blockchain network. When certain transactions are not equal, the coordinator divides the transactions into normal transactions and failed transactions and requests the master node to perform the BFT-based coherency algorithm only on the failed transactions. The master node notifies the coordinator of the agreed transaction. Finally, the coordinator sequences all common transactions and appointment transactions in time order and requests the master node to execute the consensus algorithm, generating a new block.
In the embodiment, the equality of the transaction is checked, and the consensus algorithm is executed only for the fault transaction, although the time for consensus of the PBFT is increased, the increase of the total running time is greatly slowed compared with the conventional PBFT method under the condition that the number of the block link points is increased.
The present specification also provides a computing device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method when executing the computer program.
The present specification also provides a computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the method.
The processor may be implemented in any suitable manner, for example, the processor may take the form of, for example, a microprocessor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the microprocessor, logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: intel E-2274G, Intel i7-1060G7, Intel i5-1035G4, Intel M5-6Y54, AMD Epyc 7251, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing a processor as pure computer readable program code, the same functions may be implemented entirely by logically programming method steps such that the processor is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a processor may thus be regarded as a hardware component and the means for performing the various functions included therein may also be regarded as structures within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The platform, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, platforms (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
This description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions deviate from the technical solutions of the embodiments of the present invention.

Claims (9)

1. A method for improving PBFT consensus scalability, wherein a consensus coordinator is introduced, the method comprising:
selecting a master node to execute a PBFT-based coherency algorithm, the master node in communication with a consensus coordinator;
the consensus coordinator collects transactions from the transaction pool of each node, classifies the transactions according to the equality of the collected transactions, and determines whether to execute a consistency algorithm; wherein the content of the first and second substances,
when all transactions are equal, the consensus coordinator requests the master node to perform block generation;
when some transactions are not equal, the consensus coordinator divides the transactions into common transactions and fault transactions, and requests the main node to execute a consistency algorithm based on PBFT only on the fault transactions to generate appointed transactions; the master node informs the consensus coordinator of the transaction after consensus; the consensus coordinator packages all common transactions and appointment transactions in time order and requests all nodes to perform block generation on the packaged transactions.
2. The method for improving PBFT consensus scalability according to claim 1, wherein among all participating nodes, one master node is selected by way of verifiable random function VRF; when the VRF random number is less than or equal to the previous NodeiIn case of this number i NodeiSelected as the main Node, and takes the Node signature private key sk as the input to the Node number NodeiAnd generating a VRF public key and informing the consensus coordinator after the seed signature.
3. The method for improving PBFT consensus scalability according to claim 1, wherein said consensus coordinator collects all transactions from each node's transaction pool once notified by the master node's selection master node.
4. The method of improving PBFT consensus scalability according to claim 3, wherein said consensus coordinator uses published seed and NodeiGenerating a random number random to check the validity of the selected master node; if the generated random number is equal to the Node received from the master NodeiThe consensus coordinator requests all nodes to send the previous timepTime to current timecAll transactions accumulated in each node transaction pool; if the generated random number is not equal to the Node received from the master NodeiIf the consensus coordinator terminates the current roundAll coordination steps wait for the next idle state.
5. An apparatus for improving scalability of PBFT consensus, comprising:
a selection module for selecting a master node from all block link points to execute a BFT based consistency algorithm, the master node in communication with a consensus coordinator;
the consensus coordinator is used for collecting transactions from the transaction pool of each node, classifying the transactions according to the equality of the collected transactions and determining whether to execute a consistency algorithm; wherein the content of the first and second substances,
when all transactions are equal, the consensus coordinator requests the master node to perform block generation;
when some transactions are not equal, the consensus coordinator divides the transactions into common transactions and fault transactions, and requests the main node to execute a consistency algorithm based on PBFT only on the fault transactions to generate appointed transactions; the master node informs the consensus coordinator of the transaction after consensus; the consensus coordinator packages all common transactions and appointment transactions in time order and requests all nodes to perform block generation on the packaged transactions.
6. The apparatus for improving PBFT consensus scalability according to claim 5, wherein the selecting module is further configured to select a master node among all participating nodes by way of a verifiable random function VRF; when the VRF random number is less than or equal to the previous NodeiIn case of this number i NodeiSelected as the main Node, and takes the Node signature private key sk as the input to the Node number NodeiAnd generating a VRF public key and informing the consensus coordinator after the seed signature.
7. The apparatus of claim 5, wherein the consensus coordinator is further configured to order all common transactions and appointment transactions in a chronological order and request the master node to generate a new block containing all processed transactions.
8. A computing device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any of claims 1 to 4 when executing the computer program.
9. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program for executing the method of any one of claims 1 to 4.
CN202110950596.1A 2021-08-18 2021-08-18 Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium Pending CN113746635A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110950596.1A CN113746635A (en) 2021-08-18 2021-08-18 Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110950596.1A CN113746635A (en) 2021-08-18 2021-08-18 Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113746635A true CN113746635A (en) 2021-12-03

Family

ID=78731690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110950596.1A Pending CN113746635A (en) 2021-08-18 2021-08-18 Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113746635A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114463009A (en) * 2022-04-13 2022-05-10 成都理工大学 Method for improving transaction security of large-scale energy node

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767199A (en) * 2018-12-10 2019-05-17 西安电子科技大学 PBFT common recognition system and method, block chain data processing system based on prestige
US20200076603A1 (en) * 2018-09-05 2020-03-05 NEC Laboratories Europe GmbH Method and system for publicly verifiable proofs of retrievability in blockchains
KR102090723B1 (en) * 2019-12-12 2020-03-18 주식회사 립페이 Method for providing blockchain based bicameralism consensus service using quantum random function mechanism
CN112286945A (en) * 2020-09-21 2021-01-29 杭州趣链科技有限公司 Configuration changing method, system, equipment and medium based on PBFT algorithm
KR20210080818A (en) * 2019-12-23 2021-07-01 서강대학교산학협력단 Blockchain network and method for preprocessing by using an agent in a blockchain network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200076603A1 (en) * 2018-09-05 2020-03-05 NEC Laboratories Europe GmbH Method and system for publicly verifiable proofs of retrievability in blockchains
CN109767199A (en) * 2018-12-10 2019-05-17 西安电子科技大学 PBFT common recognition system and method, block chain data processing system based on prestige
KR102090723B1 (en) * 2019-12-12 2020-03-18 주식회사 립페이 Method for providing blockchain based bicameralism consensus service using quantum random function mechanism
KR20210080818A (en) * 2019-12-23 2021-07-01 서강대학교산학협력단 Blockchain network and method for preprocessing by using an agent in a blockchain network
CN112286945A (en) * 2020-09-21 2021-01-29 杭州趣链科技有限公司 Configuration changing method, system, equipment and medium based on PBFT algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIANYAN MI, ZUOWEN LIAO.: "Adaptive teaching–learning-based optimization with experience learning to identify photovoltaic cell parameters", ENERGY REPORTS, vol. 7, pages 4114 - 4125 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114463009A (en) * 2022-04-13 2022-05-10 成都理工大学 Method for improving transaction security of large-scale energy node
CN114463009B (en) * 2022-04-13 2022-06-28 成都理工大学 Method for improving transaction security of large-scale energy nodes

Similar Documents

Publication Publication Date Title
CN108648078B (en) Transaction preprocessing method and device and electronic equipment
CN108282334B (en) Multi-party key negotiation device, method and system based on block chain
CN111291060B (en) Method, device and computer readable medium for managing blockchain nodes
TW201909613A (en) Method, device and electronic device for processing consensus request in blockchain consensus network
WO2020173287A1 (en) Systems and methods for determining network shards in blockchain network
WO2022217807A1 (en) Blockchain consensus node selection method and apparatus, and computer device and storage medium
CN110851537A (en) Consensus method based on block chain fragmentation technology
CN112348518B (en) Block chain transaction certification method and device
CN113395363A (en) Data processing method, device and equipment based on block chain and storage medium
US20240163121A1 (en) Blockchain consensus method, apparatus, and device, and storage medium
CN113821817B (en) Data processing method, device, equipment and system based on block chain
CN111401904B (en) Consensus method and system in alliance chain
CN113810465A (en) Asynchronous binary consensus method and device
CN110990790B (en) Data processing method and equipment
Capossele et al. Robustness and efficiency of leaderless probabilistic consensus protocols within byzantine infrastructures
CN113746635A (en) Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium
CN113935737B (en) Random number generation method and device based on block chain
Wang et al. An efficient, secured, and infinitely scalable consensus mechanism for peer-to-peer energy trading blockchain
CN111061813B (en) Method, apparatus and computing device for data synchronization in blockchain network
WO2024040796A1 (en) Block chain power transaction system, consensus method, device and storage medium
WO2023179056A1 (en) Consensus processing method and apparatus of block chain network, device, storage medium, and program product
CN110502578A (en) A kind of common recognition mechanism of rapid data cochain
CN115766742A (en) Block chain consensus method, system, device and computer readable storage medium
Wu et al. Blockchain consensus mechanism for distributed energy transactions
CN112685769A (en) Data processing method and device of block chain and electronic 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