CN110233722B - Block output method and device on block chain - Google Patents

Block output method and device on block chain Download PDF

Info

Publication number
CN110233722B
CN110233722B CN201910519265.5A CN201910519265A CN110233722B CN 110233722 B CN110233722 B CN 110233722B CN 201910519265 A CN201910519265 A CN 201910519265A CN 110233722 B CN110233722 B CN 110233722B
Authority
CN
China
Prior art keywords
block
node
hash
nodes
value
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
CN201910519265.5A
Other languages
Chinese (zh)
Other versions
CN110233722A (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 CN201910519265.5A priority Critical patent/CN110233722B/en
Publication of CN110233722A publication Critical patent/CN110233722A/en
Application granted granted Critical
Publication of CN110233722B publication Critical patent/CN110233722B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

The embodiment of the invention relates to a block output method and device on a block chain. The method comprises the following steps: generating a first block, and performing a first hash operation according to the first block to obtain a first hash value; sending the first hash value to other nodes in the plurality of out-of-block nodes; determining a first value of a plurality of out-of-block nodes; selecting a specified number of first numerical values according to the first numerical values of the plurality of block outlet nodes; performing second hash operation on the first numerical values with the specified number to obtain second hash values; and selecting a second block outlet node from the plurality of verification nodes as a block outlet node of a second block according to a second hash value and a preset random rule, wherein the second block is a next block of the first block. Therefore, the next block output node can be designated by the block output node, the designation process has certain randomness and verifiability, the possibility that the block chain is attacked successfully can be reduced, the block output efficiency of the block chain link point network is improved, and the accounting efficiency is further improved.

Description

Block output method and device on block chain
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for block dropping on a block chain.
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 foregoing problems, embodiments of the present invention provide a method and an apparatus for block out on a block chain.
In a first aspect, an embodiment of the present invention provides a method for deblocking on a block chain. The block-link node network comprises a plurality of block output nodes, the method is applied to a first block output node, the first block output node is any one of the plurality of block output nodes, and the method comprises the following steps:
generating a first block, and performing a first hash operation according to the first block to obtain a first hash value;
sending the first hash value to other nodes of the plurality of out-of-block nodes;
determining a first value of the plurality of out-of-block nodes, the first value of each out-of-block node being determined based on a signature of the out-of-block node on the first hash value;
selecting a specified number of first numerical values according to the first numerical values of the plurality of block outlet nodes;
performing second hash operation on the first numerical values with the specified number to obtain second hash values;
and selecting a second block outlet node from the plurality of block outlet nodes as a block outlet node of a second block according to the second hash value and a preset random rule, wherein the second block is a next block of the first block.
In some embodiments, the method further comprises:
signing the first hash value to obtain a first digital signature of the first block output node;
and performing third hash operation on the first digital signature of the first block output node to obtain a first numerical value of the first block output node.
In some embodiments, further comprising:
receiving a third hash value sent by a third block outlet node, wherein the third hash value is obtained by performing a first hash operation on a third block by the third block outlet node;
signing the third hash value to obtain a second digital signature of the first block outlet node;
performing a third hash operation on the second digital signature of the first block output node to obtain a second numerical value of the first block output node;
and sending the second value of the first block output node to the third block output node.
In some embodiments, the performing a second hash operation on the specified number of first values to obtain a second hash value includes:
and performing second hash operation on the first numerical values and third numerical values of the specified number to obtain a second hash value, wherein the third numerical value is 1-n or the serial number of the first block-out 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 fourth numerical value, wherein the fourth numerical value is determined according to the number of the verification nodes;
and determining the verification node corresponding to the remainder as the second block output node.
In some embodiments, the method comprises:
transmitting the first digital signature to the plurality of egress block nodes.
In some embodiments, further comprising:
receiving a third digital signature sent by a fourth block-out node, wherein the third digital signature is specific to a fourth block;
performing a third hash operation on the third digital signature of the first block output node to obtain a fourth numerical value of the first block output node;
selecting a specified number of fourth numerical values according to the size of the fourth numerical values of the plurality of block outlet nodes;
performing second hash operation on the fourth numerical values of the specified number to obtain fourth hash values;
judging whether the first block output node is a block output node of the fifth block according to the fourth hash value and a preset random rule, wherein the fifth block is a next block of the fourth block;
and if so, packing the fifth block.
In some embodiments, the determining, according to the fourth hash value and a preset random rule, whether the first block output node is a block output node of the fifth block includes:
determining the serial number of the block outlet node of the fifth block according to the fourth hash value and a preset random rule;
and judging whether the sequence number of the block outlet node of the fifth block is the sequence number of the first block outlet node.
In a second aspect, an apparatus for block dropping on a blockchain is provided. The block-link node network comprises a plurality of block output nodes, the apparatus is adapted to a first block output node, which is any one of the plurality of block output nodes, and the apparatus comprises:
the hash unit is used for generating a first block and carrying out first hash operation according to the first block to obtain a first hash value;
a sending unit, configured to send the first hash value to other nodes in the plurality of out-of-block nodes;
a determining unit, configured to determine first values of the plurality of out-of-block nodes, where the first value of each out-of-block node is determined based on a signature of the out-of-block node on the first hash value;
the first selection unit is used for selecting a specified number of first numerical values according to the size of the first numerical values of the plurality of block outlet nodes;
the hash unit is further configured to perform a second hash operation on the specified number of first values to obtain a second hash value;
and the second selection unit is used for selecting a second block outlet node from the plurality of block outlet nodes as a block outlet node of a second block according to the second hash value and a preset random rule, wherein the second block is a next block of the first block.
In some embodiments, the apparatus further comprises:
the signature unit is used for signing the first hash value to obtain a first digital signature of the first block output node;
and the Hash unit is used for carrying out third Hash operation on the first digital signature of the first block output node to obtain a first numerical value of the first block output node.
In some embodiments, further comprising:
the receiving unit is used for receiving a third hash value sent by a third block output node, wherein the third hash value is obtained by performing a first hash operation on a third block by the third block output node;
the signature unit is used for signing the third hash value to obtain a second digital signature of the first block output node;
the hash unit is used for carrying out third hash operation on the second digital signature of the first block output node to obtain a second numerical value of the first block output node;
and the sending unit is used for sending the second numerical value of the first block outlet node to the third block outlet node.
In some embodiments, the hash unit is specifically configured to:
and performing second hash operation on the first numerical values and third numerical values of the specified number to obtain a second hash value, wherein the third numerical value is 1-n or the serial number of the first block-out 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 fourth numerical value, wherein the fourth numerical value is determined according to the number of the verification nodes;
and determining the verification node corresponding to the remainder as the second block output node.
In some embodiments, further comprising:
a sending unit, configured to send the first digital signature to the plurality of egress nodes.
In some embodiments, further comprising:
the receiving unit is used for receiving a third digital signature sent by a fourth block-out node, wherein the third digital signature aims at a fourth block;
the hash unit is used for carrying out third hash operation on the third digital signature of the first block output node to obtain a fourth numerical value of the first block output node;
the selecting unit is used for selecting a specified number of fourth numerical values according to the size of the fourth numerical values of the plurality of block outlet nodes;
the hash unit is used for carrying out second hash operation on the fourth numerical values with the specified number to obtain fourth hash values;
a determining unit, configured to determine whether the first block output node is a block output node of the fifth block according to the fourth hash value and a preset random rule, where the fifth block is a next block of the fourth block;
and if so, the packing unit is used for packing the fifth block.
In some embodiments, the determining unit is specifically configured to:
determining the serial number of the block outlet node of the fifth block according to the fourth hash value and a preset random rule;
and judging whether the sequence number of the block outlet node of the fifth block is the sequence number of the first block outlet node.
In a third 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 executes the program to implement the method steps of any one or more of the first or second aspects.
In a fourth aspect, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of any one or more of the first or second aspects described above.
In a fifth 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.
Through the embodiment of the invention, the next block output node can be designated by the block output node, the designation process has certain randomness and verifiability, the possibility of successful attack of the block chain can be reduced, the block output 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 block dropping method on a block chain according to an embodiment of the present invention;
fig. 3 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. 4 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 block output method and device on a block chain. 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 out-of-block 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 block out method on a blockchain according to the present invention. The block-linked node network includes a plurality of out-block nodes, such as the block-linked node network in the exemplary architecture shown in fig. 1, and the method is applied to a first 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 first block, and performing a first hash operation according to the first block 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 first block output node according to a block output consensus mechanism, and the first 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, 3 minutes, 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 current blockchain node needs to determine a next node needing to generate a block in generating the block, the current blockchain node may be called a first out-of-block node, the next node needing to generate the block may be called a second out-of-block node, the block generated by the current blockchain node may be called a first block, and the block generated by the next node needing to generate the block may be called a second block.
In order to increase the efficiency of selecting the out-of-block nodes of the node and reduce the load of the system, when the next out-of-block node is selected, the first hash operation may be performed on the first block 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, the first hash value is sent to other nodes in the plurality of block-out nodes.
The plurality of egress block nodes may be all egress block nodes.
And S230, determining first numerical values of the plurality of block output nodes, wherein the first numerical value of each block output node is determined based on the signature of the block output node on the first hash value.
Each block output node signs the first hash value to obtain a first digital signature of the block output node; the first digital signature of the out-of-block node may be used as the first value of the out-of-block node. Or, each block output node performs a third hash operation on the first digital signature of the block output node to obtain a first value of the block output node.
In one example, the first out-chunk node may sign the first hash value, resulting in a first digital signature of the first out-chunk node; and the first block output node performs third hash operation on the first digital signature of the first block output node to obtain a first numerical value of the first block output node.
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 the current block node determines the first hash value, the first hash value may be signed to obtain a first digital signature. The first signature of the block output node may be signed by using a private key of the block output node, and the first signature of the block output node may be verified by using a public key corresponding to the private key.
S240, selecting a specified number of first numerical values according to the first numerical values of the plurality of block-out nodes.
The first values of the plurality of out-of-block nodes may be sorted, and a specified number of first values with larger or smaller values may be selected. The specified number may be determined according to actual needs, and for example, the specified number may be 2.
And S250, performing second hash operation on the first numerical values with the specified number to obtain second hash values.
When the next block node is determined, a second hash operation may be performed on a specified number of first digital signatures to obtain a second hash value. The block-out 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.
And S260, selecting a second block outlet node from the plurality of block outlet nodes as a block outlet node of the second block according to the second hash value and a preset random rule. The second block is a next block to the first block.
Selection may be made based on the second hash value when determining the next out-of-block node. The block-out consensus mechanism may include a preset random rule according to which the block is selected, 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 a fourth numerical value;
and determining the verification node corresponding to the remainder as a second block output node.
Wherein the fourth value may be determined according to the number of verification nodes. For example, the number of out-of-block nodes may be 100, and the fourth value may be 100.
The second hash value guarantees randomness, and the verifiability of the second block-out node is guaranteed through the determination of the second hash value and a preset random rule.
The first out-block node may send the first digital signature to the second out-block node for the second out-block node to continue out-blocking. For example, the first digital signature may be transmitted to the plurality of out-blocking nodes by way of broadcasting.
The public keys of the first block and the first out-block node may also be sent to a second out-block node. 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 second out-of-block 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 carried in the first block.
After receiving the first digital signature, the second block output node may first verify the identity of the first block output node, and the identity of the block output node may be implemented by verifying the first digital signature through a public key of the block output node. After the verification is passed, the second out-block node may verify its own verification identity, and the verification process may perform verification based on a preset random rule to verify whether the out-block node of the second block includes itself. And after the two verification processes are passed, the second block outlet node packs the second block and performs full network synchronization on the packed second block.
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 third numerical value to obtain a second hash value.
Wherein the third value is a predefined fixed value such as 1-n, and n is an arbitrary value.
The third value may also be a sequence number of the first out-of-block node, or a value determined from the sequence number of the first out-of-block node. By this third value, the randomness of the selection of the block nodes can be further achieved.
In some embodiments, the method further comprises the steps of:
1) and receiving a third hash value sent by the third block-out node.
The third hash value is obtained by performing a first hash operation on the third block by the third block outlet node; the third block may be a newly generated block of the second out-block node.
2) Signing the third hash value to obtain a second digital signature of the first block outlet node;
3) performing a third hash operation on the second digital signature of the first block output node to obtain a second numerical value of the first block output node;
4) and sending the second value of the first block output node to a third block output node.
In some embodiments, the following steps may also be included:
1) receiving a third digital signature sent by a fourth block-out node, wherein the third digital signature is specific to a fourth block;
2) performing a third hash operation on the third digital signature of the first block output node to obtain a fourth numerical value of the first block output node;
3) selecting a specified number of fourth numerical values according to the size of the fourth numerical values of the plurality of block outlet nodes;
4) performing second hash operation on the fourth numerical values of the specified number to obtain fourth hash values;
5) judging whether the first block output node is a block output node of the fifth block according to the fourth hash value and a preset random rule, wherein the fifth block is a next block of the fourth block;
6) and if so, packing the fifth block.
7) If not, the process is ended.
In step 1), a fourth block, a public key and a third digital signature sent by a fourth out-of-block node may be received.
The fourth block may be a block newly generated by the fourth block output node. The third digital signature may be determined from the fourth block. Specifically, reference may be made to the foregoing process for acquiring the first digital signature, which is not described herein again.
The first block output node may further determine a public key of a fourth block output node, where the public key may be determined according to an address of the fourth block output node, and may also obtain a public key carried in the third block.
In step 5), the sequence number of the block outlet node of the fifth block may be determined according to the fourth hash value and a preset random rule; and judging whether the sequence number of the block outlet node of the fifth block is the sequence number of the first block outlet node.
After receiving the fourth block, the first block output node may first verify the identity of the fourth block output node, and the identity of the block output node may be implemented through the following steps.
And step A, verifying a third digital signature of a fourth block output node by using the public key of the fourth block output node to obtain a fifth hash value of the fourth block output node.
Step B, carrying out first hash operation on the fourth block to obtain a sixth hash value;
the first block output node may compare whether the fifth hash value and the sixth hash value are the same, and if so, it indicates that the third digital signature is the digital signature of the fourth block output node, that is, the verification is passed. If not, the verification fails.
Through the embodiment of the invention, the next block output node can be designated by the block output node, the designation process has certain randomness and verifiability, the possibility of successful attack of the block chain can be reduced, the block output 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. 3 is a schematic structural diagram of a block output device on a block chain according to an embodiment of the present invention. The block-link point network includes a plurality of block output nodes, for example, the block-link point network in the exemplary architecture shown in fig. 1, and the apparatus is adapted to a current block output node, where the current block output node is any one of the plurality of block output nodes, and the apparatus includes:
the hash unit 301 is configured to generate a first block, and perform a first hash operation according to the first block to obtain a first hash value;
a sending unit 302, configured to send the first hash value to other nodes in the plurality of out-of-block nodes;
a determining unit 303, configured to determine first values of the plurality of out-of-block nodes, where the first value of each out-of-block node is determined based on a signature of the out-of-block node on the first hash value;
a first selecting unit 304, configured to select a specified number of first values according to sizes of the first values of the multiple out-block nodes;
the hash unit 301 is further configured to perform a second hash operation on the specified number of first values to obtain a second hash value;
a second selecting unit 305, configured to select a second block output node from the plurality of block output nodes as a block output node of a second block according to the second hash value and a preset random rule, where the second block is a next block of the first block.
In some embodiments, the apparatus further comprises:
the signature unit is used for signing the first hash value to obtain a first digital signature of the first block output node;
and the Hash unit is used for carrying out third Hash operation on the first digital signature of the first block output node to obtain a first numerical value of the first block output node.
In some embodiments, further comprising:
the receiving unit is used for receiving a third hash value sent by a third block output node, wherein the third hash value is obtained by performing a first hash operation on a third block by the third block output node;
the signature unit is used for signing the third hash value to obtain a second digital signature of the first block output node;
the hash unit is used for carrying out third hash operation on the second digital signature of the first block output node to obtain a second numerical value of the first block output node;
and the sending unit is used for sending the second numerical value of the first block outlet node to the third block outlet node.
In some embodiments, the hash unit is specifically configured to:
and performing second hash operation on the first numerical values and third numerical values of the specified number to obtain a second hash value, wherein the third numerical value is 1-n or the serial number of the first block-out 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 fourth numerical value, wherein the fourth numerical value is determined according to the number of the verification nodes;
and determining the verification node corresponding to the remainder as the second block output node.
In some embodiments, further comprising:
a sending unit, configured to send the first digital signature to the plurality of egress nodes.
In some embodiments, further comprising:
the receiving unit is used for receiving a third digital signature sent by a fourth block-out node, wherein the third digital signature aims at a fourth block;
the hash unit is used for carrying out third hash operation on the third digital signature of the first block output node to obtain a fourth numerical value of the first block output node;
the selecting unit is used for selecting a specified number of fourth numerical values according to the size of the fourth numerical values of the plurality of block outlet nodes;
the hash unit is used for carrying out second hash operation on the fourth numerical values with the specified number to obtain fourth hash values;
a determining unit, configured to determine whether the first block output node is a block output node of the fifth block according to the fourth hash value and a preset random rule, where the fifth block is a next block of the fourth block;
and if so, the packing unit is used for packing the fifth block.
In some embodiments, the determining unit is specifically configured to:
determining the serial number of the block outlet node of the fifth block according to the fourth hash value and a preset random rule;
it can be understood that the block dropping apparatus on the block chain 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. 4 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 410, a memory 420, an input/output interface 430, a communication interface 440, and a bus 450. Wherein the processor 440, the memory 420, the input/output interface 430 and the communication interface 440 are communicatively coupled to each other within the device via a bus 450.
The processor 410 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 420 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 420 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 420 and called to be executed by the processor 410.
The input/output interface 430 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 440 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 450 includes a pathway to transfer information between various components of the device, such as processor 410, memory 420, input/output interface 430, and communication interface 440.
It should be noted that although the above-mentioned device only shows the processor 410, the memory 420, the input/output interface 430, the communication interface 440 and the bus 450, in a specific implementation, the device 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 (9)

