CN110247773B - Packing method and device on block chain - Google Patents

Packing method and device on block chain Download PDF

Info

Publication number
CN110247773B
CN110247773B CN201910519289.0A CN201910519289A CN110247773B CN 110247773 B CN110247773 B CN 110247773B CN 201910519289 A CN201910519289 A CN 201910519289A CN 110247773 B CN110247773 B CN 110247773B
Authority
CN
China
Prior art keywords
block
node
nodes
hash
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
CN201910519289.0A
Other languages
Chinese (zh)
Other versions
CN110247773A (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 CN201910519289.0A priority Critical patent/CN110247773B/en
Publication of CN110247773A publication Critical patent/CN110247773A/en
Application granted granted Critical
Publication of CN110247773B publication Critical patent/CN110247773B/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
    • 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/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/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/104Peer-to-peer [P2P] networks

Abstract

The embodiment of the invention relates to a packing method and device on a block chain. The method comprises the following steps: if the first block to be generated is larger than a first threshold value, dividing the first block into a first sub-block and at least one second sub-block; performing a first hash operation according to the first block to obtain a first hash value; determining a first value for the 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 at least one second block outlet node from the plurality of block outlet nodes to be used as the block outlet node of the at least one second sub-block respectively according to the second hash value and a preset random rule. Therefore, the next block output node can be designated by the block output node, the designation process has certain randomness and verifiability, and the block output efficiency of the block link node network is improved.

Description

Packing method and device on block chain
Technical Field
The invention relates to the technical field of computers, in particular to a packing method and device 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 above problem, embodiments of the present invention provide a method and an apparatus for packing on a block chain.
In a first aspect, an embodiment of the present invention provides a method for packing 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:
if the first block to be generated is larger than a first threshold value, dividing the first block into a first sub-block and at least one second sub-block, wherein the first block outlet node is used as a block outlet node of the first sub-block;
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 at least one second block outlet node from the plurality of block outlet nodes to be used as the block outlet node of the at least one second sub-block respectively according to the second hash value and a preset random rule.
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, and the fourth block is divided into a third sub-block and at least one fourth sub-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 the block output node of the at least one fourth sub-block or not according to the fourth hash value and a preset random rule;
and if so, packaging one of the at least one fourth sub-block.
In some embodiments, the determining, according to the fourth hash value and a preset random rule, whether the first out-block node is an out-block node of the at least one fourth sub-block includes:
determining the sequence number of the block outlet node of the at least one fourth sub-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 at least one fourth sub-block comprises the sequence number of the first block outlet node.
In a second aspect, a packing apparatus 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 device comprises a blocking unit, a judging unit and a judging unit, wherein the blocking unit is used for dividing a first block to be generated into a first sub-block and at least one second sub-block if the first block is larger than a first threshold, and the first block outlet node is used as a block outlet node of the first sub-block;
the hash unit is used for 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 selecting unit is used for selecting at least one second block outlet node from the plurality of block outlet nodes to be used as the block outlet node of the at least one second sub-block respectively according to the second hash value and a preset random rule.
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 is specific to a fourth block, and the fourth block is divided into a third sub-block and at least one fourth sub-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 at least one fourth sub-block according to the fourth hash value and a preset random rule;
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 at least one fourth sub-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 at least one fourth sub-block comprises 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 method for packing 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 packing 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 method for packing 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, if the first block to be packed is larger than a first threshold value, dividing the first block into a first sub-block and at least one second sub-block, wherein the first block outlet node is used as a block outlet node of the first sub-block.
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.
After the first block is determined by the first block output node, if it is determined that the first block is greater than the first threshold, it is determined that the first block is too large and the block output efficiency is affected, the first block may be divided into a plurality of sub-blocks, and the sub-blocks are packed by different block output nodes, so as to improve the packing efficiency.
Wherein, the first threshold value can be determined according to actual needs.
For the partition rule of the sub-block, it may be determined according to actual needs, for example, it may be determined that a maximum time interval of the data of the block being smaller than the first threshold is reached, and then the sub-block is partitioned according to the maximum time interval. For example, the maximum time interval may be 1 minute and one block 3 minutes, and then, may be divided into three 1-minute sub-blocks.
S220, performing a first hash operation according to the first block to obtain a first hash value.
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.
And S230, sending the first hash value to other nodes in the plurality of out-of-block nodes.
The plurality of egress block nodes may be all egress block nodes.
And S240, 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.
S250, selecting a specified number of first numerical values according to the first numerical values of the plurality of block output 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 S260, performing second hash operation on the first numerical values with the specified number to obtain second hash values.
When the 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 S270, selecting at least one second block outlet node from the plurality of block outlet nodes as the block outlet node of the at least one second sub-block respectively according to the second hash value and a preset random rule.
In some embodiments, the precedence relationship may be determined according to a size relationship of the sequence number of the at least one second block output node, and the sequence relationships may be used as the block output nodes of the at least one second sub-block, respectively. For example, each of the block-out sub-nodes is divided according to time, and the second block-out node of each of the block-out sub-nodes can be determined by matching the time precedence relationship of the block-out sub-nodes and the precedence relationship of the second block-out node.
When the block node is determined, the selection may be performed according to the second hash value. 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 the out-block 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 S260 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, and the fourth block is divided into a third sub-block and at least one fourth sub-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 packing apparatus on a blockchain 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:
a block dividing unit 301, configured to divide a first block to be generated into a first sub-block and at least one second sub-block if the first block is larger than a first threshold, where the first block output node is used as a block output node of the first sub-block;
a hash unit 302, configured to perform a first hash operation according to the first block to obtain a first hash value;
a sending unit 303, configured to send the first hash value to other nodes in the plurality of out-of-block nodes;
a determining unit 304, 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 305, 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 302 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 306, configured to select at least one second block output node from the plurality of block output nodes as a block output node of the at least one second sub-block according to the second hash value and a preset random rule.
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 is specific to a fourth block, and the fourth block is divided into a third sub-block and at least one fourth sub-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 at least one fourth sub-block according to the fourth hash value and a preset random rule;
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 at least one fourth sub-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 at least one fourth sub-block comprises the sequence number of the first block outlet node.
It is to be understood that the packing apparatus on the blockchain 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 method for packing on a block chain, wherein a block-link node network includes a plurality of block output nodes, the method is applied to a first block output node, and the first block output node is any one of the plurality of block output nodes, and the method includes:
if the first block to be generated is larger than a first threshold value, dividing the first block into a first sub-block and at least one second sub-block, wherein the first block outlet node is used as a block outlet node of the first sub-block;
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;
selecting at least one second block outlet node from the plurality of block outlet nodes to be used as the block outlet node of the at least one second sub-block respectively according to the second hash value and a preset random rule;
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 plurality of block output nodes;
and determining the block output node corresponding to the remainder as the second block output node.
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;
and sending the second value of the first block output node to the third block output node.
4. The method of claim 1, wherein performing the second hash operation on the specified number of first values to obtain a second hash value comprises:
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.
5. The method according to claim 1, characterized in that it comprises:
sending a first digital signature to the plurality of out-of-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, and the fourth block is divided into a third sub-block and at least one fourth sub-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 the block output node of the at least one fourth sub-block or not according to the fourth hash value and a preset random rule;
and if so, packaging one of the at least one fourth sub-block.
7. The method according to claim 6, wherein the determining whether the first out-block node is an out-block node of the at least one fourth sub-block according to the fourth hash value and a preset random rule comprises:
determining the serial number of the block outlet node of at least one fourth sub-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 at least one fourth sub-block comprises the sequence number of the first block outlet node.
8. A packetization apparatus on a blockchain, wherein the blockchain node network comprises a plurality of out-block nodes, the apparatus being adapted to a first out-block node, the first out-block node being any one of the plurality of out-block nodes, the apparatus comprising:
the device comprises a blocking unit, a judging unit and a judging unit, wherein the blocking unit is used for dividing a first block to be generated into a first sub-block and at least one second sub-block if the first block is larger than a first threshold, and the first block outlet node is used as a block outlet node of the first sub-block;
the hash unit is used for 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 at least one second block output node from the multiple block output nodes according to the second hash value and a preset random rule, where the at least one second block output node is used as a block output node of the at least one second sub-block;
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 plurality of block output nodes;
and determining the block output node corresponding to the remainder as the second block output node.
9. The apparatus of claim 8, further comprising:
a sending unit, configured to send a first digital signature to the plurality of egress nodes.
CN201910519289.0A 2019-06-17 2019-06-17 Packing method and device on block chain Active CN110247773B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910519289.0A CN110247773B (en) 2019-06-17 2019-06-17 Packing method and device on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910519289.0A CN110247773B (en) 2019-06-17 2019-06-17 Packing method and device on block chain

Publications (2)

Publication Number Publication Date
CN110247773A CN110247773A (en) 2019-09-17
CN110247773B true CN110247773B (en) 2020-12-25

Family

ID=67887405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910519289.0A Active CN110247773B (en) 2019-06-17 2019-06-17 Packing method and device on block chain

Country Status (1)

Country Link
CN (1) CN110247773B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005574A (en) * 2016-12-23 2017-08-01 深圳前海达闼云端智能科技有限公司 Block generation method and device and block chain network
CN108596621A (en) * 2018-04-28 2018-09-28 深圳市优学链科技有限公司 Block chain accounting nodes generation method, device, computer equipment and storage medium
CN108964879A (en) * 2018-07-20 2018-12-07 杭州复杂美科技有限公司 A kind of drawing method, common recognition method, equipment and storage medium
US10230530B2 (en) * 2017-08-05 2019-03-12 Proclus Technologies Limited Method and system for securing a blockchain with proof-of-transactions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039646B (en) * 2018-07-12 2021-07-27 北京易智能科技有限公司 Block chain block packaging and verifying method and system based on node capability
CN109743173B (en) * 2018-12-20 2021-07-20 弗洛格(武汉)信息科技有限公司 Block out node determining method in block chain, block verification method and block chain system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005574A (en) * 2016-12-23 2017-08-01 深圳前海达闼云端智能科技有限公司 Block generation method and device and block chain network
US10230530B2 (en) * 2017-08-05 2019-03-12 Proclus Technologies Limited Method and system for securing a blockchain with proof-of-transactions
CN108596621A (en) * 2018-04-28 2018-09-28 深圳市优学链科技有限公司 Block chain accounting nodes generation method, device, computer equipment and storage medium
CN108964879A (en) * 2018-07-20 2018-12-07 杭州复杂美科技有限公司 A kind of drawing method, common recognition method, equipment and storage medium

Also Published As

Publication number Publication date
CN110247773A (en) 2019-09-17

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
CN108848148B (en) Transaction information confirmation method and device based on block chain
CN110223070B (en) Verification method and device based on block chain node point network
CN106296184A (en) Electronic money management method and electronic-monetary system
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
CN110247773B (en) Packing method and device on block chain
CN110245950B (en) Block discharging method and device related to block chain
CN110224840B (en) Block chain based packaging method and device
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
CN110245949B (en) Packing 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
CN110990418A (en) Asynchronous processing method and device based on block chain user data
CN111833053A (en) Method and device for storing knowledge payment data on block chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
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.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant