CN110689349B - Transaction hash value storage and searching method and device in blockchain - Google Patents

Transaction hash value storage and searching method and device in blockchain Download PDF

Info

Publication number
CN110689349B
CN110689349B CN201910949539.4A CN201910949539A CN110689349B CN 110689349 B CN110689349 B CN 110689349B CN 201910949539 A CN201910949539 A CN 201910949539A CN 110689349 B CN110689349 B CN 110689349B
Authority
CN
China
Prior art keywords
nth
transaction
index
character string
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910949539.4A
Other languages
Chinese (zh)
Other versions
CN110689349A (en
Inventor
张中俊
严强
李辉忠
张开翔
范瑞彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910949539.4A priority Critical patent/CN110689349B/en
Publication of CN110689349A publication Critical patent/CN110689349A/en
Priority to PCT/CN2020/116236 priority patent/WO2021068726A1/en
Application granted granted Critical
Publication of CN110689349B publication Critical patent/CN110689349B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Abstract

The invention discloses a method and a device for storing and searching transaction hash values in a blockchain, wherein the method comprises the following steps: the client acquires a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the client acquires an N-1 state character string corresponding to the index parameter; the client takes the N-1 state character string and the transaction hash value of the nth transaction as the nth data to be encrypted; the client determines an nth key and nth index position information according to the nth state character string and the search token of the index parameter; and the client encrypts the data to be encrypted into an nth ciphertext by using the nth key, and establishes a unique mapping relation between the nth index position information and the nth ciphertext. When the method is applied to financial science and technology (Fintech), the storage of the transaction hash value in the method is safer, and the searchability is reserved during storage.

Description

Transaction hash value storage and searching method and device in blockchain
Technical Field
The invention relates to the field of financial science and technology (Fintech) and the field of Blockchain (Blockchain), in particular to a method and a device for storing and searching transaction hash values in a Blockchain.
Background
With the development of computer technology, more and more technologies (big data, distributed, blockchain, artificial intelligence, etc.) are applied in the financial field, and the traditional financial industry is gradually changing to financial technology (Fintech). Currently, in the field of blockchain of financial technologies, searching for transactions is often involved. Each transaction, after execution, generates a transaction hash value that uniquely identifies the transaction. Currently, a general way to search a user's transaction log is to search according to the user's transaction hash value, so the storage security of the user's transaction hash value is of great importance.
In the prior art, the transaction hash value is stored in two ways, wherein the first is the transaction hash value of a plaintext storage user, and obviously, the transaction hash value is easy to leak in the way; the second is to encrypt the transaction hash value of the user and store the transaction hash value as a ciphertext, but in this case, the transaction hash value cannot be searched on the ciphertext according to the index parameter. Therefore, the prior art cannot meet the storage security of the transaction hash value, and can search the corresponding transaction hash value according to the index parameter, which is a problem to be solved urgently.
Disclosure of Invention
The embodiment of the application provides a transaction hash value storage and searching method and device in a blockchain, which solve the problems that the storage safety of the transaction hash value cannot be met and the corresponding transaction hash value can be searched according to index parameters in the prior art.
In a first aspect, embodiments of the present application provide a method for storing a transaction hash value in a blockchain: the client acquires a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; n is a positive integer; the client acquires an N-1 state character string corresponding to the index parameter; the N-1 th status string is generated for the N-1 th transaction; the client takes the N-1 state character string and the transaction hash value of the nth transaction as the nth data to be encrypted; the client generates an N state character string, and determines an N key and N index position information according to the N state character string and a search token of the index parameter; and the client encrypts the data to be encrypted into an nth ciphertext by using the nth key, and establishes a unique mapping relation between the nth index position information and the nth ciphertext.
In the method, after a client acquires a transaction hash value of an nth transaction initiated by a user on the client and an nth-1 state character string corresponding to an index parameter of the nth transaction, determining an nth key and nth index position information according to the nth state character string and a search token of the index parameter; the data to be encrypted is encrypted into an N ciphertext by using the N key, and the N-1 state character string is generated for the N-1 transaction, namely, the N ciphertext needs participation of the N-1 state character string for each N, so that the confidentiality of the plaintext generated in a round-the-loop mode is higher; in addition, because the unique mapping relation between the N index position information and the N ciphertext is established, the N ciphertext can be searched through the N index position information, the storage of the transaction hash value in the method is safer, and the searchability is reserved during storage.
In an alternative embodiment, the client uses the nth-1 state string and the transaction hash value of the nth transaction as nth data to be encrypted, including: the client-side uses the N-1 state character string and the character string after the transaction hash value of the N transaction is spliced as the N data to be encrypted; the client encrypts the nth data to be encrypted into an nth ciphertext by using the nth key, including: and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext.
In the method, the client uses the N-1 state character string and the character string spliced by the transaction hash value of the N transaction as the N data to be encrypted, and the N ciphertext is obtained through the preset bit operation, so that the N data to be encrypted is encrypted by a simple and efficient method.
In an alternative embodiment, the determining, by the client, an nth key and nth index location information according to the nth state string and the search token of the index parameter includes: the client uses the N state character string and the search token of the index parameter as the N key according to the mapping result of a first preset hash algorithm; the client uses the N state character string and the search token of the index parameter as the N index position information according to the mapping result of a second preset hash algorithm; the first hash algorithm and the second hash algorithm are different hash algorithms.
In the method, the client side respectively determines the N key and the N index position information through different first hash algorithms and second hash algorithms according to the N state character string and the search token of the index parameter, so that a mapping relation is established with the N state character string and the search token of the index parameter, and confidentiality is enhanced through different hash algorithms.
In a second aspect, the present application provides a transaction hash value search method in a blockchain, including: the index server acquires a search token and an Nth state character string of index parameters from the client; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; n is a positive integer; the nth status string is generated when a user initiates an nth transaction on the client; the index server obtains the N index position information of the index parameter according to the search token of the index parameter and the N state character string; the nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext obtained by encrypting the transaction hash value of the nth transaction by the client; the index server obtains the nth ciphertext uniquely mapped by the nth index position information according to the nth index position information; the index server generates an nth key according to the search token and the nth state character string; the index server decrypts the Nth ciphertext into the Nth data to be encrypted according to the Nth key; and the index server extracts the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
Under the above mode, the index server acquires the search token and the nth state character string of the index parameter from the client, acquires the nth index position information of the index parameter according to the search token and the nth state character string of the index parameter, and can search the nth ciphertext according to the nth index position information because the nth index position information is uniquely mapped with the nth ciphertext, generate the nth key through the search token and the nth state character string, decrypt the nth ciphertext into the nth data to be encrypted by using the nth key, and extract the transaction hash value in the nth transaction, thereby realizing the search of the transaction hash value in the nth transaction.
In an alternative embodiment, the index server extracts the nth-1 state string according to the nth data to be encrypted; the index server obtains the N-1 index position information of the index parameter according to the search token of the index parameter and the N-1 state character string; the index server obtains an N-1 ciphertext uniquely mapped by the N-1 index position information according to the N-1 index position information; the index server decrypts the N-1 ciphertext into the N-1 data to be encrypted according to the search token and the N-1 state character string; and the index server extracts the transaction hash value of the N-1 th transaction according to the N-1 th data to be encrypted, so that the search of the transaction hash value of the N-1 th transaction is completed.
In the above manner, the index server extracts the nth-1 state string according to the nth data to be encrypted, acquires the nth-1 index position information of the index parameter, and acquires the nth-1 ciphertext uniquely mapped by the nth-1 index position information, that is, the index server may acquire the nth-1 ciphertext based on the nth data to be encrypted after decrypting the nth data to be encrypted, and extract the transaction hash value of the nth-1 transaction, so as to complete the search of the transaction hash value of the nth-1 transaction.
In an optional implementation manner, the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation; the index server decrypts the nth ciphertext into nth data to be encrypted according to the nth key: and the index server uses the bit operation result of the N ciphertext and the N key as the N data to be encrypted according to the preset bit operation.
In the above manner, since the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation, the index server decrypts the nth ciphertext according to the preset bit operation, that is, the bit operation result of the nth ciphertext and the nth key is used as the nth data to be encrypted.
In a third aspect, the present application provides a transaction hash value storage device in a blockchain, comprising: the acquisition module is used for acquiring a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; acquiring an N-1 state character string corresponding to the index parameter; the N-1 th status string is generated for the N-1 th transaction; n is a positive integer; the encryption module is used for taking the N-1 state character string and the transaction hash value of the nth transaction as nth data to be encrypted; generating an N-th state character string, and determining an N-th key and N-th index position information according to the N-th state character string and the search token of the index parameter; and encrypting the data to be encrypted into an nth ciphertext by using the nth key, and establishing a unique mapping relation between the nth index position information and the nth ciphertext.
In an alternative embodiment, the encryption module is specifically configured to: the N-1 state character string and the character string after the transaction hash value of the N transaction are spliced are used as the N data to be encrypted; and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext.
In an alternative embodiment, the encryption module is specifically configured to: the N state character string and the search token of the index parameter are used as the N secret key according to the mapping result of a first preset hash algorithm; the N state character string and the search token of the index parameter are used as the N index position information according to the mapping result of a second preset hash algorithm; the first hash algorithm and the second hash algorithm are different hash algorithms.
The advantages of the foregoing third aspect and the embodiments of the third aspect may be referred to the advantages of the foregoing first aspect and the embodiments of the first aspect, and will not be described herein.
In a fourth aspect, the present application provides a transaction hash value storage device in a blockchain, comprising: the acquisition module is used for acquiring the search token and the Nth state character string of the index parameter from the client; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; the nth status string is generated when a user initiates an nth transaction on the client; n is a positive integer; acquiring the N index position information of the index parameter according to the search token of the index parameter and the N state character string; the nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext obtained by encrypting the transaction hash value of the nth transaction by the client; acquiring the N ciphertext uniquely mapped by the N index position information according to the N index position information; the decryption module is used for generating an nth key according to the search token and the nth state character string; decrypting the nth ciphertext into the nth data to be encrypted according to the nth key; and extracting the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
In an alternative embodiment, the obtaining module is further configured to: extracting the N-1 state character string according to the N data to be encrypted; acquiring the N-1 index position information of the index parameter according to the search token of the index parameter and the N-1 state character string; acquiring an N-1 ciphertext uniquely mapped by the N-1 index position information according to the N-1 index position information; the decryption module is further configured to: decrypting the N-1 ciphertext into the N-1 data to be encrypted according to the search token and the N-1 state character string; and extracting a transaction hash value of the N-1 th transaction according to the N-1 th data to be encrypted, so that the search of the transaction hash value of the N-1 th transaction is completed.
In an optional implementation manner, the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation; the index server decrypts the nth ciphertext into nth data to be encrypted according to the nth key: and the index server uses the bit operation result of the N ciphertext and the N key as the N data to be encrypted according to the preset bit operation.
The advantages of the foregoing fourth aspect and the embodiments of the fourth aspect may be referred to for the advantages of the foregoing second aspect and the embodiments of the second aspect, and will not be described herein.
In a fifth aspect, embodiments of the present application provide a computer device, including a program or instructions, which when executed, is configured to perform the above-described first aspect and each embodiment of the first aspect or each embodiment of the second aspect and each embodiment of the second aspect.
In a sixth aspect, embodiments of the present application provide a storage medium including a program or instructions, which when executed, are configured to perform the above-described first aspect and each embodiment of the first aspect or the method of each embodiment of the second aspect and each embodiment of the second aspect.
Drawings
FIG. 1 is a schematic block chain architecture;
FIG. 2 is a flow diagram of event invocation and log generation;
fig. 3 is a process schematic diagram of a method for storing and searching transaction hash values according to an embodiment of the present application;
fig. 4 is a schematic step flow diagram of a method for storing a transaction hash value according to an embodiment of the present application;
fig. 5 is a schematic step flow diagram of a method for searching a transaction hash value according to an embodiment of the present application;
Fig. 6 is a schematic structural diagram of a storage device for transaction hash values according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a search device for transaction hash values according to an embodiment of the present application.
Detailed Description
In order to better understand the above technical solutions, the following detailed description will be made with reference to the accompanying drawings and specific embodiments, and it should be understood that specific features in the embodiments and examples of the present application are detailed descriptions of the technical solutions of the present application, and not limit the technical solutions of the present application, and the technical features in the embodiments and examples of the present application may be combined with each other without conflict.
The terms appearing in the embodiments of the present application are explained first below.
Blockchain: as shown in fig. 1, a blockchain is a chain of blocks, each block being recorded with a Hash value of the previous block in addition to the data of the block, in such a way that the chain is formed. The block chain has two core concepts, one is a cryptography technology, the other is a decentralization concept, and the history information on the block chain cannot be tampered based on the two concepts.
Intelligent contract: an intelligent contract is a computer protocol that aims to propagate, verify, or execute contracts in an informative manner. Smart contracts allow trusted transactions to be made without third parties, which transactions are traceable and irreversible. The smart contracts are in the form of code deployed on a blockchain to perform a specific function.
And (3) log: the journal is a special data defined by the ethernet, and is associated with the smart contract as part of the transaction receipt. Transactions containing a particular log are unique, and transactions in an ethernet house are typically represented using their transaction hash values. The log is generated by the client when the transaction is performed, and they can be retrieved in the blockchain store. As long as a block is accessible, its associated log is accessible. However, in contracts, the log and event data (even those in which the log was created) cannot be accessed directly, and typically only by trading hash values. The log includes two parts, a topic (topic) and data (data), where the topic part is used for quick look-up and the data part is used to store the original log.
Events: the event is an interface provided by the Ethernet virtual machine on the basis of a log mechanism, and a log can be generated and written into a blockchain through triggering the event. In smart contract development, event mechanisms are typically used to record a user's operational records. As a transfer event transfer (address indexed from, address indexed to, uint value) is defined, when the event is triggered, the parameters from, to and value will generate a log that will be written to the blockchain. The application may listen or call for events through the remote procedure call (remote procedure call, RPC) interface of the ethernet client, as shown in fig. 2.
Parameters of the event: when defining an event, parameters of the event need to be specified. Parameters are divided into two, one modified by index and the other not. The two parameters differ in that the former will be stored in the topic field of the log and the latter will be stored in the data field of the log. The topic field of the log may be used as a search, while the data field may not be used as a search. As a transfer event transfer (address indexed from, address indexed to, uint value) is defined, when the event is triggered, the parameters from, to and value will be written into the blockchain log. The user can filter the log by from or to, such as "search from equals all records of address a (corresponding to the roll-out record of search address a)", without being able to filter using value.
Hash function: a hash function, also called a hash function, is the transformation of an arbitrary length input by a hash algorithm into a fixed length output, which is the hash value. This conversion is a compressed mapping, i.e. the hash value is typically much smaller in space than the input, different inputs may be hashed to the same output, so it is not possible to determine a unique input value from the hash value. The hash function may be formally defined as: h (0, 1) x →(0,1) n . Where x is any length and n is a fixed length.
Pseudo-random function: pseudo-random functions are one way to generate random strings. Unlike the hash function, the pseudo-random function includes a key k and a message m, k being kept secret. The output of the pseudo-random function is jointly determined by k and m. The pseudo-random function may be formally defined as F (0, 1) λ ×(0,1) x →(0,1) n . Where λ is the length of the key k, x is the length of the message m, and n is the length of the output. In this patent, pseudo-random is implemented using a hash function, i.e., concatenating the key k and the message mTogether as an input to the function, F (k, m) =h (k) ||m). In the embodiment of the present application, ||represents a connection, and k||m represents a result of connecting k with m.
Search token: a search token is a variant of a search keyword. In searching, in order to ensure confidentiality of the searched keywords, the user needs to first process the keywords. The process of generating the search token requires the participation of a user key to ensure that an attacker cannot forge. The search token does not reveal any information of the original keyword, and in the searchable encryption, a pseudo random function is generally used to generate the search token corresponding to the search keyword. If the keyword to be searched is w, the user key is k, and the search token is F (k, w).
During the operation of a financial institution (banking, insurance or securities institution) in doing business (e.g., loan, deposit, etc. of a bank), a search for transactions is often involved. Each transaction, after execution, generates a transaction hash value that uniquely identifies the transaction. Currently, a general way to search a user's transaction log is to search according to the user's transaction hash value, so the storage security of the user's transaction hash value is of great importance.
In the prior art, the transaction hash value is stored in two ways, wherein the first is the transaction hash value of a plaintext storage user, and obviously, the transaction hash value is easy to leak in the way; the second is to encrypt the transaction hash value of the user and store the transaction hash value as a ciphertext, but in this case, the transaction hash value cannot be searched on the ciphertext according to the index parameter. Therefore, the prior art cannot meet the storage security of the transaction hash value, and can search the corresponding transaction hash value according to the index parameter, and the situation also causes overlong transmission delay of the task scheduling signal. This situation does not meet the requirements of financial institutions such as banks, and cannot guarantee efficient operation of various businesses of the financial institutions.
Based on the analysis, the invention designs a scheme for supporting the storage and searching of transaction hash values in a blockchain aiming at the existing event mechanism. The scheme ensures that the transmitted data is ciphertext in the whole process of interaction between the user and the blockchain. In addition, the user can search for data in both the topic field and the data field.
The scheme uses a searchable encryption storage scheme with forward security. As shown in fig. 3, each keyword corresponds to a state chain. One node in the state chain corresponds to a file containing the key, and each node is uniquely identified by a state st. In Update phase, the client first generates a new state st c+1 Then according to the keyword w and the search token t of the keyword w w Information such as file name ind, operation type op (including both addition and deletion) generates a new node and adds the node to the state chain. In searching, only t is needed to be known w And st c+1 The last node can be obtained and the traversal is thus made to all nodes on the state chain.
In this application, the file name corresponds to the transaction hash value and the key corresponds to the parameter modified by the index in the user-defined event. A transfer event transfer (address indexed from, address indexed to, uint value) is defined as described. When searching for the log of from= "0x1234.," only the hash values of all transactions of keyword w= "0x1234 …" need to be searched, and the corresponding logs need to be retrieved from these transaction receipts. In addition, in this application, there is only one type of operation, i.e., op must be increased.
The scheme mainly comprises three main bodies:
blockchain: any blockchain with event mechanism for distributed storage of data.
The user: data is generated and written into the database in the form of trigger events, retrieving events that meet certain conditions. It should be noted that the user is required to have a certain storage capability for storing some information related to the keywords in the present invention. According to different application scenes, the storage forms of users are different: such as in Client/Server (C/S) architecture applications; data (cookies) stored on the user' S local terminal by the Browser may be used in applications of Browser/Server (B/S) architecture.
The index server: when the user's storage capacity is insufficient, the index location information may be outsourced to a trusted server. When searching, firstly searching the transaction hash value meeting the condition by the index server, and then inquiring a specific log by the user according to the transaction hash value.
System initialization is required before storing or searching of transaction hash values. The process of system initialization is described in detail below:
The user determines the long-term key k.
The long-term key is essentially a binary string. The length of the key is related to the system parameter λ, for example, when λ=1024, k is a binary string with length 1024. The long-term key requires proper custody by the user and will be used as a search token for generating a keyword correspondence.
The user initializes the local storage structure.
For example, the storage structure is a key-value (map) structure data structure, wherein a key is a key, and a value is a latest state corresponding to the key.
The following describes in detail the step flow diagram of a method for storing and searching transaction hash values according to the embodiments of the present application with reference to fig. 4 and 5.
The method for storing the transaction hash value provided by the embodiment of the application comprises the following steps:
step 401: the client obtains a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction.
The index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; n is a positive integer.
Step 402: and the client acquires the N-1 state character string corresponding to the index parameter.
The N-1 th status string is generated for the N-1 th transaction.
Step 403: and the client takes the N-1 state character string and the transaction hash value of the nth transaction as the nth data to be encrypted.
Step 404: and the client generates an N state character string and determines an N key and N index position information according to the N state character string and the search token of the index parameter.
Step 405: and the client encrypts the data to be encrypted into an nth ciphertext by using the nth key, and establishes a unique mapping relation between the nth index position information and the nth ciphertext.
In step 401, the client refers to a client host running client front-end software. In the nth transaction, the count of N is for a particular event and a particular parameter value of an index parameter for the event. For example, the nth transaction may be the nth trigger for the transfer event under the condition of "from=a" corresponding transaction. When it is desired to search the transaction log according to the index parameter, the index parameter may be assigned a specific value to search, for example, the transfer event is searched according to "form=a".
In the above steps 401 to 405, an alternative embodiment of encrypting the nth ciphertext is as follows:
the client-side uses the N-1 state character string and the character string after the transaction hash value of the N transaction is spliced as the N data to be encrypted; and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext. For example, the preset bit operation is an exclusive or bit operation.
An alternative embodiment of step 404 is as follows:
the client uses the N state character string and the search token of the index parameter as the N key according to the mapping result of a first preset hash algorithm; the client uses the N state character string and the search token of the index parameter as the N index position information according to the mapping result of a second preset hash algorithm; the first hash algorithm and the second hash algorithm are different hash algorithms.
Accordingly, the method for searching the transaction hash value provided by the embodiment of the application comprises the following steps:
step 501: the index server obtains the search token and the nth state string of the index parameter from the client.
The index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; the nth status string is generated when a user initiates an nth transaction on the client; n is a positive integer.
Step 502: and the index server acquires the N index position information of the index parameter according to the search token of the index parameter and the N state character string.
The nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext encrypted by the client for the transaction hash value of the nth transaction.
Step 503: and the index server acquires the nth ciphertext uniquely mapped by the nth index position information according to the nth index position information.
Step 504: and the index server generates an N key according to the search token and the N state character string.
And the index server decrypts the Nth ciphertext into the Nth data to be encrypted according to the Nth key.
Step 505: and the index server extracts the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
The search token, the nth status string, the nth index location information, the nth ciphertext, the nth key, and the nth data to be encrypted in 501 to 505 are described. Corresponding to steps 401 to 404.
After step 505, the transaction hash value at the N-1 th transaction may be searched continuously, which is as follows:
the index server extracts the N-1 state character string according to the N data to be encrypted; the index server obtains the N-1 index position information of the index parameter according to the search token of the index parameter and the N-1 state character string; the index server obtains an N-1 ciphertext uniquely mapped by the N-1 index position information according to the N-1 index position information; the index server decrypts the N-1 ciphertext into the N-1 data to be encrypted according to the search token and the N-1 state character string; and the index server extracts the transaction hash value of the N-1 th transaction according to the N-1 th data to be encrypted, so that the search of the transaction hash value of the N-1 th transaction is completed.
In step 504, an alternative embodiment is: the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation; step 504 may be performed as follows:
and the index server uses the bit operation result of the N ciphertext and the N key as the N data to be encrypted according to the preset bit operation.
The following further describes a method for storing and searching transaction hash values according to the embodiments of the present application by using a specific example.
When triggered by an event, the transaction hash value is stored as follows. It should be noted that the following procedure is a procedure of one index parameter for one event:
step 401 can be specifically divided into the following first and second steps:
the first step: the index-modified parameter in this event is used as the keyword w.
Specifically, the search token tw=f (k, w) thereof can be calculated using the pseudo random function F, with the long-term key and the keyword as parameters.
A transfer event is defined, for example, in a smart contract, event transfer (address indexed from, address indexed to, uint value). When a transfer event is triggered, the emit transfer ("0 x1111 … ffcccc", "0x50 … sd5adb20", 100), i.e., address "0x1111 … ffcccc" transfers 100eth to address "0x50 … sd5adb 20".
Since the parameters from and to are modified by index, it is indicated that the user wishes to be able to search for these two parameters as keywords in the future (e.g. filter out everywhereTransfer records addressed to "0x1111 … FFFFCCCC"). The first step described above is performed for each of the two index parameters: the user generates two search tokens t w =f (k, "0x1111 … ffffcccc") and t w =F(k,"0x50…sd5adb20")。
And a second step of: the user obtains a transaction hash value for the transaction.
Specifically, after the user initiates a transaction by calling a function, a transaction hash value for the transaction is returned, which may be captured using a callback function. The hash value may also be calculated manually, assuming that the transaction tx= [ nonce, gasPrice, gas, to, value, data, v, r, s ], where nonce is a random number, gasPrice is the price of the current gas, gas is the maximum gas number limit that the transaction may use, to is the recipient address (in the context of this application, may be a contract address), value is the number of ethercoins sent by the transaction, data is the data of the transaction, v, r, and s may represent elliptic curve digital signature algorithm (elliptic curve digital signature, ECDSA) signatures. In calculating the hash value of the transaction, the transaction is first recursively length prefix (recursive length prefix, RLP) encoded and then the transaction hash value is calculated on the encoded data. For example, the transaction hash value is calculated by keccak256, i.e., the hash value of the transaction is simply expressed as: hash (tx) =keyak 256 (rlp. Encode (tx)), which is a 2048-bit string.
And a third step of: the user checks if there is a record in the local store for w, step 402 is performed.
Step 402 is divided into two cases:
first kind: if there is no record about w, it is determined that the index parameter is the first occurrence, and a preset special symbol T (representing the first occurrence of the keyword) is taken as the N-1-th state string (st in FIG. 3) c )。
Second kind: if there is a record for w, it is determined that the index parameter does not occur for the first time, then the randomly generated string is taken as the N-1 state string.
The length of the status string may be set by a system parameter λ, such as λ=1024, and the status string is a binary string with a length of 1024.
Fourth step: step 403 is performed.
For example, the N-1 state string is spliced with the transaction hash value to obtain the N-th data to be encrypted, i.e., p= (ζ|hash (tx)); or st will be c Splicing the hash value of the transaction to obtain the N-th data to be encrypted, namely p= (st) c ||hash)。
Fifth step: steps 404 to 405 are performed.
For example, u=h 1 (t w ||st c+1 ) U is the nth index position information, st c+1 Is the N state character string, H 1 Is a first hash algorithm.
Calculate the nth key=h 2 (t w ||st c+1 ) The data to be encrypted is encrypted using a preset bit operation, such as an exclusive or bit operation, to obtain an nth ciphertext e (i.e
Figure BDA0002225156380000151
Fill-in with 0 when the length is insufficient). Here H 2 Is a second hash algorithm.
H 1 And H 2 Two different hash functions are necessary, e.g. H1 is the SHA256 hash function and H2 is the MD5 hash function.
Sixth step: the user sets the N state character string st corresponding to the index parameter w c+1 And (c) storing the (u, e) in a storage structure of the user, and storing the (u, e) in an index server. The index server is now stored as shown in fig. 3, which shows an index case where an index parameter takes a specific parameter value (e.g. "0x1111 … FFFFCCCC"), where each node represents a log containing the parameter value. Since the log is stored in the receipt of the transaction, each node in this application maintains a hash of the transaction value (tx) corresponding to the log.
The search process for the transaction hash value is as follows. It should be noted that the following procedure is a procedure of one index parameter for one event:
the first step: the user checks whether there is a record in the local store for w and if not, the user indicates that there is no log for the index parameter, returning directly to empty.
And a second step of: if there is a record for w, step 501 is performed.
Specifically, a certain state string, e.g. st, is fetched c . Specifically st c The most recent state string for w. Computing search token t using long-term key w =f (k, w), where F is a pseudo-random function. The client will t w And st c Submitting the index server to an index server;
and a third step of: steps 502 to 503 are executed.
For example, after receiving (tw, stc), the index server passes u=h 1 (t w ||st c-1 ) And obtaining the N index position information. The recorded ciphertext e for stc is retrieved.
Fourth step: steps 504 to 505 are executed.
Decrypting e, i.e
Figure BDA0002225156380000161
H 2 (t w ||st c ) Is the nth key; p is the nth data to be encrypted. Where p= (stc-1, hash (tx)); the hash (tx) is the hash value of the transaction where the log generated by the event satisfying the condition is located, and is stored in the result R.
Fifth step: and obtaining a log corresponding to the parameter value of the index parameter.
The index server calculates the next position u=h using stc-1 1 (t w ||st c-1 ) And (5) taking out the corresponding ciphertext. If so, continuing to circularly operate the third step, updating R, and finally returning the search result R, wherein R is the set of all the transaction hash values meeting the conditions.
After receiving R, the user takes each transaction hash value in R as input, and obtains a receipt of the transaction by using a corresponding function, such as a (web3.eth.gettransactionrecord) function, so as to obtain a specific log.
Referring to fig. 6, the present application provides a transaction hash value storage device in a blockchain, including: an obtaining module 601, configured to obtain a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; acquiring an N-1 state character string corresponding to the index parameter; the N-1 th status string is generated for the N-1 th transaction; n is a positive integer; an encryption module 602, configured to use the nth-1 status string and the transaction hash value of the nth transaction as nth data to be encrypted; generating an N-th state character string, and determining an N-th key and N-th index position information according to the N-th state character string and the search token of the index parameter; and encrypting the data to be encrypted into an nth ciphertext by using the nth key, and establishing a unique mapping relation between the nth index position information and the nth ciphertext.
In an alternative embodiment, the encryption module 602 is specifically configured to: the N-1 state character string and the character string after the transaction hash value of the N transaction are spliced are used as the N data to be encrypted; and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext.
In an alternative embodiment, the encryption module 602 is specifically configured to: the N state character string and the search token of the index parameter are used as the N secret key according to the mapping result of a first preset hash algorithm; the N state character string and the search token of the index parameter are used as the N index position information according to the mapping result of a second preset hash algorithm; the first hash algorithm and the second hash algorithm are different hash algorithms.
Referring to fig. 7, the present application provides a transaction hash value storage device in a blockchain, including: an obtaining module 701, configured to obtain a search token and an nth state string of index parameters from a client; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; the nth status string is generated when a user initiates an nth transaction on the client; n is a positive integer; acquiring the N index position information of the index parameter according to the search token of the index parameter and the N state character string; the nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext obtained by encrypting the transaction hash value of the nth transaction by the client; acquiring the N ciphertext uniquely mapped by the N index position information according to the N index position information; a decryption module 702, configured to generate an nth key according to the search token and the nth state string; decrypting the nth ciphertext into the nth data to be encrypted according to the nth key; and extracting the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
In an alternative embodiment, the obtaining module 701 is further configured to: extracting the N-1 state character string according to the N data to be encrypted; acquiring the N-1 index position information of the index parameter according to the search token of the index parameter and the N-1 state character string; acquiring an N-1 ciphertext uniquely mapped by the N-1 index position information according to the N-1 index position information; the decryption module 702 is further configured to: decrypting the N-1 ciphertext into the N-1 data to be encrypted according to the search token and the N-1 state character string; and extracting a transaction hash value of the N-1 th transaction according to the N-1 th data to be encrypted, so that the search of the transaction hash value of the N-1 th transaction is completed.
In an optional implementation manner, the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation; the index server decrypts the nth ciphertext into nth data to be encrypted according to the nth key: and the index server uses the bit operation result of the N ciphertext and the N key as the N data to be encrypted according to the preset bit operation.
The embodiment of the application provides a computer device, which comprises a program or an instruction, and when the program or the instruction is executed, the program or the instruction is used for executing a transaction hash value storage or searching method and any optional method in a blockchain.
The embodiment of the application provides a storage medium, which comprises a program or an instruction, and when the program or the instruction is executed, the program or the instruction is used for executing a transaction hash value storage or searching method and any optional method in a blockchain.
Finally, it should be noted that: it will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present application without departing from the scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims and the equivalents thereof, the present application is intended to cover such modifications and variations.

