CN110222537B - Verification method and device applied to block chain nodes - Google Patents

Verification method and device applied to block chain nodes Download PDF

Info

Publication number
CN110222537B
CN110222537B CN201910519281.4A CN201910519281A CN110222537B CN 110222537 B CN110222537 B CN 110222537B CN 201910519281 A CN201910519281 A CN 201910519281A CN 110222537 B CN110222537 B CN 110222537B
Authority
CN
China
Prior art keywords
node
verification
block
hash
nodes
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
CN201910519281.4A
Other languages
Chinese (zh)
Other versions
CN110222537A (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.)
Beijing Ruice Technology Co Ltd
Original Assignee
Beijing Ruice 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 Beijing Ruice Technology Co Ltd filed Critical Beijing Ruice Technology Co Ltd
Priority to CN201910519281.4A priority Critical patent/CN110222537B/en
Publication of CN110222537A publication Critical patent/CN110222537A/en
Application granted granted Critical
Publication of CN110222537B publication Critical patent/CN110222537B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

The embodiment of the invention relates to a verification method and device applied to a block link. The method comprises the following steps: generating a block to be verified, and performing a first hash operation according to the block to be verified to obtain a first hash value; determining a first digital signature, wherein the first digital signature is obtained by signing the first hash value; performing a second hash operation on the first digital signature to obtain a second hash value; selecting a target verification node from the plurality of verification nodes according to the second hash value and a preset random rule; and sending the block to be verified to the target verification node so that the target verification node verifies the block to be verified. Therefore, partial nodes except the block nodes can be selected to verify the block, the selection of the partial nodes has certain randomness and verifiability, the possibility that the block chain is attacked successfully can be reduced, the verification efficiency of the block chain node network is improved, and the accounting efficiency is further improved.

Description