1. A block dropping method on a block chain, wherein a block-link node network comprises a plurality of block dropping nodes, the method is applied to a first block dropping node, and the first block dropping node is any one of the plurality of block dropping nodes, and the method comprises:
generating a first block, and performing a first hash operation according to the first block to obtain a first hash value;
sending the first hash value to other nodes of the plurality of out-of-block nodes;
determining a first value of the plurality of out-of-block nodes, the first value of each out-of-block node being determined based on a signature of the out-of-block node on the first hash value;
selecting a specified number of first numerical values according to the first numerical values of the plurality of block outlet nodes;
performing second hash operation on the first numerical values with the specified number to obtain second hash values;
according to the second hash value and a preset random rule, selecting a second block outlet node from the plurality of block outlet nodes as a block outlet node of a second block, wherein the second block is a next block of the first block;
the performing a second hash operation on the specified number of first values to obtain a second hash value includes:
and performing second hash operation on the first numerical values and third numerical values of the specified number to obtain a second hash value, wherein the third numerical value is 1-n or the serial number of the first block-out node, and n is an arbitrary value.
2. The method of claim 1, further comprising:
signing the first hash value to obtain a first digital signature of the first block output node;
and performing third hash operation on the first digital signature of the first block output node to obtain a first numerical value of the first block output node.
3. The method of claim 2, further comprising:
receiving a third hash value sent by a third block outlet node, wherein the third hash value is obtained by performing a first hash operation on a third block by the third block outlet node;
signing the third hash value to obtain a second digital signature of the first block outlet node;
performing a third hash operation on the second digital signature of the first block output node to obtain a second numerical value of the first block output node;
transmitting the second value of the first out-of-block node to the third out-of-block node.
4. The method of claim 1, wherein the preset random rule comprises:
converting the second hash value into a 10-system, and taking a remainder of a fourth numerical value, wherein the fourth numerical value is determined according to the number of the verification nodes;
and determining the verification node corresponding to the remainder as the second block output node.
5. The method of claim 2, wherein the method comprises:
transmitting the first digital signature to the plurality of egress block nodes.
6. The method of claim 5, further comprising:
receiving a third digital signature sent by a fourth block-out node, wherein the third digital signature is specific to a fourth block;
performing a third hash operation on the third digital signature of the first block output node to obtain a fourth numerical value of the first block output node;
selecting a specified number of fourth numerical values according to the size of the fourth numerical values of the plurality of block outlet nodes;
performing second hash operation on the fourth numerical values of the specified number to obtain fourth hash values;
judging whether the first block output node is a block output node of a fifth block according to the fourth hash value and a preset random rule, wherein the fifth block is a next block of the fourth block;
and if so, packing the fifth block.
7. The method according to claim 6, wherein the determining whether the first chunking node is the chunking node of the fifth chunk according to the fourth hash value and a preset random rule comprises:
determining the serial number of the block outlet node of the fifth block according to the fourth hash value and a preset random rule;
and judging whether the sequence number of the block outlet node of the fifth block is the sequence number of the first block outlet node.
8. An apparatus for block out on a block chain, wherein a block-link node network comprises a plurality of block out nodes, the apparatus being adapted to a first block out node, the first block out node being any one of the plurality of block out nodes, the apparatus comprising:
the hash unit is used for generating a first block and carrying out first hash operation according to the first block to obtain a first hash value;
a sending unit, configured to send the first hash value to other nodes in the plurality of out-of-block nodes;
a determining unit, configured to determine first values of the plurality of out-of-block nodes, where the first value of each out-of-block node is determined based on a signature of the out-of-block node on the first hash value;
the first selection unit is used for selecting a specified number of first numerical values according to the size of the first numerical values of the plurality of block outlet nodes;
the hash unit is further configured to perform a second hash operation on the specified number of first values to obtain a second hash value;
a second selecting unit, configured to select a second block output node from the multiple block output nodes as a block output node of a second block according to the second hash value and a preset random rule, where the second block is a next block of the first block;
the performing a second hash operation on the specified number of first values to obtain a second hash value includes:
and performing second hash operation on the first numerical values and third numerical values of the specified number to obtain a second hash value, wherein the third numerical value is 1-n or the serial number of the first block-out node, and n is an arbitrary value.
9. The apparatus of claim 8, further comprising:
the signature unit is used for signing the first hash value to obtain a first digital signature of the first block output node;
a sending unit, configured to send the first digital signature to the plurality of egress nodes.
CN201910519265.5A 2019-06-17 2019-06-17 Block output method and device on block chain Active CN110233722B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910519265.5A CN110233722B (en) 2019-06-17 2019-06-17 Block output method and device on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910519265.5A CN110233722B (en) 2019-06-17 2019-06-17 Block output method and device on block chain

