CN111667264A - Block data transmission method and device, electronic equipment and nonvolatile computer storage medium - Google Patents

Block data transmission method and device, electronic equipment and nonvolatile computer storage medium Download PDF

Info

Publication number
CN111667264A
CN111667264A CN202010383612.9A CN202010383612A CN111667264A CN 111667264 A CN111667264 A CN 111667264A CN 202010383612 A CN202010383612 A CN 202010383612A CN 111667264 A CN111667264 A CN 111667264A
Authority
CN
China
Prior art keywords
transaction
data
lookup table
node
block
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
CN202010383612.9A
Other languages
Chinese (zh)
Other versions
CN111667264B (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 Mingtai Hengtong Information Technology Co ltd
Original Assignee
Shenzhen Luyun District Chain Network 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 Shenzhen Luyun District Chain Network Technology Co ltd filed Critical Shenzhen Luyun District Chain Network Technology Co ltd
Priority to CN202010383612.9A priority Critical patent/CN111667264B/en
Publication of CN111667264A publication Critical patent/CN111667264A/en
Application granted granted Critical
Publication of CN111667264B publication Critical patent/CN111667264B/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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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

Abstract

The embodiment of the invention relates to a block data transmission method and device, electronic equipment and a nonvolatile computer storage medium. The method comprises the following steps: constructing a bloom filter; sending the bloom filter and the block information of the new block; generating estimate data of a transaction difference between the sending node and the receiving node; generating a first reversible bloom lookup table corresponding to the new block according to the estimation data; determining public transactions between the sending node and the receiving node through the bloom filter and constructing a second reversible bloom lookup table corresponding to the public transactions; and carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table, solving the special transaction of the sending node and reconstructing the block according to the special transaction. The size of the reversible bloom lookup table can be reasonably selected and the probability of inverse solution failure can be controlled by giving estimation data of transaction difference between the sending node and the receiving node in advance.

Description

Block data transmission method and device, electronic equipment and nonvolatile computer storage medium
[ technical field ] A method for producing a semiconductor device
The present invention relates to the field of block chain technologies, and in particular, to a method and an apparatus for transmitting block data, an electronic device, and a non-volatile computer storage medium.
[ background of the invention ]
There is no centralized node in the blockchain system, all nodes are peer-to-peer, and all data and state eventually need to be synchronized to all nodes of the system.
In the public chain, the number of system nodes is not limited because the system is unlicensed. When the number of system nodes is very large, the data volume required to be transmitted by the whole system due to state synchronization is very large, thereby causing great limitation to the expansibility of the block chain system.
In current blockchain systems, data and status information that nodes need to synchronize are obtained by block transmission. The block is a set of transactions, and the system synchronization block is actually a set of transactions to be verified or verified in the synchronization block.
In the blockchain system, when a user sends a transaction to the blockchain system, the transaction is broadcast, so that the same transaction is added to the transaction pool of multiple nodes. Since the node may already have the transaction packed in the block to be transmitted locally, all transactions do not need to be transmitted when the block is transmitted, and only the transaction data that the other party does not have needs to be transmitted. In this way, the counterparty can reconstruct the block from the transactions already in the transaction pool and the received transactions.
Based on such principle, a variety of different data transmission methods are provided to implement Block data synchronization of a Block chain system, such as a related technical scheme (conventional Block relay, high bandwidth CMPCT Block relay, low bandwidth CMPCT Block relay, etc.) called "Compact Block"), a technical scheme called "xtreme thinblocks" using a bloom filter, and a technical scheme called "graph" using a bloom filter and an invertible bloom look-up table (IBLT) in combination.
However, these solutions have certain disadvantages, such as large data transmission amount, large number of required communication interactions, and failure of analysis due to probability characteristics. Therefore, it is desirable to provide a better block data transmission mode to achieve the task of block synchronization.
[ summary of the invention ]
Embodiments of the present invention provide a method and an apparatus for transmitting block data, an electronic device, and a non-volatile computer storage medium, which can solve at least one of the defects of the existing block data transmission method.
In order to solve the above technical problems, embodiments of the present invention provide the following technical solutions: a method for transmitting block data comprises the following steps:
after the new block is generated, the sending node constructs a bloom filter corresponding to the new block; the sending node sends the bloom filter and the block information of the new block to a receiving node; generating estimate data of a transaction difference between the sending node and the receiving node; the transmitting node determines a construction parameter of a first reversible bloom lookup table according to the estimation data; the transmitting node generates a first reversible bloom lookup table corresponding to the new block according to the construction parameters and transmits the first reversible bloom lookup table to the receiving node; the receiving node determines public transactions between the sending node and the receiving node through the bloom filter; generating a second reversible bloom lookup table corresponding to the public transaction; carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table, and solving the special transaction of the sending node; reconstructing the new block based on the public transaction and the unique transaction of the sending node.
Optionally, the sending the bloom filter and the block information of the new block to a receiving node specifically includes: and in the one-time communication process of the sending node and the receiving node, simultaneously sending the bloom filter and the block information of the new block.
Optionally, the first reversible bloom lookup table and the second reversible bloom lookup table are constructed from transaction data.
Optionally, the generating of the estimation data of the transaction difference between the sending node and the receiving node specifically includes:
and estimating the transaction similarity between the sending node and the receiving node by a minimum hash method, a hierarchical sampling method or a combination of the minimum hash method and the hierarchical sampling method.
Optionally, the combination of the minimum hash method and the hierarchical sampling method is used to estimate a transaction similarity between the sending node and the receiving node, and specifically includes:
the receiving node divides the positive transaction data obtained by filtering through the bloom filter into n layers to form first estimation information;
the sending node divides the transaction data of the new block into n layers to form second estimation information;
wherein the i-th layer contains 0.5iThe transaction data, n is an integer which is more than or equal to 0, i is an integer between 0 and n, and each layer is a reversible bloom lookup table with a preset length;
estimating the difference of high-level transaction data between the first estimation information and the second estimation information by using a minimum hash method for the transaction data from the k layer to the n layer;
estimating a low-level transaction data difference between the first estimation information and the second estimation information using a hierarchical sampling method for transaction receipts of layers 0 to k-1;
and integrating the difference of the high-level transaction data and the difference of the low-level transaction data according to the layering condition of the transaction data to obtain the transaction similarity.
Optionally, the integrating the difference between the high-level transaction data and the difference between the low-level transaction data according to the hierarchical condition of the transaction data to obtain the transaction similarity specifically includes:
when the number of the transaction data falling into the k layer to the n layer is smaller than a preset number threshold, taking the low-layer transaction data difference as the estimation data;
when the number of the transaction data falling into the k layer to the n layer is larger than or equal to a preset number threshold, judging whether the low-layer transaction difference data is invalid;
if yes, using the high-level transaction data difference as the estimation data;
and if not, using the sum of the difference of the high-level transaction data and the difference of the low-level transaction data as the estimation data.
Optionally, after the sending node sends the bloom filter and the block information of the new block to a receiving node, the method further includes:
the receiving node judges whether the new block needs to be acquired or not according to the bloom filter and the block information of the new block;
if yes, feeding back first estimation information for generating the estimation data to the sending node;
and if not, feeding back information which is not confirmed to be received to the sending node.
In order to solve the above technical problems, embodiments of the present invention further provide the following technical solutions: an apparatus for transmitting block data, comprising:
the bloom filter constructing module is used for constructing a bloom filter corresponding to a new block after the new block is generated; a sending module, configured to send the bloom filter and the block information of the new block to a receiving node; an estimation module for generating estimation data of a transaction difference between a sending node and the receiving node; the parameter determining module is used for determining the construction parameters of the first reversible bloom lookup table according to the estimation data; the first reversible bloom lookup table generating module is used for generating a first reversible bloom lookup table corresponding to the new block according to the construction parameters and sending the first reversible bloom lookup table to the receiving node; the public transaction screening module is used for determining public transactions between the sending node and the receiving node through the bloom filter; the first reversible bloom lookup table generating module is used for generating a second reversible bloom lookup table corresponding to the public transaction; the subtraction inverse solution module is used for carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table and solving the special transaction of the sending node; and the reconstruction module is used for reconstructing the new block according to the public transaction and the special transaction of the sending node.
In order to solve the above technical problems, embodiments of the present invention further provide the following technical solutions: an electronic device, comprising: a processor and a memory communicatively coupled to the processor; the memory has stored therein computer program instructions which, when invoked by the processor, cause the processor to perform the method of transferring block data as described above.
In order to solve the above technical problems, embodiments of the present invention further provide the following technical solutions: a non-volatile computer storage medium, wherein the non-volatile computer storage medium stores at least one executable instruction, which when executed by a processor, causes the processor to perform the method of transferring block data as described above.
Compared with the prior art, the block data transmission method provided by the embodiment of the invention is realized based on the reversible bloom lookup table and the bloom filter, and the size of the reversible bloom lookup table can be reasonably selected and the probability of inverse solution failure can be controlled when the reversible bloom lookup table is used by giving the estimation data of the transaction difference between the sending node and the receiving node in advance.
Further, generating the reversible bloom lookup table directly using transaction data instead of transaction IDs may avoid secondary communication after acquiring transaction IDs.
Furthermore, the bloom filter and the block information of the new block are integrated and sent simultaneously in one communication process, so that the communication complexity is reduced.
[ description of the drawings ]
One or more embodiments are illustrated by way of example in the accompanying drawings, which correspond to the figures in which like reference numerals refer to similar elements and which are not to scale unless otherwise specified.
Fig. 1 is a flowchart of a block data transmission method according to an embodiment of the present invention;
FIG. 1a is a timing diagram of a block data transfer protocol according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a reversible bloom lookup table;
FIG. 3 is a schematic diagram of a solving process of the reversible bloom lookup table according to an embodiment of the present invention;
FIG. 4 is a flow chart of a transaction variance estimation method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of an estimated data generation process provided by an embodiment of the invention;
fig. 6 is a functional block diagram of a block data transmission apparatus according to an embodiment of the present invention;
fig. 7 is a block diagram of an electronic device according to an embodiment of the present invention.
[ detailed description ] embodiments
In order to facilitate an understanding of the invention, the invention is described in more detail below with reference to the accompanying drawings and specific examples. It will be understood that when an element is referred to as being "secured to" another element, it can be directly on the other element or intervening elements may also be present. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may be present. As used in this specification, the terms "upper," "lower," "inner," "outer," "bottom," and the like are used in the orientation or positional relationship indicated in the drawings for convenience in describing the invention and simplicity in description, and do not indicate or imply that the referenced device or element must have a particular orientation, be constructed and operated in a particular orientation, and are not to be considered limiting of the invention. Furthermore, the terms "first," "second," "third," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
Furthermore, the technical features mentioned in the different embodiments of the invention described below can be combined with each other as long as they do not conflict with each other.
Fig. 1 is a flowchart illustrating a block data transmission method according to an embodiment of the present invention. The transmission method is performed by a sending node a and a receiving node B to achieve block synchronization between the two nodes. As shown in fig. 1, the method comprises the steps of:
110. after the new block is generated, a bloom filter corresponding to the new block is constructed.
A Bloom Filter (Bloom Filter) is a bit sequence composed of a plurality of binary bits, and is used for quickly judging whether a certain piece of data is in a database under a certain probability condition. The general principle is as follows:
first, when a piece of data is inserted into a bloom filter, mapping is performed using a plurality of different hash functions, and the bit position pointed to by each generated hash value is 1. When all bit positions to which a new piece of data is mapped are 1, it can be considered that the new piece of data is added (or inserted) at a high probability.
However, there may be cases where the data is inconsistent but still heavy, particularly when N is small and there is a relatively large amount of data inserted. The case where the bloom filter is misidentified may be referred to as false positive probability (false positive).
Typically, with reasonable selection of parameters, the probability of false positive can reach about 1%, that is, whether a data is in the data set can be determined with the probability of error being about 1%.
In actual practice, a corresponding bloom filter may be constructed from the transaction IDs in the tiles.
120. And sending the bloom filter and the block information of the new block to a receiving node.
The new block related block information (Inv information) and the constructed bloom filter need to be provided to the receiving node for it to determine whether the block needs to be fetched to complete the block data synchronization.
In a preferred embodiment, the bloom filter and Inv information may be integrated such that the bloom filter and the chunk information for the new chunk are sent simultaneously during one communication between the sending node and the receiving node.
By the integration mode, the interactive communication times and the communication complexity between the two nodes can be reduced, and the efficiency of block synchronization is improved.
130. Generating estimate data of a transaction difference between the sending node and the receiving node.
Wherein step 130 is performed by both the sending node a and the receiving node B. In actual operation, each transaction recorded in the transaction pools of the sending node and the receiving node may be regarded as an element in a set, and specifically, any suitable type of element similarity estimation mechanism between different sets may be used to estimate the transaction difference between the sending node a and the receiving node B.
Specifically, the similarity between the sending node and the receiving node may be estimated by a minimum hash method (MinHash), a hierarchical sampling method (data), or a combination of the minimum hash method and the hierarchical sampling method (Hybrid).
The minimum hash method is a classic algorithm for calculating the jacarat similarity coefficient, and estimates the similarity of two sets in a sampling mode. Firstly, K hash functions are selected from a set, then N elements with the minimum hash are selected from each hash function, and M elements are assumed to be the same by comparing the minimum hash with the minimum hash in another set. Then, for each hash function, there is a similarity S corresponding to iti=MiN, i ═ 1, 2. Finally, the K results are averagedSo as to obtain more accurate similarity S between the two sets
Hierarchical sampling (data) first hierarchically groups elements in a set, and the level to which an element is classified is determined by its hash value. Ideally, 1/2 elements in the entire set should be available at level 0; the element 1/4 should be available at layer 1; by analogy, we should be able to get 0.5 at the ith layeriOf (2) is used. That is, the distribution of the number of elements is an equal ratio series distribution in which 1/2 is a ratio.
In addition, each layer consists of a fixed size IBLT (typical value is 80). During construction, each element of the set is inserted into a corresponding layer, and then during estimation, the IBLT of the two corresponding layers is subtracted from the highest layer and the data in the IBLT is tried to be solved until the solution is not solved or all the IBLT can be successfully solved.
It will be appreciated that the number of data obtained for each layer, summed over time, is the difference between the two sets, and that this difference is accurate if all can be successfully solved. But if it starts to be found that the solution of IBLT fails at a certain level, it stops at that point (because the continued solution of IBLT at the lower level must fail).
In such a case, the sum of the numbers of elements solved by all the previous higher layers can be used multiplied by 2(i+1)The total number of two set-specific elements is roughly estimated, i being the height of the layer at that time. This is because when the IBLT parsing fails at the i-layer, the ratio of the total number of elements from the i +1 layer to the highest layer to the total number of elements can be obtained by the formula of summing the geometric series, which is 0.5(i+1)
It can be seen from the above principle of the method that the estimation error of the hierarchical sampling method is large and even fails when the difference between the two sets is large. And the minimum hash method can ensure a better estimation result when the difference is large. However, when the difference between the two sets is small, the hierarchical sampling rule can accurately detect the difference.
In other embodiments, the receiving node may determine whether the new block needs to be acquired according to the block information provided by the sending node. And when the new block needs to be acquired and synchronization is completed, feeding back related data information required for calculating estimated data to the sending node. If the instruction does not need to be received, the instruction which does not need to be received can be directly fed back to the sending node.
140. And determining the construction parameters of the first reversible bloom lookup table according to the estimation data.
Wherein step 140 is performed by the sending node. Reversible bloom lookup tables (IBLT) are solutions that combine multiple mathematical techniques that can allow two different transactions to be collated and reconciled.
Based on the estimated data, it is possible to help select the optimal construction parameters, such as the size of the reversible bloom lookup table, to better complete the synchronization of the block data.
150. And generating a first reversible bloom lookup table corresponding to the new block based on the construction parameters and sending the first reversible bloom lookup table to the receiving node.
After the optimal construction parameters are determined, the data may be constructed as a first reversible bloom lookup table for comparison by the receiving node. In this embodiment, for convenience of presentation, the IBLT generated by the sending node is referred to as a first reversible bloom lookup table, and the IBLT generated by the receiving node is referred to as a second reversible bloom lookup table. "first" and "second" are used only for distinguishing and not for making any other limitation thereto.
160. Determining, by the bloom filter, a public transaction between the sending node and the receiving node.
Wherein step 160 is performed by the receiving node. Which can efficiently filter transaction data through a bloom filter. Public transactions are screened by the bloom filter, and the transaction data recorded in the transaction pools of the receiving node and the sending node are probably the public transactions.
170. Generating a second reversible bloom lookup table corresponding to the public transaction.
Wherein the second reversible bloom lookup table constructs the generated IBLT based on the screening results. The specific construction parameters can be determined according to specific screening results.
180. And carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table, and solving the special transaction of the sending node.
The term "unique transaction" refers to transaction data that is not recorded by the receiving node, but only recorded by the transmitting node.
The specific algorithm for the subtraction operation between the first reversible bloom lookup table and the second reversible bloom lookup table can be found in David epstein, university of UCIrvine and Michael Goodrich et al, at's the difference effect? Set Recondition with out Prior Context.
Specifically, after the above subtraction, if the count in the bucket is 1 or-1 and the hash value of IdSum and HashSum field are the same, the bucket is a clean bucket. It can be directly fetched, if the count is 1, it is the unique element in set a, and if the count is-1, it is the unique element in set B.
Based on the pure bucket obtained by the subtraction operation, the unique transactions in the first reversible bloom lookup table and the second reversible bloom lookup table can be further solved.
In a preferred embodiment, the first reversible bloom lookup table and the second reversible bloom lookup table may be constructed directly from transaction data. The direct use of transactional data constructs may be used directly after the inverse solution is successful. Compared with the traditional structure using the transaction ID, the method can avoid secondary communication after the transaction ID is determined, and has good technical effect.
190. Reconstructing the new block based on the public transaction and the unique transaction of the sending node.
After all the public transactions and the special transactions are determined, block reconstruction can be carried out at the receiving node according to the public transactions and the special transactions, and the synchronous task is completed.
The block data transmission method provided by the embodiment of the invention realizes comparison and coordination of transaction data between the receiving node and the sending node based on the reversible bloom lookup table and the bloom filter, and can well realize the required data transmission quantity. By giving the estimation data of the transaction difference between the sending node and the receiving node in advance, the size of the reversible bloom lookup table can be reasonably selected and the probability of failure of the solution can be controlled when the reversible bloom lookup table is used by the sending node.
Fig. 1a is a timing diagram of a transmission process of a block transfer protocol applying the block data transmission method shown in fig. 1 according to an embodiment of the present invention. As shown in fig. 1a, after a new tile is generated, the sending node a may construct a corresponding bloom filter using TxIds (i.e., ID of transaction data) insertion in the tile. The Inv message for the bloom filter and the chunk is then sent to the receiving node B in one communication.
After receiving the Inv message for the bloom filter and the block, the receiving node B may determine whether the block needs to be received. When not needed, the unneeded acknowledgement information (denoted by nonedblock in fig. 1 a) can be fed back directly. And transmits the Hybrid Estimator information (i.e., the first estimation information) when necessary.
After receiving the Hybrid estimate information, the sending node a evaluates the transaction difference between the two nodes, constructs the transaction information of the Block to be transmitted into an IBLT with a proper length according to the transaction difference, and sends the IBLT (Block txsblt) to the receiving node B.
And the receiving node B filters the public transaction by using the previously sent bloom filter, then constructs an IBLT of the public transaction, obtains the special transaction of the sending node A by inverse solution of subtraction operation, and finally reconstructs the block at the receiving node B by using the special transaction and the public transaction.
The following describes in detail specific principles and implementations of embodiments of the present invention for determining an optimal IBLT size using estimation data and controlling the probability of an inverse solution failure, with reference to specific examples.
As shown in fig. 2, each element constituting the reversible bloom lookup table (IBLT) is called a bucket (bucket), and each bucket has a Count, KeySum, value sum, KeyHash, and other fields.
Wherein, the KeyHash field is mainly used for error correction processing. Count is similar to the countable bloom filter in that when a data is hashed to this location, the Count field is incremented by 1, and when a data is subtracted, the Count is decremented by 1. KeySum is similar to Value, two corresponding keys and Value, and when there is a piece of data (KV pair) hashed to the location of this bucket, the keys and Value are added to KeySum and Value, which are coded as follows:
KeySum=KeySum+Key
ValueSum=ValueSum+Value
in particular, a number of different addition definitions may be used, typically an exclusive or (i.e. a bit-less addition) may be used. KeyHash can be regarded as a Key hashed and then a field similar to HashSum is obtained like KeySum and valusum.
Taking the example shown in fig. 3, if a bucket is added once and not subtracted, then the bucket is pure (pure), and when the subtraction operation between two IBLTs is not introduced, as long as the bucket whose Count is equal to 1 is always pure, that is, as long as Value is directly taken, Value is Value, and KeySum is directly Key.
For an IBLT with N buckets, after hashing M pieces of data (i.e., KV pairs), the data are respectively thrown to K different positions, and there must be an overlapping portion between the M pieces of data, so that the position is not clean.
However, there is a substantial probability that there will always be at least one bucket that is clean in these locations. Thus, as long as starting with this one clean bucket, subtracting itself from the bucket corresponding to the hash position, it is possible to have at least 1 subtracted from the Count of (K-1) buckets. After one operation, there may be clean in the remaining buckets, or clean buckets may be generated between the (K-1) buckets that have just been subtracted, as shown in fig. 3. Accordingly, all KV pairs in this IBLT are correctly solved for spinning cocoon stripping.
Taking the example shown in fig. 3, if three pieces of data X (3,5), Y (4,8), Z (1,7) are mapped to 5 buckets using 3 Hash functions. Since the first bucket is a clean bucket, data X (3,5) can be solved. Then, subtracting this clean bucket in IBLT can solve for the Y element (4, 8). The pure barrel Y is continuously subtracted to obtain the Z element (1, 7).
Those skilled in the art will appreciate that the final IBLT fails if it does not have a clean bucket, or if a new clean bucket cannot be generated during the bucket subtraction.
Through mathematical derivation and demonstration, the success of the algorithm is a cliff-like process on the premise that the hash function has sufficient randomness, i.e. IBLT has a very large probability of being successfully recovered when the amount of inserted data is less than a specific value. But when the amount of data inserted is slightly more than this threshold, the probability of successful recovery of IBLT decreases rapidly. This threshold is related to the number of buckets in the IBLT.
It can be deduced that IBLT works best when K is 4, inserting M KV pairs, there should be more than c × M buckets. That is, N ≧ c × M, K ═ 4, and c is a constant, and may be 1.3.
When the information of the receiving node B and the sending node a is solved by subtraction, the IBLT provided by the sending node a should satisfy the following condition:
S≥c*(D_a+D_b)
where D _ a and D _ B are unique elements in the transmitting node a and the receiving node B, respectively (the number of elements in common between the two does not affect the required size of the IBLT due to subtraction). c is a constant as described above (which may take on values around 1.3).
Since the receiving node B relies on the bloom filter provided by the sending node a when deciding on a public transaction. Thus, a false positive on a bloom filter may result in a portion of the B's characteristic elements also passing through the filter. In this embodiment, the probability of false positives for a bloom filter is approximately 1%.
Therefore, the size of the IBLT should satisfy the following condition:
S≥c*(D_a+p*D_b)
where p is the probability of false positives for a bloom filter.
As described above, in the method provided by the embodiment of the present invention, the number of unique transactions in the sending node a that can be tolerated is greatly increased by the data structure of IBLT in combination with bloom filter.
However, if the number of transactions inserted by the sending node a during the construction of the IBLT is too large, the effect of its bloom filter is reduced, and p is increased, so that the number of transactions shared in the IBLT cannot be increased indefinitely.
At this point, it may be considered that the number of transactions allowed through the bloom filter is controlled at the receiving node B to avoid a decrease in filter effectiveness. The amount of transactions allowed to pass is related to the amount of data inserted by the sending node a when constructing the IBLT, and can be expressed by the following equation:
p=f(D_a+D_c)
where D _ c is an element shared between AB and f (x) is a singly increasing function of the probability of false positives of a conventional bloom filter and the number of its inserted elements.
By combining the above conditions, the following conditions can be obtained:
S≥c*(D_a+f(D_a+D_c)*D_b)
in a blockchain system, the size of a block is determined and will be smaller than an upper limit, which can be expressed as follows:
D_a+D_c≤S_b
wherein, S _ B is the transaction amount upper limit that can be contained in the block, and D _ c is the common transaction amount of the sending node a and the receiving node B.
Thereby, the probability p of a false positive can be determined. The efficiency of its IBLT depends only on the number of unique transactions in the transaction pool of the receiving node B and the number of unique transactions in the block of the sending node a, i.e. D _ a and D _ B.
Compared with the conventional Set reconcillaiton (Set reconcillaiaton) method, i.e., the method of directly propagating the block, the spatial improvement of the block data transmission method provided by the embodiment of the present invention can be expressed by the following equation:
I=(S_b)/c*((S_b-D_c)+f(S_b)*D_b)
in an ideal case, that is, the receiving node B includes all transactions in the sending node a, that is, the sending node a does not have its own unique transaction, the spatial improvement can be expressed as:
I=(S_b)/c*(f(S_b)*D_b)
if there is no specific transaction in the receiving node B, i.e. the two nodes are synchronized before their transactions are completely synchronized, the space improvement is infinite.
The skilled person will appreciate that the upper efficiency limit that can be reached after sizing the IBLT and bloom filters is fixed. Therefore, the transaction difference between the two nodes can be estimated in advance through a suitable estimation mechanism to determine specific construction parameters for constructing and generating the most efficient IBLT and bloom filters.
In a preferred embodiment, an estimation mechanism combining a minimum hash method and a hierarchical sampling method is selected, and the advantages of the two algorithms are considered to obtain specific estimation data. Fig. 4 is a flowchart of an estimation mechanism provided in an embodiment of the present invention. As shown in fig. 4, the estimation mechanism may include the steps of:
410. and the receiving node divides the positive transaction data obtained by filtering by the bloom filter into n layers to form first estimation information.
Wherein the first estimation information, after being generated, can be provided to the sending node by interactive communication between the two nodes, and the sending node completes calculation of the final estimation data.
420. And the sending node divides the transaction data of the new block into n layers to form second estimation information.
Wherein the i-th layer contains 0.5iAnd transaction data, wherein n is an integer greater than or equal to 0, i is an integer between 0 and n, and each layer is a reversible bloom lookup table with a preset length (namely the number of buckets).
Steps 410 and 420 are performed at the receiving node and the transmitting node, respectively, which may be in the same hierarchical manner. In particular, a hash function may be utilized for the layering. For example, the layering may be based on how many 0's are on the left or right most side of the binary of the hash value.
For example, if the binary value of a hash value of an element has no 0 on the left, i.e., the binary value is headed by 1, the element is classified into the lowest layer (layer 0). If the hash value of an element has a 0 to the left of the binary, it is divided into the next lower level (level 1), and so on. If the number of 0's to the left of its hash value bin exceeds our number of layers, it is sorted to the highest layer.
430. And for the transaction data from the k layer to the n layer, estimating the difference of the high-level transaction data between the first estimation information and the second estimation information by using a minimum hash method.
Where k is a constant value between 0 and n to divide the upper and lower layers. Which can be specifically set by a skilled person as required by the actual situation. For example, half of them may be set as the upper layer and the other half as the lower layer.
For transaction data that is ranked high, the similarity between the two sets is estimated using a minimum hash method.
440. For the transaction receipts from layer 0 to layer k-1, a hierarchical sampling method is used to estimate the low-level transaction data difference between the first estimated information and the second estimated information.
For the transaction data classified to the lower layer, the mode of using a hierarchical sampling method is reserved, and the mode of solving the IBLT is used for estimating the similarity between the two sets.
450. And integrating the difference of the high-level transaction data and the difference of the low-level transaction data according to the layering condition of the transaction data to obtain the similarity.
According to the actual data situation, for example, the difference between the two sets, the transaction data amount contained in the sets, etc., the similarity obtained in step 430 and 440 can be integrated or combined in a corresponding manner, and the advantages of the two sets are taken into consideration, so that the respective defects are compensated, and a better estimation result is provided.
The specific integration mode can be divided into the following integration modes according to the data quantity of the transaction data:
firstly, when the number of the transaction data falling into the k layer to the n layer is smaller than a preset number threshold, the low-layer transaction data difference is used as the estimation data. The predetermined quantity threshold is a small number that may be selected based on the actual situation to determine whether substantially no transaction data is being distributed or falls into a higher level.
And secondly, judging whether the low-level transaction data is invalid or not when the number of the transaction data falling into the k-th layer to the n-th layer is larger than or equal to a preset number threshold. If so, using the high-level transaction data as the estimation data. And if not, using the sum of the difference of the high-level transaction data and the difference of the low-level transaction data as the estimation data.
It will be understood by those skilled in the art that when the amount of transaction data is small, the transaction data classified to the higher layer is substantially absent, which is the first case. Thus, the low-level transactional data differences are substantially equivalent to the final estimation result.
When the amount of transaction data is large, part of the transaction data is divided into upper layers (i.e., the second case). At this time, two different situations. If the difference between the two sets is small, the difference in the high-level transaction data is generally considered to be undifferentiated, and the sum of the two results can be used as the estimation result. If the difference between the two sets is large, the hierarchical sampling method usually generates a large error, and the sum of the two results can be used as the estimation result.
When the amount of transaction data further increases, the hierarchical sampling method may start to enter a failure state in a case where the set difference is large. And the higher-level transaction data difference can be used as estimation data due to the support of more sufficient data volume.
The similarity estimation method provided by the embodiment of the invention is fully explained. The complete estimation data acquisition process is described in detail below with reference to the example shown in fig. 5:
suppose node a has 60 transaction data and node B has 150 transaction data. The number of the transaction data coincided between the two is 50.
First, node B filters the transaction data based on the bloom filter provided before node a, and can filter 55 positive data (assuming that the probability of false positive by the bloom filter is 10%).
Then, the 55 positive data are traversed to generate an estimated value B, which is provided to the node a as estimated data. After receiving the estimated data, the node a also traverses 60 transaction data of the node a to generate the estimated value a.
And finally, calculating the similarity between the node A and the node B by the node A based on the estimated value A and the estimated value B, and determining corresponding construction parameters according to the similarity.
In hierarchical sampling, the IBLT of each layer can be divided into 7 layers, and the size of each layer is 80 buckets. Using the subtraction of the layering result of node a and the layering result of node B, the difference between the two nodes can be obtained.
Fig. 6 is a block diagram of a block data transmission apparatus according to an embodiment of the present invention. In this embodiment, the composition of the transmission device of the block data is described in terms of functional modules.
Those skilled in the art will appreciate that the functional blocks shown in fig. 6 can be selectively implemented by software, hardware or a combination of software and hardware according to the actual needs. For example, by the processor invoking an associated software application stored in memory.
As shown in fig. 6, the apparatus 600 for transmitting block data includes: bloom filter construction module 610, sending module 620, estimation module 630, parameter determination module 640, first reversible bloom lookup table generation module 650, public transaction screening module 660, second reversible bloom lookup table generation module 670, subtraction inverse solution module 680, and reconstruction module 690.
Wherein the bloom filter constructing module 610 is configured to construct a bloom filter corresponding to the new block after the new block is generated. The sending module 620 is configured to send the bloom filter and the block information of the new block to a receiving node. The estimation module 630 is used to generate estimation data of transaction differences between a sending node and the receiving node. The parameter determining module 640 is configured to determine a construction parameter of the first reversible bloom lookup table according to the estimation data. The first reversible bloom lookup table generating module 650 is configured to generate a first reversible bloom lookup table corresponding to the new block according to the building parameter, and send the first reversible bloom lookup table to the receiving node. The public transaction screening module 660 is configured to determine public transactions between the sending node and the receiving node through the bloom filter. The second reversible bloom lookup table generating module 670 is configured to generate a second reversible bloom lookup table corresponding to the public transaction. The subtraction inverse solution module 680 is configured to perform subtraction on the first reversible bloom lookup table and the second reversible bloom lookup table, and solve the unique transaction of the sending node. The reconstruction module 690 is configured to reconstruct the new block based on the public transaction and the unique transaction of the sending node.
Although the method shown in FIG. 1 is applied to a block chain system as an example. However, it will be appreciated by those skilled in the art that the block data transmission method may also be used in other types of scenarios and devices to improve the efficiency of use of IBLT.
The device is realized based on a reversible bloom lookup table and a bloom filter, is matched with a block synchronous use scene, and can reasonably select the size of the reversible bloom lookup table and control the probability of reverse solution failure when the reversible bloom lookup table is used by giving estimation data of transaction difference between a sending node and a receiving node in advance.
In some embodiments, the sending module 620 sends the bloom filter and the chunk information of the new chunk simultaneously in one communication process between the sending node and the receiving node. By the mode, the communication complexity can be reduced, and multiple times of interactive communication can be avoided.
In some embodiments, the reversible bloom lookup table generation module (650, 670) may construct the first reversible bloom lookup table and the second reversible bloom lookup table directly using transaction data. In this way, the reverse solution result can directly obtain the required transaction data without relying on the transaction ID to communicate with the node again, and secondary communication is avoided.
The embodiment of the invention also provides a nonvolatile computer storage medium, wherein the computer storage medium stores at least one executable instruction, and the computer executable instruction can execute the transmission method of the block data in any method embodiment.
Fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, and the specific embodiment of the present invention does not limit the specific implementation of the electronic device.
As shown in fig. 7, the electronic device may include: a processor (processor)702, a Communications Interface 704, a memory 706, and a communication bus 708.
Wherein: the processor 702, communication interface 704, and memory 706 communicate with each other via a communication bus 708. A communication interface 704 for communicating with network elements of other devices, such as clients or other servers. The processor 702 is configured to execute the procedure 710, and may specifically execute the relevant steps in the above-described method for transmitting block data.
In particular, the program 710 may include program code that includes computer operating instructions.
The processor 702 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement an embodiment of the invention. The network slicing device includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
The memory 706 stores a program 710. The memory 706 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The process 710 may be specifically configured to enable the processor 702 to execute the block data transmission method in any of the above-mentioned method embodiments.
Those of skill would further appreciate that the various steps of the exemplary block data transfer methods described in connection with the embodiments disclosed herein may be embodied in 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 the 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 computer software may be stored in a computer readable storage medium, and when executed, may include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a read-only memory or a random access memory.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; within the idea of the invention, also technical features in the above embodiments or in different embodiments may be combined, steps may be implemented in any order, and there are many other variations of the different aspects of the invention as described above, which are not provided in detail for the sake of brevity; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for transmitting block data, comprising:
after the new block is generated, the sending node constructs a bloom filter corresponding to the new block;
the sending node sends the bloom filter and the block information of the new block to a receiving node;
generating estimate data of a transaction difference between the sending node and the receiving node;
the transmitting node determines a construction parameter of a first reversible bloom lookup table according to the estimation data;
the transmitting node generates a first reversible bloom lookup table corresponding to the new block according to the construction parameters and transmits the first reversible bloom lookup table to the receiving node;
the receiving node determines public transactions between the sending node and the receiving node through the bloom filter;
generating a second reversible bloom lookup table corresponding to the public transaction;
carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table, and solving the special transaction of the sending node;
reconstructing the new block based on the public transaction and the unique transaction of the sending node.
2. The method of claim 1, wherein sending the bloom filter and the block information of the new block to a receiving node comprises:
and in the one-time communication process of the sending node and the receiving node, simultaneously sending the bloom filter and the block information of the new block.
3. The method of claim 1, wherein the first reversible bloom lookup table and the second reversible bloom lookup table are constructed from transaction data.
4. The method of claim 1, wherein generating estimated data of a transaction difference between the sending node and the receiving node comprises:
and estimating the transaction similarity between the sending node and the receiving node by a minimum hash method, a hierarchical sampling method or a combination of the minimum hash method and the hierarchical sampling method.
5. The method of claim 4, wherein the combination of the min-hash method and the hierarchical sampling method to estimate the transaction similarity between the sending node and the receiving node comprises:
the receiving node divides the positive transaction data obtained by filtering through the bloom filter into n layers to form first estimation information;
the sending node divides the transaction data of the new block into n layers to form second estimation information;
wherein the i-th layer contains 0.5iThe transaction data, n is an integer which is more than or equal to 0, i is an integer between 0 and n, and each layer is a reversible bloom lookup table with a preset length;
estimating the difference of high-level transaction data between the first estimation information and the second estimation information by using a minimum hash method for the transaction data from the k layer to the n layer;
estimating a low-level transaction data difference between the first estimation information and the second estimation information using a hierarchical sampling method for transaction receipts of layers 0 to k-1;
and integrating the difference of the high-level transaction data and the difference of the low-level transaction data according to the layering condition of the transaction data to obtain the transaction similarity.
6. The method according to claim 5, wherein the integrating the high-level transaction data difference and the low-level transaction data difference according to the hierarchical condition of the transaction data to obtain the transaction similarity specifically comprises:
when the number of the transaction data falling into the k layer to the n layer is smaller than a preset number threshold, taking the low-layer transaction data difference as the estimation data;
when the number of the transaction data falling into the k layer to the n layer is larger than or equal to a preset number threshold, judging whether the low-layer transaction difference data is invalid;
if yes, using the high-level transaction data difference as the estimation data;
and if not, using the sum of the difference of the high-level transaction data and the difference of the low-level transaction data as the estimation data.
7. The method of claim 5, wherein after the sending node sends the bloom filter and block information of the new block to a receiving node, the method further comprises:
the receiving node judges whether the new block needs to be acquired or not according to the bloom filter and the block information of the new block;
if yes, feeding back first estimation information for generating the estimation data to the sending node;
and if not, feeding back information which is not confirmed to be received to the sending node.
8. An apparatus for transmitting block data, comprising:
the bloom filter constructing module is used for constructing a bloom filter corresponding to a new block after the new block is generated;
a sending module, configured to send the bloom filter and the block information of the new block to a receiving node;
an estimation module for generating estimation data of a transaction difference between a sending node and the receiving node;
the parameter determining module is used for determining the construction parameters of the first reversible bloom lookup table according to the estimation data;
the first reversible bloom lookup table generating module is used for generating a first reversible bloom lookup table corresponding to the new block according to the construction parameters and sending the first reversible bloom lookup table to the receiving node;
the public transaction screening module is used for determining public transactions between the sending node and the receiving node through the bloom filter;
the second reversible bloom lookup table generating module is used for generating a second reversible bloom lookup table corresponding to the public transaction;
the subtraction inverse solution module is used for carrying out subtraction operation on the first reversible bloom lookup table and the second reversible bloom lookup table and solving the special transaction of the sending node;
and the reconstruction module is used for reconstructing the new block according to the public transaction and the special transaction of the sending node.
9. An electronic device, comprising: a processor and a memory communicatively coupled to the processor;
the memory has stored therein computer program instructions which, when invoked by the processor, cause the processor to carry out a method of transferring block data according to any one of claims 1 to 7.
10. A non-volatile computer storage medium storing at least one executable instruction which, when executed by a processor, causes the processor to perform the method of transferring chunk data of any of claims 1-7.
CN202010383612.9A 2020-05-08 2020-05-08 Block data transmission method and device, electronic equipment and nonvolatile computer storage medium Active CN111667264B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010383612.9A CN111667264B (en) 2020-05-08 2020-05-08 Block data transmission method and device, electronic equipment and nonvolatile computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010383612.9A CN111667264B (en) 2020-05-08 2020-05-08 Block data transmission method and device, electronic equipment and nonvolatile computer storage medium

Publications (2)

Publication Number Publication Date
CN111667264A true CN111667264A (en) 2020-09-15
CN111667264B CN111667264B (en) 2023-04-14

Family

ID=72383146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010383612.9A Active CN111667264B (en) 2020-05-08 2020-05-08 Block data transmission method and device, electronic equipment and nonvolatile computer storage medium

Country Status (1)

Country Link
CN (1) CN111667264B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112261154A (en) * 2020-11-23 2021-01-22 国网能源研究院有限公司 Power grid data file storage method and device and electronic equipment
CN113590606A (en) * 2021-09-27 2021-11-02 浙江九州量子信息技术股份有限公司 Bloom filter-based large data volume secret key duplication eliminating method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011091871A1 (en) * 2010-01-29 2011-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet routing in a network by modifying in-packet bloom filter
CN107247773A (en) * 2017-06-07 2017-10-13 北京邮电大学 A kind of method that inquiry is traded in distributed data base based on block chain
US20170344435A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
CN107516046A (en) * 2017-06-26 2017-12-26 江苏通付盾科技有限公司 Data guard method and device, electronic equipment, computer-readable storage medium
CN110503558A (en) * 2019-08-29 2019-11-26 深圳前海微众银行股份有限公司 A kind of processing method and processing device based on block catenary system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011091871A1 (en) * 2010-01-29 2011-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet routing in a network by modifying in-packet bloom filter
US20170344435A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
CN107247773A (en) * 2017-06-07 2017-10-13 北京邮电大学 A kind of method that inquiry is traded in distributed data base based on block chain
CN107516046A (en) * 2017-06-26 2017-12-26 江苏通付盾科技有限公司 Data guard method and device, electronic equipment, computer-readable storage medium
CN110503558A (en) * 2019-08-29 2019-11-26 深圳前海微众银行股份有限公司 A kind of processing method and processing device based on block catenary system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAN ZHANG等: "BSFP: Blockchain-Enabled Smart Parking With Fairness, Reliability and Privacy Protection", 《IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY》 *
赵羽龙等: "区块链增强型轻量级节点模型", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112261154A (en) * 2020-11-23 2021-01-22 国网能源研究院有限公司 Power grid data file storage method and device and electronic equipment
CN113590606A (en) * 2021-09-27 2021-11-02 浙江九州量子信息技术股份有限公司 Bloom filter-based large data volume secret key duplication eliminating method and system
CN113590606B (en) * 2021-09-27 2021-12-31 浙江九州量子信息技术股份有限公司 Bloom filter-based large data volume secret key duplication eliminating method and system