Claims (12)

1. A method of storing a transaction hash value in a blockchain, comprising:
the client acquires a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; n is a positive integer;
the client acquires an N-1 state character string corresponding to the index parameter; the N-1 th status string is generated for the N-1 th transaction;
The client takes the N-1 state character string and the transaction hash value of the nth transaction as the nth data to be encrypted;
the client generates an N state character string, and determines an N key and N index position information according to the N state character string and a search token of the index parameter;
and the client encrypts the data to be encrypted into an nth ciphertext by using the nth key, and establishes a unique mapping relation between the nth index position information and the nth ciphertext.
2. The method of claim 1, wherein,
the client takes the N-1 state character string and the transaction hash value of the N transaction as N data to be encrypted, and the method comprises the following steps:
the client-side uses the N-1 state character string and the character string after the transaction hash value of the N transaction is spliced as the N data to be encrypted;
the client encrypts the nth data to be encrypted into an nth ciphertext by using the nth key, including:
and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext.
3. The method according to claim 1 or 2, wherein the determining, by the client, an nth key and an nth index location information from the nth status string and the search token of the index parameter comprises:
The client uses the N state character string and the search token of the index parameter as the N key according to the mapping result of a first preset hash algorithm;
the client uses the N state character string and the search token of the index parameter as the N index position information according to the mapping result of a second preset hash algorithm; the first preset hash algorithm and the second preset hash algorithm are different hash algorithms.
4. A transaction hash value search method in a blockchain, comprising:
the index server acquires a search token and an Nth state character string of index parameters from the client; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; the nth status string is generated when a user initiates an nth transaction on the client; n is a positive integer;
the index server obtains the N index position information of the index parameter according to the search token of the index parameter and the N state character string; the nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext obtained by encrypting the transaction hash value of the nth transaction by the client;
The index server obtains the nth ciphertext uniquely mapped by the nth index position information according to the nth index position information;
the index server generates an nth key according to the search token and the nth state character string; the index server decrypts the Nth ciphertext into the Nth data to be encrypted according to the Nth key;
and the index server extracts the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
5. The method as recited in claim 4, further comprising:
the index server extracts the N-1 state character string according to the N data to be encrypted;
the index server obtains the N-1 index position information of the index parameter according to the search token of the index parameter and the N-1 state character string;
the index server obtains an N-1 ciphertext uniquely mapped by the N-1 index position information according to the N-1 index position information;
the index server decrypts the N-1 ciphertext into the N-1 data to be encrypted according to the search token and the N-1 state character string;
And the index server extracts the transaction hash value of the N-1 th transaction according to the N-1 th data to be encrypted, so that the search of the transaction hash value of the N-1 th transaction is completed.
6. The method according to claim 4 or 5, wherein the nth ciphertext is a bit operation result of the data to be encrypted and the nth key according to a preset bit operation; the index server decrypts the nth ciphertext into nth data to be encrypted according to the nth key, and the method comprises the following steps:
and the index server uses the bit operation result of the N ciphertext and the N key as the N data to be encrypted according to the preset bit operation.
7. A transaction hash value storage device in a blockchain, comprising:
the acquisition module is used for acquiring a transaction hash value of an nth transaction initiated by a user on the client and an index parameter of the nth transaction; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; acquiring an N-1 state character string corresponding to the index parameter; the N-1 th status string is generated for the N-1 th transaction; n is a positive integer;
The encryption module is used for taking the N-1 state character string and the transaction hash value of the nth transaction as nth data to be encrypted; generating an N-th state character string, and determining an N-th key and N-th index position information according to the N-th state character string and the search token of the index parameter; and encrypting the data to be encrypted into an nth ciphertext by using the nth key, and establishing a unique mapping relation between the nth index position information and the nth ciphertext.
8. The apparatus of claim 7, wherein the encryption module is specifically configured to:
the N-1 state character string and the character string after the transaction hash value of the N transaction are spliced are used as the N data to be encrypted; and according to a preset bit operation, taking the bit operation result of the N data to be encrypted and the N secret key as the N ciphertext.
9. The apparatus according to claim 7 or 8, wherein the encryption module is specifically configured to:
the N state character string and the search token of the index parameter are used as the N secret key according to the mapping result of a first preset hash algorithm; the N state character string and the search token of the index parameter are used as the N index position information according to the mapping result of a second preset hash algorithm; the first preset hash algorithm and the second preset hash algorithm are different hash algorithms.
10. A transaction hash value search apparatus in a blockchain, comprising:
the acquisition module is used for acquiring the search token and the Nth state character string of the index parameter from the client; the index parameter is a keyword which is determined from transaction information of transactions and used for searching transaction logs; the nth status string is generated when a user initiates an nth transaction on the client; n is a positive integer; acquiring the N index position information of the index parameter according to the search token of the index parameter and the N state character string; the nth index position information is uniquely mapped with the nth ciphertext; the nth ciphertext is a ciphertext obtained by encrypting the transaction hash value of the nth transaction by the client; acquiring the N ciphertext uniquely mapped by the N index position information according to the N index position information;
the decryption module is used for generating an nth key according to the search token and the nth state character string; decrypting the nth ciphertext into the nth data to be encrypted according to the nth key; and extracting the transaction hash value of the nth transaction according to the data to be encrypted, so that the transaction hash value of the nth transaction is searched.
11. A computer device comprising a program or instructions which, when executed, performs the method of any of claims 1 to 3 or 4 to 6.
12. A storage medium comprising a program or instructions which, when executed, perform the method of any one of claims 1 to 3 or 4 to 6.
CN201910949539.4A 2019-10-08 2019-10-08 Transaction hash value storage and searching method and device in blockchain Active CN110689349B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910949539.4A CN110689349B (en) 2019-10-08 2019-10-08 Transaction hash value storage and searching method and device in blockchain
PCT/CN2020/116236 WO2021068726A1 (en) 2019-10-08 2020-09-18 Method and device for storing and searching for transaction hash value in blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910949539.4A CN110689349B (en) 2019-10-08 2019-10-08 Transaction hash value storage and searching method and device in blockchain

