WO2022262446A1 - 分层裁剪区块链交易内数据的方法、装置、设备及介质 - Google Patents
分层裁剪区块链交易内数据的方法、装置、设备及介质 Download PDFInfo
- Publication number
- WO2022262446A1 WO2022262446A1 PCT/CN2022/090567 CN2022090567W WO2022262446A1 WO 2022262446 A1 WO2022262446 A1 WO 2022262446A1 CN 2022090567 W CN2022090567 W CN 2022090567W WO 2022262446 A1 WO2022262446 A1 WO 2022262446A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data set
- data
- transaction
- clipping
- hash
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000000717 retained effect Effects 0.000 claims abstract description 6
- 238000013515 script Methods 0.000 claims description 97
- 238000013138 pruning Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 23
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000012795 verification Methods 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000009966 trimming Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 101100165357 Staphylococcus aureus resR gene Proteins 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present disclosure belongs to the technical field of blockchain, and in particular relates to a method, device, equipment and medium for hierarchically clipping data in blockchain transactions.
- Blockchain technology is a distributed ledger technology, which consists of multiple ledger maintenance nodes distributed in different geographical locations to participate in bookkeeping and record transaction data into a distributed database.
- Ledger maintenance nodes are nodes that run compatible accounting software of the same kind and may become accounting nodes.
- Transaction data can be defined as a functionally complete and independent accounting data unit transmitted between all ledger maintenance nodes.
- Each accounting is sent by the user to broadcast or point-to-point a transaction to the distributed network, and the accounting node selected according to the consensus rules is added to the ledger database, and finally realized through the verification of other ledger maintenance nodes.
- ledger synchronization nodes There are also nodes in the network that do not participate in bookkeeping but still record complete or partial, historical or current transaction data, which can be called ledger synchronization nodes. There are also some user nodes in the network, which only save the transaction data related to the user itself or the user group itself, or also save the most basic block header structure data, which are called light nodes.
- blockchain is only for simplification of description, and its meaning is not limited to this narrow blockchain network, but includes all forms of distributed ledgers, and the bookkeeping transactions in it do not have to be Packed into a block, it can also be added to the distributed ledger in a relatively independent manner.
- the main data in the transaction is hashed as a whole to obtain the transaction identification number TXID.
- the node needs to use hash calculation to verify the authenticity of part of the transaction data, it must receive the transaction pointed to by the TXID
- the complete transaction data increases the cost of storage, transmission and secondary utilization of transaction data, and increases the unnecessary burden on users.
- the present disclosure provides a method, device, electronic device, storage medium and program product for hierarchically pruning data in a blockchain transaction.
- a method for hierarchically pruning data in a blockchain transaction including: acquiring a transaction data set. Based on the data pruning model, N rounds of pruning are performed on the transaction data set to obtain the target data set, where N is a positive integer greater than or equal to 1. Process the target data set to obtain the target value, where the target value is configured to point to the transaction identification number used when the target data set is on-chain.
- N rounds of pruning are performed on the transaction data set to obtain the target data set, including: S1, using the transaction data set to construct a reserved data set and M pruning data sets, where M is A positive integer greater than or equal to 1.
- S2. Perform first serialization encoding on the clipping data set to obtain a first serialization encoding value corresponding to the clipping data set.
- S3. Perform hash calculation on the first serialized encoding value to obtain a first hash value corresponding to the first serialized encoding value.
- S4. Construct a first hash value set from the M first hash values corresponding to the first serialized code value, and merge with the reserved data set to obtain an intermediate transaction data set.
- an apparatus for hierarchically pruning data in a blockchain transaction including: an acquisition module, configured to acquire a transaction data set.
- the clipping module is configured to perform N rounds of clipping on the transaction data set based on the data clipping model to obtain the target data set, where N is a positive integer greater than or equal to 1.
- the processing module is used to process the target data set to obtain the target value, wherein the target value is configured to point to the transaction identification number used when the target data set is on-chain.
- an electronic device including: one or more processors.
- a storage device for storing one or more programs, wherein, when one or more programs are executed by one or more processors, one or more processors are made to perform the above-mentioned method for hierarchically pruning data in blockchain transactions .
- a computer-readable storage medium on which executable instructions are stored, and when the instructions are executed by a processor, the processor executes the above-mentioned method for hierarchically pruning data in a blockchain transaction.
- a computer program product including a computer program.
- the computer program When the computer program is executed by a processor, the above-mentioned method for hierarchically pruning data in a blockchain transaction is implemented.
- FIG. 1 schematically shows a flowchart of a method for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure
- FIG. 2 schematically shows a flowchart of a method for performing N rounds of clipping on transaction data to obtain a target data set according to an embodiment of the present disclosure
- Fig. 3 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 1 of the present disclosure
- FIG. 4 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 2 of the present disclosure
- Fig. 5 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 3 of the present disclosure
- FIG. 6 schematically shows a structural block diagram of a device for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure
- Fig. 7 schematically shows a block diagram of an electronic device suitable for implementing a method for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure.
- Fig. 1 schematically shows a flowchart of a method for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure.
- the method 100 includes operations S110-S130.
- N rounds of pruning are performed on the transaction data set to obtain a target data set, where N is a positive integer greater than or equal to 1.
- the pruning round N in the case of distributed ledgers under the UTXO model, in the case of different numbers of transaction data input and transaction data output, the pruning round N can be determined according to the actual pruning requirements, After determining the specific trimming order, execute the trimming operation on the transaction data set.
- the pruning round N may not be affected by the number of transaction data input and transaction data output, that is, the pruning round N may not depend on the number of transaction data input and transaction data output.
- the transaction data set may be a collection of complete transaction data propagated in the distributed ledger network, and the transaction data set may be denoted as X 0 .
- the set of complete transaction data data may include all necessary transaction data elements without including some redundant data.
- the necessary data may be the data required when the validity of the transaction is verified by the ledger maintenance node.
- unlocking script size data or locking script size data is also a kind of redundant data, which can be data that does not need to be verified by ledger maintenance nodes.
- the transaction data set X0 can be formed by combining multiple pieces of data, for example, it can be expressed as formula (1):
- X 0 ⁇ x 1 , x 2 , x 3 , . . . , x n ⁇ (1)
- x 1 , x 2 , x 3 , ..., x n are data elements in the transaction data set, and n is the number of data elements in the transaction data set.
- the data set obtained after each round of pruning of the transaction data set through the data pruning model F can be expressed as formula (2):
- S is the reserved data set in the input data set X
- W 1 , W 2 ,..., W M are the cropped data sets in the input data set X
- M is the number of cropped data sets
- binW M is the cropped data
- HASH(binW M ) is the hash value of binW M
- Y is the data set after the input data set X is cut by the data pruning model.
- X, S and W h can be expressed as formula (3):
- X ⁇ x 1 , x 2 , x 3 , . . . , x a ⁇ ;
- S ⁇ s 1 , s 2 , s 3 , . . . , s b ⁇ ;
- W h is any clipping data set in the clipping data set W 1 , W 2 , ..., W M ;
- a is the number of data elements in the input data set X, x 1 , x 2 , x 3 , ..., x a is the data element in the input data set X;
- b is the number of data elements in the reserved data set S (b ⁇ 0), s 1 , s 2 , s 3 , ..., s b is Keep the data elements in the data set S;
- h is the number of cropped data sets, 1 ⁇ h ⁇ M;
- c h is the number of data elements in the cropped data set W h , and c h ⁇ 1, is the data element in the clipping data set W h .
- the input data set can be set as formula (4):
- the input data set X is represented as a union of the reserved data set S and the cropped data sets W 1 , W 2 , . . . , W M to reduce redundant data.
- the input data set can also be set as formula (5):
- the input data set X is expressed in the form of Equation 5, so as to avoid data duplication and improve data clipping efficiency.
- the hash in hash(HASH r-1 (p)) represents the hash function used in the rth hash calculation, and the hash function can be any kind of hash function or a newly designed function with the same effect.
- HASH r (p) consists of r arbitrary nested hash functions, and the r hash functions can be different or the same.
- Some constant data and consensus rules can be added to the encoding operation to meet specific retrieval and decoding needs.
- performing N rounds of pruning on the transaction data set based on the data pruning model F may include pruning the data elements in the transaction data set to form a pruning data set, serializing and hashing the pruning data set Calculate, keep the unpruned data set, and form the hash set composed of the hash value of the pruned data and the kept unpruned data set into the target data set.
- FIG. 2 schematically shows a flowchart of a method for performing N rounds of pruning on transaction data to obtain a target data set according to an embodiment of the present disclosure.
- the method 200 further includes operations S1-S5.
- operation S1 use the transaction data set to construct a reserved data set and M clipped data sets, where M is a positive integer greater than or equal to 1.
- a first serialized encoding is performed on the clipped data set to obtain a first serialized coded value corresponding to the clipped data set.
- a hash calculation is performed on the first serialized code value to obtain a first hash value corresponding to the first serialized coded value.
- a first hash value set is constructed from M first hash values corresponding to the first serialized encoding value, and combined with the reserved data set to obtain an intermediate transaction data set.
- the intermediate transaction data set is used to cycle operations S1 to S4 until the intermediate transaction data set satisfies a predetermined condition, and a target data set is obtained.
- the transaction data set X 0 ⁇ x 1 , x 2 , x 3 ,..., x n ⁇ are divided into transaction data that does not need to be clipped and transaction data that can be clipped during the current round of clipping.
- the data set constructed from transaction data that does not need to be clipped can be used as a reserved data set S 0
- multiple data sets constructed from transaction data that can be clipped can be used as a clipped data set M0 is the number of cropped data sets in the first round of cropping of the cropped data set, and M is a positive integer greater than 1.
- the transaction data set X 0 is divided into a reserved data set S 0 and M clipped data sets can be recorded as: It can also be written as formula (6):
- the retained data set in the first round of pruning may be a non-empty data set.
- the data clipping model F when used to perform the first round of data clipping on the M clipping data sets, that is, performing the first serialization encoding and hash calculation may include: for the l-th clipping data set W l 0 performs the first serialization encoding, where 1 ⁇ l ⁇ M, obtains the binary first serialization encoding value binW l 0 , and then performs hash calculation on the first serialization encoding value binW l 0 to obtain the data
- M clipping data sets are first serialized and encoded and then hashed to obtain M first hash value sets corresponding to the first serialized encoding values of the corresponding clipping data sets, for example It can be expressed as formula (7):
- the hash value set corresponding to the first round of pruning is combined with the reserved data set S 0 to obtain the intermediate transaction data set Y 0 , that is, the transaction data set X 0 is passed through the data pruning model
- the transaction data X 1 obtained after the first round of pruning of F can be expressed as formula (8):
- the intermediate transaction data set Y 0 (X 1 ) is used as an input data set to perform the above operations S1-S4, and the obtained intermediate transaction data set Y i is the transaction data set X 0 through data clipping
- the transaction data X i+1 obtained after the i+1 round of pruning of the model F satisfies the predetermined conditions in the intermediate transaction data set Y i
- the transaction data set Y i is used as the target data set X N , where 1 ⁇ i ⁇ N-1.
- the intermediate transaction data set Y i obtained after the i+1 round of pruning for example, can be expressed as formula (9):
- the process of performing N rounds of pruning on the transaction data set X0 can be expressed as formula (10):
- X i+1 represents the data of the transaction data set X 0 cut by the i+1 layer of the data clipping model F;
- X i is the input data set of the data clipping model F in the i+1 round of clipping;
- Y i is The output data set of the data clipping model F during the i+1th round of clipping;
- S i is the reserved data set of Xi during the i +1th layer clipping; be the clipping data set of Xi during the i +1th round of clipping, where Mi is the number of clipping data sets that need to be clipped for data clipping during the i+1th round of clipping;
- b i is the number of data elements in the retained data set during the i+1 round of cropping;
- the hth cropped data set during the i+1 round of cropping can be expressed as data set, where Cropped dataset for round i+1 Any clipping data set in , ci, h is The number of data elements in .
- the transaction data set if the transaction data set is pruned round by round, the transaction data set will have an additional layer of hash pointers. It varies depending on the number of input data and the number of output data.
- the output data cropped in the middle round can not be stored in the node, but can only be obtained again through temporary calculation of other data when needed, so as to reduce the pressure on data storage.
- the division of M clipped data sets in the transaction data set during the same round of clipping realizes the separate hashing and encoding of different transaction data in the M clipped data sets, which is beneficial to subsequent Tracing and decoding of transaction data.
- the input data and output data in the same round of hashing are packaged and encoded separately to facilitate data decoding and verification.
- the target data set is processed to obtain a target value, and the target value is configured to point to the transaction identification number used when the target data set is on-chain.
- processing the obtained target data set to obtain the target value may include: performing a second serialized encoding on the target data set to obtain a second serialized encoded value corresponding to the target data set.
- a hash calculation is performed on the second serialized encoded value to obtain the target value.
- the second serialized encoding is performed on the target data set X N to obtain the second serialized encoded value binX N corresponding to the target data set X N , and the second serialized encoded value binX N is performed Hash calculation to obtain the target value hash value HASH(binX N ), the target hash value is the obtained target value, which is configured to point to the transaction identification number TXID used when the target data set is on-chain.
- the transaction identification number obtained by this method may be called a structured index transaction identification number.
- the transaction data set contains all transaction data before the first round of pruning, and in the second round of pruning and above, the hash value of the data is used to replace the transaction data in the transaction data set.
- Original data in the process of data migration, the traces of the original data always exist in the form of hash value, tampering with any transaction data will change the set of transaction input data cut each round to facilitate data traceability.
- each data in the transaction data set exists in the blockchain or distributed network in the form of original data or in the form of hash code corresponding to the In the node of the transaction dataset. It solves the technical problem that when a node or transaction locking script needs to verify the authenticity of part of the transaction data in the input data, it must receive the entire and complete transaction data, which increases the amount of data required for the storage and transmission of transaction data. In this way, when it is only necessary to verify the authenticity of part of the data in the transaction data, the TXID of the transaction data where the part of the data is located and the hash value of other transaction data are used to verify the authenticity of part of the transaction data.
- the user may not download or save the data content of the transaction output that he does not care about, but only download or save the hash value of these data content as a substitute.
- the reserved data set is not an empty set, that is, the reserved data set is a non-empty data set in operation S110 .
- the transaction data set is hash-trimmed for the first time in the j-round pruning process, the transaction data set exists in the reserved data set in the first j-1 rounds of pruning process, so as to facilitate data traceability.
- any pruning data set W h may contain one or more pieces of data. That is, in the embodiments of the present disclosure, during each round of data clipping, any clipped data set W h may contain one or more data. In this way, multiple data are packaged into a cropped data set for uniform encoding and hash transformation, which reduces the workload and improves work efficiency. Through the division of the clipping data set in the same layer of hash clipping, the separate hash coding of different types of data is realized, which is beneficial to the subsequent traceability and decoding of data.
- the transaction data set X 0 may include: the transaction version number Version, the transaction time lock data LockTime, the number of transaction inputs InputCount, each transaction input All data elements contained in the data TxIn, the number of transaction outputs OutputCount, and all data elements contained in the data TxOut of each transaction output.
- all data elements contained in the data TxIn of each transaction input include: TXID, VOUT, Unlocking Script Size, Unlocking Script and Sequence data, where TXID specifies the previous transaction corresponding to the input, and VOUT specifies The ordering position of the transaction output of the previous transaction, the two jointly specify the output TxOut position of the previous transaction spent by the input, and the Unlocking Script records the unlocking script required to spend this transaction output.
- All data elements contained in the data TxOut of each transaction output are: Value, Locking Script Size and Locking Script.
- the unlocking script elements of each transaction input data in the transaction data set form an independent Clip the dataset.
- the data elements related to the unlocking script elements in the input data of each transaction belong to the same pruning data set, where 2 ⁇ j ⁇ N.
- the locking script elements of each transaction output data in the transaction data set form an independent Clip the dataset.
- the data elements related to the locking script elements of each transaction output data belong to the same pruning data set, where 2 ⁇ j ⁇ N.
- each Unlocking Script Size follows the Unlocking Script data
- the Locking Script Size data follows the Locking Script data, into the same prunable data set, so that the pruned output data can be concentrated with the transaction input and output content
- the relevant data has a constant byte length, which facilitates the rapid segmentation and analysis of transaction data.
- the unlocking script size data is a measure of the length of the unlocking script data
- the unlocking script size data can be derived from the unlocking script data, therefore, the locking script size data may not be recorded in the transaction data set, and may not Participate in the calculation of the subsequent transaction identification number; similarly, the locked script size data may not be recorded in the transaction data set, or may not participate in the subsequent calculation of the transaction identification number.
- the unlocking script (Unlocking Script) data in each transaction input is used to prove the legal validity of the transaction to the ledger maintenance node, which may include the previous transaction data or other data that can lead to a large transaction volume.
- the ledger maintenance node basically no longer needs this data.
- the Unlocking Script data in each transaction input is individually hashed, the data content can be trimmed as needed in subsequent transaction scripts or node interactions, and only its hash value is retained to verify the authenticity of other data in the transaction. real legitimacy.
- the Locking Script in each transaction output represents the spending condition of the transaction output, which can have the same content in different outputs of different transactions, and is used to express the same transaction acceptor or verification script code.
- the script can have a large size and be used multiple times in some scenarios.
- hashing the locking script of each output individually on the one hand, it is possible to prove that the script is a transaction at a specific position in a transaction without giving the full content of the script, only using its hash value output, so as to reduce the size of transaction scripts or interactive data between nodes.
- multiple transactions can share this part of transaction data through the same hash pointer to save storage space.
- any elements of each transaction input data in the transaction data set form an independent pruning data set;
- An independent clipping data set is formed between any elements of each transaction output data of , where 2 ⁇ j ⁇ N-1.
- any round of trimming above the second round optionally, for the second round and any round of trimming above the second round, only two trimmable data sets are set, one is used to contain the content of any transaction input Related data elements, a data element used to contain the content related to any transaction output. Redundant data can be reduced after the first round of pruning, and the division of the two prunable data sets in the second and second rounds and above can make the input-related data and output-related data independent of each other, avoiding possible
- the over-division of the clipping data set further facilitates the traceability of the data.
- the transaction version number Version when multiple rounds of pruning is performed on the transaction data set X 0 in the distributed ledger under the UTXO model, the transaction version number Version, transaction time lock data LockTime, transaction input individual The number InputCount, the TXID, VOUT and Sequence in each transaction input data TxIn, the number of transaction outputs OutputCount, and the Value in each transaction output data TxOut belong to the reserved data set S 0 .
- the Unlocking Script Size, Unlocking Script in the transaction input data TxIn in the transaction data set, and the Unlocking Script of the transaction output
- the Locking Script Size and Locking Script in the data TxOut perform a generalized hash calculation to reduce redundant data.
- S g′ the reserved data set of any data in the data set G
- G the data node with the transaction version number Version and the transaction time lock data Lock Time is closest to the root node, which facilitates the identification of these two parts of the data in the transaction.
- the method for uploading N rounds of clipped data to the chain applied to the blockchain will be described in detail in conjunction with three embodiments of the distributed ledger under the UTXO model.
- the Bitcoin Nakamoto Vision (BSV) blockchain is taken as an example, but those skilled in the art should understand that this does not constitute a limitation to the protection scope of the present invention, and the target blockchain of this implementation It can be other transactions with similar transaction data elements, including the Bitcoin (BTC) blockchain, Dogecoin (DOGE) blockchain, Litecoin (LTC) blockchain, and Bitcoin Cash (BCH) blockchain.
- BTC Bitcoin Nakamoto Vision
- DOGE Dogecoin
- LTC Litecoin
- BCH Bitcoin Cash
- the following three embodiments all use two-input and two-output transactions, which can also be transactions with any number of inputs and any number of outputs, and only need to apply the implementation of the first two transaction inputs or transaction outputs to Other transaction inputs or outputs are fine.
- Table 1 is the composition of the transaction data set X 0 in the following embodiments 1-3. As shown in Table 1.
- the transaction data set X 0 in Table 1 is pruned round by round.
- the division of the reserved data set S and the pruned data set W is shown in Table 2 and FIG. 3 .
- the Unlocking Script element and the Unlocking Script Size element of each input (TxIn) of the transaction form a clipping data set
- the Locking Script element and the Locking Script element of each output (TxOut) of the transaction are combined with the Locking Script Size element.
- Script Size elements make up a cropped dataset.
- Fig. 3 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 1 of the present disclosure.
- Table 2 is the partition table of the reserved data set and the pruned data set for the transaction data set X 0 when one round of pruning is performed on the transaction data set X 0 . As shown in table 2.
- TxOut1 Locking Script data of the transaction provided by other nodes or users
- TXID transaction identification number
- the data in the transaction can be verified by hash calculation whether the provided data is indeed the corresponding data in the transaction.
- all input raw data of Unlocking Script and Unlocking Script Size and raw data of Locking Script and Locking Script Size in the second output can be trimmed to achieve the purpose of data reduction.
- a node when a node needs to reuse TxOut1: Locking Script data, it can use the hash pointer HASH (binW 3 0 ) to store the data. When other transactions also have the same Locking Script data, they can share this The data pointed to by the hash pointer.
- the verification of other data may use the above method to provide necessary verification data for verification, so as to fully reduce the size of the data, and details will not be repeated here.
- a second round of pruning is performed on the transaction data set X0 .
- the division of the reserved data set S and the pruned data set W is shown in Table 3 and Figure 4 below.
- the Unlocking Script element and the Unlocking Script Size element of each input (TxIn) of the transaction form a clipping data set
- the Locking Script element and the Locking Script element of each output (TxOut) of the transaction are combined with the Locking Script Size element.
- Script Size elements make up a cropped dataset.
- the data elements related to the content of any transaction input belong to the same pruning data set, and the data elements related to the content of any transaction output belong to another pruning data set.
- datasets such as:
- a j is a set or an empty set containing any data elements
- f j represents the hash value, 1 ⁇ j ⁇ k
- R(f j ) represents the preimage of the hash value f j
- the preimage is the data set or A collection of strings
- x′ is a data element in any transaction input
- x′, f 1 , f 2 , f 3 ,..., f k are all data elements related to the transaction input content
- x' is a data element in any transaction output
- x', f 1 , f 2 , f 3 ,..., f k are all data elements related to the content of the transaction output.
- two clipping data sets are set, one W 1 1 is used to store data elements related to the content of any transaction input, and one W 2 1 is used to store A data element related to the content of any transaction output.
- the redundant data can be reduced by cutting the first layer, and the division of the two cuttable data sets on the second layer and above can make the input related data and output related data independent of each other, avoiding the excessive cutting of the cutable data set.
- the situation of division further facilitates the traceability of data.
- Fig. 4 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 2 of the present disclosure.
- Table 3 is the partition table of the reserved data set and the pruned data set for the transaction data set X 0 when the second round of pruning is performed on the transaction data set X 0 . as shown in Table 3.
- TxOut1 Locking Script data of the transaction provided by other nodes or users
- TXID transaction identification number
- the data in the transaction can be verified by hash calculation whether the provided data is indeed the corresponding data in the transaction.
- all input raw data and the Locking Script and Locking Script Size raw data in the second output can be trimmed to achieve the purpose of data reduction.
- a node when a node needs to reuse TxOut1:Locking Script data, it can use the hash pointer HASH (binW 3 0 ) to store the data. When other transactions also have the same Locking Script data, they can share this The data pointed to by the hash pointer.
- the verification of other data may use the above method to provide necessary verification data for verification, so as to fully reduce the size of the data, and details will not be repeated here.
- a second round of pruning is performed on the transaction data set X 0 .
- the measurement elements in the transaction data including the element representing the byte length of a certain element in the transaction data and the count element representing the number of certain types of elements in the transaction data, are not trimmed together with the measurement target element.
- the Unlocking Script Size element in each transaction input data does not belong to the same clipping data set as the Unlocking Script element
- the Locking Script Size element in each transaction output data does not belong to the same clipping data set as the Locking Script element
- the InputCount element does not belong to the same clipping data set as the TXID in all transaction input data
- the OutputCount element does not belong to the same clipping data set as the Value element in all output transaction data.
- the Unlocking Script element of each input (TxIn) of the transaction forms an independent tailorable data set
- the Locking Script element of each output (TxOut) of the transaction forms an independent Datasets can be clipped.
- Fig. 5 schematically shows a schematic diagram of division of transaction data sets according to Embodiment 3 of the present disclosure.
- Table 3 is the partition table of the reserved data set and the pruned data set for the transaction data set X 0 when the second round of pruning is performed on the transaction data set X 0 . As shown in Table 4.
- TxOut1 Locking Script data of the transaction provided by other nodes or users
- TXID transaction identification number
- the data in the transaction can be verified by hash calculation whether the provided data is indeed the corresponding data in the transaction.
- all input raw data and the Locking Script and Locking Script Size raw data in the second output can be trimmed to achieve the purpose of data reduction.
- a node when a node needs to reuse TxOut1: Locking Script data, it can use the hash pointer HASH (binW 0 3 ) to store the data. When other transactions also have the same Locking Script data, they can share this The data pointed to by the hash pointer.
- the verification of other data may use the above method to provide necessary verification data for verification, so as to fully reduce the size of the data, and details will not be repeated here.
- the present disclosure also provides a device for hierarchically clipping data in a blockchain transaction.
- Fig. 6 schematically shows a structural block diagram of an apparatus for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure.
- the apparatus 600 includes: an acquisition module 610 , a clipping module 620 and a processing module 630 .
- An acquisition module 610 configured to acquire a transaction data set.
- the pruning module 620 is configured to perform N rounds of pruning on the transaction data set based on the data pruning model to obtain a target data set, wherein N is a positive integer greater than or equal to 1.
- the processing module 630 is configured to process the target data set to obtain a target value, wherein the target value is configured to point to the transaction identification number used when the target data set is on-chain.
- the clipping module 620 may include: a construction submodule 620-1, a serialization encoding submodule 620-2, a calculation submodule 620-3, an acquisition submodule 620-4, and a loop submodule 620-5.
- the construction sub-module 620-1 is configured to use the transaction data set to construct a reserved data set and M clipped data sets, where M is a positive integer greater than or equal to 1.
- the serialization encoding sub-module 620-2 is configured to perform the first serialization encoding on the clipping data set to obtain the first serialization encoding value corresponding to the clipping data set.
- the calculating sub-module 620-3 is configured to perform hash calculation on the first serialized encoding value to obtain a first hash value corresponding to the first serialized encoding value.
- Obtaining sub-module 620-4 configured to construct a first hash value set from the M first hash values corresponding to the first serialized encoding value, and combine them with the reserved data set to obtain an intermediate transaction data set.
- the cycle sub-module 620-5 is used to cycle the operations corresponding to the above sub-modules by using the intermediate transaction data set until the intermediate transaction data set satisfies the predetermined condition to obtain the target data set.
- any multiple modules of the acquiring module 610, the clipping module 620 and the processing module 630 may be implemented in one module, or any one of the modules may be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules may be combined with at least part of the functions of other modules and implemented in one module.
- At least one of the acquisition module 610, the cropping module 620, and the processing module 630 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), A system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuits, such as hardware or firmware, or in a combination of software, hardware, and firmware Any one of these implementations or an appropriate combination of any of them.
- FPGA field programmable gate array
- PLA programmable logic array
- ASIC application-specific integrated circuit
- at least one of the obtaining module 610, the cropping module 620 and the processing module 630 may be at least partially implemented as a computer program module, and when the computer program module is executed, corresponding functions may be performed.
- Fig. 7 schematically shows a block diagram of an electronic device suitable for implementing a method for hierarchically pruning data in a blockchain transaction according to an embodiment of the present disclosure.
- an electronic device 700 includes a processor 701, which can be loaded into a random access memory (RAM) 703 according to a program stored in a read-only memory (ROM) 702 or from a storage section 708.
- processor 701 may include, for example, a general-purpose microprocessor (eg, a CPU), an instruction set processor and/or related chipsets, and/or a special-purpose microprocessor (eg, an application-specific integrated circuit (ASIC)), and the like.
- Processor 701 may also include on-board memory for caching purposes.
- the processor 701 may include a single processing unit or a plurality of processing units for executing different actions of the method flow according to the embodiments of the present disclosure.
- the processor 701, ROM 702, and RAM 703 are connected to each other through a bus 704.
- the processor 701 executes various operations according to the method flow of the embodiment of the present disclosure by executing programs in the ROM 702 and/or RAM 703. It should be noted that programs may also be stored in one or more memories other than ROM 702 and RAM 703.
- the processor 701 may also perform various operations according to the method flow of the embodiments of the present disclosure by executing programs stored in one or more memories.
- the electronic device 700 may further include an input/output (I/O) interface 705 which is also connected to the bus 704 .
- the electronic device 700 may also include one or more of the following components connected to the I/O interface 705: an input section 706 including a keyboard, a mouse, etc.; An output section 707 of a speaker or the like; a storage section 708 including a hard disk or the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like.
- the communication section 709 performs communication processing via a network such as the Internet.
- a drive 710 is also connected to the I/O interface 705 as needed.
- a removable medium 711 such as a magnetic disk, optical disk, magneto-optical disk, semiconductor memory, etc. is mounted on the drive 710 as necessary so that a computer program read therefrom is installed into the storage section 708 as necessary.
- the present disclosure also provides a computer-readable storage medium.
- the computer-readable storage medium may be included in the device/apparatus/system described in the above embodiments; it may also exist independently without being assembled into the device/system device/system.
- the above-mentioned computer-readable storage medium carries one or more programs, and when the above-mentioned one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
- the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as may include but not limited to: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM) , erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
- a computer-readable storage medium may include one or more memories other than the above-described ROM 702 and/or RAM 703 and/or ROM 702 and RAM 703.
- Embodiments of the present disclosure also include a computer program product, which includes a computer program, and the computer program includes program codes for executing the method shown in the flow chart.
- the program code is used to make the computer system implement the item recommendation method provided by the embodiments of the present disclosure.
- the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices.
- the computer program can also be transmitted and distributed in the form of a signal on a network medium, downloaded and installed through the communication part 709, and/or installed from the removable medium 711.
- the program code contained in the computer program can be transmitted by any appropriate network medium, including but not limited to: wireless, wired, etc., or any appropriate combination of the above.
- the computer program may be downloaded and installed from a network via communication portion 709 and/or installed from removable media 711 .
- the computer program is executed by the processor 701
- the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed.
- the above-described systems, devices, devices, modules, units, etc. may be implemented by computer program modules.
- the program codes for executing the computer programs provided by the embodiments of the present disclosure can be written in any combination of one or more programming languages, specifically, high-level procedural and/or object-oriented programming language, and/or assembly/machine language to implement these computing programs.
- Programming languages include, but are not limited to, programming languages such as Java, Rust, C++, python, "C" or similar.
- the program code can execute entirely on the user computing device, partly on the user device, partly on the remote computing device, or entirely on the remote computing device or server.
- the remote computing device may be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider). business to connect via the Internet).
- LAN local area network
- WAN wide area network
- Internet service provider an Internet service provider
- each block in a flowchart or block diagram may represent a module, program segment, or portion of code that includes one or more logical functions for implementing specified executable instructions.
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
- each block in the block diagrams or flowchart illustrations, and combinations of blocks in the block diagrams or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a A combination of dedicated hardware and computer instructions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
X 0 | S 0 | W 0 1 | W 0 2 | W 0 3 | W 0 4 |
x 1=Version | x 1 | ||||
x 2=LockTime | x 2 | ||||
x 3=InputCount | x 3 | ||||
x 4=OutputCount | x 4 | ||||
x 5=TxIn1:TXID | x 5 | ||||
x 6=TxIn1:VOUT | x 6 | ||||
x 7=TxIn1:Unlocking Script Size | x 7 | ||||
x 8=TxIn1:Unlocking Script | x 8 |
x 9=TxIn1:Sequence | x 9 | ||||
x 10=TxIn2:TXID | x 10 | ||||
x 11=TxIn2:VOUT | x 11 | ||||
x 12=TxIn2:Unlocking Script Size | x 12 | ||||
x 13=TxIn2:Unlocking Script | x 13 | ||||
x 14=TxIn2:Sequence | x 14 | ||||
x 15=TxOut1:Value | x 15 | ||||
x 16=TxOut 1:Locking Script Size | x 16 | ||||
x 17=TxOut 1:Locking Script | x 17 | ||||
x 18=TxOut2:Value | x 18 | ||||
x 19=TxOut2:Locking Script Size | x 19 | ||||
x 20=TxOut2:Locking Script | x 20 |
X 0 | S 0 | W 0 1 | W 0 2 | W 0 3 | W 0 4 | X 1=Y 0 | S 1 | W 1 1 | W 1 2 |
x 1 | x 1 | x 1 | x 1 | ||||||
x 2 | x 2 | x 2 | x 2 |
x 3 | x 3 | x 3 | x 3 | ||||||
x 4 | x 4 | x 4 | x 4 | ||||||
x 5 | x 5 | x 5 | x 5 | ||||||
x 6 | x 6 | x 6 | x 6 | ||||||
x 7 | x 7 | x 7 | x 7 | ||||||
x 8 | x 8 | HASH(binW 0 1) | HASH(binW 0 1) | ||||||
x 9 | x 9 | x 9 | x 9 | ||||||
x 10 | x 10 | x 10 | x 10 | ||||||
x 11 | x 11 | x 11 | x 11 | ||||||
x 12 | x 12 | x 12 | x 12 | ||||||
x 13 | x 13 | HASH(binW 0 2) | HASH(binW 0 2) | ||||||
x 14 | x 14 | x 14 | x 14 | ||||||
x 15 | x 15 | x 15 | x 15 | ||||||
x 16 | x 16 | x 16 | x 16 | ||||||
x 17 | x 17 | HASH(binW 0 3) | HASH(binW 0 3) | ||||||
x 18 | x 18 | x 18 | x 18 | ||||||
x 19 | x 19 | x 19 | x 19 | ||||||
x 20 | x 20 | HASH(binW 0 4) | HASH(binW 0 4) |
Claims (12)
- 一种分层裁剪区块链交易内数据的方法,包括:获取交易数据集;基于数据裁剪模型,对所述交易数据集进行N轮次裁剪,得到目标数据集,其中,N为大于等于1的正整数;对所述目标数据集进行处理,得到目标值,其中,所述目标值被配置为指向所述目标数据集上链时使用的交易识别号;其中,所述基于数据裁剪模型,对所述交易数据集进行N轮次裁剪,得到目标数据集,包括:S1,利用所述交易数据集构造保留数据集和M个裁剪数据集,其中,M为大于等于1的正整数;S2,对所述裁剪数据集进行第一序列化编码,得到与所述裁剪数据集对应的第一序列化编码值;S3,对所述第一序列化编码值进行哈希计算,得到与所述第一序列化编码值对应的第一哈希值;S4,将M个与所述第一序列化编码值对应的第一哈希值构造第一哈希值集合,并与所述保留数据集做并集,得到中间交易数据集;S5,利用所述中间交易数据集循环操作S1~S4,直至所述中间交易数据集满足预定条件,得到所述目标数据集。
- 根据权利要求1所述的方法,其中,经所述数据裁剪模型裁剪后的数据集表示为:Y=S∪{HASH(binW 1),HASH(binW 2),...,HASH(binW M)},其中,S为输入数据集X中的保留数据集;W 1,W 2,...,W M为输入数据集X中的裁剪数据集;M为裁剪数据集的数量;binW M为裁剪数据集W M的序列化编码值;HASH(binW M)为binW M的哈希值;Y为输入数据集X经数据裁剪模型裁剪后的数据集;X={x 1,x 2,x 3,...,x a},S={s 1,s 2,s 3,...,s b}, W h为裁剪数据集W 1、W 2、...、W M中的任一裁剪数据集;a为输入数据集X中的数据元素的数量,x 1,x 2,x 3,...,x a为输入数据集X中的数据元素;b为保留数据集S中的数据元素的数量,s 1,s 2,s 3,...,s b为保留数据集S中的数据元素;h为裁剪数据集的数量,1≤h≤M;c h为裁 剪数据集W h中的数据元素的数量,且c h≥1, 为裁剪数据集W h中的数据元素。
- 根据权利要求1所述的方法,其中,所述对所述目标数据集进行处理,得到目标值,包括:对所述目标数据集进行第二序列化编码,得到与所述目标数据集对应的第二序列化编码值;对所述第二序列化编码值进行哈希计算,得到目标值。
- 根据权利要求1或2所述的方法,其中,第一轮裁剪时的所述保留数据集为非空数据集。
- 根据权利要求1所述的方法,其中,应用于UTXO模型下的分布式账本的情况下,在第一轮次裁剪的情况下,所述交易数据集中的每个交易输入数据的解锁脚本元素形成独立的裁剪数据集。
- 根据权利要求5所述的方法,其中,在第j轮次裁剪的情况下,与所述每个交易输入数据中的解锁脚本元素相关的数据元素均同属于一个裁剪数据集,其中,2≤j≤N。
- 根据权利要求1所述的方法,其中,应用于UTXO模型下的分布式账本的情况下,在第一轮次裁剪的情况下,所述交易数据集中的每个交易输出数据的锁定脚本元素形成独立的裁剪数据集。
- 根据权利要求6所述的方法,其中,在第j轮次裁剪的情况下,与每个交易输出数据的锁定脚本元素相关的数据元素均同属于一个裁剪数据集,其中,2≤j≤N。
- 一种分层裁剪区块链交易内数据的装置,包括:获取模块,用于获取交易数据集;裁剪模块,用于基于数据裁剪模型,对所述交易数据集进行N轮次裁剪,得到目标数据集,其中,N为大于等于1的正整数;处理模块,用于对所述目标数据集进行处理,得到目标值,其中,所述目标值被配置为指向所述目标数据集上链时使用的交易识别号;其中,裁剪模块,包括:构造子模块,用于利用所述交易数据集构造保留数据集和M个裁剪数据集,其中,M为大于等于1的正整数;序列化编码子模块,用于对所述裁剪数据集进行第一序列化编码,得到与所述裁剪 数据集对应的第一序列化编码值;计算子模块,用于对所述第一序列化编码值进行哈希计算,得到与所述第一序列化编码值对应的第一哈希值;获得子模块,用于将M个与所述第一序列化编码值对应的第一哈希值构造第一哈希值集合,并与所述保留数据集做并集,得到中间交易数据集;循环子模块,用于利用所述中间交易数据集循环上述子模块对应的操作,直至所述中间交易数据集满足预定条件,得到所述目标数据集。
- 一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
- 一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
- 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2319803.9A GB2622343A (en) | 2021-06-18 | 2022-04-29 | Method and apparatus for hierarchically clipping data in blockchain transaction, and device medium |
US18/543,440 US20240168942A1 (en) | 2021-06-18 | 2023-12-18 | Method and apparatus for hierarchically pruning data in blockchain transaction, device and medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682927.8A CN113360578B (zh) | 2021-06-18 | 2021-06-18 | 一种分层裁剪区块链交易内数据的方法、系统和存储介质 |
CN202110682927.8 | 2021-06-18 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/543,440 Continuation US20240168942A1 (en) | 2021-06-18 | 2023-12-18 | Method and apparatus for hierarchically pruning data in blockchain transaction, device and medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022262446A1 true WO2022262446A1 (zh) | 2022-12-22 |
Family
ID=77535251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/090567 WO2022262446A1 (zh) | 2021-06-18 | 2022-04-29 | 分层裁剪区块链交易内数据的方法、装置、设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240168942A1 (zh) |
CN (1) | CN113360578B (zh) |
GB (1) | GB2622343A (zh) |
WO (1) | WO2022262446A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360578B (zh) * | 2021-06-18 | 2023-04-07 | 中国科学技术大学 | 一种分层裁剪区块链交易内数据的方法、系统和存储介质 |
CN115207785B (zh) * | 2022-09-15 | 2023-02-03 | 四川瑞吉绿能科技有限公司 | 一种配电箱智能防火系统及其方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899412A (zh) * | 2017-03-30 | 2017-06-27 | 北京链银博科技有限责任公司 | 一种区块链隐私保护方法、装置及系统 |
CN109542455A (zh) * | 2018-11-29 | 2019-03-29 | 杭州复杂美科技有限公司 | 合约执行方法、合约精简方法、设备和存储介质 |
KR102046059B1 (ko) * | 2019-03-20 | 2019-11-18 | 엘에스웨어(주) | 블록체인의 정보변경장치 및 방법 |
CN110727644A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 一种区块链数据裁剪的方法、系统及存储介质 |
CN111340496A (zh) * | 2020-05-20 | 2020-06-26 | 南京如般量子科技有限公司 | 一种自动优化历史交易数据的区块链系统及方法 |
CN113360578A (zh) * | 2021-06-18 | 2021-09-07 | 中国科学技术大学 | 一种分层裁剪区块链交易内数据的方法、系统和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347684B (zh) * | 2019-06-28 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
-
2021
- 2021-06-18 CN CN202110682927.8A patent/CN113360578B/zh active Active
-
2022
- 2022-04-29 WO PCT/CN2022/090567 patent/WO2022262446A1/zh active Application Filing
- 2022-04-29 GB GB2319803.9A patent/GB2622343A/en active Pending
-
2023
- 2023-12-18 US US18/543,440 patent/US20240168942A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899412A (zh) * | 2017-03-30 | 2017-06-27 | 北京链银博科技有限责任公司 | 一种区块链隐私保护方法、装置及系统 |
CN109542455A (zh) * | 2018-11-29 | 2019-03-29 | 杭州复杂美科技有限公司 | 合约执行方法、合约精简方法、设备和存储介质 |
KR102046059B1 (ko) * | 2019-03-20 | 2019-11-18 | 엘에스웨어(주) | 블록체인의 정보변경장치 및 방법 |
CN110727644A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 一种区块链数据裁剪的方法、系统及存储介质 |
CN111340496A (zh) * | 2020-05-20 | 2020-06-26 | 南京如般量子科技有限公司 | 一种自动优化历史交易数据的区块链系统及方法 |
CN113360578A (zh) * | 2021-06-18 | 2021-09-07 | 中国科学技术大学 | 一种分层裁剪区块链交易内数据的方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113360578B (zh) | 2023-04-07 |
GB202319803D0 (en) | 2024-02-07 |
US20240168942A1 (en) | 2024-05-23 |
GB2622343A (en) | 2024-03-13 |
CN113360578A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022262446A1 (zh) | 分层裁剪区块链交易内数据的方法、装置、设备及介质 | |
US20220335338A1 (en) | Feature processing tradeoff management | |
US11544623B2 (en) | Consistent filtering of machine learning data | |
US10366053B1 (en) | Consistent randomized record-level splitting of machine learning data | |
US10339465B2 (en) | Optimized decision tree based models | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
US10360405B2 (en) | Anonymization apparatus, and program | |
CN111858472B (zh) | 文件格式转换方法、装置、计算机设备及存储介质 | |
CN111177113B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN112035355A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US11222131B2 (en) | Method for a secure storage of data records | |
CN110309496B (zh) | 数据汇总方法、电子装置及计算机可读存储介质 | |
CN111984674A (zh) | 结构化查询语言的生成方法及系统 | |
CN113468248B (zh) | 数据统计方法、装置、设备及存储介质 | |
CN114328486A (zh) | 基于模型的数据质量核查方法及装置 | |
US20220207042A1 (en) | Query tree labeling and processing | |
Purdilă et al. | Single‐scan: a fast star‐join query processing algorithm | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
WO2020248149A1 (en) | Data sharing and data analytics implementing local differential privacy | |
CN112328601A (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
JP2024525189A (ja) | ブロックチェーン取引内のデータを階層的に裁断する方法、装置、機器及び媒体 | |
CN112667721A (zh) | 数据分析方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22823929 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2023578039 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 202319803 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20220429 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22823929 Country of ref document: EP Kind code of ref document: A1 |