Publications (2)

Publication Number Publication Date
CN110233722A CN110233722A (en) 2019-09-13
CN110233722B true CN110233722B (en) 2020-10-30

Family

ID=67859924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910519265.5A Active CN110233722B (en) 2019-06-17 2019-06-17 Block output method and device on block chain

Country Status (1)

Country Link
CN (1) CN110233722B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474846B (en) * 2019-09-18 2022-04-08 中国银联股份有限公司 Method and device for block propagation in block chain
CN112258326B (en) * 2020-12-24 2021-03-16 布比(北京)网络技术有限公司 Random block output method and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3454519B1 (en) * 2016-12-23 2021-07-21 CloudMinds (Shanghai) Robotics Co., Ltd. Block generation method and device, and blockchain network
CN107566124B (en) * 2017-08-24 2020-06-19 深圳市易成自动驾驶技术有限公司 Hash operation-based consensus establishing method, block chain system and storage medium
KR20190070163A (en) * 2017-12-12 2019-06-20 엔에이치엔 주식회사 Resources operating method of each of nodes communicating one another and computer device operating as one of nodes
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
CN109783057A (en) * 2018-12-03 2019-05-21 北京建筑大学 Random digit generation method and device on a kind of block chain

Also Published As

Publication number Publication date
CN110233722A (en) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110247753B (en) Block output method and device based on block chain node point network
CN110222537B (en) Verification method and device applied to block chain nodes
CN110223070B (en) Verification method and device based on block chain node point network
CN110210865A (en) Packaging method and device based on block chain
CN110233722B (en) Block output method and device on block chain
CN110222538B (en) Verification method and device related to block chain
CN110225044B (en) Verification method and device on block chain
CN110224813B (en) Block discharging method and device based on block chain
CN110224839B (en) Verification method and device applied to block chain
CN110298757B (en) Consensus method and device relating to DPoS
CN110245949B (en) Packing method and device related to block chain
CN110247773B (en) Packing method and device on block chain
CN110225043B (en) Packing method and device applied to block chain
CN111831669A (en) Method and device for storing internet voting data according to block chain
CN110245950B (en) Block discharging method and device related to block chain
CN110224840B (en) Block chain based packaging method and device
CN111078715A (en) Synchronous storage method and device for internet advertisement data on block chain
CN110298670B (en) Consensus method involving PBFT and apparatus therefor
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
CN110990418A (en) Asynchronous processing method and device based on block chain user data
CN111078795A (en) Method and device for storing social data of internet on block chain
CN111831671A (en) Method and device for storing internet advertisement data on block chain
CN111831738A (en) Method and device for storing Internet recruitment data on block chain
CN111831652A (en) Method and device for storing internet community data on block chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
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