Also Published As

Publication number Publication date
CN111667264B (en) 2023-04-14

Similar Documents

Publication Publication Date Title
Sompolinsky et al. Phantom
EP3693886B1 (en) Optimizations for verification of interactions system and method
CN109471744B (en) Main chain and parallel multi-sub-chain system architecture based on block chain
US8102837B2 (en) Network coding approach to rapid information dissemination
Danzi et al. Communication aspects of the integration of wireless IoT devices with distributed ledger technology
CN111667264B (en) Block data transmission method and device, electronic equipment and nonvolatile computer storage medium
US20240111782A1 (en) Methods and apparatus for a distributed database within a network
JP7339965B2 (en) System and method for propagating data packets in a network of nodes
Fraigniaud et al. On the bit communication complexity of randomized rumor spreading
CN110855424B (en) Method and device for synthesizing asymmetric flow xDR in DPI field
CN110149221B (en) Self-adaptive network construction method and device based on alliance chain
CN113923217B (en) Asynchronous Bayesian-busy family consensus method and system based on DAG
CN112699136B (en) Cross-link certificate storage method and related device
CN113157450A (en) Method and apparatus for performing blocks in a blockchain system
CN114785805B (en) Data transmission method, device, electronic equipment and storage medium
CN111524011B (en) Parallel link consensus validation method, apparatus, and storage medium
CN109005034B (en) Multi-tenant quantum key supply method and device
CN111428277B (en) Block chain data verification method, device and system
CN117251276B (en) Flexible scheduling method and device for collaborative learning platform
CN113626260B (en) Data processing method, device, equipment and storage medium of block chain network
CN117273923A (en) Block chain consensus method and device and electronic equipment
KR20200052197A (en) Method, system and non-transitory computer-readable recording medium for managing information on a block-chained network
CN117792865A (en) Network alarm event extraction method and device, electronic equipment and storage medium
CN116205650A (en) Block chain-based data processing method, equipment and readable storage medium
CN113225175A (en) System and method for realizing directed acyclic graph consensus algorithm through gossip protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200908

Address after: 518000 block D, Central Avenue, intersection of Xixiang Avenue and Baoyuan Road, labor community, Xixiang street, Bao'an District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Qiyuan Information Service Co.,Ltd.

Address before: 13C, block D, Central Avenue, intersection of Xixiang Avenue and Baoyuan Road, Laodong community, Xixiang street, Bao'an District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Luyun District Chain Network Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230616

Address after: No. 4145, Building 4, Yard 10, Xixiaoying South Ring Road, Sujiatuo Town, Haidian District, Beijing, 100194

Patentee after: Beijing Mingtai Hengtong Information Technology Co.,Ltd.

Address before: 518000, 13C, Block D, Central Avenue, intersection of Xixiang Avenue and Baoyuan Road, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Qiyuan Information Service Co.,Ltd.