CN108596623B - Block chain consensus achieving method - Google Patents

Block chain consensus achieving method Download PDF

Info

Publication number
CN108596623B
CN108596623B CN201810438727.6A CN201810438727A CN108596623B CN 108596623 B CN108596623 B CN 108596623B CN 201810438727 A CN201810438727 A CN 201810438727A CN 108596623 B CN108596623 B CN 108596623B
Authority
CN
China
Prior art keywords
block chain
node
block
transaction
election data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810438727.6A
Other languages
Chinese (zh)
Other versions
CN108596623A (en
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.)
Hefei DappWorks Technology Co Ltd
Original Assignee
Hefei DappWorks Technology 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 Hefei DappWorks Technology Co Ltd filed Critical Hefei DappWorks Technology Co Ltd
Priority to CN201810438727.6A priority Critical patent/CN108596623B/en
Publication of CN108596623A publication Critical patent/CN108596623A/en
Application granted granted Critical
Publication of CN108596623B publication Critical patent/CN108596623B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

The invention discloses a block chain consensus achieving method, which comprises the following steps: receiving election data issued by block nodes with a first account balance and/or a second account balance, wherein each piece of election data comprises: sending out the information of the block chain node selected by the block chain node of the election data; and determining a common-identification block chain node from the block chain nodes selected by the election data based on the election data received in the round, so that the determined common-identification block chain node performs the block packing operation in a new round. The value in the first account of each blockchain node is used for representing the number of the digital currency of the blockchain link point, and the value in the second account of each blockchain node is used for representing the number of the votes of the blockchain link point. The invention has the advantages that: the decentralized characteristic of the block chain network can be maintained to a great extent on the premise of not wasting computing resources of the block chain nodes.

Description

Block chain consensus achieving method
Technical Field
The invention relates to the technical field of internet, in particular to a block chain consensus achieving method.
Background
The blockchain technology is a distributed accounting technology, and is widely regarded as having the advantages of decentralization, no tampering and no need of trust guarantee of a third party. Due to the distributed storage and decentralized feature of the blockchain technology, the consensus mechanism is very important in the blockchain technology. Among them, the Proof of Work (Proof of Work) consensus mechanism, the Proof of rights (Proof of stamp) consensus mechanism, and the Proof of Delegated Proof of rights (Proof of stamp) consensus mechanism are widely known.
In the process of implementing the inventive concept, the inventor finds that at least the following problems exist in the prior art: the workload certification consensus mechanism needs to consume a large amount of computational resources, and the equity certification consensus mechanism and the entrustment certification consensus mechanism both have a problem of centralization to some extent, because the block link points producing the block data structure in the block chain network will receive the reward of tokens, based on the two consensus mechanisms, the block link points initially holding more tokens will receive more opportunities to produce the block data structure, thereby obtaining more tokens, which causes the block chain network to be more centralized.
Disclosure of Invention
In view of the above, the present invention provides a block chain consensus achieving method, including: receiving election data issued by block nodes with a first account balance and/or a second account balance, wherein each piece of election data comprises: sending out the information of the block chain node selected by the block chain node of the election data; and determining a common-identification block chain node from the block chain nodes selected by the election data based on the election data received in the round, so that the determined common-identification block chain node performs the block packing operation in a new round.
The value in the first account of each blockchain node is used for representing the number of the digital currency of the blockchain link point, and the value in the second account of each blockchain node is used for representing the number of the votes of the blockchain link point.
Optionally, the method further includes: receiving transaction information sent by a blockchain node, judging whether the transaction information meets a preset condition, if so, determining a first numerical value, wherein the first numerical value is used for representing a numerical value added to a second account of the blockchain node of a transaction object provider corresponding to the transaction information; and sending the determined first value to other blockchain nodes so that each blockchain node stores the first value into a corresponding blockchain database.
Optionally, the determining whether the transaction information meets the preset condition includes: judging whether the transaction article corresponding to the transaction information belongs to a consumable resource; if so, monitoring whether the transaction object corresponding to the transaction information is used as the block link point of the transaction object purchaser corresponding to the transaction information, and if so, determining that the transaction information meets the preset condition.
Optionally, the consumable resource comprises at least one of: network traffic data resources, computational resources of the processor. And/or, the monitoring whether the transaction object corresponding to the transaction information is used as the block link point of the transaction object purchaser corresponding to the transaction information includes: receiving transaction feedback information sent by the block chain node as a transaction purchaser, and judging whether the transaction is used up by the block chain node according to the transaction feedback information; or acquiring a use log of the transaction object, and judging whether the transaction object is used as the block link point of the transaction object purchaser completely according to the use log.
Optionally, the transaction information includes at least one of information of the transaction object, information of the transaction object provider, and information of the transaction object purchaser.
Optionally, each piece of election data further includes: the second value and/or the third value. For election data sent by each blockchain node, the sum of second numerical values in the election data is not greater than the first account balance of the blockchain node, and the sum of third numerical values in the election data is not greater than the second account balance of the blockchain node.
The method further comprises the steps of obtaining the weight of the second numerical value and the weight of the third numerical value; determining the common-recognition block link point from the block link nodes selected by each election data based on the election data received in the current round includes: counting the sum of the second numerical values corresponding to each selected block link point in the election data received in the round and the sum of the third numerical values corresponding to each selected block link point in the election data received in the round; for each selected block chain node, obtaining the election score of the block chain node according to the sum of the second numerical values and the weight of the second numerical values corresponding to the block chain node, and the sum of the third numerical values and the weight of the third numerical values corresponding to the block chain node; and sequencing the selected block chain nodes in the election data received in the round from high to low according to the election score, and determining the block chain nodes with the preset number as the common-identification block chain nodes so that the determined common-identification block chain nodes sequentially execute block packing operation in a new round according to a preset rule.
Optionally, obtaining the weight of the second value and the weight of the third value includes: counting the sum of the second numerical value and the sum of the third numerical value in the election data received in the round; determining the weight of the second value and the weight of the third value so as to satisfy: the product of the sum of the second values and the weight of the second values is equal to the product of the sum of the third values and the weight of the third values.
Optionally, the method further includes: for each blockchain node sending election data, determining a fourth numerical value, wherein the fourth numerical value is equal to the sum of third numerical values in the election data sent by the blockchain node in the current round, and the fourth numerical value is used for representing a numerical value reduced from a second account of the blockchain node; and sending the fourth numerical value to other block chain nodes so that each block chain node stores the fourth numerical value into a corresponding block chain database.
Optionally, the method further includes: after a predetermined number of the common-identification block chain nodes are determined, a non-repeated random number is generated for each common-identification block chain node, so that each common-identification block chain node sequentially executes block packing operation for a preset number of times in a new round according to the sequence of the corresponding random numbers.
The invention has the beneficial effects that:
(1) the invention can at least partially solve/reduce/inhibit/even avoid the problem that the prior art needs to unconsciously consume a large amount of computing resources of the block chain nodes in the process of achieving the block chain consensus, and can at least partially solve/reduce/inhibit/even avoid the centralized development trend that the digital currency generated in the process of achieving the block chain consensus is gathered in a small number of block chain nodes, and can greatly maintain the decentralized characteristic of the block chain network on the premise of not wasting the computing resources of the block chain nodes.
(2) The invention utilizes the characteristic that consumable resources can not be reused, so that the transaction information of the consumable resources can not be recorded on one branch chain of the block chain database after being recorded on the other branch chain, and further, in order to ensure that the block chain link points serving as a transaction provider are confirmed by each block chain link point and stored in the block chain database, the branch chain which can become the longest chain in the future is selected to store the corresponding transaction information. In addition, if a plurality of branch chains are generated in the block chain database, each block link point has the same amount of digital currency based on different branch chains, and due to the characteristic that consumable resources are not reused, block link points providing consumable resources are in disadvantage, so that the block link points serving as a transaction provider can strictly monitor the common identification block chain nodes of the block data structure, and when the common identification block chain nodes are selected as the block link points of the transaction provider, the common identification block chain nodes which are simultaneously maintained for the plurality of branch chains cannot be selected. For the reasons of the above two aspects, the invention can improve the problem of account book bifurcation.
Drawings
Fig. 1 schematically illustrates an exemplary system architecture to which the block chain consensus reaching method and apparatus may be applied, according to an embodiment of the present invention;
fig. 2 schematically shows a flow chart of a block chain consensus achieving method according to an embodiment of the present invention;
fig. 3 schematically shows a block diagram of a block chain consensus achieving apparatus according to an embodiment of the present invention;
fig. 4 schematically shows a block diagram of a block chain consensus achieving apparatus according to another embodiment of the present invention;
fig. 5 schematically illustrates a block diagram of a computer system suitable for implementing a block chain consensus reaching method according to an embodiment of the present invention.
Detailed Description
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It is to be understood that such description is merely illustrative and not intended to limit the scope of the present invention. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase "a or B" should be understood to include the possibility of "a" or "B", or "a and B".
Fig. 1 schematically shows an exemplary system architecture to which the block chain consensus reaching method and apparatus may be applied, according to an embodiment of the present invention. It should be noted that fig. 1 is only an example of a system architecture to which the embodiment of the present invention may be applied to help those skilled in the art understand the technical content of the present invention, and does not mean that the embodiment of the present invention may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the system architecture 100 according to this embodiment may include blockchain nodes 101, 102, 103, 104, 105, 106, 107, 108 … … (not shown in other blockchain point diagrams), which form a blockchain network, each blockchain point corresponding to a blockchain database, the plurality of block chain nodes form a database storage system which is distributed in various places around the world and can run cooperatively, each block chain node shares the same rights and obligations with all other block chain nodes, each block chain node can determine some block chain nodes as common identification block chain nodes through a certain common identification mechanism, any common identification block chain node performs read-write operation in the corresponding block chain database, and other block chain nodes can complete synchronization according to a certain mechanism, so that the data in the block chain database corresponding to all block chain link points in the block chain network are completely consistent.
The plurality of tile-linked points are servers deployed around the world, each tile-linked point may be a server or a server cluster, and the server/server cluster may be a server/server cluster providing various services, such as a background management server (for example only) providing support for a website browsed by a user using a terminal device. The background management server may analyze and perform other processing on the received data such as the user request, and feed back a processing result (e.g., a webpage, information, or data obtained or generated according to the user request) to the terminal device.
It should be understood that the number of block link points shown in fig. 1 is merely illustrative. There may be any number of blockchain nodes, as desired for implementation.
Fig. 2 schematically shows a flowchart of a block chain consensus achieving method according to an embodiment of the present invention.
As shown in fig. 2, the method includes receiving election data issued by a blockchain node having a first account balance and/or a second account balance at operation S201.
It should be noted that, the value in the first account of each blockchain node is used to represent the amount of digital currency possessed by the blockchain node, and the value in the second account of each blockchain node is used to represent the amount of votes possessed by the blockchain node. If the block link points with the first account balance are block link nodes holding digital money and the block link points with the second account balance are block link points holding votes, the source of the election data received in operation S201 may be: the block chain node holding the digital currency, the block chain link point holding the vote, and the block chain link point holding both the digital currency and the vote. The digital currency is virtual currency circulated by an exchange in the blockchain network, and the vote is virtual currency which is different from the digital currency and is issued to blockchain nodes according to a certain rule.
In this operation, the election data is used to characterize an event in which the block link point that sent the election data selects one of the other block link points for voting, and each piece of the received election data includes: and sending the information of the block chain node selected by the block chain node of the election data. For example, the block chain link point a sends out election data, and the election data includes information of the block chain link point B selected by the block chain node a, and indicates that the block chain node a selects the block chain node B for voting.
Then, in operation S202, based on the election data received in the current round, a common-identity blockchain node is determined from blockchain nodes selected by the election data, so that the common-identity blockchain node performs a block packing operation in a new round.
It can be seen that the method shown in fig. 2 determines the consensus blockchain node from the election data sent by each blockchain node, specifically, the blockchain node sending the voting data is a blockchain node holding votes and/or digital currency, the election data includes information of the blockchain node selected by the blockchain node sending the election data, and the consensus blockchain node is determined from the blockchain nodes selected by each election data in one round. Compared with the scheme for determining the consensus block chain nodes in the prior art, the scheme does not need to consume computing resources of the block chain nodes, and because the scheme exerts influence on the election authority of the block chain link nodes in two modes of vote and digital currency, the block chain consensus can be effectively prevented from developing towards the centralized trend of digital currency gathering in a few block chain nodes, and the decentralized characteristic of a block chain network is maintained.
In an embodiment of the present invention, before operation S201, the method shown in fig. 2 further includes: receiving transaction information sent by a blockchain node; judging whether the received transaction information meets a preset condition, if so, determining a first numerical value; and sending the determined first numerical value to other block chain nodes so that each block chain node stores the first numerical value into a corresponding block chain database. The first numerical value is used for representing a numerical value added to a second account of the block chain node of the transaction object providing party corresponding to the transaction information. In this embodiment, a scheme of issuing votes to block link points is described, where the transaction information is information of an event of a transaction between the block link points, and in different cases, the block link point serving as a transaction provider may be a full node or a light node, and the block link point serving as a transaction purchaser may be a full node or a light node; the full node is a blockchain node capable of performing a block data structure packing operation, performing a data recording operation, and running an intelligent contract, while the light node cannot perform the block data structure packing operation and the data recording operation and cannot run the intelligent contract, but may have a first account and a second account regardless of the full node or the light node.
The transaction information sent by the blockchain node comprises at least one of the following items: information of the transaction object, information of the transaction object provider, and information of the transaction object purchaser. And when the transaction information is judged to meet the preset condition, a vote with a first numerical value is issued to the block chain link points serving as the provider of the transaction object. When the vote is issued, the identification information of the block link point serving as the transaction provider and the determined first numerical value can be broadcast to each block chain node together, so that each block link point with data recording capacity correspondingly stores the identification information of the block link point serving as the transaction provider and the first numerical value into each block chain database, the corresponding relation between the identification information of the block link point serving as the transaction provider and the first numerical value is uniformly recorded in each block chain database, namely, the information representing that the first numerical value is added to the second account of the block link point serving as the transaction provider is uniformly recorded, and the information cannot be tampered on the block chain database.
In an embodiment of the invention, the determining whether the transaction information meets the preset condition includes: firstly, judging whether a transaction object corresponding to transaction information belongs to consumable resources, monitoring whether the transaction object corresponding to the transaction information is used as a block chain link point of a transaction object purchaser corresponding to the transaction information, and if the corresponding transaction object is used as the block chain link point of the transaction object purchaser, determining that the transaction information meets a preset condition.
In particular, a consumable resource refers to a resource that does not survive once used, and may be, for example, one or more of a network traffic data resource, a computing resource of a processor, and the like. In this embodiment, the consumable resources are directly exchanged between the block nodes in the block chain network, the block nodes serving as the transaction provider provide the exchanged consumable resources, the block nodes serving as the transaction purchaser use the exchanged consumable resources, and the completion of the exchange is indicated. That is, in this embodiment, for the transaction of the consumable resource, when the transaction is completed, what the first value is may be determined according to the quantity and/or quality of the transaction, and a vote of the first value is issued to the block link point providing the consumable resource, so as to provide the right of the block link point to participate in electing the common identification block link node.
In contrast, in the prior art, the credit-evidence consensus mechanism and the delegation credit-evidence consensus mechanism are prone to generate a problem of account branching (non-at-stop-ping), where the problem of account branching refers to that a block chain database branches, that is, two different chains are formed, due to some special conditions, such as network delay, a position where a block chain link point of a certain production block data structure maliciously changes a block data structure to a block chain data structure, and the like. Although the consensus mechanism specifies that all block chain nodes should produce a block data structure on the longest chain, since there is uncertainty about which chain will become the longest chain in the future, it is possible to produce block data structures on two different chains simultaneously at a block chain node of the current production block data structure in order to maximize its own benefit, and this decision can lead to the problem that multiple branches always exist simultaneously in the block chain database. The scheme of the embodiment utilizes the characteristic that the consumable resources cannot be reused, so that the transaction information of the consumable resources cannot be recorded on one branch chain of the block chain database after being recorded on the other branch chain, and further, in order to ensure that the transaction information of the block chain point serving as the transaction object provider is confirmed by each block chain point and is stored in the block chain database, only the branch chain point which will become the longest chain in the future is selected to store the corresponding transaction information. In addition, if a plurality of branch chains are generated in the block chain database, each block link point has the same amount of digital currency based on different branch chains, and due to the characteristic that consumable resources are not reused, block link points providing consumable resources are in disadvantage, so that the block link points serving as a transaction provider can strictly monitor the common identification block chain nodes of the block data structure, and when the common identification block chain nodes are selected as the block link points of the transaction provider, the common identification block chain nodes which are simultaneously maintained for the plurality of branch chains cannot be selected. For the reasons of the above two aspects, the above-described embodiment may improve the ledger branching problem.
In an embodiment of the present invention, when determining that the transaction information belongs to the consumable resource, the monitoring whether the transaction object corresponding to the transaction information is used as the block link point of the transaction object purchaser corresponding to the transaction information at least includes the following two ways: and receiving transaction feedback information sent by the block chain node as the transaction purchaser, and judging whether the transaction is completely used by the block chain node as the transaction purchaser according to the transaction feedback information. Or acquiring a use log of the transaction object, and judging whether the transaction object is used as the block link point of the transaction object purchaser completely according to the use log.
To illustrate the above embodiment by way of a specific example, the block link point a and the block link point B perform a transaction, a transaction is a network traffic data resource, a transaction provider is the block link point a, a transaction purchaser is the block link point B, the block link node a is a full node, the block link node B is a light node, and the block link point B is to use the network traffic data resource provided by the block link node a. Receiving transaction information sent by the blockchain node A, wherein the transaction information comprises a rule part: quality parameters, quantity and price of the traded network flow data resources, information of the block chain node A and information of the block chain node B. Preferably, the transaction information further comprises a digital signature of the transaction information, the digital signature of the transaction information comprising a first digital signature generated based on the private key of the blockchain node B and the rule portion of the transaction information and a second digital signature generated based on the private key of the blockchain node a, the first digital signature and the rule portion of the transaction information. The block chain link point receiving the transaction information sent by the block chain node A verifies the digital signature of the transaction information through the public key of the block chain node A and the public key of the block chain link point B, the verification shows that the transaction information is true and effective, as the transaction object is a network flow data resource, namely a consumable resource, the method triggers the vote issuing intelligent contract arranged in the block chain database to operate in the block chain node which currently executes the block data structure packaging operation, the vote issuing intelligent contract tracks and confirms the use condition of the block chain node B on the network flow data resource, when the use is finished, the vote issuing intelligent contract determines a first numerical value according to the quality parameters and the quantity of the network flow data resource recorded in the transaction information, the information and the first numerical value of the block chain node A are sent to each block chain node, and the information and the first numerical value of the block chain node A are correspondingly stored to the respective block chain node A after the block chain link points pass the common identification verification In the blockchain database, votes are shown that add the first value to the second account for blockchain link point a.
In one embodiment of the present invention, each piece of election data issued by a blockchain node having a first account balance and/or a second account balance includes, in addition to information of the blockchain node selected by the blockchain node issuing the election data: the second value and/or the third value. And for election data sent by each blockchain node, the sum of second numerical values in the election data is not greater than the first account balance of the blockchain node, and the sum of third numerical values in the election data is not greater than the second account balance of the blockchain node. That is, the second numerical value included in a piece of election data characterizes the amount of digital money in the first account that was cast by election using the piece of election data, and the third numerical value included in the piece of election data characterizes the amount of votes in the second account that were cast by election using the piece of election data. In the process of electing the common identification blockchain node, each blockchain node sends election data which not only comprises the information of the selected blockchain node, but also comprises the number of digital currencies and/or votes used by the blockchain node sending the election data when other blockchains are selected.
After election data sent by each block chain node in the current round is received, in order to determine a consensus block chain node from the block chain nodes selected by each election data based on the election data received in the current round, a weight of a second numerical value and a weight of a third numerical value need to be obtained first. In an embodiment of the invention, the second value of the weight characterizes the weight of the digital currency in the election scenario, and the third value of the weight characterizes the weight of the vote in the election scenario. Then operation S202 in fig. 2 determines the common block link point from the block chain nodes selected by the election data based on the election data received in the current round includes:
in operation S2021, the sum of the second values corresponding to each selected block link point in the election data received in the current round and the sum of the third values corresponding to each selected block link point in the election data received in the current round are counted.
In operation S2022, for each selected block link node, an election score of the block link point is obtained according to the sum of the second numerical values and the weight of the second numerical values corresponding to the block link point, and the sum of the third numerical values and the weight of the third numerical values corresponding to the block link point.
In operation S2023, the selected block chain nodes in the election data received in the current round are sorted from high to low according to the election score, and the block chain nodes in the previous preset number are determined to be common-identification block chain nodes, so that the common-identification block chain nodes sequentially perform block packing operation in a new round according to a preset rule.
For example, among the election data received in the current round, there are one or more election data of the selection blockchain node a, one or more election data of the selection blockchain node B, and one or more election data of the selection blockchain node C. For the selected blockchain node a, the sum of the second values in the election data of the selected blockchain node a, that is, the total amount of the digital currency used for counting the election data of the selected blockchain node a, and the sum of the third values in the election data of the selected blockchain node a, that is, the total amount of the votes used for counting the election data of the selected blockchain node a are counted, for example, the sum of the second values in the election data of all the selected blockchain nodes a is x, and the sum of the third values is y. For each of the selected block chain nodes B and C, the sum of the respective second and third values is calculated similarly.
It is known that the second value is weighted by a and the third value is weighted by b. For the selected block chain node a, the election score l (a) of the block chain node a can be obtained according to the sum of the second numerical values and the weight of the second numerical values corresponding to the block chain node a, and the sum of the third numerical values and the weight of the third numerical values corresponding to the block chain node a as follows:
L(A)=a×x+b×y
similarly, election score l (B) for selected blockchain node B and election score l (C) for selected blockchain node C may be calculated. And sequencing the selected block chain nodes in the election data received in the round from high to low according to the election value, wherein if the sequencing result is L (A) is more than L (C) and more than L (B), the total weight of the election data of the selected block chain node A as the common-identification block chain node is greater than the total weight of the election data of the selected block chain node C as the common-identification block chain node, and the total weight of the election data of the selected block chain node B as the common-identification block chain node is greater than the total weight of the election data of the selected block chain node B as the common-identification block chain node. Selecting the first 2 corresponding block chain link points A, C as common identification block chain nodes, so that the common identification block chain nodes a and C sequentially execute block packing operation according to a preset rule in a new round, for example, in the new round, when the block chain node a executes the block packing operation in turn, the block chain node a reads data from the memory pool to be processed, packs the verified data into a block data structure and links the block data structure into the block chain database corresponding to the block chain node a, and broadcasts and informs other block chain nodes, so that the other block chain nodes synchronously link the same block data structure into the respective corresponding block chain databases, thereby realizing the uniform update of the block chain databases. The node B executes the block packing operation in turn to the block chain in the same way, and the description is omitted.
In the above embodiment, the implementation processes involved in operations S201-S202 of the method shown in fig. 2 may be performed by election intelligence contracts deployed in a blockchain database. When a predefined election condition is met, such as when a predefined round period ends, when a predefined block height reaches, etc., an election intelligence contract is triggered to start to perform operations of receiving election data and determining a consensus block chain node based on the election data as described in the above embodiments. It should be noted that, in the foregoing, various intelligent contracts are mentioned, such as vote issuing intelligent contracts, election intelligent contracts, and the like, and an intelligent contract is essentially code that can be triggered to execute, and is usually preset in a block chain database. And the intelligent contract stored in the block chain database is difficult to be tampered, so that the intelligent contract can be used for executing the preset code logic, and the execution process is not interfered by the block chain nodes. In this embodiment, different code logic is executed in a plurality of different operations using the intelligent contracts, where the different code logic may be executed by different intelligent contracts or may be executed by the same intelligent contract, and this is not limited. In short, the intelligent contract is used for ensuring that the block chain link points execute the preset code logic and preventing the block chain link points from doing malicious actions.
According to the embodiment, the voting result can be influenced by the weight of the second numerical value and the weight of the third numerical value, so that the degree of influence of the digital currency and the votes on the voting result under the voting situation can be adjusted by controlling the weight of the second numerical value and the weight of the third numerical value, and the centralization trend and degree in the whole block chain network can be adjusted. In an embodiment of the present invention, the manner of obtaining the weight of the second value and the weight of the third value may be: counting the sum of the second numerical value and the sum of the third numerical value in the election data received in the round; determining the weight of the second value and the weight of the third value so as to satisfy: the product of the sum of the second values and the weight of the second values is equal to the product of the sum of the third values and the weight of the third values.
For example, at the start of a new round, the blockchain nodes holding digital currency and the blockchain nodes holding votes may participate together in the election process. In order to balance the degree of influence that the digital currency and the votes can exert on the election structure approximately, the ratio of the total weight of the digital currency used to the total weight of the votes used to all the election data received in the current round is 1 to 1 in this example. If 500 digital currencies are used for all the election data in the round and 100 votes are used for all the election data in the round, the weight of each digital currency is 0.5/500-0.001, the weight of each vote is 0.5/100-0.005, that is, the weight of the second numerical value is 0.001, and the weight of the third numerical value is 0.005. And the election intelligent contract receives election data sent by the block chain nodes holding the digital currency and the block chain link points holding the votes, and each piece of election data records information, a second numerical value and/or a third numerical value of the block chain node selected by the block chain link point sending the piece of election data. And calculating the election score corresponding to each selected block link point by the intelligent contract, sequencing all the selected block link points according to the election scores, and determining the first 100 selected block link points as the common identification block link points to carry out block production in turn in the next turn according to a preset rule.
After a new round of consensus blockchain nodes is determined, i.e., after the election process is over, the digital currency used in each election data may be returned to the blockchain node from which the election data originated. Votes used in each election data may be destroyed and not returned to the block link point from which the election data originated. Thus, the digital currency used in the election process can continue to be used by the block nodes to conduct transactions, while the votes used in the election process can no longer be used. To this end, in one embodiment of the present invention, the method shown in fig. 2 further includes, after operation S202: for a blockchain node issuing election data, when the election data contains a second numerical value, the balance of the first account of the blockchain node does not change due to the issuance of the election data, and when the election data contains a third numerical value, the balance of the second account of the blockchain node decreases due to the issuance of the election data. Specifically, for each blockchain node issuing election data, a fourth value is determined, wherein the fourth value is equal to the sum of the third values in the election data issued by the blockchain node in the current round, and the fourth value is used for representing the value reduced from the second account of the blockchain node. And sending the determined fourth value to other block chain nodes, so that each block chain node stores the fourth value in a corresponding block chain database.
For example, in the current round, the blockchain node a sends out 3 pieces of election data, the third value in the 1 st piece of election data is 8, the third value in the 2 nd piece of election data is 5, the third value in the 3 rd piece of election data is 0, the third value in each piece of election data represents the number of votes cast by the blockchain node a for the piece of election data, that is, the sum of the third values in the election data sent out by the blockchain node a in the current round is 13, that is, 13 votes are cast in total, and the 13 votes are used or invalid and cannot be used any more, so that it is determined that the fourth value is 13, which represents that 13 votes are reduced from the second account of the blockchain node a, that is, the number of votes held by the blockchain node a is reduced by 13. In order to make the process safer and more reliable, the identifier of the block chain node A and a fourth numerical value which represents that a certain numerical value is reduced from a second account of the block chain node A are broadcast to all the block chain nodes together, and all the block chain nodes are stored into a corresponding block chain database, so that the information of how many votes are used by all the block chain nodes in each round and how many votes are reduced in the second account is recorded in the block chain database, and the record cannot be tampered.
In one embodiment of the present invention, after determining the predetermined number of the consensus blockchain nodes, the method shown in fig. 2 further comprises: and generating a nonrepeating random number for each common identification block chain node, so that the common identification block chain nodes sequentially execute block packing operation for a preset number of times in a new round according to the sequence of the corresponding random numbers. For example, after the selected block chain nodes are sorted according to the election score from high to low, the first 100 block chain nodes are determined to be the common-identification block chain nodes, for each block chain node in the 100 block chain nodes, a random number which is not repeated and is 1-100 is generated, the random numbers corresponding to the block chain nodes are not repeated, and the block packing operation is sequentially performed in a new round from the block chain corresponding to 1 according to the sequence of the random numbers. The numerical values in the present example are illustrative examples and do not limit the present invention in any way. In this scheme, the new round and the current round may be two adjacent rounds, or two rounds separated by several rounds, for example, the current round is the 1 st round, the new round may be the 2 nd round, or the 3 rd round and the 4 th round … …, which is not limited herein, as long as the common block chain node of the following round is determined in the previous round.
Fig. 3 schematically shows a block diagram of a block chain consensus achieving apparatus according to an embodiment of the present invention.
As shown in fig. 3, the apparatus 300 for implementing blockchain consensus comprises: a receiving module 310 and a consensus module 320.
A receiving module 310, configured to receive election data sent by a blockchain node having a first account balance and/or a second account balance.
Wherein each piece of election data comprises: and sending the information of the block chain node selected by the block chain node of the election data.
A consensus module 320, configured to determine a consensus blockchain node from blockchain nodes selected by the election data based on the election data received in the round, so that the determined consensus blockchain node performs a block packing operation in a new round.
The value in the first account of each blockchain node is used for representing the number of the digital currency of the blockchain link point, and the value in the second account of each blockchain node is used for representing the number of the votes of the blockchain link point.
It can be seen that the apparatus shown in fig. 3 determines the consensus blockchain node from the election data sent by each blockchain node, specifically, the blockchain node sending the voting data is a blockchain node holding votes and/or digital currency, the election data includes information of the blockchain node selected by the blockchain node sending the election data, and the consensus blockchain node is determined from the blockchain nodes selected by each election data in one round. Compared with the scheme for determining the consensus block chain nodes in the prior art, the scheme does not need to consume computing resources of the block chain nodes, and because the scheme exerts influence on the election authority of the block chain link nodes in two modes of vote and digital currency, the block chain consensus can be effectively prevented from developing towards the centralized trend of digital currency gathering in a few block chain nodes, and the decentralized characteristic of a block chain network is maintained.
In one embodiment of the invention, the election data further comprises: a second value and/or a third value; for election data sent by each blockchain node, the sum of second numerical values in the election data is not greater than the first account balance of the blockchain node, and the sum of third numerical values in the election data is not greater than the second account balance of the blockchain node.
The consensus module 320 is further configured to obtain the weight of the second numerical value and the weight of the third numerical value, and based on the election data received in the current round, the mode of determining the consensus blockchain node from the blockchain nodes selected by the election data by the consensus module 320 may be: and counting the sum of the second numerical values corresponding to each selected block link point in the election data received in the round and the sum of the third numerical values corresponding to each selected block link point in the election data received in the round. For each selected block chain node, obtaining the election score of the block chain node according to the sum of the second numerical values and the weight of the second numerical values corresponding to the block chain node, and the sum of the third numerical values and the weight of the third numerical values corresponding to the block chain node; and sequencing selected block chain nodes in election data received in the round from high to low according to the election value, and determining the block chain nodes with the preset number as the common-identification block chain nodes, so that the common-identification block chain nodes sequentially execute block packing operation in a new round according to a preset rule.
The way for the consensus module 320 to obtain the weight of the second numerical value and the weight of the third numerical value may be: a consensus module 320, configured to count a sum of the second numerical values and a sum of the third numerical values in the election data received in the round; determining the weight of the second value and the weight of the third value so as to satisfy: the product of the sum of the second values and the weight of the second values is equal to the product of the sum of the third values and the weight of the third values.
Further, in an embodiment of the present invention, the votes are one-time, that is, the votes used in the election data sent by each blockchain node cannot be used again and need to be deducted from the second account of the corresponding blockchain node, so the consensus module 320 is further configured to determine, for each blockchain node sending the election data, a fourth value, where the fourth value is equal to the sum of the third values in the election data sent by the blockchain node in the current round, and the fourth value is used to represent the value reduced from the second account of the blockchain node; and sending the fourth numerical value to other block chain nodes so that each block chain node stores the fourth numerical value into the corresponding block chain database.
In an embodiment of the present invention, the consensus module 320 is further configured to generate a non-repeating random number for each consensus blockchain node after determining a predetermined number of consensus blockchain nodes, so that the consensus blockchain nodes sequentially perform the block packing operation for a preset number of times in a new round according to an order of the corresponding random numbers.
Fig. 4 schematically shows a block diagram of a block chain consensus achieving apparatus according to another embodiment of the present invention.
As shown in fig. 4, the apparatus 400 for implementing blockchain consensus comprises: a receiving module 310, a consensus module 320, and a vote issuing module 330.
The receiving module 310 and the consensus module 320 are already described above, and repeated parts are not described again, and on this basis, the receiving module 310 is further configured to receive transaction information sent by a blockchain node.
The vote issuing module 330 is configured to determine whether the transaction information meets a preset condition, and if so, determine a first numerical value, where the first numerical value is used to represent a numerical value added to a second account of a block chain node serving as a transaction provider corresponding to the transaction information; and sending the first numerical value to other block chain nodes so that each block chain node stores the first numerical value into a corresponding block chain database.
In an embodiment of the present invention, the vote issuing module 330 is configured to determine whether the transaction item corresponding to the transaction information belongs to a consumable resource; if so, monitoring whether the transaction object corresponding to the transaction information is used up as the block link point of the transaction object purchaser corresponding to the transaction information; if so, determining that the transaction information meets the preset condition.
Specifically, in one embodiment of the present invention, the consumable resources include at least one of: network traffic data resources, computational resources of the processor; and/or, the vote dispensing module 330 is configured to receive transaction feedback information sent by the block link point as the transaction purchaser, and determine whether the transaction is used up by the block link point as the transaction purchaser according to the transaction feedback information; or acquiring a use log of the transaction object, and judging whether the transaction object is used as the block link point of the transaction object purchaser completely according to the use log.
It should be noted that the implementation, solved technical problems, implemented functions, and achieved technical effects of each module/unit/subunit and the like in the apparatus part embodiment are respectively the same as or similar to the implementation, solved technical problems, implemented functions, and achieved technical effects of each corresponding step in the method part embodiment, and are not described herein again.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the invention may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present invention may be implemented by being divided into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present invention may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the present invention may be at least partially implemented as computer program modules, which, when executed, may perform the corresponding functions.
For example, any of the receiving module 310, the consensus module 320, and the vote issuing module 330 may be combined into one module for implementation, or any one of the modules may be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present invention, at least one of the receiving module 310, the consensus module 320, and the vote issuing module 330 may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware. Alternatively, at least one of the receiving module 310, the consensus module 320, and the vote issuing module 330 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
Fig. 5 schematically illustrates a block diagram of a computer system suitable for implementing a block chain consensus reaching method according to an embodiment of the present invention. The computer system illustrated in FIG. 5 is only an example and should not impose any limitations on the scope of use or functionality of embodiments of the invention.
As shown in fig. 5, a computer system 500 according to an embodiment of the present invention includes a processor 501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. The processor 501 may comprise, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 501 may also include onboard memory for caching purposes. Processor 501 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the present invention.
In the RAM 503, various programs and data necessary for the operation of the system 500 are stored. The processor 501, the ROM 502, and the RAM 503 are connected to each other by a bus 504. The processor 501 performs various operations of the method flow according to the embodiments of the present invention by executing programs in the ROM 502 and/or the RAM 503. Note that the programs may also be stored in one or more memories other than the ROM 502 and the RAM 503. The processor 501 may also perform various operations of method flows according to embodiments of the present invention by executing programs stored in the one or more memories.
According to an embodiment of the invention, system 500 may also include an input/output (I/O) interface 505, input/output (I/O) interface 505 also being connected to bus 504. The system 500 may also include one or more of the following components connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
According to an embodiment of the invention, the method flow according to an embodiment of the invention may be implemented as a computer software program. For example, embodiments of the invention include a computer program product comprising a computer program embodied on a computer-readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 509, and/or installed from the removable medium 511. The computer program, when executed by the processor 501, performs the above-described functions defined in the system of the embodiment of the present invention. The above described systems, devices, apparatuses, modules, units, etc. may be implemented by computer program modules according to embodiments of the present invention.
The present invention also provides a computer-readable medium, which may be embodied in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer readable medium carries one or more programs which, when executed, implement: the block chain consensus achieving method described in the above embodiments.
According to embodiments of the present invention, a computer readable medium may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, optical fiber cable, radio frequency signals, etc., or any suitable combination of the foregoing.
For example, according to embodiments of the invention, a computer-readable medium may include ROM 502 and/or RAM 503 and/or one or more memories other than ROM 502 and RAM 503 as described above.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be appreciated by a person skilled in the art that various combinations and/or combinations of features described in the various embodiments and/or in the claims of the invention are possible, even if such combinations or combinations are not explicitly described in the invention. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present invention may be made without departing from the spirit or teaching of the invention. All such combinations and/or associations fall within the scope of the present invention.
The embodiments of the present invention have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the invention is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the invention, and these alternatives and modifications are intended to fall within the scope of the invention.

Claims (7)

1. A method for achieving block chain consensus, comprising:
receiving election data issued by a block link node having a first account balance and/or a second account balance, the election data comprising: sending out information of the block chain node selected by the block chain link point of the election data;
determining a common-identification block chain node from the block chain nodes selected by the election data based on the election data received in the round, so that the common-identification block chain node performs block packing operation in a new round;
the numerical value in the first account of each block chain node is used for representing the number of the digital currency of the block chain link point, and the numerical value in the second account of each block chain node is used for representing the number of the votes of the block chain link point;
further comprising:
receiving transaction information sent by a blockchain node;
judging whether the transaction information meets a preset condition, if so, determining a first numerical value, wherein the first numerical value is used for representing a numerical value added to a second account of a block chain node of a transaction provider corresponding to the transaction information;
sending the first numerical value to other block chain nodes so that each block chain node stores the first numerical value into a corresponding block chain database;
wherein, the judging whether the transaction information meets the preset condition comprises:
judging whether the transaction article corresponding to the transaction information belongs to a consumable resource;
if so, monitoring whether the transaction object corresponding to the transaction information is used up as the block link point of the transaction object purchaser corresponding to the transaction information;
if so, determining that the transaction information meets the preset condition.
2. The method of claim 1, wherein:
the consumable resources include at least one of:
network traffic data resources, computational resources of the processor; and/or
The monitoring whether the transaction object corresponding to the transaction information is used as the block link point of the transaction object purchaser corresponding to the transaction information includes:
receiving transaction feedback information sent by the block chain node of the transaction object purchaser, and judging whether the transaction object is used up by the block chain node according to the transaction feedback information; or acquiring a use log of the transaction object, and judging whether the transaction object is used as the block link point of the transaction object purchaser completely according to the use log.
3. The method of claim 1, wherein the transaction information comprises at least one of transaction information, transaction provider information, and transaction purchaser information.
4. The method of claim 1, wherein:
the election data further comprises:
a second value and/or a third value; for election data sent by each blockchain node, the sum of second numerical values in the election data is not greater than the first account balance of the blockchain node, and the sum of third numerical values in the election data is not greater than the second account balance of the blockchain node;
the method further comprises the following steps: acquiring the weight of the second numerical value and the weight of the third numerical value;
the determining the common-recognition block link point from the block chain node selected by each election data based on the election data received in the current round includes:
counting the sum of the second numerical values corresponding to each selected block link point in the election data received in the round and the sum of the third numerical values corresponding to each selected block link point in the election data received in the round;
for each selected block chain node, obtaining the election score of the block chain node according to the sum of the second numerical values and the weight of the second numerical values corresponding to the block chain node, and the sum of the third numerical values and the weight of the third numerical values corresponding to the block chain node;
and sequencing selected block chain nodes in election data received in the round from high to low according to the election value, and determining the block chain nodes with the preset number as the common-identification block chain nodes, so that the common-identification block chain nodes sequentially execute block packing operation in a new round according to a preset rule.
5. The method of claim 4, wherein obtaining the weight of the second value and the weight of the third value comprises:
counting the sum of the second numerical value and the sum of the third numerical value in the election data received in the round;
determining the weight of the second value and the weight of the third value so as to satisfy: the product of the sum of the second values and the weight of the second values is equal to the product of the sum of the third values and the weight of the third values.
6. The method of claim 4, further comprising:
for each blockchain node sending election data, determining a fourth numerical value, wherein the fourth numerical value is equal to the sum of third numerical values in the election data sent by the blockchain node in the current round, and the fourth numerical value is used for representing a numerical value reduced from a second account of the blockchain node;
and sending the fourth numerical value to other block chain nodes so that each block chain node stores the fourth numerical value into a corresponding block chain database.
7. The method of claim 4, further comprising:
after a predetermined number of common identification block chain nodes are determined, a non-repeated random number is generated for each common identification block chain node, so that the common identification block chain nodes sequentially execute block packing operation for a preset number of times in a new round according to the sequence of the corresponding random numbers.
CN201810438727.6A 2018-05-09 2018-05-09 Block chain consensus achieving method Active CN108596623B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810438727.6A CN108596623B (en) 2018-05-09 2018-05-09 Block chain consensus achieving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810438727.6A CN108596623B (en) 2018-05-09 2018-05-09 Block chain consensus achieving method