Publications (2)

Publication Number Publication Date
CN110689349A CN110689349A (en) 2020-01-14
CN110689349B true CN110689349B (en) 2023-07-11

Family

ID=69111740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910949539.4A Active CN110689349B (en) 2019-10-08 2019-10-08 Transaction hash value storage and searching method and device in blockchain

Country Status (2)

Country Link
CN (1) CN110689349B (en)
WO (1) WO2021068726A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110689349B (en) * 2019-10-08 2023-07-11 深圳前海微众银行股份有限公司 Transaction hash value storage and searching method and device in blockchain
CN111526047B (en) * 2020-04-15 2022-11-08 杭州溪塔科技有限公司 Block chain-based message queue design method and device
CN114116367B (en) * 2020-08-25 2022-11-01 荣耀终端有限公司 Method for generating log and electronic equipment
CN112765271B (en) * 2020-12-31 2023-02-07 杭州趣链科技有限公司 Block chain transaction index storage method and device, computer equipment and medium
CN113468571B (en) * 2021-07-15 2023-05-12 湖北央中巨石信息技术有限公司 Source tracing method based on block chain
CN114491613B (en) * 2021-11-11 2024-04-16 北京航空航天大学 Efficient searchable proxy privacy set intersection method and device
CN114726865A (en) * 2022-03-29 2022-07-08 杭州安恒信息技术股份有限公司 Data pledge method, system, electronic device and storage medium
CN114710357B (en) * 2022-04-12 2023-07-21 河北大学 Dynamic searchable encryption method supporting block verification in editable blockchain
CN115225258B (en) * 2022-09-19 2023-01-06 中电科新型智慧城市研究院有限公司 Block chain-based cross-domain trusted data security management method and system
CN117077179B (en) * 2023-10-11 2024-01-02 中国移动紫金(江苏)创新研究院有限公司 Searchable encryption method, device, equipment and medium based on differential privacy ordering
CN117574413B (en) * 2024-01-17 2024-04-05 杭州易靓好车互联网科技有限公司 Dynamic encryption protection method for vehicle transaction client information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015055762A1 (en) * 2013-10-18 2015-04-23 Robert Bosch Gmbh System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
WO2015108052A1 (en) * 2014-01-16 2015-07-23 株式会社日立ソリューションズ Retrievable cryptograph processing system and retrievable cryptograph processing method
US9946720B1 (en) * 2015-12-04 2018-04-17 Ionu Security, Inc. Searching data files using a key map

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610995B (en) * 2015-10-23 2020-07-07 华为技术有限公司 Method, device and system for creating ciphertext index
CN109218010B (en) * 2017-07-04 2021-11-30 阿波罗智能技术(北京)有限公司 Data encryption method and device and data decryption method and device
US10565192B2 (en) * 2017-08-01 2020-02-18 International Business Machines Corporation Optimizing queries and other retrieve operations in a blockchain
US10848321B2 (en) * 2017-11-03 2020-11-24 Mastercard International Incorporated Systems and methods for authenticating a user based on biometric and device data
CN108573741A (en) * 2017-12-25 2018-09-25 北京金山云网络技术有限公司 Business datum recording method, device, equipment and storage medium
CN108389059A (en) * 2018-02-26 2018-08-10 成都大学 Digital copyrighted work protection, transaction and distributing method based on ownership and system
FR3079324B1 (en) * 2018-03-22 2020-04-10 Sagemcom Energy & Telecom Sas DATA MANAGEMENT METHODS AND SYSTEM FOR TEMPORAL DATA CONTROL
CN109936457B (en) * 2019-02-20 2022-04-26 深圳前海微众银行股份有限公司 Block chain multi-party witness method, device, equipment and computer readable storage medium
CN109815723A (en) * 2019-02-28 2019-05-28 东北大学 It is a kind of that encryption system and method can search for based on suffix tree
CN110245489B (en) * 2019-05-20 2021-04-27 创新先进技术有限公司 Receipt storage method, node and system based on plaintext log
CN110689349B (en) * 2019-10-08 2023-07-11 深圳前海微众银行股份有限公司 Transaction hash value storage and searching method and device in blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015055762A1 (en) * 2013-10-18 2015-04-23 Robert Bosch Gmbh System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
WO2015108052A1 (en) * 2014-01-16 2015-07-23 株式会社日立ソリューションズ Retrievable cryptograph processing system and retrievable cryptograph processing method
US9946720B1 (en) * 2015-12-04 2018-04-17 Ionu Security, Inc. Searching data files using a key map

Also Published As

Publication number Publication date
CN110689349A (en) 2020-01-14
WO2021068726A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
CN110689349B (en) Transaction hash value storage and searching method and device in blockchain
EP3669280B1 (en) Shared blockchain data storage
US11270308B2 (en) Shared blockchain data storage
US10880077B2 (en) Processing blockchain data based on smart contract operations executed in a trusted execution environment
US10860710B2 (en) Processing and storing blockchain data under a trusted execution environment
WO2019101230A2 (en) Constructing blockchain world state merkle patricia trie subtree
WO2019179538A2 (en) Shared blockchain data storage
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
EP3776250B1 (en) Performing map iterations in blockchain-based system
CN110881063B (en) Storage method, device, equipment and medium of private data
CA3058225A1 (en) Updating blockchain world state merkle patricia trie subtree
US11546348B2 (en) Data service system
EP3923546A1 (en) Shared blockchain data storage based on error correction code
CN111226209B (en) Performing mapping iterations in a blockchain-based system
WO2021178719A1 (en) Cryptographic data entry blockchain data structure
CN114995949A (en) Container mirror image construction method and device
CN113657882A (en) Block chain transfer method and device based on account model

Legal Events

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