Method, device, equipment, and medium for hierarchically shredding data in blockchain transactions

Hierarchical data shredding in blockchain transactions addresses inefficiencies by allowing partial verification through hash values, reducing redundant data transfer and improving network efficiency.

JP7730579B2Active Publication Date: 2025-08-28UNIV OF SCI & TECH OF CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023578039
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-18
Filing Date
2022-04-29
Publication Date
2025-08-28
Estimated Expiration
2042-04-29

AI Technical Summary

Technical Problem

Conventional blockchain technology requires transmitting and storing entire transaction data for verification, leading to increased costs and inefficiencies due to redundant data transmission and storage.

Method used

A method for hierarchically shredding data in blockchain transactions involves performing multiple cuts on transaction datasets using a data shredding model, followed by serialization encoding and hashing to create a target dataset with a transaction identification number, allowing partial verification without full data transfer.

Benefits of technology

This approach reduces redundant data transmission and storage, enhances data processing efficiency, and facilitates data tracing by using hash values for authenticity verification, thereby optimizing blockchain network operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007730579000027
    Figure 0007730579000027
  • Figure 0007730579000028
    Figure 0007730579000028
  • Figure 0007730579000029
    Figure 0007730579000029
Patent Text Reader

Abstract

The present disclosure provides a method for hierarchically truncating data in a blockchain transaction, the method including: obtaining a transaction dataset; constructing a retained dataset and M truncated datasets using the transaction dataset; performing a first serialization encoding on the truncated dataset to obtain a first serialized encoded value; performing a hash calculation on the first serialized encoded value to obtain a first hash value corresponding to the first serialized encoded value; constructing the M first hash values ​​corresponding to the first serialized encoded value into a first hash value set and merging the first serialized encoded value with the retained dataset to obtain an intermediate transaction dataset; and repeating operations S1 to S4 using the intermediate transaction dataset until the intermediate transaction dataset satisfies a predetermined condition to obtain a target dataset. The method includes the steps of: performing N truncations on the transaction dataset to obtain a target dataset; and processing the target dataset to obtain a target value, the target value being configured to indicate a transaction identification number used when cochaining to the target dataset.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to a Chinese patent application filed with the China Intellectual Property Office on June 18, 2021, entitled "Method, system and storage medium for hierarchically cutting data in blockchain transactions" and bearing application number 202110682927.8, the entire contents of which are incorporated herein by reference.

[0002] The present disclosure relates to the technical field of blockchain, and more particularly to a method, apparatus, device and medium for hierarchically shredding data within a blockchain transaction. [Background technology]

[0003] Blockchain technology is a distributed ledger technology in which multiple ledger maintenance nodes distributed in different geographical locations jointly participate in bookkeeping and record transaction data in a distributed database. Ledger maintenance nodes are nodes that run similar compatible bookkeeping software and have the potential to become bookkeeping nodes. Transaction data can be defined as a functionally complete and independent bookkeeping data unit that is transmitted between all ledger maintenance nodes. Each bookkeeping is achieved by a user sending a transaction to the distributed network via broadcast or point-to-point, which is then added to the ledger database by a bookkeeping node selected based on common rules, and finally verified by other ledger maintenance nodes.

[0004] The network also includes nodes that are not involved in bookkeeping but record all or part of historical or current transaction data, which may be referred to as ledger-synchronization nodes. The network also includes some user nodes that only store transaction data related to themselves or groups of users, or the most basic block header structure data, which are referred to as light nodes. In particular, the use of "blockchain" in this disclosure is for ease of explanation only, and its meaning is not limited to this narrow blockchain network, but includes all forms of distributed classified ledgers, in which bookkeeping transactions do not need to be packed into a single block and can be added to the distributed ledger in a relatively independent manner.

[0005] In conventional blockchain technology, key data in a transaction is hashed as a whole to obtain a transaction identification number TXID. When a node needs to verify the authenticity of some of the transaction data using hash calculations, it must receive the complete transaction data of the transaction indicated by the TXID, which increases the costs of storing, transmitting, and reusing transaction data, and places unnecessary burdens on users. Summary of the Invention [Problem to be solved by the invention]

[0006] To at least partially solve the above problems, the present disclosure provides methods, apparatus, electronic devices, storage media, and program products for hierarchically shredding data within blockchain transactions. [Means for solving the problem]

[0007] One aspect of the present disclosure provides a method for hierarchically shredding data in blockchain transactions, including: obtaining a transaction dataset; performing N cuts on the transaction dataset based on a data shredding model to obtain a target dataset, where N is a positive integer greater than or equal to 1; and processing the target dataset to obtain a target value, where the target value is configured to indicate a transaction identification number used to cochain to the target dataset.

[0008] According to an embodiment of the present disclosure, the step of performing N cuts on a transaction dataset based on a data truncation model to obtain a target dataset includes: step S1 of using the transaction dataset to construct a retention dataset and M cut datasets, where M is a positive integer greater than or equal to 1; step S2 of performing a first serialization encoding on the cut dataset to obtain a first serialized encoded value corresponding to the cut dataset; step S3 of performing a hash calculation on the first serialized encoded value to obtain a first hash value corresponding to the first serialized encoded value; step S4 of constructing the M first hash values ​​corresponding to the first serialized encoded value into a first hash value set and merging it with the retention dataset to obtain an intermediate transaction dataset; and step S5 of repeating operations S1 to S4 using the intermediate transaction dataset until the intermediate transaction dataset satisfies a predetermined condition to obtain a target dataset.

[0009] Another aspect of the present disclosure provides an apparatus for hierarchically shredding data in blockchain transactions, including: an acquisition module used to acquire a transaction dataset; a shredding module used to perform N shreddings on the transaction dataset based on a data shredding model to obtain a target dataset, where N is a positive integer greater than or equal to 1; and a processing module used to process the target dataset to obtain a target value, where the target value is configured to indicate a transaction identification number used when cochaining to the target dataset.

[0010] Another aspect of the present disclosure provides an electronic device that includes one or more processors and a storage device adapted to store one or more programs, the one or more programs, when executed by the one or more processors, causing the one or more processors to perform a method for hierarchically shredding data in the blockchain transaction.

[0011] According to another aspect of the present disclosure, there is provided a computer-readable storage medium having executable instructions stored thereon that, when executed by a processor, cause the processor to perform a method for hierarchically shredding data within the blockchain transaction.

[0012] Another aspect of the present disclosure provides a computer program product including a computer program that, when executed by a processor, implements a method for hierarchically shredding data within the blockchain transaction. [Brief explanation of the drawings]

[0013] [Figure 1] 1 illustrates a flowchart of a method for hierarchically shredding data in a blockchain transaction according to an embodiment of the present disclosure. [Figure 2]1 illustrates a schematic flow chart of a method for performing N cuts on transaction data to obtain a target data set according to an embodiment of the present disclosure. [Figure 3] 1 illustrates a schematic diagram of a division of a transaction dataset according to a first embodiment of the present disclosure. [Figure 4] 10A and 10B illustrate a schematic diagram of a division of a transaction dataset according to Example 2 of the present disclosure. [Figure 5] 10A and 10B illustrate a schematic diagram of a division of a transaction dataset according to Example 3 of the present disclosure. [Figure 6] 1 illustrates a schematic structural block diagram of an apparatus for hierarchically shredding data in a blockchain transaction according to an embodiment of the present disclosure. [Figure 7] 1 illustrates a block diagram of an electronic device suitable for implementing a method for hierarchical shredding of data within a blockchain transaction according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are illustrative and do not limit the scope of the present disclosure. In the following description, for ease of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may be practiced without these specific details. Furthermore, in the following description, descriptions of known structures and techniques are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0015] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. Furthermore, it should be understood that the terms "comprises," "contains," and the like, when used in the description, are intended to describe the presence of features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0016] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art. The terms used herein should be interpreted in a manner consistent with the context of the present specification and should not be interpreted in an ideal or excessive manner.

[0017] When a phrase such as "at least one of A, B, C, etc." is used, it should generally be interpreted in the sense that the phrase is commonly understood by those of ordinary skill in the art (e.g., "a system having at least one of A, B, and C" includes, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B, and C, etc.).

[0018] In the technical solutions disclosed herein, the processes of data acquisition, collection, storage, use, processing, transmission, provision, disclosure and application shall all comply with the provisions of relevant laws, adopt necessary confidentiality measures, and not violate public order and morals.

[0019] FIG. 1 illustrates a schematic flow chart of a method for hierarchically shredding data in a blockchain transaction according to an embodiment of the present disclosure.

[0020] As shown in FIG. 1, the method 100 includes operations S110 to S130.

[0021] In operation S110, a transaction data set is obtained.

[0022] In operation S120, based on the data cutting model, N cuts are performed on the transaction data set to obtain a target data set, where N is a positive integer equal to or greater than 1.

[0023] According to an embodiment of the present disclosure, when applied to a distributed ledger in a UTXO model, for different numbers of transaction data inputs and transaction data outputs, the number of cuts N may be determined based on actual cut demands, and after determining the specific number of cuts, the cut operation is performed on the transaction data set. The number of cuts N is not affected by the number of transaction data inputs and transaction data outputs, i.e., the cut turn N does not need to depend on the number of transaction data inputs and transaction data outputs.

[0024] According to an embodiment of the present disclosure, the number of cutting steps is determined to determine the mode of the number of cutting layers, which helps to simplify the implementation of related software code and also helps to realize code hardware implementation for the cutting method of the present application.

[0025] According to an embodiment of the present disclosure, the transaction dataset may be a complete set of transaction data propagated to a distributed ledger network, and the transaction dataset may be X 0 The entire set of transaction data may include all necessary transaction data elements and need not include partial redundant data. The necessary data may be data required when the validity of a transaction is verified by the ledger maintenance node. For example, unlock script size data or lock script size data may also be redundant data and may not require verification by the ledger maintenance node. According to an embodiment of the present disclosure, the transaction dataset X 0 may be formed by a combination of multiple data, for example:

number

[0026] According to an embodiment of the present disclosure, the data set obtained after each cut performed on the transaction data set by the data cutting model F may be, for example,

number

number

[0027] According to embodiments of the present disclosure, optionally, the input data set comprises:

number

[0028] According to embodiments of the present disclosure, optionally, the input data set comprises:

number

[0029] According to an embodiment of the present disclosure, to avoid data duplication and improve data cutting efficiency, the input data set X is expressed in the form of Equation 5.

[0030] In the embodiments of the present disclosure, for example, HASH(p) indicates a hash value obtained after performing one or more nested hash calculations on data p, and the hash value obtained by performing one hash calculation on data p is represented as hash(p), and the hash value obtained by performing r nested hash calculations on data p is represented as HASH(p). r (p) and HASH r (p)=hash(HASH r-1 (p)), r≧1, and HASH0(p)=p.

[0031] Here, hash(HASH r-1 In (p)), hash is the hash function used in the rth hash calculation, and the hash function may be any hash function or a newly designed function with the same effect. r (p) consists of r arbitrary hash function nests, where the r hash functions may be different or the same.

[0032] According to an embodiment of the present disclosure, for example, a serialization encoding operation for any data set R is denoted as Encode(R), and the output data after the encoding operation is binary data, which can be correspondingly denoted as binR or bin(R), i.e., bin(R) = binR = Encode(R). Some constant data and common recognition rules can be added to the encoding operation to meet specific search and decoding needs. The encoding operation can be any conversion operation accompanied by a decoding operation (denoted as Decode), i.e., it has the property of R = Decode(Encode(R)).

[0033] According to an embodiment of the present disclosure, shredding a transaction dataset N times based on a data shredding model F includes shredding data elements of the transaction dataset to form a shredded dataset, performing serialization encoding and hashing on the shredded dataset, retaining the unshredded dataset, and forming a hash set consisting of hash values ​​of the shredded data and the retained unshredded dataset into a target dataset.

[0034] For example, FIG. 2 illustrates a schematic flow chart of a method for performing N cuts on transaction data to obtain a target data set according to an embodiment of the present disclosure.

[0035] As shown in FIG. 2, the method 200 further includes operations S1 to S5.

[0036] In operation S1, the transaction dataset is used to construct a holding dataset and M cutting datasets, where M is a positive integer greater than or equal to 1.

[0037] In operation S2, a first serialization encoding is performed on the cut data set to obtain a first serialization encoding value corresponding to the cut data set.

[0038] In operation S3, a hash calculation is performed on the first serialized encoded value to obtain a first hash value corresponding to the first serialized encoded value.

[0039] In operation S4, M first hash values ​​corresponding to the first serialized encoded values ​​are constructed into a first hash value set and merged with the holding data set to obtain an intermediate transaction data set.

[0040] In operation S5, operations S1 to S4 are repeated using the intermediate transaction data set until the intermediate transaction data set satisfies a predetermined condition, thereby obtaining a target data set.

[0041] According to the embodiment of the present disclosure, when the first cutting is performed using the transaction dataset as the input dataset, the transaction dataset X is divided into 0 ={x1,x2,x3,…,x n} can be divided into transaction data that does not need to be cut in the current cutting process and transaction data that can be cut. The transaction data that does not need to be cut is used to construct a data set, and the retained data set S 0 The cuttable transaction data can be used to construct multiple data sets, and the cut data set W1 0 , W2 0 , …W M0 0 where M0 is the number of cutting data sets in the first cutting of the cutting data sets, and M is a positive integer greater than 1.

[0042] According to an embodiment of the present disclosure, the transaction data set X 0 Hold the dataset S 0 and M cut data sets W1 0 , W2 0 , …W M0 0 Divide into X 0 =S 0 +W1 0 +W2 0 +…+W M0 0 It may also be written as

number

[0043] According to an embodiment of the present disclosure, the retained dataset for the first cutting may be a non-empty dataset.

[0044] According to the embodiment of the present disclosure, when the first data cutting is performed on each of the M cut data sets by the data cutting model F, that is, when the first serialization encoding and hash calculation are performed, the l-th cut data set W l 0 where 1≦l≦M, and a binary first serialization encoded value binW l 0 and further obtain the first serialized encoded value binW l 0 A hash calculation is performed on the data set W l 0 hash pointer hashW l 0 , i.e., the first hash value hashW corresponding to the first serialized encoded value of the data set l 0 =HASH(binW l 0 ) is obtained.

[0045] According to an embodiment of the present disclosure, a first serialization encoding is performed on the M cut data sets, and then a hash calculation is performed to obtain a set of M first serialization encoded values ​​corresponding to the first serialization encoded values ​​of the corresponding cut data sets, for example:

number

[0046] According to an embodiment of the present disclosure, the hash value set corresponding to the first cutting and the retained data set S0 and merge them into the intermediate transaction data set Y 0 That is, the transaction data set X 0 Transaction data X obtained after the first cutting of data cutting model F is 1 For example,

number

[0047] According to an embodiment of the present disclosure, the intermediate transaction data set Y 0 (X 1 ) is used as the input data set, and the intermediate transaction data set Y obtained by performing the above steps S1 to S4 i i.e., transaction dataset X 0 The transaction data X obtained by performing the i+1th cutting on the data cutting model F is i+1 and the intermediate transaction data set Y i If the specified condition is met, the transaction data set Y i Let X be the target dataset. N where 1≦i≦N-1. The intermediate transaction data set Y obtained after the (i+1)th cutting i For example,

number

[0048] When data cutting is performed on a transaction dataset or an intermediate transaction dataset using the data cutting model F, each data cutting process is independent of each other, that is, M0, M1, ..., Mi, ..., M(N-1) are all independent constants.

[0049] According to an embodiment of the present disclosure, the transaction data set X 0 The process of cutting N times is, for example,

number

[0050] According to an embodiment of the present disclosure, when a transaction dataset is cut once, the transaction dataset has many hash pointers in one layer, and the number of retained datasets and cut datasets in each cutting process varies depending on the number of input data and output data during the transaction.

[0051] According to an embodiment of the present disclosure, the output data cut at the medium number of times, e.g., HASH(binW1 i ),HASH(binW2 i ),…,HASH(binW Mi i ) does not need to be stored in the node and can be re-obtained only when necessary by hypothetical calculations using other data to reduce data storage pressure.

[0052] According to an embodiment of the present disclosure, dividing a transaction data set into M cut data sets in the same cutting process realizes separate hashing and encoding for different transaction data in the M cut data sets, which is convenient for tracking and decoding the transaction data in the future. For example, input data and output data in the same hashing process are packetized and encoded separately to facilitate data decoding and verification.

[0053] In operation S130, the target data set is processed to obtain a target value, the target value being configured to point to a transaction identification number to be used in cochaining to the target data set.

[0054] According to an embodiment of the present disclosure, the step of processing the obtained target dataset and obtaining a target value includes the steps of performing a second serialization encoding on the target dataset to obtain a second serialized encoded value for the target dataset, and performing a hash calculation on the second serialized encoded value to obtain a target value.

[0055] According to an embodiment of the present disclosure, the target dataset X Nand then perform a second serialization encoding on the target dataset X N The second serialized encoded value binX corresponding to N and the second serialized encoded value binX N Perform hash calculation on the target hash value HASH(binX N ) is obtained, and the target hash value is the obtained target value, which is placed so as to point to the transaction identification number TXID used when cochaining to the target dataset.

[0056] According to an embodiment of the present disclosure, the transaction identification number obtained in this manner may be referred to as the transaction identification number of the structured index.

[0057] According to an embodiment of the present disclosure, before the transaction dataset is shredded, particularly when it is transmitted between blockchain maintenance nodes, the format of the transmitted original transaction data may be preserved and the currently existing format may be reused to be compatible with current software and application environments.

[0058] According to an embodiment of the present disclosure, the transaction dataset contains all transaction data before the first cutting, and in the second and subsequent cutting processes, the original data in the transaction dataset is replaced with a data hash value, and in the data transition process, traces of the original data are always present as hash values, so that any tampering with the transaction data will change the transaction input dataset for each cutting, facilitating data tracing.

