CN112348518A - Block chain transaction certification method and device - Google Patents

Block chain transaction certification method and device Download PDF

Info

Publication number
CN112348518A
CN112348518A CN202011102140.1A CN202011102140A CN112348518A CN 112348518 A CN112348518 A CN 112348518A CN 202011102140 A CN202011102140 A CN 202011102140A CN 112348518 A CN112348518 A CN 112348518A
Authority
CN
China
Prior art keywords
hash value
proof
transaction
leaf node
tree
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.)
Granted
Application number
CN202011102140.1A
Other languages
Chinese (zh)
Other versions
CN112348518B (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011102140.1A priority Critical patent/CN112348518B/en
Publication of CN112348518A publication Critical patent/CN112348518A/en
Priority to PCT/CN2021/120136 priority patent/WO2022078181A1/en
Application granted granted Critical
Publication of CN112348518B publication Critical patent/CN112348518B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

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

Abstract

The invention discloses a method and a device for proving block chain transaction, which comprises the steps that a generating party obtains a first Merck tree of a block where a transaction to be proved is located, the first Merck tree is constructed as leaf nodes after being sorted according to the size of hash values of all transactions in the block, then when the hash value of the transaction to be proved is not the leaf node of the first Merck tree, a first hash value serving as a first leaf node and a second hash value serving as a second leaf node are determined from the first Merck tree, and then a first proof is sent to a verifying party, the first proof comprises the first hash value, a first Merck proof of the first hash value, a second hash value and a second Merck proof of the second hash value, and the first proof is used as a negative proof that the transaction to be proved is not located in the first Merck tree. The hash values of all leaf nodes in the first Mercker tree are not required to be used as a negative proof of the transaction to be proved, so that the workload of a generating party and a verifying party is reduced, and the efficiency of proving the transaction is improved.

Description

Block chain transaction certification method and device
Technical Field
The invention relates to the field of financial technology (Fintech), in particular to a method and a device for block chain transaction certification.
Background
With the development of computer technology, more and more technologies (such as block chains, cloud computing or big data) are applied in the financial field, the traditional financial industry is gradually changing to the financial technology, and big data technology is no exception, but higher requirements are also put forward on big data technology due to the security and real-time requirements of the financial and payment industries.
In the prior art, in order to ensure that the transaction in the block chain is accurate, an authentication party (such as a light client) performs the transaction in the authentication block through a mercker certification provided by a generation party (such as a full node), so that the transaction is prevented from being tampered. However, the mercker proof generated by the generator can only prove that the hash value of the transaction exists in the mercker tree, so if the generator does not prove that the hash value of the transaction exists in the mercker tree, the hash values of all leaf nodes in the mercker tree need to be sent to the verifier, and then the verifier determines the mercker tree according to the hash values of all leaf nodes to verify whether the hash value of the leaf node provided by the generator is all data in the mercker tree, wherein the hash value of all leaf nodes in the mercker tree sent by the generator serves as a negative proof that the transaction does not exist in the mercker tree of the generator.
Because the generator needs to send the data of all leaf nodes to the verifier, when the data size is too large, the bandwidth of the verifier and the generator is greatly occupied, the verifier needs to calculate the hash values of all leaf nodes, and when the number of leaf nodes is too large, a large amount of calculation overhead is further caused. Therefore, a method for negative certification of blockchain transaction is needed to reduce the workload of the verifying party and the generating party and improve the efficiency of blockchain transaction verification.
Disclosure of Invention
The embodiment of the invention provides a method and a device for proving block chain transaction, which are used for generating a negative proof that a transaction to be proved is not in a first Mercker tree of a block, so that the workload of a verifying party and a generating party is reduced, and the efficiency of transaction verification is improved.
In a first aspect, an embodiment of the present invention provides a method and an apparatus for proving blockchain transactions, including:
a generator acquires a first Mercker tree of a block where a transaction to be proved is located; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
when the hash value of the transaction to be proved is not a leaf node of the first Mercker tree, the generator determines a first hash value serving as a first leaf node and a second hash value serving as a second leaf node from the first Mercker tree;
the generator sends a first proof to the verifier; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first proof is for use as a negative proof that the transaction to be proved is not in the first Mercker tree.
In the above technical solution, the generator determines a first hash value and a second hash value adjacent to each other in the first tacher tree according to the hash value of the transaction to be proved, then obtains a tacher proof of the first hash value and a tacher proof of the second hash value according to the first tacher tree, and proves that no hash value of other transaction exists between the first hash value and the second hash value according to the position adjacency of the first hash value and the second hash value verified by the verifier in the first tacher tree, that is, the hash value of the transaction to be proved does not exist in the first tacher tree, so that the first hash value and the second hash value, and the tacher proof of the first hash value and the tacher proof of the second hash value are used as negative proofs of the hash value of the transaction to be proved. The Hash values of all leaf nodes in the first Mercker tree are not needed to be used as negative proofs any more, all the leaf nodes are not needed to be sent to the verifying party by the generating party, the bandwidths of the verifying party and the generating party occupied by the leaf nodes are reduced, the calculation cost of the verifying party is reduced, and the efficiency of the proof transaction is improved.
Optionally, the first merkel tree is structured as a leaf node after being sorted according to the size of the hash value of each transaction in the block, and includes:
the generator sorts the hash values of the transactions in the block;
the generator takes a preset head leaf sub-node, a preset tail leaf sub-node and the ordered hash value of each transaction as leaf nodes;
the generator constructs n forks of first Merck trees according to each leaf node, wherein n is a positive integer larger than 1.
In the technical scheme, the first leaf node and the tail leaf node are arranged, so that the hash value of the transaction to be proved is prevented from being located at the first leaf node or the last leaf node in the first Mercker tree, and negative proof that the hash value of the transaction to be proved cannot be obtained due to the fact that only the first hash value or the second hash value can be obtained according to the hash value of the transaction to be proved is avoided.
Optionally, the generating party constructs an n-ary first merkel tree according to each leaf node, including:
and if the generator determines that the number of the leaf nodes is not the integral multiple of n, copying the last hash value in the sorted hash values of the transactions as the previous leaf node of the tail leaf node until the number of the leaf nodes is the integral multiple of n.
In the technical scheme, the situation that the first Mercker tree cannot be constructed due to the fact that the number of the leaf nodes is not an integral multiple of n is avoided.
Optionally, the first leaf node is a leaf node with a maximum hash value among leaf nodes whose hash values in the first merkel tree are smaller than the hash value of the transaction to be proved;
the second leaf node is a leaf node with the smallest hash value in the leaf nodes of which the hash value in the first Mercker tree is greater than the hash value of the transaction to be proved.
Optionally, the method further includes:
the generator determines a third Mercker proof of the hash value of the transaction to be proved from the first Mercker tree when the hash value of the transaction to be proved is a third leaf child node of the first Mercker tree;
the generator sends a second proof to the verifier; the third merkel proof is included in the second proof; the second proof is for use as a Merck proof of the transaction to be certified in the first Merck tree.
In a second aspect, an embodiment of the present invention provides a method for proving blockchain transactions, including:
the verifier receives the first proof sent by the generator; the first proof is generated when the generator determines that a hash value of the transaction to be proved is not a leaf node of the Mercker tree; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
the verifier verifies whether the first hash value is a first leaf node of the first Mercker tree according to the first Mercker proof;
the verifying party verifies whether the second hash value is a second leaf node of the first Mercker tree according to the second Mercker proof;
the verifier constructs a second merkel tree from the first proof to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second merkel tree.
In the above technical solution, if the verifying party verifies that the first hash value and the second hash value are adjacent in the second merkel tree, it can be proved that there is no hash value of another transaction between the first hash value and the second hash value, that is, it can be proved that the hash value of the transaction to be proved does not exist in the merkel tree, and therefore the merkel proof of the first hash value, the merkel proof of the second hash value, and the merkel proof of the second hash value are used as the negative proof of the hash value of the transaction to be proved. All leaf nodes in the Mercker tree do not need to be used as negative proofs any more, and all leaf nodes do not need to be sent to the verifying party by the generating party, so that the calculation overhead of the verifying party on the leaf nodes is reduced, and the efficiency of the proof transaction is improved.
Optionally, the method further includes:
the verifier receives a second proof sent by the generator; the second proof is generated by the generating party when the hash value of the transaction to be proved is determined to be a third leaf node of the Mercker tree; the second proof comprises a third Merck proof of the hash value of the transaction to be proved;
and the verifier verifies whether the hash value of the transaction to be proved is a third leaf node of the Mercker tree according to the third Mercker proof.
In a third aspect, an embodiment of the present invention provides an apparatus for transaction certification, including:
the acquisition module is used for acquiring a first Mercker tree of a block where a transaction to be proved is located; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
and the processing module is used for determining a first hash value serving as a first leaf node and a second hash value serving as a second leaf node from the first Mercker tree when the hash value of the transaction to be proved is not the leaf node of the first Mercker tree.
A sending module for sending the first proof to the verifier; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first proof is for use as a negative proof that the transaction to be proved is not in the first Mercker tree.
Optionally, the processing module is specifically configured to:
sorting the hash values of the transactions in the block;
the method takes a preset head leaf node, a preset tail leaf node and the ordered hash value of each transaction as leaf nodes;
and constructing n forks of first Merck trees according to each leaf node, wherein n is a positive integer greater than 1.
Optionally, the processing module is specifically configured to:
and if the number of the leaf nodes is not determined to be the integral multiple of n, copying the last hash value in the sorted hash values of the transactions to be used as the previous leaf node of the tail leaf node until the number of the leaf nodes is the integral multiple of n.
Optionally, the first leaf node is a leaf node with a maximum hash value among leaf nodes whose hash values in the first merkel tree are smaller than the hash value of the transaction to be proved;
the second leaf node is a leaf node with the smallest hash value in the leaf nodes of which the hash value in the first Mercker tree is greater than the hash value of the transaction to be proved.
Optionally, the processing module is further configured to:
determining a third Mercker proof of the hash value of the transaction to be proved from the first Mercker tree when the hash value of the transaction to be proved is a third leaf child node of the first Mercker tree;
sending a second proof to the verifier; the third merkel proof is included in the second proof; the second proof is for use as a Merck proof of the transaction to be certified in the first Merck tree.
In a fourth aspect, an embodiment of the present invention provides an apparatus for transaction certification, including:
the receiving unit is used for receiving the first certificate sent by the generator; the first proof is generated when the generator determines that a hash value of the transaction to be proved is not a leaf node of the Mercker tree; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
a verification unit, configured to verify whether the first hash value is a first leaf node of the first merkel tree according to the first merkel proof;
verifying whether the second hash value is a second leaf node of the first Mercker tree according to the second Mercker proof;
constructing a second Mercker tree from the first proof to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second Mercker tree.
Optionally, the verification unit is further configured to:
receiving a second proof sent by the generator; the second proof is generated by the generating party when the hash value of the transaction to be proved is determined to be a third leaf node of the Mercker tree; the second proof comprises a third Merck proof of the hash value of the transaction to be proved;
and verifying whether the hash value of the transaction to be proved is the third leaf node of the Mercker tree or not according to the third Mercker proof.
In a fifth aspect, an embodiment of the present invention further provides a computing device, including:
a memory for storing program instructions;
and the processor is used for calling the program instructions stored in the memory and executing the method for the blockchain transaction certification according to the obtained program.
In a sixth aspect, the present invention further provides a computer-readable storage medium storing computer-executable instructions for causing a computer to execute the above method for proving blockchain transactions.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of a Mercker tree according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating a system architecture according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating a method for performing a blockchain transaction certification according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a first Mercker tree according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating a method for blockchain transaction attestation according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a first Mercker tree according to an embodiment of the present invention;
FIG. 7 is a diagram of a second Mercker tree according to an embodiment of the present invention;
FIG. 8 is a diagram of a second Mercker tree according to an embodiment of the present invention;
FIG. 9 is a diagram of a second Mercker tree according to an embodiment of the present invention;
FIG. 10 is a diagram of a second Mercker tree according to an embodiment of the present invention;
FIG. 11 is a block chain transaction certification apparatus according to an embodiment of the present invention;
fig. 12 is a schematic structural diagram of a device for blockchain transaction certification according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. 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.
In the prior art, after a generator receives a to-be-proved transaction sent by a verifier, if the to-be-proved transaction is determined to be in a tacle tree, a hash value on a root node path of the tacle tree corresponding to the to-be-proved transaction and the to-be-proved transaction are usedThe hash value of the sibling (leaf node on the same parent) of the explicit transaction serves as the mercker proof of the transaction to be proved, which serves as a positive proof of the transaction to be proved at the block. FIG. 1 shows a schematic diagram of an exemplary Mercker tree, as shown in FIG. 1, with the transaction to be proved being H5Leaf node data of, the generator root is according to H5Determination of H5(i.e. H)6、H78And H1234) Then sent to the verifier according to H5、H6、H78And H1234Calculating the hash value H of a new root nodeAThe verifier bases on its own root node H12345678And HAThe identity of the generator is determined to be correct. In the proving process, the generator only needs to send a plurality of hash values of the Mercker proof to the verifier, and does not need to send all leaf nodes to the verifier for verification. If the generator determines that the transaction to be proved is not in the Mercker tree, the generator can only send all leaf nodes to the verifier as negative proofs of the transaction to be proved, the verifier establishes a Mercker tree for verification again according to all leaf nodes sent by the generator, and after the leaf nodes sent by the generator are determined to be correct, the generator traverses the leaf nodes to see whether the transaction to be proved exists. Therefore, a large amount of computation overhead exists in the verifying party, and the generating party also occupies the bandwidth when sending the leaf nodes, so that the verifying efficiency is low. In order to solve the above technical problem, an embodiment of the present invention provides a method for certifying blockchain transactions.
Fig. 2 illustrates an exemplary system architecture, which includes a generator 110 and a verifier 120, to which an embodiment of the present invention is applicable.
The generator 110 may be any whole node in the blockchain system, and the whole node has a complete copy of the ledger and has functions of participating in the blockchain network formula and maintaining the ledger. The generator 110 is configured to, after obtaining that the to-be-proven transaction sent by the verifier is, if it is determined that the to-be-proven transaction is any leaf node in the first tacle tree in the generator 110, send the tacle proof corresponding to the to-be-proven transaction to the verifier as a positive proof of the to-be-proven transaction in the first tacle tree.
If it is determined that the transaction to be proved is not in the first merkel tree in the generator 110, a first leaf node with the largest hash value among leaf nodes smaller than the hash value of the transaction to be proved (or a first leaf node with the smallest hash value among leaf nodes larger than the hash value of the transaction to be proved), a second leaf node with the smallest hash value among leaf nodes larger than the hash value of the transaction to be proved (or a second leaf node with the smallest hash value among leaf nodes larger than the hash value of the transaction to be proved), a first merkel proof of the first hash value of the first leaf node and a second merkel proof of the second hash value of the second leaf node are determined and sent to the verifier as negative proofs that the transaction to be proved is not in the first merkel tree.
The verifier 120, typically a light client (e.g., a mobile phone terminal, etc.), sends the transaction to be proved to the generator 110, and confirms whether the transaction to be proved is linked in the blockchain network through a positive certificate or a negative certificate fed back by the generator 110.
It should be noted that the structure shown in fig. 1 is only an example, and the embodiment of the present invention is not limited thereto.
Based on the above description, fig. 3 exemplarily illustrates a flow of a method for blockchain transaction attestation, which may be performed by an apparatus for blockchain transaction attestation according to an embodiment of the present invention.
As shown in fig. 3, the process specifically includes:
in step 310, the generator obtains a first Merck tree of the block where the transaction to be proved is located.
In the embodiment of the invention, the first Merck tree is constructed as leaf nodes after being sorted according to the size of the hash value of each transaction in the block, wherein the hash value is a fixed output data obtained by encrypting the input data according to the random number of the input data, and the size relationship exists among the hash values, so that the hash values of each transaction can be sorted according to the size of the hash value, then the first Merck tree is obtained, and the hash values can be converted into integers according to a preset algorithm and then sorted. For example, the hash algorithm is selected to be sha3-256, the hash length is 256 bits, the hash value can be converted into a 256-bit positive integer, and the hash values of the transactions are sorted according to the size of the positive integer.
Further, the generator sorts the hash values of the transactions in the block, then uses a preset head leaf node, a preset tail leaf node and the sorted hash values of the transactions as leaf nodes, and then constructs an n-fork first Merck tree according to the leaf nodes, wherein n is a positive integer greater than 1.
In this embodiment of the present invention, the first merkel tree further includes a preset head leaf sub-node and a preset tail leaf sub-node, where values of the head leaf sub-node and the tail leaf sub-node may be null or values preset by a user, the head leaf sub-node is used as a first leaf node of the first merkel tree, the tail leaf sub-node is used as a last leaf node of the first merkel tree, and then leaf nodes corresponding to hash values of the ordered transactions are ordered between the head leaf sub-node and the tail leaf sub-node. The generator may sort the hash values of the transactions in the block in a big-to-small manner or a small-to-big manner. Since the first merkel tree is n-pronged, the number of leaf nodes satisfying n is determined.
Further, if the generator determines that the number of each leaf node is not an integer multiple of n, the generator copies the last hash value of the sorted hash values of each transaction as the previous leaf node of the tail leaf child node until the number of the leaf nodes is an integer multiple of n.
In the embodiment of the invention, according to the characteristics of the Mercker tree construction, if the number of all leaf nodes (including a head leaf node and a tail leaf node) of a generator is not an integral multiple of n, the leaf nodes are required to be supplemented until the number of all leaf nodes of the generator is not an integral multiple of n. For example, if n is 3, and the number of all leaf nodes is 5, the last hash value of the sorted hash values of the transactions is copied as the previous leaf node of the tail leaf child node, and fig. 4 exemplarily shows a first default nodeFig. 4 shows a schematic diagram of a kirr tree, in which hash values of transactions are sorted from small to large as leaf nodes in the merkerr tree, where the number of all leaf nodes is 5 (H)Head with a rotatable shaft、H2、H3、H4And HTail) And n is 3, the last hash value (H) in the sorted hash values of the transactions is obtained4) Making a copy as a tail leaf node (H)Tail) Previous leaf node (H ″)4) Then two intermediate nodes (H) of the second layer are obtained123And H' system44 tail) For the intermediate nodes, if the number of the intermediate nodes in a certain layer does not satisfy the integral multiple of n, the last hash value in the intermediate nodes is copied as the last node until the root node is generated, and the finished Merck tree is formed by copying the last hash value (H '), for example, the last hash value (H') in the intermediate nodes44 tail) And (4) copying to obtain a complete 3-fork Merck tree (the root node is Ha).
In step 320, when the hash value of the transaction to be proved is not a leaf node of the first merkel tree, the generator determines a first hash value as a first leaf node and a second hash value as a second leaf node from the first merkel tree.
In the embodiment of the invention, after receiving the to-be-proved transaction sent by the verification party, the generation party determines a first leaf node and a second leaf node which have a certain relation with the to-be-proved transaction if determining that the to-be-proved transaction is not any leaf node in the first Mercker tree.
Further, the first leaf node is a leaf node with the largest hash value in the leaf nodes of which the hash value in the first merkel tree is smaller than the hash value of the transaction to be proved, and the second leaf node is a leaf node with the smallest hash value in the leaf nodes of which the hash value in the first merkel tree is larger than the hash value of the transaction to be proved.
In the embodiment of the invention, the first leaf node and the second leaf node are determined according to the hash value of the transaction to be proved and the hash value of the leaf node in the first Mercker tree. For example, as shown in FIG. 4, if the hash value of the transaction A to be certified is less than the leaf node H4And is greater than leaf node H3Then leaf node H3Is the first leaf node, leaf node H4Is the second leaf node.
At step 330, the generator sends the first proof to the verifier.
In the embodiment of the present invention, the first certificate includes a first hash value, a first tacle certificate of the first hash value, a second hash value, and a second tacle certificate of the second hash value, and the first certificate is used as a negative certificate that the transaction to be certified is not in the first tacle tree.
Specifically, after the generator determines a first leaf node and a second leaf node, a first hash value corresponding to the first leaf node and a first tacher proof of the first hash value are determined, and a second hash value corresponding to the second leaf node and a second tacher proof of the second hash value are determined, because the first tacher tree is obtained after the leaf nodes are sequenced, it is only necessary to verify that the first leaf node and the second leaf node are adjacent nodes, and it is determined that no other transaction exists between the first leaf node and the second leaf node as a leaf node, so the first hash value, the first tacher proof of the first hash value, the second hash value, and the second tacher proof of the second hash value are used as negative proofs that the transaction to be proofed is not in the first tacher tree.
For example, when the hash value of the transaction to be proved is the third leaf child node of the first merkel tree, the generating party determines a third merkel proof of the hash value of the transaction to be proved from the first merkel tree, and then sends a second proof to the verifying party, wherein the third merkel proof is included in the second proof and is used as the merkel proof of the transaction to be proved in the first merkel tree.
In the embodiment of the invention, after receiving the to-be-proved transaction sent by the verifying party, if the to-be-proved transaction is determined to be a certain leaf node in the first Mercker tree, the generating party determines the corresponding Mercker certificate as the second certificate, so that the verifying party verifies that the to-be-proved transaction is in the first Mercker tree according to the second certificate. For example, as shown in FIG. 4, the leaf node corresponding to the transaction to be certified is H3Then H is3Is proved as a leaf node HHead with a rotatable shaft、H2、H3、H`44 tailAnd (H')44 tail) The hash value of the'.
In the embodiment of the invention, the determined first certificate is used as the negative certificate that the transaction to be proved is not in the first Mercker tree, the Hash values of all leaf nodes in the first Mercker tree are not required to be used as the negative certificate any more, and all the leaf nodes are not required to be sent to the verifying party by the generating party, so that the workload of the generating party for transmitting the leaf nodes and the occupied bandwidth are reduced, the occupied bandwidth and the calculated amount of the verifying party for receiving the leaf nodes are reduced, the time for the verifying party to prove the transaction to be proved is shortened, and the efficiency for proving the transaction is improved.
Based on the above description, fig. 5 exemplarily illustrates a flow of a method for blockchain transaction attestation, which may be performed by an apparatus for blockchain transaction attestation according to an embodiment of the present invention.
At step 510, the verifier receives the first proof sent by the generator.
In this embodiment of the present invention, the first proof is generated when the generating party determines that the hash value of the transaction to be proved is not a leaf node of a tacle tree, where the first proof includes a first hash value, a first tacle proof of the first hash value, a second hash value, and a second tacle proof of the second hash value, and the first tacle tree is structured as a leaf node after being sorted according to the size of the hash value of each transaction in the block.
Step 520, the verifying party verifies whether the first hash value is the first leaf node of the first merkel tree according to the first merkel proof.
In the embodiment of the present invention, the verifying party determines the hash value of the first root node according to the obtained first hash value and the first tacle proof of the first hash value, and if the hash value of the first root node is consistent with the hash value of the first tacle tree stored by the verifying party, the first hash value is proved to be the first leaf node in the first tacle tree. For example, fig. 6 schematically shows a first merkel tree, as shown in fig. 6,when the first hash value of the first leaf node is 837e, 958d, H11And H0First Merck's proof as first hash value, then verifier according to 837e, 958d, H11And H0Calculate HRoot of herbaceous plant(hash value of first root node), if the hash value of the root node is consistent with the hash value of the root node, the first hash value passes verification.
Step 530, the verifying party verifies whether the second hash value is a second leaf node of the first merkel tree according to the second merkel proof.
In the embodiment of the present invention, according to the technical scheme for verifying the first hash value, the second hash value is verified in the same manner, which is not described in detail herein.
And 540, the verifier constructs a second Mercker tree according to the first certificate, so as to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second Mercker tree.
In the embodiment of the present invention, the verifying party constructs the second merkel tree according to the first hash value, the first merkel proof of the first hash value, the second hash value, and the second merkel proof of the second hash value, thereby verifying whether the first leaf node and the second leaf node are adjacent leaf nodes in the second merkel tree according to the second merkel tree. For example, as described above with reference to fig. 6, fig. 7 exemplarily shows a diagram of a second merkel tree, and as shown in fig. 7, when the first hash value of the first leaf node is determined to be 33ab according to the hash value of the transaction to be proved, and the second hash value of the second leaf node is 56af, the first merkel proof ("head", H) according to the first hash value (33ab) and the first hash is obtained01And H1) A second hash value (56af) and a second merkel proof of the second hash (611c, H)00And H1) A second Merck tree is constructed, from which the first leaf node and the second leaf node are proved to be adjacent leaf nodes in the second Merck tree. Wherein H0Is according to H00And H01Calculated asRoot of herbaceous plantIs according to H0And H1And (4) calculating.
In the embodiment of the invention, the verifying party verifies that the positions of the first hash value and the second hash value in the second Mercker tree are adjacent, and proves that no hash value of other transactions exists between the first hash value and the second hash value, namely, the fact that the hash value of the transaction to be proved does not exist in the Mercker tree is proved, so that the first hash value, the Mercker proof of the second hash value and the Mercker proof of the second hash value are used as negative proofs of the hash value of the transaction to be proved. All leaf nodes in the Mercker tree are not needed to be used as negative proofs any more, so that the calculation overhead of a second Mercker tree constructed by a verifier is reduced, and the efficiency of proof transaction is improved.
For example, if the verifying party receives the second proof sent by the generating party, it verifies whether the hash value of the transaction to be proved is the third leaf child node of the mercker tree according to the third mercker proof, where the second proof is generated by the generating party when determining that the hash value of the transaction to be proved is the third leaf child node of the mercker tree, and the second proof includes the third mercker proof of the hash value of the transaction to be proved.
It should be noted that, the size of the hash value of the transaction to be proved is between the head leaf child node and the tail leaf child node, so as to ensure that the hash value of the transaction to be proved is within the range of the first mercker tree, therefore, different position situations exist between the first leaf node and the second leaf node determined according to the hash value of the transaction to be proved, the position situation in fig. 7 is that the first leaf node and the head leaf node are sibling leaf nodes (leaf nodes on the same parent node), and for better explaining the above technical solution, explanation is made in the following example according to different position situations between the first leaf node and the second leaf node.
Example 1
Based on the above description of fig. 6, fig. 8 exemplarily shows a diagram of a second merkel tree, as shown in fig. 8, for example, if it is determined that the first hash value of the first leaf node is 56af and the second hash value of the second leaf node is 611c according to the hash values of the transaction to be proved, then the first merkel proof (611c, H) according to the first hash value (56af) and the first hash is obtained00And H1) A second hash value (611c) and a second merkel proof of the second hash (56af, H)00And H1) A second Merck tree is constructed, from which the first leaf node and the second leaf node are proved to be adjacent leaf nodes in the second Merck tree.
Example 2
Based on the above description of fig. 6, fig. 9 exemplarily shows a diagram of a second merkel tree, as shown in fig. 9, for example, if it is determined that the first hash value of the first leaf node is 611c according to the hash value of the transaction to be proved, and the second hash value of the second leaf node is 837e, then the first merkel proof (56af, H) according to the first hash value (611c) and the first hash is obtained00And H1) A second hash value (837e), and a second merkel proof of the second hash (958d, H)11And H0) A second Merck tree is constructed, from which the first leaf node and the second leaf node are proved to be adjacent leaf nodes in the second Merck tree.
Example 3
Based on the above description of fig. 6, fig. 10 exemplarily shows a schematic diagram of a second merkel tree, as shown in fig. 10, if the first leaf node and the second leaf node sent by the generating party are not adjacent, it may also be verified according to the second merkel tree, for example, if the first hash value of the first leaf node is determined to be 56af according to the hash value of the transaction to be verified, and the second hash value of the second leaf node is 837e, then the first merkel verification (611c) and the first hash (611c, H) are performed according to the first hash value (611c) and the first merkel verification (611c, H) of the first hash00And H1) A second hash value (837e), and a second merkel proof of the second hash (958d, H)11And H0) A second Merck tree is constructed from which it can be demonstrated that the first leaf node and the second leaf node are not adjacent leaf nodes in the second Merck tree.
Based on the same technical concept, fig. 11 exemplarily shows a structure of an apparatus for blockchain transaction certification according to an embodiment of the present invention, which may perform a flow of a method for blockchain transaction certification.
As shown in fig. 11, the apparatus specifically includes:
an obtaining module 1110, configured to obtain a first merck tree of a block where a transaction to be certified is located; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
a processing module 1120, configured to determine, from the first tachr tree, a first hash value as a first leaf node and a second hash value as a second leaf node when the hash value of the to-be-certified transaction is not a leaf node of the first tachr tree.
A sending module 1130, configured to send the first certificate to the verifier; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first proof is for use as a negative proof that the transaction to be proved is not in the first Mercker tree.
Optionally, the processing module 1120 is specifically configured to:
sorting the hash values of the transactions in the block;
the method takes a preset head leaf node, a preset tail leaf node and the ordered hash value of each transaction as leaf nodes;
and constructing n forks of first Merck trees according to each leaf node, wherein n is a positive integer greater than 1.
Optionally, the processing module 1120 is specifically configured to:
and if the number of the leaf nodes is not determined to be the integral multiple of n, copying the last hash value in the sorted hash values of the transactions to be used as the previous leaf node of the tail leaf node until the number of the leaf nodes is the integral multiple of n.
Optionally, the first leaf node is a leaf node with a maximum hash value among leaf nodes whose hash values in the first merkel tree are smaller than the hash value of the transaction to be proved;
the second leaf node is a leaf node with the smallest hash value in the leaf nodes of which the hash value in the first Mercker tree is greater than the hash value of the transaction to be proved.
Optionally, the processing module 1120 is further configured to:
determining a third Mercker proof of the hash value of the transaction to be proved from the first Mercker tree when the hash value of the transaction to be proved is a third leaf child node of the first Mercker tree;
sending a second proof to the verifier; the third merkel proof is included in the second proof; the second proof is for use as a Merck proof of the transaction to be certified in the first Merck tree.
Based on the same technical concept, fig. 12 exemplarily shows a structure of an apparatus for blockchain transaction certification according to an embodiment of the present invention, which may perform a flow of a method for blockchain transaction certification.
As shown in fig. 12, the apparatus specifically includes:
a receiving unit 1210, configured to receive a first certificate sent by a generator; the first proof is generated when the generator determines that a hash value of the transaction to be proved is not a leaf node of the Mercker tree; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
a verifying unit 1220, configured to verify whether the first hash value is a first leaf node of the first merkel tree according to the first merkel proof;
verifying whether the second hash value is a second leaf node of the first Mercker tree according to the second Mercker proof;
constructing a second Mercker tree from the first proof to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second Mercker tree.
Optionally, the verification unit 1220 is further configured to:
receiving a second proof sent by the generator; the second proof is generated by the generating party when the hash value of the transaction to be proved is determined to be a third leaf node of the Mercker tree; the second proof comprises a third Merck proof of the hash value of the transaction to be proved;
and verifying whether the hash value of the transaction to be proved is the third leaf node of the Mercker tree or not according to the third Mercker proof.
Based on the same technical concept, an embodiment of the present invention further provides a computing device, including:
a memory for storing program instructions;
and the processor is used for calling the program instructions stored in the memory and executing the method for the blockchain transaction certification according to the obtained program.
Based on the same technical concept, the embodiment of the invention also provides a computer-readable storage medium, which stores computer-executable instructions for causing a computer to execute the method for the block chain transaction certification.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (11)

1. A method for blockchain transaction attestation, comprising:
a generator acquires a first Mercker tree of a block where a transaction to be proved is located; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
when the hash value of the transaction to be proved is not a leaf node of the first Mercker tree, the generator determines a first hash value serving as a first leaf node and a second hash value serving as a second leaf node from the first Mercker tree;
the generator sends a first proof to the verifier; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first proof is for use as a negative proof that the transaction to be proved is not in the first Mercker tree.
2. The method of claim 1 wherein the first merkel tree is constructed as a leaf node based on hash values for transactions in a block sorted by size, comprising:
the generator sorts the hash values of the transactions in the block;
the generator takes a preset head leaf sub-node, a preset tail leaf sub-node and the ordered hash value of each transaction as leaf nodes;
the generator constructs n forks of first Merck trees according to each leaf node, wherein n is a positive integer larger than 1.
3. The method of claim 2, wherein the generator constructs an n-way first merkel tree from each leaf node, comprising:
and if the generator determines that the number of the leaf nodes is not the integral multiple of n, copying the last hash value in the sorted hash values of the transactions as the previous leaf node of the tail leaf node until the number of the leaf nodes is the integral multiple of n.
4. The method according to any one of claims 1 to 3,
the first leaf node is a leaf node with a maximum hash value in leaf nodes of which the hash value in the first Merck tree is smaller than the hash value of the transaction to be proved;
the second leaf node is a leaf node with the smallest hash value in the leaf nodes of which the hash value in the first Mercker tree is greater than the hash value of the transaction to be proved.
5. The method of any of claims 1 to 3, further comprising:
the generator determines a third Mercker proof of the hash value of the transaction to be proved from the first Mercker tree when the hash value of the transaction to be proved is a third leaf child node of the first Mercker tree;
the generator sends a second proof to the verifier; the third merkel proof is included in the second proof; the second proof is for use as a Merck proof of the transaction to be certified in the first Merck tree.
6. A method for blockchain transaction attestation, comprising:
the verifier receives the first proof sent by the generator; the first proof is generated when the generator determines that a hash value of the transaction to be proved is not a leaf node of the Mercker tree; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
the verifier verifies whether the first hash value is a first leaf node of the first Mercker tree according to the first Mercker proof;
the verifying party verifies whether the second hash value is a second leaf node of the first Mercker tree according to the second Mercker proof;
the verifier constructs a second merkel tree from the first proof to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second merkel tree.
7. The method of claim 6, wherein the method further comprises:
the verifier receives a second proof sent by the generator; the second proof is generated by the generating party when the hash value of the transaction to be proved is determined to be a third leaf node of the Mercker tree; the second proof comprises a third Merck proof of the hash value of the transaction to be proved;
and the verifier verifies whether the hash value of the transaction to be proved is a third leaf node of the Mercker tree according to the third Mercker proof.
8. An apparatus for transaction attestation, comprising:
the acquisition module is used for acquiring a first Mercker tree of a block where a transaction to be proved is located; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
a processing module, configured to determine, from the first merkel tree, a first hash value as a first leaf node and a second hash value as a second leaf node when the hash value of the to-be-certified transaction is not a leaf node of the first merkel tree
A sending module for sending the first proof to the verifier; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first proof is for use as a negative proof that the transaction to be proved is not in the first Mercker tree.
9. An apparatus for transaction attestation, comprising:
the receiving unit is used for receiving the first certificate sent by the generator; the first proof is generated when the generator determines that a hash value of the transaction to be proved is not a leaf node of the Mercker tree; the first proof comprises the first hash value, a first merkel proof of the first hash value, the second hash value and a second merkel proof of the second hash value; the first Mercker tree is constructed as a leaf node after being sorted according to the size of the hash value of each transaction in the block;
a verification unit, configured to verify whether the first hash value is a first leaf node of the first merkel tree according to the first merkel proof;
verifying whether the second hash value is a second leaf node of the first Mercker tree according to the second Mercker proof;
constructing a second Mercker tree from the first proof to verify whether the first leaf node and the second leaf node are adjacent leaf nodes in the second Mercker tree.
10. A computing device, comprising:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory to perform the method of any one of claims 1 to 5 or 6 to 7 in accordance with the obtained program.
11. A computer-readable storage medium having stored thereon computer-executable instructions for causing a computer to perform the method of any one of claims 1 to 5 or 6 to 7.
CN202011102140.1A 2020-10-15 2020-10-15 Block chain transaction certification method and device Active CN112348518B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011102140.1A CN112348518B (en) 2020-10-15 2020-10-15 Block chain transaction certification method and device
PCT/CN2021/120136 WO2022078181A1 (en) 2020-10-15 2021-09-24 Method and apparatus for proving blockchain transaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011102140.1A CN112348518B (en) 2020-10-15 2020-10-15 Block chain transaction certification method and device

Publications (2)

Publication Number Publication Date
CN112348518A true CN112348518A (en) 2021-02-09
CN112348518B CN112348518B (en) 2022-09-16

Family

ID=74361862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011102140.1A Active CN112348518B (en) 2020-10-15 2020-10-15 Block chain transaction certification method and device

Country Status (2)

Country Link
CN (1) CN112348518B (en)
WO (1) WO2022078181A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153849A (en) * 2021-12-02 2022-03-08 深圳前海微众银行股份有限公司 Data generation and verification method and device for block chain
WO2022078181A1 (en) * 2020-10-15 2022-04-21 深圳前海微众银行股份有限公司 Method and apparatus for proving blockchain transaction

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115082068B (en) * 2022-07-27 2022-11-25 北京大学 Minimum Merck proof generation and block chain transaction verification method supporting aggregation
CN115150103B (en) * 2022-08-29 2022-11-29 人民法院信息技术服务中心 Block chain-based digital certificate offline verification method, device and equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657438A (en) * 2017-09-18 2018-02-02 联动优势科技有限公司 A kind of block chain generation method, data verification method, node and system
CN109657499A (en) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 Metadata validation method, system server and computer readable storage medium
CN110602239A (en) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 Block chain information storage method and related equipment
EP3588358A1 (en) * 2018-06-29 2020-01-01 INTEL Corporation Technologies for attesting a deployed workload using blockchain
CN111680049A (en) * 2020-05-15 2020-09-18 杭州趣链科技有限公司 Block chain-based processing method and processing device for Internet of things data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088397A1 (en) * 2017-11-02 2019-05-09 단국대학교 산학협력단 Method and apparatus for transaction authentication using one-time password
CN110599346B (en) * 2019-09-20 2023-11-17 腾讯科技(深圳)有限公司 Block chain information acquisition method and related equipment
CN112286939A (en) * 2020-06-12 2021-01-29 支付宝(杭州)信息技术有限公司 Method, device and equipment for generating Hash of global state in block chain type account book
CN112348518B (en) * 2020-10-15 2022-09-16 深圳前海微众银行股份有限公司 Block chain transaction certification method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657438A (en) * 2017-09-18 2018-02-02 联动优势科技有限公司 A kind of block chain generation method, data verification method, node and system
EP3588358A1 (en) * 2018-06-29 2020-01-01 INTEL Corporation Technologies for attesting a deployed workload using blockchain
CN109657499A (en) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 Metadata validation method, system server and computer readable storage medium
CN110602239A (en) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 Block chain information storage method and related equipment
CN111680049A (en) * 2020-05-15 2020-09-18 杭州趣链科技有限公司 Block chain-based processing method and processing device for Internet of things data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KONDAPALLY ASHRITHA 等: "Redactable Blockchain using Enhanced Chameleon Hash Function", 《2019 5TH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING & COMMUNICATION SYSTEMS (ICACCS)》 *
李振汕: "基于完整性的区块链电子存证方法研究", 《计算机时代》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022078181A1 (en) * 2020-10-15 2022-04-21 深圳前海微众银行股份有限公司 Method and apparatus for proving blockchain transaction
CN114153849A (en) * 2021-12-02 2022-03-08 深圳前海微众银行股份有限公司 Data generation and verification method and device for block chain

Also Published As

Publication number Publication date
CN112348518B (en) 2022-09-16
WO2022078181A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
CN112348518B (en) Block chain transaction certification method and device
CN110869967B (en) System and method for parallel processing of blockchain transactions
JP7211943B2 (en) Method and Apparatus for Distributed Database Enabling Deletion of Events
JP7184959B2 (en) Method and apparatus for distributed database in network
Xie et al. zkbridge: Trustless cross-chain bridges made practical
US11797502B2 (en) Methods and apparatus for a distributed database within a network
US20220391358A1 (en) Methods and apparatus for a distributed database within a network
CN110399424B (en) Block generation method, block generation device, block chain node and storage medium
CN113095827B (en) Anonymous multiple signature method, computer device, and storage medium
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN109410043B (en) Block chain information efficient storage method and device based on hierarchical tree structure
CN110187831B (en) Block data storage system and method of block chain alliance chain
Meckler et al. Coda: Decentralized cryptocurrency at scale
CN111640018B (en) Block chain transaction existence verification method and device
CN113994324B (en) Block chain system with efficient world state data structure
Khalifa et al. Quantum attacks and defenses for proof-of-stake
Gabizon et al. Plumo: Towards scalable interoperable blockchains using ultra light validation systems
CN115174048A (en) Consensus method, system and consensus node
CN110990790A (en) Data processing method and equipment
WO2020073246A1 (en) Blockchain-based transaction data processing method and device, and storage medium
CN112995167A (en) Kafka mechanism-based power utilization information acquisition method, block chain network and user side
CN112488683A (en) Method and device for offline transaction of block chain
CN115473632B (en) Improved multi-layer linkable ring signature generation method and device
CN115544026A (en) Data storage method and device, electronic equipment and storage medium
Endignoux Design and implementation of a post-quantum hash-based cryptographic signature scheme

Legal Events

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