Publications (2)

Publication Number Publication Date
CN108596623A CN108596623A (en) 2018-09-28
CN108596623B true CN108596623B (en) 2021-02-02

Family

ID=63636795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810438727.6A Active CN108596623B (en) 2018-05-09 2018-05-09 Block chain consensus achieving method

Country Status (1)

Country Link
CN (1) CN108596623B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598506B (en) * 2018-11-02 2023-06-09 克洛斯比尔有限公司 Method, system, computing device and computer readable storage medium for precisely delaying encryption of blockchain
CN109600230B (en) * 2018-11-27 2021-07-27 柯优兔区块链研究(广州)中心(有限合伙) System and method for realizing block chain consensus mechanism
CN109660545B (en) * 2018-12-27 2021-04-09 北京新唐思创教育科技有限公司 Alliance chain consensus method and computer storage medium
CN109727132B (en) * 2018-12-28 2021-03-23 合肥达朴汇联科技有限公司 Method and device for acquiring block chain consensus node, electronic equipment and storage medium
CN109803009A (en) * 2019-01-11 2019-05-24 深圳万骍能源有限公司 Distributed scheduling method and system based on block chain
CN110061887B (en) 2019-03-07 2020-08-25 阿里巴巴集团控股有限公司 Block chain-based traffic statistical method, device and equipment
CN110533402B (en) * 2019-08-22 2023-01-03 珠海得分金融科技有限公司 Billing consensus method and system for heterogeneous system
CN110704464B (en) * 2019-09-12 2022-07-08 广州蚁比特区块链科技有限公司 Method and device for processing bifurcation problem
CN111414420B (en) * 2020-03-17 2023-05-26 重庆邮电大学 Improved PBFT block chain consensus method
CN112487102B (en) * 2020-12-15 2024-03-19 深圳前海微众银行股份有限公司 Block chain data processing method and device and electronic equipment
CN112738196B (en) * 2020-12-25 2021-11-30 卓尔智联(武汉)研究院有限公司 Block chain representative node selection method and device, computer equipment and storage medium
CN112396357B (en) * 2021-01-12 2021-04-30 电子科技大学 Consensus method applied to personnel assessment system based on block chain
CN112954009B (en) * 2021-01-27 2023-05-02 咪咕音乐有限公司 Block chain consensus method, equipment and storage medium
CN113452747B (en) * 2021-05-13 2022-12-16 西安电子科技大学 Extensible and safe consensus method, system, storage medium and intelligent terminal
CN117455473A (en) * 2022-07-07 2024-01-26 汇丰软件开发(广东)有限公司 Modular analysis method for common algorithm in central office digital currency system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124403A (en) * 2017-04-14 2017-09-01 朱清明 The generation method and computing device of common recognition block in block chain
CN107341660A (en) * 2017-05-27 2017-11-10 唐盛(北京)物联技术有限公司 A kind of block chain bottom common recognition mechanism and the block catenary system based on the common recognition mechanism
CN107360248A (en) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 For configuring the method and apparatus locally known together and computer-readable recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150150079A1 (en) * 2013-11-26 2015-05-28 Bluecat Networks Inc. Methods, systems and devices for network security

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124403A (en) * 2017-04-14 2017-09-01 朱清明 The generation method and computing device of common recognition block in block chain
CN107341660A (en) * 2017-05-27 2017-11-10 唐盛(北京)物联技术有限公司 A kind of block chain bottom common recognition mechanism and the block catenary system based on the common recognition mechanism
CN107360248A (en) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 For configuring the method and apparatus locally known together and computer-readable recording medium