[0059] According to an embodiment of the present disclosure, by performing multi-level hashing on a transaction dataset, each piece of data in the transaction dataset exists in the form of original data or hash code at the node corresponding to the transaction dataset in the blockchain or distributed network. When a node or transaction lock script needs to verify the authenticity of a portion of the input transaction data, it must receive the entire transaction data, which solves the technical problem of increasing the amount of data required for storage and transmission of the transaction data. Therefore, when the authenticity of only a portion of the transaction data needs to be verified, the TXID of the transaction data in which the portion of the data is located and the hash values ​​of other transaction data can be used to verify the authenticity of the portion of the transaction data. This reduces redundant data as needed during the process of the transaction dataset transferring between nodes, reduces the size of data packets during the data transmission process, and avoids the repeated transmission of redundant data, thereby improving data transmission and processing efficiency. Furthermore, since the data exists at least in the form of hash code at the data node during the data migration process, data authenticity verification is guaranteed and data tampering is prevented. Furthermore, the layered hashing of data facilitates tracing back to specified data, allowing users to download data as needed, thereby obtaining the required data and avoiding the download of redundant data.

[0060] According to an embodiment of the present disclosure, for example, for multiple transaction outputs in a UTXO model, a user can download or save only the hash values ​​of the data contents of transaction outputs that the user is not interested in, without downloading or saving the data contents of the transaction outputs.

[0061] According to an embodiment of the present disclosure, in order to ensure hierarchical hashing of data and ensure fast retrospection of some commonly used data, S 0≠Φ. In further implementation, when hash cutting is performed on data using the data cutting model F, in the cutting process of each layer, none of the retained data sets are empty sets, that is, in operation S110, the retained data sets may be set to be non-empty data sets.

[0062] According to an embodiment of the present disclosure, optionally, S j ⊆S j-1 and 1≦j≦N-1(S k i ∈S j ,j <i,1≦k≦b i ), where S k i is the k-th data element in the retained data set at the i+1th cutting, and S j is the retained dataset at the jth shredding. In other words, when a transaction dataset is hash-shredded for the first time in the jth shredding process, the transaction dataset will exist in the retained dataset in the first j-1 shredding processes, making it easy to trace data back.

[0063] According to an embodiment of the present disclosure, in the process of hash-shredding data using a data shredding model F, h In other words, in the embodiment of the present disclosure, in each data cutting process, h The data contained in may be one or more. In this way, by packing multiple data into one cut data set and performing batch coding and hash conversion, the workload is reduced and work efficiency is improved. By dividing the cut data sets in the same layer of hash cutting, different transaction data can be hashed and encoded separately, which is useful for tracking and decoding the subsequent transaction data.

[0064] According to an embodiment of the present disclosure, when the method is applied to a distributed ledger in a UTXO model, a transaction dataset X 0includes the transaction version number Version, transaction time lock data LockTime, the number of transaction inputs InputCount, all data elements included in the data input to each transaction TxIn, the number of transaction outputs OutputCount, and all data elements included in the data output to each transaction TxOut.

[0065] According to an embodiment of the present disclosure, all data elements included in the data TxIn input for each transaction are TXID, VOUT, Unlocking Script Size, Unlocking Script, and Sequence data, where TXID specifies the preceding transaction corresponding to the input, VOUT specifies the sort position of the transaction output of the preceding transaction, and both jointly specify the position of the output TxOut of the preceding transaction corresponding to the input, and Unlocking Script records the unlocking script required for the transaction output. All data elements included in the data TxOut output for each transaction are Value, Locking Script Size, and Locking Script.

[0066] According to an embodiment of the present disclosure, optionally, when applied to a distributed ledger in a UTXO model, in the first cutting, the unlock script element of each transaction input data in the transaction data set forms an independent cut data set, and in the jth cutting, all data elements associated with the unlock script element in each transaction input data belong to the same cut data set, where 2≦j≦N.

[0067] According to an embodiment of the present disclosure, optionally, when applied to a distributed ledger in a UTXO model, in the first chopping, the lock script element of each transaction output data in the transaction dataset forms an independent chopped dataset, and in the jth chopping, all data elements related to the lock script element in each transaction output data belong to the same chopped dataset, where 2≦j≦N.

[0068] According to an embodiment of the present disclosure, in a distributed ledger applied to the UTXO model, among all data in each input and output of a transaction, only the unlocking script size and locking script size data use a variable-length data format, and their byte length is not fixed. Optionally, the unlocking script data following each unlocking script size or the locking script data following each locking script size data are put into the same shardable data set, and the output data set after this sharding and the data related to the transaction input and output content all have a fixed byte length, making it easy to quickly segment and analyze the transaction data.

[0069] According to an embodiment of the present disclosure, for example, the unlock script size data is a length metric for the unlock script data, and the unlock script size data can be derived from the unlock script data, so that the lock script size data may not be entered into the transaction data set and may not participate in the calculation of a subsequent transaction identification number; similarly, the lock script size data may not be entered into the transaction data set and may not participate in the calculation of a subsequent transaction identification number.

[0070] According to an embodiment of the present disclosure, in a distributed ledger based on the UTXO model, the unlocking script data in each transaction input is used to prove the validity of the transaction to the ledger maintenance node, which may include data from previous transactions or other data that can lead to a large transaction volume. After the transaction is successfully verified and written to the distributed ledger database, the ledger maintenance node essentially no longer needs this data. After independently hashing the unlocking script data in each transaction input, subsequent transaction script or node interactions can shred the data content as needed, retaining only the hash value to verify the authenticity of other data in the transaction. Similarly, the locking script in each transaction output represents the cost condition of the transaction output. The cost condition has the same content in different outputs of different transactions and is used to represent the same counterparty or authentication script code. The script may be large in volume and may be used multiple times in some scenarios. Each output lock script is hashed independently, and without providing the complete content of the script, the hash value alone can be used to prove that the script is a transaction output at a specific position in a transaction, thereby reducing the size of the transaction script or the interaction data between nodes. Meanwhile, multiple transactions can share this portion of the transaction data using the same hash pointer, achieving the goal of saving storage space.

[0071] According to an embodiment of the present disclosure, optionally, when it is determined that a transaction dataset is the jth cut, an independent cut dataset is formed between any element of each transaction input data in the transaction dataset, and an independent cut dataset is formed between any element of each transaction output data in the transaction dataset, where 2≦j≦N−1.

[0072] According to an embodiment of the present disclosure, optionally, in the second and any subsequent cuts, only two cuttable datasets are set up, one for containing data elements related to input content for any transaction, and one for containing data elements related to output content for any transaction. Redundant data can be reduced after the first cut, and the division of the two cuttable datasets in the second and any subsequent cuts makes input-related data and output-related data independent of each other, avoiding excessive division of the cuttable datasets and further facilitating data traceability.

[0073] According to embodiments of the present disclosure, optionally, a transaction dataset X 0 When cutting multiple times for a transaction, the transaction version number Version, transaction time lock data LockTime, the number of transaction inputs InputCount, the TXID, VOUT and Sequence in the data TxIn input for each transaction, the number of transaction outputs OutputCount, and the Value in the data TxOut output for each transaction are all stored in the data set S 0 Belongs to.

[0074] According to an embodiment of the present disclosure, optionally, a transaction data set X 0 When performing the first cut on the transaction dataset, a broad hash calculation is performed on the Unlocking Script Size and Unlocking Script in the transaction input data TxIn, and the Locking Script Size and Locking Script in the transaction output data TxOut, to reduce redundant data. When specifically implemented, in the cut process, the retained dataset that finally contains either the transaction version number Version or the transaction time lock data LockTime is called S g and G=S 0 -Version-LockTime is the time when the last data in dataset G is retained.g and g>g′, i.e., S g ⊆S g′ In this way, it is guaranteed that there is a data node in the blockchain with the transaction version number (Version) and transaction time lock data (Lock Time) closest to the root node, making it easy to identify the data of these two parts of the transaction.

[0075] Below, we will specifically explain the N-times cut data cochain method applied to the above blockchain with reference to three embodiments of a distributed ledger based on the UTXO model. In the following embodiments, the Bitcoin Satoshi Vision (BSV) blockchain is used as an example. As those skilled in the art will understand, this does not limit the scope of protection of the present invention, and the implemented target blockchain may also be a UTXO model blockchain with other similar transaction data elements, including the Bitcoin (BTC) blockchain, Dogecoin (DOGE) blockchain, Litecoin (LTC) blockchain, and Bitcoin Cash (BCH) blockchain.

[0076] For convenience of explanation, the following three examples all use a two-input, two-output transaction, but the transaction may have any number of inputs and any number of outputs, and the embodiments for the previous two transaction inputs or transaction outputs can be similarly applied to other transaction inputs or outputs.

[0077] Table 1 shows the transaction data set X in the following Examples 1 to 3. 0 The configuration is as shown in Table 1. [Table 1]

[0078] Example 1 In this example, the transaction data set X in Table 1 0 In the cutting process, the division of the retained data set S and the cut data set W is shown in Table 2 and FIG.

[0079] In this embodiment, during the first cutting, the Unlocking Script element and the Unlocking Script Size element of each input (TxIn) of the transaction constitute one cutting data set, and the Locking Script element and the Locking Script Size element of each output (TxOut) of the transaction constitute one cutting data set.

[0080] FIG. 3 shows a schematic diagram of a division of a transaction dataset according to a first embodiment of the present disclosure.

[0081] Table 2 shows the transaction dataset X 0 When performing one cut on the transaction dataset X 0 This is a table that divides the data into retained data sets and cut data sets, as shown in Table 2. [Table 2]

[0082] As shown in Table 2, and referring to the diagram 300 of FIG. 3, the shredding process for the transaction data set in this embodiment can be expressed as follows:

number

[0083] In this embodiment, when a node or a contract needs to verify the authenticity of the TxOut1: Locking Script data of the transaction provided by another node or user, the transaction identification number TXID of the transaction and the set {x1, x2, x3, x4, x5, x6, HASH(binW1 0 ),x9,x 10 ,x 11 ,HASH(binW2 0 ),x 14 ,x 15 ,x 18 ,HASH(binW4 0 )}, it is possible to verify whether the data provided by hash calculation is the corresponding data in the transaction. In order to achieve the purpose of data reduction, in this process, all input unlocking script and unlocking script size original data and second output locking script and locking script size original data may be truncated.

[0084] In this embodiment, when one node needs to multiplex TxOut1:Locking Script data, the hash pointer HASH(binW3 0 ) can be used to store this data, and if other transactions also have the same Locking Script data, they can share the data pointed to by this hash pointer.

[0085] In this embodiment, in order to sufficiently reduce the data size, verification of other data can be performed by providing the necessary verification data using the above method, and the specific details will not be explained here.

[0086] Example 2 In this example, based on Table 1, the transaction data set X 0 The second cutting is performed on the data set S, and in the cutting process, the division of the retained data set S and the cut data set W is shown in Table 3 below and FIG.

[0087] In this embodiment, during the first cutting, the Unlocking Script element and the Unlocking Script Size element of each input (TxIn) of the transaction constitute one cutting data set, and the Locking Script element and the Locking Script Size element of each output (TxOut) of the transaction constitute one cutting data set.

[0088] In this embodiment, during the second cutting, all data elements related to the input content of any transaction belong to one cutting data set, and all data elements related to the output content of any transaction belong to another cutting data set, for example:

number

[0089] Specifically, in this embodiment, during the second cutting, two cutting data sets are set, and one W1 1 is used to contain data elements related to the content entered into any transaction, and one W2 1 is used to contain data elements related to the content output in any transaction.

[0090] Specifically, in each of the second and subsequent cuts, two cut datasets are set up, one for storing data elements related to the input content of each transaction, and the other for storing data elements related to the output content of each transaction. In this way, the first-level cut can reduce redundant data, and the division of the two cuttable datasets at the second and subsequent levels makes the input-related data and output-related data independent of each other, avoiding the situation where the cuttable datasets are excessively divided, and further facilitating data traceability.

[0091] FIG. 4 shows a schematic diagram of a division of a transaction dataset according to a second embodiment of the present disclosure.

[0092] Table 3 shows the transaction dataset X 0 When the second cut is made for the transaction dataset X 0 This is a table that divides the data into retained data sets and cut data sets, as shown in Table 3. [Table 3]

[0093] As shown in Table 3, and referring to the diagram 400 of FIG. 4, the shredding process for the transaction data set in this embodiment can be expressed as follows:

number

[0094] In this embodiment, when a node or a contract needs to verify the authenticity of the TxIn1:TXID and TxIn1:VOUT data of the transaction provided by another node or a user, the transaction identification number TXID of the transaction and the set {x1, x2, x3, x4, HASH(binW1 0 ),x9,x 10 ,x 11 ,HASH(binW2 0 ),x 14 ,HASH(binW2 1 By simply linking the data in the}, it is possible to verify whether the data provided by the hash calculation is the corresponding data in the transaction. In order to achieve the purpose of data reduction, in this process, all input Unlocking Script and Unlocking Script Size original data and all output data may be truncated.

[0095] In this embodiment, when a node or a contract needs to verify the authenticity of the TxOut1: Locking Script data of the transaction provided by another node or a user, the transaction identification number TXID of the transaction and the set {x1, x2, x3, x4, HASH(binW1 1 ),x 15 ,x 18 ,HASH(binW4 0 By simply linking the data in the previous section, it is possible to verify whether the data provided by the hash calculation is the corresponding data in the transaction. In order to achieve the purpose of data reduction, all input original data and the second output original data of Locking Script and Locking Script Size may be truncated in this process.

[0096] In this embodiment, when one node needs to multiplex TxOut1:Locking Script data, the hash pointer HASH(binW3 0) can be used to store this data, and if other transactions also have the same Locking Script data, they can share the data pointed to by this hash pointer.

[0097] In this embodiment, one node or contract generates a hash value HASH(binW2 1 ), since the data segments representing each output in the data have equal byte lengths, the data is divided into two equal byte-length data parts, one before the other, and the other after the other. Then, the data of the previous part is divided into {TxOut1:Value,HASH(binW3 0 )} as the code value, and the data in the latter part is {TxOut2:Value,HASH(binW4 0 )} and can be decoded to obtain the corresponding data.

[0098] In this embodiment, in order to sufficiently reduce the data size, verification of other data can be performed by providing the necessary verification data using the above method, and the specific details will not be explained here.

[0099] Example 3 In this example, based on Table 1, the transaction data set X 0 A second cut is made on the

[0100] In this embodiment, the metering elements in the transaction data include an element indicating the byte length of an element in the transaction data and a count element indicating the number of elements of a certain type in the transaction data, and are not cut together with the target element of the metering. In a specific implementation, the Unlocking Script Size element in each transaction input data does not belong to the same cut data set as the Unlocking Script element, the Locking Script Size element in each transaction output data does not belong to the same cut data set as the Locking Script element, the InputCount element does not belong to the same cut data set as the TXID in all transaction input data, and the OutputCount element does not belong to the same cut data set as the Value element in all output transaction data.

[0101] Specifically, in this embodiment, when cutting at the first level, the Unlocking Script element for each input (TxIn) of the transaction forms an independent cuttable data set, and the Locking Script element for each output (TxOut) of the transaction forms an independent cuttable data set.

[0102] In the cutting process in this Example 3, the division of the retained data set S and the cut data set W is shown in Table 4 below and FIG.

[0103] FIG. 5 shows a schematic diagram of a division of a transaction dataset according to a third embodiment of the present disclosure.

[0104] Table 3 shows the transaction dataset X 0 When the second cut is made for the transaction dataset X 0 This is a table that divides the data into retained data sets and cut data sets, as shown in Table 4. [Table 4]

[0105] As shown in Table 4, and referring to the diagram 500 of FIG. 5, the shredding process for the transaction data set in this embodiment can be expressed as follows:

number

[0106] In this embodiment, when a node or a contract needs to verify the authenticity of the TxIn1:TXID and TxIn1:VOUT data of the transaction provided by another node or a user, the transaction identification number TXID of the transaction and the set {x1, x2, x3, x4, x7, HASH(binW1 0 ),x9,x 10 ,x 11 ,x 12 ,HASH(binW2 0 ),x 14 ,HASH(binW2 1 By simply linking the data in the}, it is possible to verify whether the data provided by the hash calculation is the corresponding data in the transaction. In order to achieve the purpose of data reduction, in this process, all input original data of the Unlocking Script and all output data may be shredded.

[0107] In this embodiment, when a node or a contract needs to verify the authenticity of the TxOut1: Locking Script data of the transaction provided by another node or a user, the transaction identification number TXID of the transaction and the set {x1, x2, x3, x4, HASH(binW1 1 ),x 15 ,x 16 ,x 18 ,x 19 ,HASH(binW4 0By simply linking the data in the previous section, it is possible to verify whether the data provided by the hash calculation is the corresponding data in the transaction. In order to achieve the purpose of data reduction, all input original data and the second output original data of Locking Script and Locking Script Size may be truncated in this process.

[0108] In this embodiment, when one node needs to multiplex TxOut1:Locking Script data, it uses the hash pointer HASH(binW 0 3) can be used to store the data, and if other transactions also have the same Locking Script data, they can share the data pointed to by this hash pointer.

[0109] In this embodiment, in order to sufficiently reduce the data size, verification of other data can be performed by providing the necessary verification data using the above method, and the specific details will not be explained here.

[0110] It should be further explained that the embodiments of the present disclosure are only used in the above exemplary manner to further illustrate the solution of the present disclosure, and are not intended to limit the scope of the present disclosure.

[0111] Based on the above-mentioned method for hierarchically shredding data in a blockchain transaction, the present disclosure further provides an apparatus for hierarchically shredding data in a blockchain transaction.

[0112] FIG. 6 schematically illustrates a structural block diagram of an apparatus for hierarchically shredding data in a blockchain transaction according to an embodiment of the present disclosure.

[0113] As shown in FIG. 6, the device 600 includes: an acquisition module 610 used to acquire a transaction dataset; a truncation module 620 used to perform N truncations on the transaction dataset based on a data truncation model to obtain a target dataset, where N is a positive integer greater than or equal to 1; and a processing module 630 used to process the target data set to obtain a target value, the target value being configured to point to a transaction identification number used in cochaining to the target data set.

[0114] According to an embodiment of the present disclosure, the cutting module 620 includes: a construction sub-module 620-1 used to construct a holding data set and M cutting data sets using the transaction data set, where M is a positive integer greater than or equal to 1; a serialization encoding submodule 620-2 used to perform a first serialization encoding on the cut data set to obtain a first serialization encoded value corresponding to the cut data set; a calculation sub-module 620-3 used to perform a hash calculation on the first serialized encoded value to obtain a first hash value corresponding to the first serialized encoded value; an acquisition sub-module 620-4, which is used to construct a first hash value set from M first hash values ​​corresponding to the first serialized encoded values, and merge the set with the holding data set to obtain an intermediate transaction data set; and a circulating sub-module 620-5 that is used to circulate the operations corresponding to the above sub-modules using the intermediate transaction dataset until the intermediate transaction dataset satisfies a predetermined condition to obtain a target dataset.

[0115] According to an embodiment of the present disclosure, any of the modules in the acquisition module 610, the cutting module 620, and the processing module 630 may be combined into one module, or any one of the modules may be divided into multiple modules. Alternatively, at least some of the functions of one or more of these modules may be combined with at least some of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the acquisition module 610, the cutting module 620, and the processing module 630 may be at least partially implemented as a hardware circuit, for example, a field programmable gate array (FPGA), a programmable logic array (PLA), a system-on-chip, a system on a board, a system on a package, an application-specific integrated circuit (ASIC), or any other reasonable way of integrating or packaging circuits, or may be implemented by any one of the three implementation ways, i.e., software, hardware, and firmware, or any suitable combination thereof. Alternatively, at least one of the acquisition module 610, the cutting module 620 and the processing module 630 may be at least partially implemented as a computer program module, which can perform the corresponding function when executed.

[0116] FIG. 7 illustrates a block diagram of an electronic device suitable for implementing a method for hierarchical shredding of data within a blockchain transaction according to an embodiment of the present disclosure.

[0117] As shown in FIG. 7 , an electronic device 700 according to an embodiment of the present disclosure includes a processor 701, which can perform various appropriate operations and processes according to a program stored in a read-only memory (ROM) 702 or loaded from a storage unit 708 into a random access memory (RAM) 703. The processor 701 may include, for example, a general-purpose microprocessor (e.g., a CPU), a command set processor and / or associated chipsets and / or a special-purpose microprocessor (e.g., an application specific integrated circuit (ASIC)). The processor 701 may further include on-board memory for cache. The processor 701 may include a single processing unit or multiple processing units for performing different operations along a method flow according to an embodiment of the present disclosure.

[0118] The RAM 703 also stores various programs and data necessary for the operation of the electronic device 700. The processor 701, the ROM 702, and the RAM 703 are connected to one another via a bus 704. The processor 701 executes the programs in the ROM 702 and / or the RAM 703 to perform various operations of the method flow according to the embodiment of the present disclosure. Note that the programs may be stored in one or more memories other than the ROM 702 and the RAM 703. The processor 701 may execute the programs stored in one or more memories to perform various operations of the method flow according to the embodiment of the present disclosure.

[0119] According to an embodiment of the present disclosure, 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 further include one or more of the following: an input unit 706 including a keyboard, a mouse, etc.; an output unit 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker, etc.; a storage unit 708 including a hard disk, etc.; and a communication unit 709 including a network interface card such as a LAN card or a modem, all connected to the I / O interface 705. The communication unit 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, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 710 as needed, and a computer program read from the removable medium 711 is thereby installed in the storage unit 708 as needed.

[0120] The present disclosure further provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be integrated into the device / apparatus / system, and which carries one or more programs that, when executed by the electronic device, realize the method according to the embodiments of the present disclosure.

[0121] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as, but not limited to, a portable computer magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash), a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any combination thereof. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program may be used in or in combination with a command execution system, apparatus, or device. For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the above-mentioned ROM 702 and / or RAM 703, and / or one or more memories other than ROM 702 and RAM 703.

[0122]

[0013] Embodiments of the present disclosure further include a computer program product including a computer program, the computer program including program code used to perform the method illustrated in the flowchart, which, when executed on a computer system, causes the computer system to perform a method for hierarchically shredding data in blockchain transactions provided by embodiments of the present disclosure.

[0123] The computer program, when executed by the processor 701, performs the above-mentioned functions limited to the system / apparatus of the embodiment of the present disclosure. According to the embodiment of the present disclosure, the above-mentioned system, apparatus, module, unit, etc. may be realized by a computer program module.

[0124] In one embodiment, the computer program may rely on a tangible storage medium, such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may be transmitted and distributed over a network medium in the form of a signal, and may be downloaded and installed via the communication unit 709 and / or installed from a removable medium 711. The program code included in the computer program may be transmitted over any suitable medium, including, but not limited to, wirelessly, wired, etc., or any suitable combination of the above.

[0125] In such an embodiment, the computer program may be downloaded and installed from a network via the communication unit 709 and / or installed from a removable medium 711. When the computer program is executed by the processor 701, it performs the functions described above that are specific to the system of the embodiment of the present disclosure. According to the embodiment of the present disclosure, the system, device, apparatus, module, unit, etc. may be realized by a computer program module.

[0126] According to embodiments of the present disclosure, program code for executing a computer program provided by embodiments of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine language. Programming languages ​​include, but are not limited to, programming languages ​​such as Java, Rust, C++, Python, and the "C" language. The program code may be executed entirely on the user computing device, partially on the user device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type 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., connected via the Internet using an Internet Service Provider).

[0127] The flowcharts and block diagrams in the accompanying drawings illustrate possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, program segment, or portion of code, which includes one or more executable commands for implementing a given logical function. It should be noted that in some alternative implementations, the functions described in the blocks may occur in a different order than that described in the drawings. For example, two blocks shown in succession may actually be executed essentially in parallel, or may be executed in the reverse order, depending on the functionality involved. It should be noted that each block in the block diagrams or flowcharts, and combinations of blocks in the block diagrams or flowcharts, may be implemented in a dedicated hardware-based system that performs a given function or operation, or in a combination of dedicated hardware and computer commands.

[0128] Those skilled in the art will understand that the features described in the various embodiments and / or claims of the present disclosure may be implemented in various combinations or combinations, even if not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be implemented in various combinations and / or combinations without departing from the spirit and teachings of the present disclosure. All such combinations and / or combinations are within the scope of the present disclosure.

[0129] The above describes embodiments of the present disclosure. However, it should be understood that these embodiments are for illustrative purposes only and do not limit the scope of the present disclosure. Although each embodiment has been described individually, this does not mean that the measures in each embodiment cannot be combined effectively. The scope of the present disclosure is limited only by the appended claims and their equivalents. Those skilled in the art may make various substitutions and modifications without departing from the scope of the present disclosure, and all of these substitutions and modifications should fall within the scope of the present disclosure.

Claims

1. A method for hierarchically shredding data in a blockchain transaction, comprising: Original dataset X, which is a combination of multiple data 0 = {x 1 , x 2 , x 3 ……x n }, and n is the original dataset X 0 represents the number of data elements in Original dataset X 0 is the retained data set S 0 and cut the data set into [Equation 1] In Equation 1, v0≧1, When applied to a distributed ledger in a UTXO model, in a first shredding, an unlocking script element (Unlocking Script) of each transaction input data (TxIn) in a transaction data set forms an independent shredding data set, and a locking script element (Locking Script) of each transaction output data (TxOut) in the transaction data set forms an independent shredding data set; Based on the data cutting model F, the original data set X 0 Perform z-layer cutting on the target dataset X z where z≧1 and Original dataset X 0 The judging process for this is as follows: [Equation 2] In the formula 2, X i+1 is the original dataset X 0 indicates the data after the i+1th layer of the data cutting model F is cut, and X i is the input data set of the data cutting model F at the time of cutting the i+1th layer, and Y i is the output data set of the data cutting model F at the time of cutting the i+1th layer, and S i and [Equation 3] is X i is a subset of S i represents the retained data set at the time of cutting the i+1th layer, [Equation 4] year, b i represents the number of elements in the retained data set at the time of cutting the i+1th layer, [Equation 5] represents a cuttable dataset when cutting the i+1th layer, vi represents the number of data subsets that need to be cut when cutting the i+1th layer, The h-th cuttable data set when cutting the i+1-th layer is [Equation 6] It is written, Ci,h is [Equation 7] Step 2 is the number of elements in Target Data Set X z Serialization encoding is performed on the z and the serialized encoded value binX z A broad hash calculation is performed on the target hash value HASH(binX z ) and use the target hash value as a transaction identification number TXID used in co-chaining; The data cutting model F is Y = S ∪ {HASH(binW 1 ), HASH(binW 2 ),…,HASH(binW M )}, where S and W 1 , W 2 , ..., W M is a subset of the input dataset X, S is the retained dataset, and W 1 , W 2 , ..., W M is expressed as the cut data set, M is the number of cut data sets, and binW M is the cutting data set W M is the serialized encoded value of M ) is binW M , Y is the data set obtained by cutting the input data set X using the data cutting model, and X={x 1 , x 2 , x 3 , ..., x a }, and S={s 1 , s 2 , s 3 , ..., s b } and W h = {W h , 1, W h , 2, W h , 3, ..., W h , ch}, and W h is the cutting data set W 1 , W 2 , ..., W M a is the number of data elements in the input data set X, and x 1 , x 2 , x 3 , ..., xa are data elements in the input data set X, b is the number of data elements in the retained data set S, and s 1 , s 2 , s 3 , ... , s b is a data element in the retained data set S, h is the sequence number of the cut data set, 1≦h≦M, and c h is the cutting data set W h and ch≧1; [Equation 8] year, W h , 1, W h , 2, W h , 3, ..., W h , ch is the cutting data set W h is a data element of binW h is the data subset W h represents the serialized encoded value of h ) is binW h represents the hash value of Y represents data after the input dataset X is cut by the data cutting model F, HASH(p) represents a hash value obtained after performing one or more nested hash calculations on the data p, The hash value obtained by performing a hash calculation once on data p is represented as hash(p), HASH is the hash value obtained by performing r nested hash calculations on data p. r (p) and HASH r (p)=hash(HASH r-1 (p)), r≧1, HASH0(p)=p, hash (HASH r-1 hash in (p)) is a hash function used in the rth hash calculation, HASH r (p) consists of r arbitrary hash function nests, hash(p) is written as a hash calculation in the narrow sense, and HASH(p) is written as a hash calculation in the broad sense. It is a method of hierarchically cutting data in a blockchain transaction.

2. The method of claim 1 , wherein the retained data set at the first cutting is a non-empty data set.

3. 2. The method of claim 1, wherein in the jth shredding, all data elements associated with the unlock script element in each of the transaction input data belong to the same shredding data set, where 2≦j≦N.

4. 4. The method of claim 3, wherein in the jth cut, all data elements associated with a lock script element in each transaction output data belong to the same cut data set, where 2≦j≦N.

5. A device for hierarchically cutting data in a blockchain transaction, an acquisition module used to acquire a transaction dataset; a truncation module used to perform N truncations on the transaction dataset based on a data truncation model to obtain a target dataset, where N is a positive integer greater than or equal to 1; a processing module used to process the target data set to obtain a target value, the target value being configured to indicate a transaction identification number used in cochaining to the target data set; wherein the cutting module includes a construction submodule that is used to construct a holding data set and M cut data sets using the transaction data set, where M is a positive integer greater than or equal to 1; a serialization encoding submodule used to perform a first serialization encoding on the cut data set to obtain a first serialization encoded value corresponding to the cut data set; a calculation sub-module used to perform a hash calculation on the first serialized encoded value to obtain a first hash value corresponding to the first serialized encoded value; an acquisition sub-module configured to construct a first set of M first hash values ​​corresponding to the first serialized encoded values, and to merge the first set of hash values ​​with the holding data set to obtain an intermediate transaction data set; a cyclic sub-module that is used to cycle through operations corresponding to the sub-modules using the intermediate transaction dataset until the intermediate transaction dataset satisfies a predetermined condition, thereby obtaining the target dataset.

6. one or more processors; a storage device used to store one or more programs; Here, the one or more programs, when executed by the one or more processors, cause the one or more processors to execute the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having executable instructions stored thereon, A computer readable storage medium, the instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 4.

Citation Information

Patent Citations

  • Verification of data fields of blockchain transactions

    WO2020240296A1