Verification method and device applied to block chain nodes
Technical Field
The invention relates to the technical field of computers, in particular to a verification method and a verification device applied to a block chain node.
Background
Each node in the blockchain network is equivalent to each computer or server terminal storing all the block data. The production of all new blocks, as well as the verification and accounting of transactions and broadcasting them to the network-wide sync, is done by the nodes.
The node is the miner which we commonly call. The different power of each miner determines how much billing rights it can allocate and how much rewards it can earn.
The first generation of consensus mechanism for block chains is called POW, which is a workload proving consensus mechanism and is commonly called mining. Thousands of hash hits must be performed to create a new block. These operations consume much power and cause energy waste, so they are also affected by the scale. Even more feared is that once most of the computing power is monopolized, decentralization is threatened.
The second generation of consensus mechanism called POS is the rights and interests identification mechanism, which decides who has more accounting rights according to the amount of money held and the time. The recognition mechanism has the advantages of avoiding energy consumption, but has the disadvantages that the speaking right is controlled by the large user holding the money, the characteristic of central collection right is formed, and the characteristic runs counter to the original intention of decentralization of the block chain.
The third generation consensus mechanism is DPOS, and the biggest characteristic of the mechanism is that an election system is added on the basis of POS right certificate. The super nodes which finally obtain the billing right and are produced by voting of all the money-holding users can perform billing, so that the energy waste can be greatly reduced, but the calculation requirements on the super nodes are high due to the centralized calculation on the super nodes, and the efficiency of the super nodes directly influences the billing efficiency, so that the mode has weak capacity of dealing with large-scale data, and the development is restricted.
Disclosure of Invention
Based on the above problem, embodiments of the present invention provide a verification method and apparatus applied to a blockchain node.
In a first aspect, a verification method applied to a blockchain node is provided, where the blockchain node network includes a plurality of egress nodes and a plurality of verification nodes, the method is applied to a current egress node, where the current egress node is any one of the plurality of egress nodes, and the method includes:
generating a block to be verified, and performing a first hash operation according to the block to be verified to obtain a first hash value;
determining a first digital signature, wherein the first digital signature is obtained by signing the first hash value;
performing a second hash operation on the first digital signature to obtain a second hash value;
selecting a target verification node from the plurality of verification nodes according to the second hash value and a preset random rule;
and sending the block to be verified to the target verification node so that the target verification node verifies the block to be verified.
In some embodiments, the performing a second hash operation on the first digital signature to obtain a second hash value includes:
and performing second hash operation on the first digital signature and a first numerical value to obtain a second hash value, wherein the first numerical value is 1-n or the serial number of the current block node, and n is an arbitrary value.
In a second aspect, a verification method applied to a blockchain node is provided. The block-link node network comprises a plurality of block-out nodes and a plurality of verification nodes, the method is applied to a current verification node, the current verification node is any one of the plurality of verification nodes, and the method comprises the following steps:
receiving a block to be verified, a public key and a first digital signature which are sent by a current block node;
verifying the first digital signature by using the public key to obtain a first hash value;
performing first hash operation on the block to be verified to obtain a third hash value;
if the first hash value is the same as the third hash value, performing second hash operation on the first digital signature to obtain a second hash value;
determining a serial number of a target verification node according to the second hash value and a preset random rule;
and if the serial number of the target verification node is the serial number of the current verification node, verifying the block to be verified, and broadcasting a verification result in the block link point network.
And determining the verification node corresponding to the remainder as the target verification node.
In a third aspect, an authentication apparatus applied to a blockchain node is provided. The block-link node network comprises a plurality of block-out nodes and a plurality of verification nodes, the method is applicable to a current block-out node, the current block-out node is any one of the plurality of block-out nodes, and the device comprises:
the first hash unit is used for generating a block to be verified and carrying out first hash operation according to the block to be verified to obtain a first hash value;
a determining unit, configured to determine a first digital signature, where the first digital signature is obtained by signing the first hash value;
the second hash unit is used for carrying out second hash operation on the first digital signature to obtain a second hash value;
a selecting unit, configured to select a target verification node from the multiple verification nodes according to the second hash value and a preset random rule;
and the sending unit is used for sending the block to be verified to the target verification node so that the target verification node verifies the block to be verified.
A fourth aspect provides an authentication apparatus for use with a blockchain node. The block-link node network comprises a plurality of block-out nodes and a plurality of verification nodes, the method is applied to a current verification node, the current verification node is any one of the plurality of verification nodes, and the device comprises:
the receiving unit is used for receiving the block to be verified, the public key and the first digital signature which are sent by the current block node;
the first verification unit is used for verifying the first digital signature by using the public key to obtain a first hash value;
the first hash unit is used for carrying out first hash operation on the block to be verified to obtain a third hash value;
the second hash unit is used for carrying out second hash operation on the first digital signature to obtain a second hash value if the first hash value is the same as the third hash value;
the determining unit is used for determining the serial number of the target verification node according to the second hash value and a preset random rule;
and the second verification unit is used for verifying the block to be verified and broadcasting a verification result in the block link point network if the serial number of the target verification node is the serial number of the current verification node.
In some embodiments, the first hash operation and the second hash operation are the same or different hash operations.
In some embodiments, the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
in a fifth aspect, the present specification provides a computer device, including a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method steps of any one or more of the first or second aspects when executing the program.
A sixth aspect provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the method of any one or more of the first or second aspects described above.
In a seventh aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any one or more of the first or second aspects described above.
By the embodiment of the invention, partial nodes except the block nodes can be selected to verify the block, the selection of the partial nodes has certain randomness and verifiability, the possibility of successfully attacking the block chain can be reduced, the verification efficiency of the block chain node network is improved, the accounting efficiency is further improved, and the block chain node network can be applied to a service scene with larger data scale.
Drawings
FIG. 1 illustrates an exemplary architecture for applying embodiments provided herein;
fig. 2 is a flowchart of a verification method applied to a blockchain node according to an embodiment of the present invention;
fig. 3 is a flowchart of another verification method applied to a blockchain node according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an apparatus for publishing information based on a block chain according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an apparatus for publishing information based on a block chain according to an embodiment of the present invention;
fig. 6 shows a schematic structural diagram of a computer device provided in an embodiment of the present specification.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiment of the invention provides a verification method and a verification device applied to a block chain node. Fig. 1 shows an exemplary architecture to which embodiments provided herein apply.
As shown in fig. 1, the exemplary architecture may include a plurality of blockchain nodes, which may include a plurality of out-of-block nodes 101 and a plurality of verification nodes 102. In one example, the block node may be a plurality of super nodes selected by an election mechanism, the number of the super nodes may be determined according to actual needs, and the number of the super nodes may be an odd number, for example, 21. In another example, the plurality of verification nodes may be candidate nodes, wherein the super node may be selected from the candidate nodes, the number of the candidate nodes may also be determined according to actual needs, for example, may be 100, wherein the candidate nodes may be selected according to a preset random rule, for example, a specified number of nodes with the highest computational power may be used as the candidate nodes. In another example, the verification node may also be all or part of a node other than the out-of-block node. The block link point may be implemented in a software form or a hardware form. When implemented as hardware, it may be a notebook computer, a desktop computer, a mobile terminal, and the like.
The block-out node is mainly used for producing the data blocks in a specified time period in the system based on a consensus mechanism, namely mainly used for accounting. The verification node is mainly used for verifying the blocks generated by the block generation node based on a consensus mechanism, and the verified blocks are recorded in the block chain. The nodes may communicate with each other to synchronize data such as blockchains. For example, the nodes may communicate based on the D2D protocol.
For the purpose of facilitating understanding of the embodiments of the present invention, the following description will be further explained with reference to specific embodiments, which are not to be construed as limiting the embodiments of the present invention.
Fig. 2 is a flowchart of a verification method applied to a blockchain node according to the present invention. The block-linked node network includes a plurality of out-block nodes and a plurality of verification nodes, such as the block-linked node network in the exemplary architecture shown in fig. 1, and the method is applied to a current out-block node, which is any one of the plurality of out-block nodes. As shown in fig. 2, the method specifically includes:
s210, generating a block to be verified, and performing a first hash operation according to the block to be verified to obtain a first hash value.
Wherein each node in the block-link node network operates based on a consensus mechanism. The consensus mechanism is predefined and may include a block consensus mechanism, a verification consensus mechanism, and the like.
The block output node in the block link node network may determine a current block output node according to a block output consensus mechanism, and the current block output node may generate a block from data in a specified time period in the system. The specified time period can be determined according to actual needs, and can be 1 second, 10 seconds, 10 minutes, or the like, for example. The system may be the entire blockchain system corresponding to the blockchain link point network. The block chain is composed of a plurality of blocks, and each block can carry a storage structure with the identification of the last block forming a chain.
When a previous blockchain node needs to be verified to uplink a new block, the new block may be referred to as a to-be-verified block.
In order to increase the verification efficiency of the nodes and reduce the burden of the system, a certain number of verification nodes can be selected for verification.
When the verification node is selected, a first hash operation may be performed on the block to be verified to obtain a first hash value. The verification consensus mechanism may include a predefined first hash operation, which may be determined according to actual needs, for example, the first hash operation may be SHA-256 or the like.
S220, determining a first digital signature. The first digital signature is obtained by signing the first hash value.
Each blockchain node may include at least one key pair, each key pair including a public key and a private key, the private key may be stored locally, and the public key may be sent to other blockchain nodes.
After determining the first hash value, the current blockchain node may sign the hash value to obtain a first digital signature. The signature may be signed using a private key, and the signature may be verified using a corresponding public key of the private key.
And S230, performing second hash operation on the first digital signature to obtain a second hash value.
When the verification node is selected, a second hash operation may be performed on the first digital signature to obtain a second hash value. The verification consensus mechanism may include a predefined second hash operation, which may be determined according to actual needs, for example, the second hash operation may be SHA-256 or the like. The first hash operation and the second hash operation may be the same hash operation or different hash operations.
S240, selecting a target verification node from the plurality of verification nodes according to the second hash value and a preset random rule. The target verification node may include one or more.
In selecting the verification node, the selection may be made based on the second hash value. The verification consensus mechanism may include a preset random rule according to which the selection is based, where the preset random rule has certain randomness and verifiability.
In one example, the preset random rule may include:
converting the second hash value into a 10-system, and taking the remainder of the second numerical value;
and determining the verification node corresponding to the remainder as a target verification node.
Wherein the second value may be determined according to the number of verification nodes. For example, the number of verification nodes may be 100, and the second value may be 100.
The second hash value guarantees randomness, and the verifiability of the target verification node is guaranteed through the determination of the second hash value and a preset random rule.
S250, sending the block to be verified to the target verification node so that the target verification node verifies the block to be verified.
The current block-out node can send the block to be verified to the target verification node for verification. When the block to be verified is sent to the target verification node, the target verification node may send the first digital signature and the public key. The form of sending the public key may include various forms. In one example, the address of the out-of-block node may be generated from the public key, the address may be a roll-out or roll-in address for the transaction, and the target verification node may determine the public key of the out-of-block node from the address of the out-of-block node. In another example, the public key may be sent with the block to be verified.
After receiving the block to be verified, the target verification node can verify the identity of the current block output node, and the identity of the block output node can verify the first digital signature through the public key of the block output node. After the verification passes, the target verification node can verify the verification identity of the target verification node, and the verification process can select the same rule of the target verification node for verification based on the block-out node so as to verify whether the target verification node comprises the target verification node. And after the two verification processes are passed, the target verification node verifies the block to be verified again, and performs whole-network synchronization on the verification result. For the verification of the block to be verified, it is mainly verified whether the block node is correctly accounted, and specific verification methods may include various methods, which are not described herein again.
By the embodiment of the invention, partial nodes except the block nodes can be selected to verify the block, the selection of the partial nodes has certain randomness and verifiability, the possibility of successfully attacking the block chain can be reduced, the verification efficiency of the block chain node network is improved, the accounting efficiency is further improved, and the block chain node network can be applied to a service scene with larger data scale.
In some embodiments, the step S230 may be specifically implemented by the following steps:
and performing second hash operation on the first digital signature and the first numerical value to obtain a second hash value.
Wherein the first value is a predefined fixed value such as 1-n, and n is an arbitrary value.
The first value may also be a sequence number of the current out-of-block node or a value determined according to the sequence number of the current out-of-block node. By this first value, the randomness of the selection of the block nodes can be further achieved.
Fig. 3 is a flowchart of another verification method applied to a blockchain node according to the present invention. The block-linked node network includes a plurality of out-block nodes and a plurality of verification nodes, for example, the block-linked node network in the exemplary architecture shown in fig. 1, and the method is applied to a current verification node, which is any one of the plurality of verification nodes, as shown in fig. 3, and specifically includes:
s310, receiving the block to be verified, the public key and the first digital signature sent by the current block node.
Wherein each node in the block-link node network operates based on a consensus mechanism. The consensus mechanism is predefined and may include a block consensus mechanism, a verification consensus mechanism, and the like. The authentication node is primarily used to perform an authentication consensus mechanism.
The block to be verified may be a block newly generated by the current block output node. The first digital signature may be determined from the block to be verified. Specifically, the current block may perform a first hash operation on the block to be verified to obtain a first hash value, and perform a signature on the first hash value by using a private key to obtain a first digital signature. Specifically, reference may be made to the foregoing embodiment shown in fig. 2, which is not described herein again.
The current verification node can also determine a public key of the current block output node, and the public key can be determined according to the address of the current block output node and can also obtain the public key carried in the verification block.
Wherein each node may comprise at least one asymmetrically encrypted key pair, each key pair comprising a public key and a private key.
After receiving the to-be-verified block, the target verification node may first verify the identity of the current out-block node, and the identity of the out-block node may be implemented through steps S320 to S330 described below.
And S320, verifying the first digital signature by using a public key in the key pair of the current block node to obtain a first hash value.
S330, performing first hash operation on the block to be verified to obtain a third hash value;
the first hash operation is an operation of generating a first hash value by the node of the block. The first hash operation may be predefined in the authentication consensus mechanism.
The current verification node may compare whether the first hash value and the third hash value are the same, and if the first hash value and the third hash value are the same, this indicates that the first digital signature is the digital signature of the out-blocking node, that is, the verification is passed. If not, the verification fails.
After the verification passes, the current verification node may verify the verification identity of itself, and the verification process may be implemented through steps S340 and S350.
S340, if the first hash value is the same as the third hash value, performing a second hash operation on the first digital signature to obtain a second hash value;
the second hash operation is an operation of generating a second hash value by the out-block node. The second hash operation may be predefined in the authentication consensus mechanism. The first hash operation and the second hash operation may be the same operation or different operations. The first hash operation and the second hash operation may be combined with the foregoing discussion in the embodiment shown in fig. 2, and are not described here again.
And S350, determining the serial number of the target verification node according to the second hash value and a preset random rule.
The preset random rule is a rule for selecting a target verification node from the block-out node. The preset random rule may be predefined in the authentication consensus mechanism. The preset random rule may be combined with the foregoing discussion in the embodiment shown in fig. 2, and is not described here again.
After determining the sequence number of the target authentication node, it may be determined whether the sequence number of the target authentication node includes itself. If yes, step S360 is executed, and if not, the verification process is ended.
S360, if the serial number of the target verification node is the serial number of the current verification node, verifying the block to be verified, and broadcasting a verification result in the block link point network.
After the two verification processes are passed, the current verification node needs to verify the block to be verified, and the verification result is subjected to whole-network synchronization. For the verification of the block to be verified, it is mainly verified whether the block node is correctly accounted, and specific verification methods may include various methods, which are not described herein again.
By the embodiment of the invention, partial nodes except the block nodes can be selected to verify the block, the selection of the partial nodes has certain randomness and verifiability, the possibility of successfully attacking the block chain can be reduced, the verification efficiency of the block chain node network is improved, the accounting efficiency is further improved, and the block chain node network can be applied to a service scene with larger data scale.
Fig. 4 is a schematic structural diagram of a verification apparatus applied to a blockchain node according to an embodiment of the present invention. The block-linked node network includes a plurality of out-blocking nodes and a plurality of verification nodes, for example, the block-linked node network in the exemplary architecture shown in fig. 1, the apparatus is adapted to a current out-blocking node, the current out-blocking node is any one of the plurality of out-blocking nodes, and the apparatus includes:
the first hash unit 401 is configured to generate a block to be verified, and perform a first hash operation according to the block to be verified to obtain a first hash value;
a determining unit 402, configured to determine a first digital signature, where the first digital signature is obtained by signing the first hash value;
a second hash unit 403, configured to perform a second hash operation on the first digital signature to obtain a second hash value;
a selecting unit 404, configured to select a target verification node from the multiple verification nodes according to the second hash value and a preset random rule;
a sending unit 405, configured to send the block to be verified to the target verification node, so that the target verification node verifies the block to be verified.
In some embodiments, the first hash operation and the second hash operation are the same or different hash operations.
In some embodiments, the second hash unit 403 is specifically configured to:
and performing second hash operation on the first digital signature and a first numerical value to obtain a second hash value, wherein the first numerical value is 1-n or the serial number of the current block node, and n is an arbitrary value.
In some embodiments, the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
it can be understood that the verification apparatus applied to blockchain nodes based on blockchains in this embodiment corresponds to the method embodiment shown in fig. 2, and therefore, the above description about the method embodiment shown in fig. 2 is also applicable to the apparatus in this embodiment, and is not repeated herein.
Fig. 5 is a schematic structural diagram of a verification apparatus applied to a blockchain node according to an embodiment of the present invention. The block-link point network includes a plurality of egress nodes and a plurality of verification nodes, for example, the block-link point network in the exemplary architecture shown in fig. 1, and the apparatus is adapted to a current verification node, where the current verification node is any one of the plurality of verification nodes, and the apparatus includes:
a receiving unit 501, configured to receive a block to be verified, a public key, and a first digital signature sent by a current block node;
a first verification unit 502, configured to verify the first digital signature by using the public key to obtain a first hash value;
a first hash unit 503, configured to perform a first hash operation on the block to be verified to obtain a third hash value;
a second hash unit 504, configured to perform a second hash operation on the first digital signature to obtain a second hash value if the first hash value is the same as the third hash value;
a determining unit 505, configured to determine a sequence number of a target verification node according to the second hash value and a preset random rule;
a second verifying unit 506, configured to verify the block to be verified and broadcast a verification result in the block link point network if the serial number of the target verifying node is the serial number of the current verifying node.
In some embodiments, the first hash operation and the second hash operation are the same or different hash operations.
In some embodiments, the preset random rule comprises:
and converting the second hash value into a 10-system number, and taking the remainder of a second numerical value, wherein the second numerical value is determined according to the number of the plurality of verification nodes.
It can be understood that the verification apparatus applied to the blockchain node in this embodiment corresponds to the method embodiment shown in fig. 3, and therefore, the above description about the method embodiment shown in fig. 3 is also applicable to the apparatus in this embodiment, and is not repeated herein.
Fig. 6 shows a schematic structural diagram of a computer device provided in an embodiment of the present specification, where the computer device may include: a processor 610, a memory 620, an input/output interface 630, a communication interface 640, and a bus 650. Wherein the processor 610, memory 620, input/output interface 630, and communication interface 640 are communicatively coupled to each other within the device via a bus 650.
The processor 610 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits, and is configured to execute related programs to implement the technical solutions provided in the embodiments of the present specification.
The Memory 620 may be implemented in the form of a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, or the like. The memory 620 may store an operating system and other application programs, and when the technical solution provided by the embodiments of the present specification is implemented by software or firmware, the relevant program codes are stored in the memory 620 and called by the processor 610 to be executed.
The input/output interface 630 is used for connecting an input/output module to realize information input and output. The i/o module may be configured as a component in a device (not shown) or may be external to the device to provide a corresponding function. The input devices may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output devices may include a display, a speaker, a vibrator, an indicator light, etc.
The communication interface 640 is used for connecting a communication module (not shown in the figure) to realize communication interaction between the device and other devices. The communication module can realize communication in a wired mode (such as USB, network cable and the like) and also can realize communication in a wireless mode (such as mobile network, WIFI, Bluetooth and the like).
Bus 650 includes a pathway to transfer information between various components of the device, such as processor 610, memory 620, input/output interface 630, and communication interface 640.
It should be noted that although the above-mentioned devices only show the processor 610, the memory 620, the input/output interface 630, the communication interface 640 and the bus 650, in a specific implementation, the devices may also include other components necessary for normal operation. In addition, those skilled in the art will appreciate that the above-described apparatus may also include only those components necessary to implement the embodiments of the present description, and not necessarily all of the components shown in the figures.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are only illustrative of the present invention and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the scope of the present invention should be included in the scope of the present invention.