Also Published As

Publication number Publication date
CN108596623A (en) 2018-09-28

Similar Documents

Publication Publication Date Title
CN108596623B (en) Block chain consensus achieving method
CN108665363B (en) Block chain consensus achieving device
US11483129B2 (en) Method and apparatus for reaching blockchain consensus
CN108648082B (en) Computer system for block chain consensus achievement
CN108629588B (en) Computer readable medium for block chain consensus achievement
US20220038289A1 (en) Multi-access edge computing node with distributed ledger
TWI754133B (en) Dual transaction method and system based on centralization and decentralization
Pasdar et al. Connect api with blockchain: A survey on blockchain oracle implementation
CN109146490B (en) Block generation method, device and system
CN108833398A (en) A kind of block chain intelligence contract update method, device and equipment
CN113395363B (en) Data processing method, device and equipment based on block chain and storage medium
CN109379382A (en) Data managing method, device, medium and the electronic equipment of block catenary system
CN112055023B (en) Access request processing method, device, equipment and medium based on prediction machine
CN110597916B (en) Data processing method and device based on block chain, storage medium and terminal
CN111309745B (en) Virtual resource processing method and device, electronic equipment and storage medium
CN109727132B (en) Method and device for acquiring block chain consensus node, electronic equipment and storage medium
US10078851B2 (en) Systems and methods for leveraging social queuing to identify and prevent ticket purchaser simulation
CN110517020A (en) The node of project development method and block chain network based on block chain network
US20240146553A1 (en) Registration and Execution Methods and Apparatuses of Timed Smart Contract in Blockchain
CN112837157A (en) Method, device and system for registering and executing timing intelligent contract in block chain
CN109859031A (en) A kind of information processing method, node and the storage medium of block chain network
CN112866282A (en) Method and device for verifying time information in block chain
CN111222885B (en) Data processing request endorsement method and device, computer equipment and storage medium
CN110033367A (en) Based on the contract record method and device of block chain, electronic equipment
CN112991027A (en) Bidding information processing method, device, equipment and medium based on block chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant