CN111008835B - Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain - Google Patents

Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain Download PDF

Info

Publication number
CN111008835B
CN111008835B CN201811169835.4A CN201811169835A CN111008835B CN 111008835 B CN111008835 B CN 111008835B CN 201811169835 A CN201811169835 A CN 201811169835A CN 111008835 B CN111008835 B CN 111008835B
Authority
CN
China
Prior art keywords
data
transaction verification
verification node
determining
user
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
CN201811169835.4A
Other languages
Chinese (zh)
Other versions
CN111008835A (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.)
Shanghai Pailian Information Technology Co ltd
Original Assignee
Shanghai Pailian Information 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 Shanghai Pailian Information Technology Co ltd filed Critical Shanghai Pailian Information Technology Co ltd
Priority to CN201811169835.4A priority Critical patent/CN111008835B/en
Publication of CN111008835A publication Critical patent/CN111008835A/en
Application granted granted Critical
Publication of CN111008835B publication Critical patent/CN111008835B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Embodiments of the present disclosure relate to a method, apparatus, computer-readable storage medium, and computer program product for determining a transaction verification node of a blockchain. The method comprises the following steps: comprising the following steps: acquiring a hash value of competing data of a user, wherein the user applies for a transaction verification node which becomes a next Epoch (Epoch), and the competing data at least comprises an identification of the user, a public key and betting data; in response to confirming that the first predetermined time is reached, confirming whether the competing data of the user is verified based on the hash value; ranking the wagering data in the validated competitive data; and determining a transaction verification node for the next Epoch based on the ordered wager data and a predetermined threshold for the number of transaction verification nodes for the next Epoch.

Description

Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain
Technical Field
Embodiments of the present disclosure relate generally to blockchain management methods and, in particular, relate to methods, devices, computer storage media, and computer program products for determining a transaction verification node of a blockchain.
Background
The blockchain has the technical advantages of decentralization, non-tampering, traceability and the like, so that the blockchain has wide application prospect in various fields of finance, asset management and the like. The transaction verification node of the blockchain plays a vital role in verifying the integrity and authenticity of the transaction information and may be rewarded with computing resources wagered during the verification transaction. The incentive is, for example, digital currency.
Conventional schemes for determining a transaction verification node for a blockchain are, for example: the transaction verification node is manually selected or designated in a ticket-like manner, e.g., by manually determining super nodes of the blockchain, based on how much the amount of wager is applied to be a candidate user for the transaction verification node.
In the conventional scheme for determining the transaction verification node of the blockchain, human intervention has more factors, which is unfavorable for decentralization and participation of more trusted users in the transaction verification process. In addition, the conventional scheme of determining the transaction verification node cannot be automatically performed, which is disadvantageous in improving the efficiency and fairness of determining the transaction verification node.
In view of this, there is a need for improvements in conventional schemes for determining transaction verification nodes of blockchains in order to increase the efficiency of determining transaction verification nodes and to guarantee the decentralised nature of the transaction verification process.
Disclosure of Invention
The present disclosure provides a method and apparatus for determining a transaction verification node of a blockchain, which can ensure that the transaction verification node dynamically joins and exits, thereby improving fairness in determining the transaction verification node and stability of the blockchain.
According to a first aspect of the present disclosure, a method for determining a transaction verification node of a blockchain is provided. The method comprises the following steps: acquiring a hash value of competing data of a user, wherein the user applies for a transaction verification node which becomes a next Epoch (Epoch), and the competing data at least comprises an identification of the user, a public key and betting data; in response to confirming that the first predetermined time is reached, confirming whether the competing data of the user is verified based on the hash value; ranking the wagering data in the validated competitive data; and determining a transaction verification node for the next Epoch based on the ordered wager data and a predetermined threshold for the number of transaction verification nodes for the next Epoch.
According to a second aspect of the present invention there is also provided an apparatus for determining a transaction verification node of a blockchain. The apparatus includes: a memory configured to store one or more programs; a processing unit coupled to the memory and configured to execute the one or more programs to cause the authentication device to perform the method of the first aspect of the present disclosure.
According to a third aspect of the present disclosure, a non-transitory computer-readable storage medium is provided. The non-transitory computer-readable storage medium has stored thereon machine-executable instructions that, when executed, cause a machine to perform the method of the first aspect of the present disclosure.
According to a fourth aspect of the present disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions that, when executed, cause a machine to perform the method of the first aspect of the present disclosure.
The summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to be used to limit the scope of the disclosure.
Drawings
FIG. 1 illustrates a schematic diagram of a structure of a decentralized blockchain network 100;
FIG. 2 illustrates a flowchart of a method 200 for determining a transaction verification node of a blockchain in accordance with embodiments of the present disclosure;
FIG. 3 illustrates a flow chart of a method 300 of managing transaction verification nodes for blockchains in accordance with the present disclosure; and
Fig. 4 schematically illustrates a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure.
Like or corresponding reference characters indicate like or corresponding parts throughout the several views.
Detailed Description
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present disclosure are illustrated in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The term "comprising" and variations thereof as used herein means open ended, i.e., "including but not limited to. The term "or" means "and/or" unless specifically stated otherwise. The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment. The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like, may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As described above, in the conventional scheme for determining the transaction verification node of the blockchain, the transaction verification node is manually selected or designated, which is disadvantageous in terms of decentralization and improvement of efficiency and fairness in determining the transaction verification node.
To at least partially address one or more of the above problems, as well as other potential problems, example embodiments of the present disclosure propose a scheme for determining a transaction verification node of a blockchain. In the scheme, a hash value of competing data of a user is obtained, wherein the user applies to be a transaction verification node of the next Epoch (Epoch), and the competing data at least comprises an identification of the user, a public key and betting data; in response to confirming that the first predetermined time is reached, confirming whether the competing data of the user is verified based on the hash value; ranking the wagering data in the validated competitive data; and determining a transaction verification node for the next Epoch based on the ordered wager data and a predetermined threshold for the number of transaction verification nodes for the next Epoch.
In the scheme, the user identification, the public key and the betting data provided by the user for competing the transaction verification node of the next Epoch are verified based on the hash value of the competing data of the user, so that the authenticity and the untampered state of the competing data of the transaction verification node of the next Epoch can be ensured; and can be made to not cause mutual odds by knowing each other's betting data in advance by first acquiring a hash value of the competing data of the users. Further, by verifying the user and ordering the wagering data in response to the confirmation reaching the first predetermined time; and determining the user selected as the transaction verification node based on the ordered betting data and the preset threshold value of the transaction verification node number, so that the dynamic joining and exiting processes of the transaction verification node can be automatically started, and the threshold value of the blockchain on the transaction verification node number can be considered when the transaction verification node is determined, so that more users become the transaction verification node, the decentralization characteristic of the blockchain transaction verification process is guaranteed, and the system stability and the efficiency of the transaction verification process are improved.
Fig. 1 shows a schematic diagram of an decentralized network 100. As shown in fig. 1, network 100 includes N network nodes 110-1, 110-2, 110-3 … … -110-M, 110-m+1 through 110-N (hereinafter also sometimes collectively referred to as nodes 110), each user device in nodes 110 being associated with a corresponding user. The users include, for example, 140-1, 140-2, 140-3 … …, 140-M, 140-M+1 through 140-N (hereinafter sometimes collectively referred to as users 140). Wherein M, N are natural numbers. Nodes 110 are connected by a network 120.
In some embodiments, the number of transaction verification nodes in blockchain 100 generally does not change during an Epoch (i.e., an Epoch representing the same set of selected transaction verification nodes that in turn represent a period of time of a network-wide production block, such as one month). For example, in the present Epoch, nodes 110-1, 110-2, 110-3 … …, 110-M are determined to be transaction verification nodes. Assume that node 110-1 generates a new proposed block based on transactions in the network, node 110-1 broadcasts the new proposed block to network 100, and nodes 110-2, 110-3 … …, 110-M verify and vote on the proposed block after receiving the proposed block for the transaction. If the voting results meet the consensus mechanism of the blockchain, then the proposed block is appended at the end of the original blockchain if it is confirmed that consensus has been achieved for the proposed block. Generally, the transaction verification nodes 110-1, 110-2, 110-3 … …, 110-M in the present Epoch receive a certain incentive for participating in the operations of packaging, verification, etc. of the transaction block.
In order to ensure that the transaction verification node can dynamically join and exit without affecting the functions of the blockchain Epoch, the transaction verification node of the next Epoch needs to be determined when the next Epoch is ready to enter, so that the transaction verification node is rotated. At this time, the user who applies to become the next Epoch will use it to submit the competition data of the nodes for participating in the competition transaction verification to the blockchain. In some embodiments, the user's competing data is, for example { address, public key, number of bets, hash value (Hash) }. The address of the user is, for example, an account identifier of the user on the blockchain, and is used for identifying the transaction verification node. The user has a corresponding private key and public key, wherein the private key of the user is stored by the user himself for signing the message. The public key is used by the user to verify the signed message, i.e. to verify whether the message was issued or approved via the transaction verification node or the user. The wagering data is wagering data indicative of the wagering data provided by the user as a transaction verification node, such as digital currency. The user's identification, public key, and wagering data typically do not change in each Epoch.
In some embodiments, the process of determining the transaction verification node for the next Epoch is generally divided into three phases. In a first stage, a user desiring to apply for a transaction verification node that becomes the next Epoch first sends a hash value of its competing data (e.g., including at least: user identification, public key, and wager data) to one or more devices in the blockchain (e.g., device 400 shown in FIG. 4) of the transaction verification node that are used to determine the blockchain, to indicate that the user sending the hash value of the competing data is involved in competing for the transaction verification node of the next Epoch. In the second stage, it is confirmed whether the competing data sent by the user is verified based on the aforementioned hash value, so as to ensure the authenticity of the competing data sent by the user participating in the competition, without tampering. In a third stage, the transaction verification node for the next Epoch is determined based on the wager data in the competitive data issued by the authenticated user and a predetermined threshold value for the number of transaction verification nodes for the next Epoch. For example, by the above three phases of determining the transaction verification node for the next Epoch, the nodes 110-M, 110-M+1 through 110-N associated with the users 140-M, 140-M+1 through 140-N, respectively, are determined to be the transaction verification node for the next Epoch for verification and voting of the proposed block associated with the transaction during the next Epoch. As previously discussed, by adopting the above scheme, the transaction verification node can dynamically join and exit, and the fairness of determining the transaction verification node and the stability of the blockchain can be improved.
Schemes for determining a transaction verification node for a blockchain according to embodiments of the present disclosure will be described below in conjunction with fig. 2-4. Fig. 2 illustrates a flowchart of a method 200 for determining a transaction verification node of a blockchain in accordance with embodiments of the present disclosure. It should be appreciated that the method 200 may be performed, for example, at the electronic device 400 depicted in fig. 4. For ease of discussion, the method 200 will be described with reference to the nodes of the decentralized network 100 as shown in fig. 1, without loss of generality. It should be understood that method 200 may also include additional acts not shown and/or may omit acts shown, the scope of the present disclosure being not limited in this respect.
At 202, a hash of competing data of a user is obtained, wherein the user applies for a transaction verification node that becomes the next Epoch (Epoch), the competing data including at least an identification of the user, a public key, and wagering data. In some embodiments, in response to reaching the second predetermined time, a hash of the address, public key, and wager amount of the user applying to become the transaction verification node for the next Epoch is obtained. Wherein the second predetermined time is, for example and without limitation, 75% of the period of the present Epoch. Of course, the second predetermined time may be set to other values as needed. In the scheme, by acquiring the hash value in the competition data of the user after the second preset time is reached, on one hand, the determining and rotation process of the transaction verification node of the next Epoch can be automatically started at the preset time in the later stage of the Epoch, and on the other hand, by firstly acquiring the hash value of the competition data of the user instead of directly acquiring the competition data comprising the betting data, the user and the transaction verification node of the next Epoch can be known in advance, and unnecessary climbing can not be caused because the betting data of the user is disclosed prematurely.
At 204, in response to confirming that the first predetermined time is reached, it is confirmed whether the competing data of the user is verified based on the hash value. In some embodiments, after the first predetermined time is reached, in response to confirming that the user's competitive data is validated, wagering data in the competitive data is obtained; and deleting the competing data of the user in response to confirming that the competing data of the user is not verified. In the above-described scheme, by verifying the competing data of the corresponding user using the previously acquired hash value of the competing data, it is possible to confirm the authenticity of the competing data of the user and whether or not it is not tampered with, so as to prevent malicious data. In some embodiments, the first predetermined time is any time between 85% and 95% of the period of the present Epoch. For example 85% of the period of the present Epoch. In the scheme, after the first preset time of the Epoch is reached, the competitive data of the user is verified, so that the system is beneficial to timely completing the competitive data verification process of the user, and meanwhile, interference to the transaction verification process of the Epoch is avoided.
At 206, the wagering data in the validated competition data is ranked. Regarding the sort wager data, in some embodiments, the method 200 further comprises: the betting data for the present Epoch is acquired for the transaction verification node that does not perform transaction verification in the present Epoch, so as to be ordered together with the betting data through verification of the user who applies to become the transaction verification node of the next Epoch. By adopting the technical means, the transaction verification node which does not perform verification and voting in the Epoch can participate in competition and sequencing of the transaction verification node of the next Epoch based on the betting data of the Epoch.
At 208, a transaction verification node for the next Epoch is determined based on the ordered wager data and a predetermined threshold for the number of transaction verification nodes for the next Epoch. In some embodiments, the predetermined threshold comprises a first predetermined threshold and a second predetermined threshold, wherein the first predetermined threshold indicates a minimum number of transaction verification nodes for a next Epoch and the second predetermined threshold indicates a maximum number of transaction verification nodes for a next Epoch. In some embodiments, a first predetermined threshold is determined based on system stability of the blockchain; and determining a second predetermined threshold based on the performance limit of the blockchain. For example, determining a minimum number of transaction verification nodes for a next Epoch based on the blockchain decentralised performance requirements; based on the transaction verification efficiency of the blockchain and the requirement of a consensus mechanism, the maximum number of transaction verification nodes of the next Epoch is determined.
Regarding the transaction verification node that is determined to be the next Epoch, in some embodiments, it further includes: in response to confirming that the number of ordered wager data is greater than the second predetermined threshold, selecting the number of users of the second predetermined threshold as transaction verification nodes for the next Epoch based on the ordered order. For example, assuming that the number of ordered, validated wager data is 24, which are a 1,a2……a24 in the order of from big to small, respectively, and the second predetermined threshold is 18, 18 users are selected as transaction verification nodes for the next Epoch in the order of from big to small wager data, i.e., 18 users associated with wager data a 1,a2……a18 are transaction verification nodes for the next Epoch. In some embodiments, in response to confirming that the number of ordered wager data is greater than or equal to a first predetermined threshold and less than or equal to a second predetermined threshold, the user associated with the validated competitive data is determined to be the transaction verification node for the next Epoch. By adopting the technical means, when the number of the authenticated users is between the maximum number and the minimum number of the blockchain transaction authentication nodes, all the authenticated users are determined to be the transaction authentication nodes of the next Epoch, and/or when the number of the authenticated users exceeds the maximum number of the blockchain transaction authentication nodes, the maximum number of the authenticated users is selected to be the transaction authentication nodes of the next Epoch. And further, under the condition of considering the performance of the blockchain (such as transaction verification or efficiency of forming consensus), more trusted users can participate in the transaction verification, and the decentralization of the blockchain is ensured. In some embodiments, in response to reaching 95% of the current Epoch period, a transaction verification node for the next Epoch is determined.
In some embodiments, the method 200 further comprises a management method for the transaction verification node. So as to ensure that all rewards associated with generating blocks and packaging transactions can be effectively distributed to all transaction verification nodes.
A management method for a transaction verification node according to an embodiment of the present disclosure will be described below in connection with fig. 3. Fig. 3 illustrates a flow chart of a method 300 of managing transaction verification nodes for blockchains in accordance with the present disclosure. It should be appreciated that the method 300 may be included in the method 200 depicted in fig. 2 for management of a determined transaction verification node. The method 300 may also be used for management of transaction verification nodes as determined via other methods of determining transaction verification nodes. Additionally, the method 300 may be performed at the electronic device 400 depicted in fig. 4. For ease of discussion, the method 300 will be described with reference to the node 110 of the decentralized network 100 as shown in fig. 1, without loss of generality. In addition, it should be understood that method 300 may also include additional acts not shown and/or may omit acts shown, the scope of the present disclosure being not limited in this respect.
At 302, wager data for all transaction verification nodes for the same Epoch is ordered. In some embodiments, the wagering data for all transaction verification nodes for the present Epoch is ordered. For example, the wager data for n transaction verification nodes ordered in the order from big to small is a 1, a2……an. Where n is, for example, a natural number.
At 304, among the ordered wager data, the wager data for the predetermined ordering location is selected. In some embodiments, the wager data at the predetermined ranking position is wager data at a middle of the ranking. For example, the selected wager data at the predetermined ranking position is wager data a n/2 at the middle of the ranking.
At 306, incentive data for each transaction verification node is determined based on the wager data for each transaction verification node and the wager data for the predetermined ordering positions such that the ratio of incentive data to wager data decays as the wager data increases. In the scheme, the ratio of the incentive data of each transaction verification node to the bet data of the transaction verification node is attenuated along with the increase of the bet data, so that the incentive data obtained by the transaction verification node and the bet data of the transaction verification node can be effectively ensured to be hooked, but the incentive is not excessively inclined to the transaction verification node with more bet data, and the rewards corresponding to the generation block and the packaged transaction can be effectively distributed to all the transaction verification nodes.
In some embodiments, determining incentive data for each transaction verification node includes: smoothing the ratio of the wager data of each transaction verification node to the wager data of the predetermined ordering location; determining an incentive duty cycle of incentive data of each transaction verification node to total incentive data based on the smoothed ratio; and determining incentive data for each transaction verification node based on the incentive duty cycle. In some embodiments, wherein determining the excitation duty further comprises: the excitation duty is determined via a normalization process based on the smoothed ratio.
For example, after the betting data a n/2 of the predetermined sorting position (i.e., sorting middle position) is acquired, the ratio X of the betting data a x of the xth (X < n, n is the number of transaction verification nodes) to the betting data a n/2 of the middle position (i.e., x=a x/an/2) of the transaction verification node is calculated.
Then smoothing the ratio X. In practice, the smoothing process may be performed based on a variety of smoothing formulas, such as, but not limited to, smoothing the above-described ratio X by a sigmoid function. For example, the value X is smoothed based on a smoothing formula shown in the following formula (1), and the smoothed ratio D x is obtained. The following smoothing formula (1) can be derived from 1/(1+e -ln(x)).
Then, based on the smoothed ratio D x, normalization processing is performed to obtain the excitation duty P x of excitation data of the x-th transaction verification node with respect to the total excitation data. The excitation duty P x can be calculated by the following formula (2), for example. In the formula (2), D k represents a ratio of the betting data a k of the transaction verification node of the k-th rank, which is the integer between 0 and N, which is subjected to the smoothing processing, to the betting data a n/2 of the intermediate position.
The incentive data for each tile for each transaction verification node is then determined based on the incentive duty cycle P x of the incentive data for each transaction verification node to total incentive data and the total incentive data R for each tile. The incentive data R x obtained by each transaction verification node as a result of generating each tile and packaging the transaction can be calculated, for example, based on the following equation (3).
Rx=Px·R (3)
In the above-described scheme, the incentive data of each transaction verification node is determined by smoothing the ratio of the wager data of each transaction verification node to the wager data of the predetermined ordering positions. The method can effectively ensure that the total incentive data can be effectively distributed to all transaction verification nodes, ensure that the incentives obtained by the transaction verification nodes are related to the betting data, but are not in linear proportion, further avoid unfair phenomenon of higher incentives due to excessively high betting quantity, and facilitate more transaction verification nodes to obtain incentives.
Fig. 4 schematically illustrates a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure. The apparatus 400 may be used to implement a system that performs the method 200 for determining a blockchain transaction verification node, and the management method 300 for a blockchain transaction verification node shown in fig. 2. As shown in fig. 4, the apparatus 400 includes a Central Processing Unit (CPU) 401, which may perform various suitable actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM) 402 or loaded from a storage unit 408 into a Random Access Memory (RAM) 403. In RAM403, various programs and data required for the operation of device 400 may also be stored. The CPU 401, ROM 402, and RAM403 are connected to each other by a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Various components in device 400 are connected to I/O interface 405, including: an input unit 406 such as a keyboard, a mouse, etc.; an output unit 407 such as various types of displays, speakers, and the like; a storage unit 408, such as a disk, optical disk, etc.; and a communication unit 409 such as a network card, modem, wireless communication transceiver, etc. The communication unit 409 allows the device 400 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processing unit 401 performs the various methods and processes described above, such as performing the method 200 for determining a blockchain transaction verification node, and the management method 300 for a blockchain transaction verification node. For example, in some embodiments, methods 200 and 300 may be implemented as a computer software program stored on a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 400 via the ROM 402 and/or the communication unit 409. One or more of the operations of the method 100 described above may be performed when the computer program is loaded into RAM 403 and executed by CPU 401. Alternatively, in other embodiments, CPU 401 may be configured to perform one or more actions of methods 300, 400, and 500 in any other suitable manner (e.g., by means of firmware).
It is further noted that the present disclosure may be methods, apparatus, systems, and/or computer program products. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for performing aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as SMALLTALK, C ++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 and/or flowchart illustration, and combinations of blocks in the block diagrams and/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.
The foregoing description of the embodiments of the present disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvements in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
The above is merely an optional embodiment of the disclosure, and is not intended to limit the disclosure, and various modifications and variations may be made by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. that fall within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (13)

1. A method for determining a transaction verification node of a blockchain, comprising:
Obtaining a hash value of competing data of a user, wherein the user applies to become a transaction verification node of the next Epoch, and the competing data at least comprises an identification of the user, a public key and betting data;
In response to confirming that a first predetermined time is reached, confirming whether the competing data of the user is verified based on the hash value;
ranking the wager data in the validated competitive data; and
Determining a transaction verification node for the next Epoch based on the ordered, verified wager data and a predetermined threshold for the number of transaction verification nodes for the next Epoch,
Wherein the predetermined threshold comprises a first predetermined threshold and a second predetermined threshold, wherein the first predetermined threshold indicates a minimum number of transaction verification nodes for the next Epoch and the second predetermined threshold indicates a maximum number of transaction verification nodes for the next Epoch, wherein determining the transaction verification nodes for the next Epoch comprises:
Selecting a number of users of the second predetermined threshold as transaction verification nodes of the next Epoch based on the ranked order in response to confirming that the number of the ranked, verified wager data is greater than the second predetermined threshold; and
In response to confirming that the number of ordered, validated wager data is greater than or equal to the first predetermined threshold and less than or equal to the second predetermined threshold, determining a user associated with the validated competing data as a transaction validation node for the next Epoch.
2. The method of claim 1, further comprising:
And acquiring the betting data for the current Epoch, which is used for the transaction verification node not performing transaction verification in the current Epoch, so as to be ranked together with the betting data which passes verification and is applied for the user of the transaction verification node which becomes the next Epoch.
3. The method of claim 1, wherein the first predetermined time is any time between 85% and 95% of the period of the present Epoch.
4. The method of claim 1, wherein obtaining a hash value of competing data of the user comprises:
And acquiring a hash value of the competing data of the user in response to the arrival of a second predetermined time.
5. The method of claim 1, further comprising:
determining the first predetermined threshold based on system stability of the blockchain; and
The second predetermined threshold is determined based on a performance limit of the blockchain.
6. The method of claim 1, wherein determining a transaction verification node for the next Epoch comprises:
and determining the transaction verification node of the next Epoch in response to reaching 95% of the period of the present Epoch.
7. The method of claim 1, further comprising:
ordering the betting data of all transaction verification nodes of the same Epoch;
selecting betting data of a preset sorting position from the sorted betting data; and
Incentive data for each transaction verification node is determined based on the wager data for each transaction verification node and the wager data for the predetermined ordering position such that a ratio of the incentive data to the wager data decays as the wager data increases.
8. The method of claim 7, wherein the wagering data at the predetermined ranking position is wagering data at a ranking intermediate position.
9. The method of claim 7, wherein determining incentive data for each transaction verification node comprises:
Smoothing the ratio of the wager data of each transaction verification node to the wager data of the predetermined ordering location; and
Determining an incentive duty cycle of incentive data of each transaction verification node to total incentive data based on the smoothed ratio; and
The incentive data for each transaction verification node is determined based on the incentive duty cycle.
10. The method of claim 9, wherein determining the excitation duty cycle further comprises:
the excitation duty is determined via a normalization process based on the smoothed ratio.
11. An apparatus for determining a transaction verification node of a blockchain, the apparatus comprising:
a memory configured to store one or more computer programs;
A processing unit coupled to the memory and configured to execute the one or more programs to cause the device to perform the method of any of claims 1-10.
12. A non-transitory computer readable storage medium having stored thereon machine executable instructions that when executed cause a machine to perform the steps of the method according to any of claims 1-10.
13. A computer program product tangibly stored on a non-transitory computer readable storage medium and comprising machine executable instructions that, when executed, cause a machine to perform the steps of the method according to any one of claims 1-10.
CN201811169835.4A 2018-10-08 2018-10-08 Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain Active CN111008835B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811169835.4A CN111008835B (en) 2018-10-08 2018-10-08 Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811169835.4A CN111008835B (en) 2018-10-08 2018-10-08 Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain

Publications (2)

Publication Number Publication Date
CN111008835A CN111008835A (en) 2020-04-14
CN111008835B true CN111008835B (en) 2024-05-28

Family

ID=70111562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811169835.4A Active CN111008835B (en) 2018-10-08 2018-10-08 Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain

Country Status (1)

Country Link
CN (1) CN111008835B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419823B (en) * 2021-06-22 2023-07-18 东北大学 Alliance chain system suitable for high concurrency transaction and design method thereof
CN117974146B (en) * 2024-03-28 2024-06-07 好瑞圣(常州)科技有限公司 Block chain-based data processing method and device and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077674A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 Transaction verification processing method and device and node equipment
CN107566124A (en) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 Common recognition method for building up, block catenary system and storage medium based on lottery mechanism
WO2018100371A1 (en) * 2016-11-29 2018-06-07 R3, Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
CN108243250A (en) * 2018-01-05 2018-07-03 无锡井通网络科技有限公司 A kind of fragment fast selecting method based on distributed network
CN108305156A (en) * 2017-12-29 2018-07-20 重庆金融资产交易所有限责任公司 Real time bid method, apparatus, equipment and storage medium based on block chain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180253702A1 (en) * 2015-11-24 2018-09-06 Gartland & Mellina Group Blockchain solutions for financial services and other transactions-based industries

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018100371A1 (en) * 2016-11-29 2018-06-07 R3, Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
CN107077674A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 Transaction verification processing method and device and node equipment
WO2018119930A1 (en) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 Transaction verification processing method, apparatus and node device
CN107566124A (en) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 Common recognition method for building up, block catenary system and storage medium based on lottery mechanism
CN108305156A (en) * 2017-12-29 2018-07-20 重庆金融资产交易所有限责任公司 Real time bid method, apparatus, equipment and storage medium based on block chain
CN108243250A (en) * 2018-01-05 2018-07-03 无锡井通网络科技有限公司 A kind of fragment fast selecting method based on distributed network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bitcoin-NG: A Scalable Blockchain Protocol;Ittay Eyal etc;the 13th USENIX Symposium on Networked Systems Design and Implementation;全文 *

Also Published As

Publication number Publication date
CN111008835A (en) 2020-04-14

Similar Documents

Publication Publication Date Title
CN110855432B (en) Asynchronous BFT &amp; DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions
WO2017109140A1 (en) Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
CN110780847B (en) Random number generation method, random number generation device and electronic equipment
KR20190111707A (en) Blockchain system with consensus algorithm based on proof-of -transaction and method there of
CN110599178A (en) Data processing method and device based on intelligent contract and storage medium
CN109063049B (en) Account processing method, device, equipment and storage medium of block chain network
US11503036B2 (en) Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
CN109395394B (en) Forecast guess game deployment method and game method, equipment and storage medium
Sun et al. RTChain: A reputation system with transaction and consensus incentives for e-commerce blockchain
CN109447599A (en) Digital asset distributing method and system based on block chain
KR20200031861A (en) A method of operating Crowdfunding system for game production based on Blockchain and a system for implementing the service environment
CN111008835B (en) Method, apparatus, computer readable storage medium and computer program product for determining a transaction verification node of a blockchain
CN111199489A (en) Method, apparatus, computer-readable storage medium and computer program product for cross-blockchain asset management
WO2019145790A1 (en) System architecture and method of processing data therein
KR20190078668A (en) Apparatus and Methods for Verifiable Lottery
KR102192695B1 (en) A method of operating Advertising services system based on Blockchain and a system for implementing the service environment
CN110460471A (en) A kind of super node polling method, device and storage medium
CN111201751B (en) Method and system for arbitrating data authenticity in blockchain
CN112102079B (en) Service data processing method and device, computer equipment and storage medium
CN109395392B (en) Forecast guess game deployment method and game method, equipment and storage medium
CN108241716A (en) A kind of resource introduction method and device
KR20210027011A (en) Peer node, method for processing information executed on peer node and blockchain platform system
KR102248890B1 (en) System and method for lottery based on public blockchain and verification thereof
CN113435949B (en) Decentralized federal machine learning method, system and storage medium based on intelligent contracts

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