Claims (6)

1. A verification method applied to a blockchain node, wherein a blockchain node network includes a plurality of out-blocking nodes and a plurality of verification nodes, the method is applied to a current out-blocking node, and the current out-blocking node is any one of the plurality of out-blocking nodes, and the method includes:
generating a block to be verified, and performing a first hash operation according to the block to be verified to obtain a first hash value;
determining a first digital signature, wherein the first digital signature is obtained by signing the first hash value;
performing a second hash operation on the first digital signature to obtain a second hash value;
selecting a target verification node from the plurality of verification nodes according to the second hash value and a preset random rule;
sending the block to be verified to the target verification node so that the target verification node verifies the block to be verified;
the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
determining a verification node corresponding to the remainder as the target verification node;
the first hash operation and the second hash operation are the same or different hash operations.
2. The method of claim 1, wherein performing a second hash operation on the first digital signature to obtain a second hash value comprises:
and performing second hash operation on the first digital signature and the first numerical value to obtain a second hash value, wherein the first numerical value is any numerical value from 1 to n or the serial number of the current block node, and n is any value.
3. A verification method applied to a blockchain node, wherein a blockchain node network comprises a plurality of out-blocking nodes and a plurality of verification nodes, the method is applied to a current verification node, the current verification node is any one of the plurality of verification nodes, and the method comprises the following steps:
receiving a block to be verified, a public key and a first digital signature which are sent by a current block node;
verifying the first digital signature by using the public key to obtain a first hash value;
performing first hash operation on the block to be verified to obtain a third hash value;
if the first hash value is the same as the third hash value, performing second hash operation on the first digital signature to obtain a second hash value;
determining a serial number of a target verification node according to the second hash value and a preset random rule;
if the serial number of the target verification node is the serial number of the current verification node, verifying the block to be verified, and broadcasting a verification result in the block link point network;
the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
determining a verification node corresponding to the remainder as the target verification node;
the first hash operation and the second hash operation are the same or different hash operations.
4. The method of claim 3, wherein performing a second hash operation on the first digital signature to obtain a second hash value comprises:
and performing second hash operation on the first digital signature and the first numerical value to obtain a second hash value, wherein the first numerical value is any numerical value from 1 to n or the serial number of the current block node, and n is any value.
5. A verification apparatus for use with a blockchain node, wherein a blockchain node network includes a plurality of egress nodes and a plurality of verification nodes, the apparatus being adapted to a current egress node, the current egress node being any one of the plurality of egress nodes, the apparatus comprising:
the first hash unit is used for generating a block to be verified and carrying out first hash operation according to the block to be verified to obtain a first hash value;
a determining unit, configured to determine a first digital signature, where the first digital signature is obtained by signing the first hash value;
the second hash unit is used for carrying out second hash operation on the first digital signature to obtain a second hash value;
a selecting unit, configured to select a target verification node from the multiple verification nodes according to the second hash value and a preset random rule;
a sending unit, configured to send the block to be verified to the target verification node, so that the target verification node verifies the block to be verified;
the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
determining a verification node corresponding to the remainder as the target verification node;
the first hash operation and the second hash operation are the same or different hash operations.
6. An authentication apparatus applied to a blockchain node, wherein a blockchain link point network includes a plurality of egress nodes and a plurality of authentication nodes, the apparatus is adapted to a current authentication node, the current authentication node is any one of the plurality of authentication nodes, and the apparatus includes:
the receiving unit is used for receiving the block to be verified, the public key and the first digital signature which are sent by the current block node;
the first verification unit is used for verifying the first digital signature by using the public key to obtain a first hash value;
the first hash unit is used for carrying out first hash operation on the block to be verified to obtain a third hash value;
the second hash unit is used for carrying out second hash operation on the first digital signature to obtain a second hash value if the first hash value is the same as the third hash value;
the determining unit is used for determining the serial number of the target verification node according to the second hash value and a preset random rule;
the second verification unit is used for verifying the block to be verified and broadcasting a verification result in the block link point network if the serial number of the target verification node is the serial number of the current verification node;
the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a second numerical value, wherein the second numerical value is determined according to the number of the verification nodes;
determining a verification node corresponding to the remainder as the target verification node;
the first hash operation and the second hash operation are the same or different hash operations.
CN201910519281.4A 2019-06-17 2019-06-17 Verification method and device applied to block chain nodes Active CN110222537B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910519281.4A CN110222537B (en) 2019-06-17 2019-06-17 Verification method and device applied to block chain nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910519281.4A CN110222537B (en) 2019-06-17 2019-06-17 Verification method and device applied to block chain nodes

Publications (2)

Publication Number Publication Date
CN110222537A CN110222537A (en) 2019-09-10
CN110222537B true CN110222537B (en) 2021-01-29

Family

ID=67817177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910519281.4A Active CN110222537B (en) 2019-06-17 2019-06-17 Verification method and device applied to block chain nodes

Country Status (1)

Country Link
CN (1) CN110222537B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597489B (en) * 2019-09-26 2023-11-24 腾讯科技(深圳)有限公司 Random number generation method, equipment and medium
CN110825755B (en) * 2019-10-30 2021-05-04 北京海益同展信息科技有限公司 Block chain consensus method, consensus node, electronic device, and storage medium
CN110995439A (en) * 2019-11-20 2020-04-10 上海链颉科技有限公司 Block chain consensus method, electronic device and storage medium
CN111881147B (en) * 2019-12-13 2023-09-22 深圳数字生命研究院 Processing method and device of computing task, storage medium and processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664485B2 (en) * 2016-12-23 2020-05-26 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Block chain mining method, device, and node apparatus
CN108427601A (en) * 2017-02-13 2018-08-21 北京航空航天大学 A kind of cluster transaction processing method of privately owned chain node
CN106980488A (en) * 2017-03-14 2017-07-25 腾讯科技(深圳)有限公司 Random digit generation method and device
CN107888375A (en) * 2017-11-08 2018-04-06 深圳市携网科技有限公司 A kind of electronic evidence safety system and method based on block chain technology
CN108596621B (en) * 2018-04-28 2020-10-27 三亚京牛数字科技有限公司 Block chain accounting node generation method and device, computer equipment and storage medium
CN108964879B (en) * 2018-07-20 2021-04-13 杭州复杂美科技有限公司 Lottery drawing method, consensus method, device and storage medium
CN109635572B (en) * 2018-11-05 2021-05-25 深圳变设龙信息科技有限公司 Contract signing method and device based on block chain and terminal equipment
CN109559122B (en) * 2018-12-07 2021-02-02 北京瑞卓喜投科技发展有限公司 Block chain data transmission method and block chain data transmission system
CN109672518B (en) * 2019-03-02 2022-04-12 西安安盟智能科技股份有限公司 Node data processing of quantum attack resistant blockchains

Also Published As

Publication number Publication date
CN110222537A (en) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110222537B (en) Verification method and device applied to block chain nodes
CN110247753B (en) Block output method and device based on block chain node point network
CN110223070B (en) Verification method and device based on block chain node point network
WO2018158936A1 (en) Block chain management device, block chain management method and program
CN108848148B (en) Transaction information confirmation method and device based on block chain
CN110210865A (en) Packaging method and device based on block chain
CN110225044B (en) Verification method and device on block chain
CN110222538B (en) Verification method and device related to block chain
CN110233722B (en) Block output method and device on block chain
CN110224839B (en) Verification method and device applied to block chain
CN110224813B (en) Block discharging method and device based on block chain
CN110298757B (en) Consensus method and device relating to DPoS
CN111831669A (en) Method and device for storing internet voting data according to block chain
CN110225043B (en) Packing method and device applied to block chain
CN111078715A (en) Synchronous storage method and device for internet advertisement data on block chain
CN110247773B (en) Packing method and device on block chain
CN110245949B (en) Packing method and device related to block chain
CN110224840B (en) Block chain based packaging method and device
CN110245950B (en) Block discharging method and device related to block chain
CN110223069A (en) Packaging method and device based on block chain meshed network
CN111831670A (en) Storage method and device related to internet comment data on block chain
CN111046048A (en) Method and device for storing Internet business license data on block chain
CN111078795A (en) Method and device for storing social data of internet on block chain
EP4227879A1 (en) Identifier change management device, identifier change management method, and identifier change management program
CN111831651A (en) Storage method and device for sharing economic data on block chain through Internet

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100085 No. 108, 1st Floor, No. 9, Shangdi Jiujie, Haidian District, Beijing

Applicant after: Beijing ruice Technology Co., Ltd

Address before: 100085 No. 108, 1st Floor, No. 9, Shangdi Jiujie, Haidian District, Beijing

Applicant before: BEIJING AIMO RUICE TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant