CN109165224A - A kind of indexing means being directed to keyword key on block chain database - Google Patents

A kind of indexing means being directed to keyword key on block chain database Download PDF

Info

Publication number
CN109165224A
CN109165224A CN201810971875.4A CN201810971875A CN109165224A CN 109165224 A CN109165224 A CN 109165224A CN 201810971875 A CN201810971875 A CN 201810971875A CN 109165224 A CN109165224 A CN 109165224A
Authority
CN
China
Prior art keywords
transaction
key
hash
node
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810971875.4A
Other languages
Chinese (zh)
Other versions
CN109165224B (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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201810971875.4A priority Critical patent/CN109165224B/en
Publication of CN109165224A publication Critical patent/CN109165224A/en
Application granted granted Critical
Publication of CN109165224B publication Critical patent/CN109165224B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention provides a kind of indexing means that keyword key is directed on block chain database, is related to block chain data query technique field.The Raw Data Generation transaction record with keyword key that this method ordinary node first is inputted according to user;Transaction is bundled in block by memory node;By the additional write-in disk file of block data;Transaction data is inquired according to key value, exports query result;Ordinary user carries out Trusting eBusiness to result.The present invention is directly indexed according to data key words, realizes the inquiry property of data;Structure of deal in traditional block chain is expanded into the mode configuration that can be stored similar to traditional database, improves applicability;Data permission is managed according to digital signature technology, improves Information Security;Whether according to MerkleRBTree, whether self perception index is tampered, be tampered according to transaction Hash perception transaction, to guarantee that data can not tamper;The data verification function for realizing lightweight node simultaneously enables inquiry end effectively detection data credible.

Description

A kind of indexing means being directed to keyword key on block chain database
Technical field
The present invention relates to block chain data query technique fields, more particularly to one kind, and key is directed on block chain database The indexing means of word key.
Background technique
With bit coin, a series of rise of encryption currency such as ether coin, the block chain technology of bottom is also received more Carry out more extensive concern.Bit coin it is most crucial be intended to realize decentralization, i.e., no third party's trust authority join The digital cash transaction of two peer-entities is realized in the case where.However, inevitably existing much certainly in real world Right center, such as the bank to offer a loan provide the telecom operators etc. of telecommunications service.Although these central authorities can be worked as Work is peer-entities, goes to hand over telephone expenses by its transaction record to block chain with user, such as with bit coin, but this way It is unpractical, because this is unfavorable for organization management user data (credit grade etc. including user).In fact, existing Central authority is all its database for storing user related information to be managed by oneself, but there are many defects for this mode: 1) Different databases may store identical user's basic identity information, lead to data redudancy height;2) different center machine The data of each Self management of structure oneself, the data sharing being unfavorable between mechanism;3) each database is mostly by single institution center Change management, so that user must unconditionally trust the mechanism, there are problems that centralization;4) user can not individual authentication data Correctness, if data are maliciously tampered, user and mechanism can not all discover.
And block chain technology has decentralization, anti-tamper and open and clear characteristic, to solve above-mentioned these problems Provide possibility.For this reason it would be desirable to have efficient common recognition algorithm to improve the throughput of system, and there is efficient search algorithm to realize Data are retrieved on block chain.Currently, there are many researchs, such as POW, POS, PBFT on common recognition algorithm.However it is directed to The research of block chain query is relatively fewer, is mostly using simultaneous techniques by transaction data synchronization to traditional database, according to each Data item establishes index, thus realize quick search, but this way does not ensure that can not distorting for index, and so loss The characteristic that block chain can not be distorted.
Summary of the invention
The technical problem to be solved by the present invention is in view of the above shortcomings of the prior art, provide one kind in block chain database The upper indexing means for keyword key, solve the problems, such as the inquiry of block chain, realize a kind of index that can not be distorted.
In order to solve the above technical problems, the technical solution used in the present invention is:
A kind of indexing means being directed to keyword key on block chain database, comprising the following steps:
Step 1: the Raw Data Generation transaction record with keyword key that ordinary node is inputted according to user, it is specific to wrap It includes:
Step 1-1: transaction default information, the timestamp including block chain version number information and data creation moment are generated Information;
Step 1-2: specifying the forerunner PreHash of the transaction, if keyword key is that occur for the first time, forerunner PreHash is set to Null, and otherwise forerunner is the cryptographic Hash of newest transaction corresponding to keyword key;
Step 1-3: data permission information and data signature are generated;By ScriptPubk be assigned a value of it is next can be to the pass The public key that key word key data are modified signs to transaction data according to the private key of oneself using ECDSA algorithm;
Step 2: transaction is bundled in block by memory node, is specifically included:
Step 2-1: whether verifying transaction format meets specification, filters unrecognized transaction;
Step 2-2: whether verifying trading signature is effective;Its transaction index is retrieved into k-v database according to PreHash value TxIndex retrieves forerunner transaction PreTx according to TxIndex, takes its next specified public key information PreTx.ScriptPubk;Signature verification is carried out according to the verify () function of ECDSA algorithm, if verify (PreTx.ScriptPubk, Tx.ScriptSig, Tx)=True, then effectively, otherwise signature is invalid for signature, abandons the transaction;
Step 2-3: detection honeysuckle;The PreHash field of transaction is read, if it is not sky, according to PreHash value to k- Forerunner transaction index TxIndex is retrieved in v database, if the index indicates that the subsequent transaction of forerunner's transaction is not empty, table Bright transaction to be verified is that honeysuckle is traded, and determines that it is invalid;If its subsequent transaction is sky, subsequent transaction is assigned a value of to be verified The cryptographic Hash of transaction, transaction to be verified are effective;If the PreHash field of transaction is sky, that is, before the founder to trade thinks There is no transaction identical with this transaction keyword key, whether can retrieve the friendship that keyword is key in lookup system at this time Easily, transaction invalid if retrieving, the transaction is effective if not retrieving;
Step 2-4: after transaction is verified effectively, transaction is inserted into the orderly transaction array vTx of key in block body In [], MerkleRBTree index is updated;
The rule for updating MerkleRBTree is as follows: initialization present node is Merkleroot, ingress more to be inserted Keyword key and present node keyword NodeKey is inserted into the left subtree of present node if key <=NodeKey, Then the left child that present node is present node is updated, right subtree is otherwise inserted into, then updating present node is its right child Son, successively recurrence, to the last one layer of branch node;After insertion transaction, carrying out rotation to the tree makes it guarantee black balance, And it is Hash (lefthash, rigthhash, key) that recurrence updates branch node cryptographic Hash upwards;In the last layer branch node The node is inserted into according to following 4 kinds of situations:
Situation 1: if the branch node is sky, which only occurs when Merkleroot is empty, then carries out to transaction The bis- hashing operations of Sha256 obtain its cryptographic Hash Hash (Tx), then create a branch node, and define its key value and be Key, left Hash are leaf node cryptographic Hash, and right Hash is 0, shaped like (Hash (Tx), 0, key);
Situation 2: if being inserted into data key value less than node NodeKey value, which should be inserted into a node left side Side;The bis- hashing operations of Sha256 are carried out to transaction first, obtain its cryptographic Hash Hash (Tx), then create a red branch Node, keyword are ingress key to be inserted, and left Hash is Hash (Tx), and right Hash is the left Hash of original branch node, i.e., (Hash (Tx), Oldlefthash, key);Remember hash=Hash (Hash (Tx), Oldlefthash, key), then updates father's section Point is (hash, Oldrighthash, oldkey);
Situation 3: if being inserted into data key value greater than node NodeKey value, and the right Hash of the node is 0, then right Transaction carries out the bis- hashing operations of Sha256, obtains its cryptographic Hash Hash (Tx), then updating the branch node is (Oldlefthash, Hash (Tx), Oldkey);
Situation 4: if be inserted into, data key value is greater than node NodeKey value and the right Hash of the node is not 0, The bis- hashing operations of Sha256 first are carried out to transaction, obtain its cryptographic Hash Hash (Tx), then create red branch node, branch's section Point key value is the smaller being inserted into data key value and the right child key value of former branch node, and left child is to be inserted into data With key value smaller in the right child of former branch node, right child is the greater;The right Hash of its father node of final updating is newly-built point Zhi Jiedian Hash;
Step 3: the additional write-in disk file of block data specifically includes:
Step 3-1: the transaction array vTx [] that transaction initial data is saved in block head and block body is serialized, suitable Sequence is written in disk file blk000x, and returns to position nFile of the block in disk, BlockPos;
Step 3-2: generating the metadata TxIndex (nFile, BlockPos, n) of each transaction, wherein nFile specified the Several files, BlockPos specify the offset of the block hereof, and n given transaction corresponds to the subscript in subordinate ordered array, And by the storage of the metadata information of each transaction into k-v database, format is k=Hash (Tx), v=(TxIndex);
Step 3-3: MerkleRBTree index entry is stored in k-v database, wherein k=Hash (lefthash, Righthash, key), v=(lefthash, righthash, key);
Step 4: being inquired and traded according to keyword key, return to query result;Transaction is begun looking for from newest block, such as The fruit block is not found, and inquires its previous block;
In the lookup method of single block are as follows: it is entered in MerkleRBTree from the MerkleRoot of block head, from MerkleRoot starts to compare target keywords key and present node keyword Ckey, if key is less than or equal to Ckey, searches Its left child, and right child and node key are pressed into verifying path stack, otherwise searches its right child, and by left child It is pressed into verifying path stack, is successively executed until leaf node with node key;If leaf node key value key is equal to Key word of the inquiry key, then query hit;According to the transaction cryptographic Hash Hash (Tx) finally inquired in leaf node, with Hash (Tx) it is k, the corresponding index information TxIndex on disk of the transaction, last basis is inquired in k-v database TxIndex reads Transaction Information Tx in disk file;Verifying path stack and transaction prime information are finally returned into common use Family;
Step 5: ordinary user carries out Trusting eBusiness to query result;
After ordinary user receives verifying path stack and Transaction Information, the bis- hashing operations of Sha256 are carried out to transaction first and are obtained To transaction cryptographic Hash Hash (Tx), the bis- hashing operations of Sha256, obtained Hash then are done with the value popped up in verifying path stack Value continues to do Hash with the next value popped up in stack, until stack is sky;In the cryptographic Hash and this area build compared Whether Merkleroot value is equal, and data are credible if equal, otherwise insincere.
The beneficial effects of adopting the technical scheme are that one kind provided by the invention is on block chain database For the indexing means of keyword key, can be directly indexed according to data key words, rather than basis in existing block chain Cryptographic Hash is indexed, and realizes the inquiry property of data;Structure of deal in traditional block chain, which is expanded to, can store class It is similar to the mode configuration of traditional database, improves applicability;Data permission is managed according to digital signature technology, improves data Safety;Can according to MerkleRBTree self perception index whether be tampered, according to transaction Hash perception transaction whether by It distorts, so that ensure that data can not tamper;The data verification function of lightweight node is realized simultaneously, so that inquiry end It being capable of effective detection data credibility.
Detailed description of the invention
Fig. 1 is structure of deal figure provided in an embodiment of the present invention;
Fig. 2 is block structure figure provided in an embodiment of the present invention;
Fig. 3 is MerkleRBTree structure chart provided in an embodiment of the present invention;
Fig. 4 is that data provided in an embodiment of the present invention are inserted into Sample Rules figure, wherein (a) is that the empty node of situation 1 is inserted into As a result, (b) being the left side insertion of situation 2 as a result, (c) right side insertion when be the right child of situation 3 being sky is as a result, (d) be feelings Result is inserted on right side when the right child of condition 4 is not sky.
Specific embodiment
With reference to the accompanying drawings and examples, specific embodiments of the present invention will be described in further detail.Implement below Example is not intended to limit the scope of the invention for illustrating the present invention.
The block chain technical term that the present invention designs is explained as follows:
Hash pointer: the Hash pointer of a data item refers to being consolidated after the content of the data item is done hashing operation The cryptographic Hash of measured length, while being key with the cryptographic Hash, the content of the data item is value, by this k-v to being stored in k-v number According to library, then the key is the Hash pointer of the data item;
Transaction: as shown in Figure 1, being structure of deal figure, transaction is divided into transaction head (Transaction) and mode (Schema) Two parts, transaction head includes: under version number (Version), father's transaction Hash (PreHash), exchange hour (nTime), transaction One owner's public key (ScriptPubk) proves this transaction effectively signature (ScriptSig);Mode part is similar to traditional number It include keyword key and each field (field) according to the table structure in library;
Block chain: block chain is exactly that block one by one joins end to end according to Hash pointer, each block is once being formed Just immutable;As shown in Fig. 2, being block structure figure, block is divided into block head and block body two parts, and block head includes: version This number, timestamp when being formed of previous block Hash pointer (being obtained by previous block head data Hash), block, hand in block body The Merkle root that easily Hash obtains from bottom to top and random number and target Hash for proof of work;It is saved in block body The All Activity record in block;
Block chain database: having a plurality of block chain in database, each block chain is equivalent to one in traditional database Table is opened, all central authorities serve as the memory node of data, and all memory nodes generate block chain, institute according to common recognition algorithm There is node (including user) memory block build information, record can be retrieved by block head information and verify record correctness;
MerkleRBTree: Merkle tree is combined with red black tree, for the transaction data in index area block;Such as It is MerkleRBTree structure chart, each node has keyword message, and since root node, key value is less than shown in Fig. 3 Data equal to the node key are stored in left subtree, and the data greater than the node key are stored in right subtree;Leaf section The Hash pointer of point store transaction data, by its left and right child nodes, Hash obtains non-leaf nodal value two-by-two.
For in existing block chain database can only to transaction cryptographic Hash inquiry, general data structure can not be stored not Foot, the present invention provide a kind of indexing means that keyword key is directed on block chain database, and it is described that specific step is as follows.
Step 1 generates transaction record.User input data is analogous to the Schema data in traditional SQL database, this The purpose of step is to generate additional information required for block chain mechanism is run.
Step 1-1, default information is generated.
Generate block chain version number information and the timestamp information at data creation moment.
Step 1-2, predecessor information is generated.
In the present invention, for possessing the data of same keyword key, think that only newest data are effective always , and old data are considered as the forerunner of new data, so logically joining end to end life for the data of same keyword At a chain structure.When the data that keyword is key are written, the forerunner of the data object is specified, if without forerunner, Then forerunner is set to Null.
Step 1-3, data permission information and data signature are generated.
In the present invention, the data unsuppressible-suppression in database is written, data modification is identical by re-writing one The data item of keyword is realized.The authority information of data refers to that the founder of this transaction data can specify to the data The condition met required for modifying.ECDSA algorithm is introduced herein, it is specified to modify down to the data item One public key, and it is assigned to ScriptPubk.Last notebook data founder signs to the transaction using its private key, is used for Subsequent proof notebook data founder possesses the permission modified to the data.
Transaction is bundled in block by step 2.
Step 2-1, verifying transaction correctness.
The verification of correctness of transaction mainly verifies the format and data permission information of transaction.Format verification removal can not be known Other transaction guarantees system safety.The Authority Verification of transaction introduces ECDSA algorithm, and the SicripPubk in transaction is next Rights holder's public key, ScriptSig are the digital signature information that this transaction creation person generates.Authority Verification is to pass through verify The ScriptPubk whether ScriptSig that () function verifies this transaction trades with its forerunner matches, and proves if matching The founder of this transaction possesses the required private key of its forerunner transaction, can modify to the forerunner of this transaction, if not With then without relevant permission, this transaction invalid.
Step 2-2, honeysuckle is detected.
Data permission verifying guarantees only to possess corresponding private key, just can be carried out the modification to transaction forerunner, but work as and hand over Easy owner by permission be transferred to it is next it is subsequent after, still the permission of this transaction can be transferred to other successions, And it modifies to this transaction, to cause data inconsistency, this phenomenon is referred to as honeysuckle.Memory node receives transaction After record, the prehash field of transaction is read, retrieves forerunner's transaction index into k-v database according to prehash value TxIndex shows that transaction to be verified is that honeysuckle is traded, sentences if the index indicates that the subsequent transaction of forerunner's transaction is not sky It is invalid to determine it.If its subsequent transaction is sky, subsequent trade is assigned a value of the cryptographic Hash of transaction to be verified, transaction to be verified has Effect.If the prehash field of transaction is sky, that is, the founder to trade is not present and this keyword key phase of trading before thinking Same transaction, honeysuckle verifying at this time is then to look in system the transaction that keyword is key whether can be retrieved, if retrieval To then transaction invalid to be verified, the transaction is effective if not retrieving.
Step 2-3, block index is updated.
When transaction be verified effectively after, by its initial data tx storage into key orderly array vTx [], to Tx into The storage keyword is inserted by the double Sha256 hashing operations of row, the storage keyword KEY=Hash (Tx) to be traded In MerkleRBTree.MerklrRBTree is the combination of red black tree and Merkle tree, each node is one k-v pairs, Wherein k=hash (VAL), v=(hashleft, hashright, key).Data are initially inserted into from root node, compares and is inserted into Node key key and Merkleroot node key NodeKey, is inserted into its left son if key <=NodeKey Tree, is otherwise inserted into its right subtree, to the last one layer of branch node.After insertion transaction, carrying out rotation to the tree makes its guarantor Black balance is demonstrate,proved, and it is Hash (1efthash, rigthhash, key) that recurrence updates branch node cryptographic Hash upwards.Last One layer of branch node is inserted into the node according to following 4 kinds of situations:
Situation 1: if the branch node is empty (only occurring when Merkleroot is empty), it is bis- that Sha256 is carried out to transaction Hashing operation obtains its cryptographic Hash Hash (Tx), then creates a branch node, and defining its key value is key, left Hash For leaf node cryptographic Hash, right Hash is 0, shaped like (Hash (Tx), 0, key), is inserted into shown in result such as Fig. 4 (a).This also illustrates As long as one tree is not sky, branch node is not centainly sky, and the key value of the last layer branch node centainly and its Left child key value is identical.
Situation 2: if being inserted into data key value less than node NodeKey value, which should be inserted into this by us It on the left of node, but by situation 1 it is found that the left child of the node is not centainly sky, and is leaf node.Transaction is carried out first The bis- hashing operations of Sha256 obtain its cryptographic Hash Hash (Tx), then create a red branch node, keyword be to It is inserted into node key, left Hash is Hash (Tx), and right Hash is the left Hash of original branch node, i.e., (Hash (Tx), Oldlefthash, key).Remember hash=Hash (Hash (Tx), Oldlefthash, key), then update father node be (hash, Oldrighthash, Oldkey), shown in insertion result such as Fig. 4 (b).
Situation 3: if being inserted into data key value greater than node NodeKey value, and the right Hash of the node is 0, then right Transaction carries out the bis- hashing operations of Sha256, obtains its cryptographic Hash Hash (Tx), then updating the branch node is (Oldlefthash, Hash (Tx), Oldkey), shown in insertion result such as Fig. 4 (c).
Situation 4: if be inserted into, data key value is greater than node NodeKey value and the right Hash of the node is not 0.Then The bis- hashing operations of Sha256 first are carried out to transaction, obtain its cryptographic Hash Hash (Tx), then create red branch node, branch's section Point key value is the smaller being inserted into data key value and the right child key value of former branch node, and left child is to be inserted into data With key value smaller in the right child of former branch node, right child is the greater;The right Hash of its father node of final updating is newly-built point Zhi Jiedian Hash, shown in insertion result such as Fig. 4 (d).
Block data is added write-in disk file by step 3.
Data write-in is carried out as unit of block, then will be in block when in block number of transaction reaches fixed threshold Data be written on disk.It is first that the transaction array vTx [] that transaction initial data is saved in block head and block body is suitable Sequence is written in disk file blk000x.The MerkleRBTree established in block body is then stored into k-v database.Simultaneously The metadata of BlockIndex memory block is generated, for retrieving block;Generate the storage location that TxIndex saves transaction.
Step 4, data search.
Transaction is inquired according to data key words key, all blocks join end to end, the basis since newest block Key is searched.In single block, enters in MerkleRBTree from the MerkleRoot of block head, opened from MerkleRoot Beginning compares target keywords key and present node keyword Ckey, if key is less than or equal to Ckey, searches its left child, otherwise Its right child is searched, successively executes until leaf node, is O (lgN) for query time complexity in the block of N number of node. If transaction in this block, finally can inquire transaction cryptographic Hash Hash (Tx) in leaf node, with Hash (Tx) for k, The corresponding index information TxIndex on disk of the transaction can be inquired in k-v database, finally existed according to TxIndex Transaction Information Tx is read in disk file.If transaction is not in this block, according to Same Way in its forerunner's block It searches.
In the present invention data can not tamper be embodied in the following aspects: (1) process of Hash (Tx) is obtained from key In, it is retrieved downwards according to MerkleRBTree from root node, because the tree when generating is got by leaf node Hash, Leaf node centainly can be finally retrieved, if on the way inquired less than a certain branch node, illustrates to be upper branch section Point data is tampered or next node loss of data;(2) from Hash (Tx) obtain Tx during because Hash (Tx) is Tx It is got via hash operation, it is possible to detect whether transaction Tx is tampered according to Hash (Tx).
Step 5, data verification.
Lightweight node memory block build information, memory node memory block build and block body.When lightweight node is looked into When asking data, memory node returns to query result and verifying path.When lightweight node receives data, since query result Up Hash two-by-two ultimately generates verifying MerkleRoot, by compare the MerkleRoot whether with the block that locally saves Whether the MerkleRoot in head unanimously carrys out revene lookup result effective.
Block chain data index method provided by the invention is further illustrated below according to specific embodiment.Table 1 is user Storage is wanted to the data in block chain database.
Table 1 will store the data in block chain database
Key Name Sex Account
1600005 Bob Male 7000
1600004 Alice Female 6000
1600007 Tom Male 5000
1600006 Jack Male 8000
Index process of the main demonstration data of the present embodiment in MerkleRBTree, thus be omitted transaction Prehash, PubKey and ScriptSig etc. controls information.Assuming that current block is sky, four transaction in above-mentioned table 1 successively arrive, storage Transaction is successively bundled in block by node.
When node receives the 1st article of transaction, MerkleRoot is sky at this time, according to 1 institute of situation in the present embodiment step 2-3 It states, the transaction is subjected to double Sha256 hashing operations first, the cryptographic Hash traded is 747d51d1007b4fb1be01ae B633e78f66cbdeae393aaa200e73627498b2551df (to show its first 8 convenient for writing subsequent), then gives birth to At branch node, with cryptographic Hash of trading for its left Hash, right Hash is 0, and node keyword key is 1600005, is generated MerkleRBTree index entry is as shown in table 2, wherein k=Hash (v).
MerkleRBTree index entry is generated when the 1st article of transaction of table 2
When node is inserted into the 2nd article of transaction, MerkleRoot node key is 1600005 at this time, is inserted into transaction Keyword is 1600004, is less than root node keyword, should be inserted into left subtree at this time, and because MerkleRoot is left side (list item of k=747d51d1 is not present) in the last layer branch node in index entry table, at this time situation and situation 2 in step 2-3 It is consistent, then operating procedure are as follows: transaction 2 is first subjected to the bis- hashing operations of Sha256, obtaining transaction cryptographic Hash is dcaa0e32, newborn At branch node, left Hash is dcaa0e32, and right Hash is the left Hash 747d51d1 of father node, keyword 1600004;It Update father node upwards afterwards, the left Hash of father node is newly-generated branch node Hash, and father node k also accordingly changes, after update MerkleRBTree index entry is as shown in table 3.
Table 3 is inserted into MerkleRBTree index entry after the 2nd article of transaction
When node is inserted into the 3rd article of transaction, MerkleRoot keyword is 1600005, and being inserted into node key is 1600007, be greater than MerkleRoot keyword, then should be inserted into its right subtree, and because at this time MerkleRoot sheet as Right side the last layer branch node, situation is consistent with situation 3 in step 2-3 at this time, then subsequent step are as follows: carries out transaction The bis- hashing operations of Sha256, obtaining transaction cryptographic Hash is b178577f, and the update right Hash of MerkleRoot is b178577f, then The k of MerkleRoot accordingly changes, and last MerkleRBTree index entry is as shown in table 4.
Table 4 is inserted into MerkleRBTree index entry after the 3rd article of transaction
Although there is no the record of key=1600007 in concordance list after the transaction that insertion keyword is 1600007, It is 1600007 > 1600005 in inquiry, so its right Hash b178577f is searched, and b178577f is exactly key= Transaction Hash corresponding to 1600007, i.e., 1600005 right Hash have recorded the record (1600007) of key > 1600005.
When node is inserted into the 4th article of transaction, MerkleRoot keyword is 1600005, and being inserted into node key is 1600006, it is greater than MerkleRoot keyword, right subtree should be inserted into, and MerkleRoot is right side the last layer branch section Point is consistent with step 2-3 situation 4, operates later are as follows: transaction is subjected to hashing operation, obtaining transaction cryptographic Hash is 228de82e, Newly-generated branch node, the left Hash of node be 228de82e, right Hash be b178577f, node key 1600006, later Updating the right Hash of father node upwards is the branch node Hash, the k value of final updating MerkleRoot.After update MerkleRBTree index entry is as shown in table 5.
Table 5 is inserted into MerkleRBTree index entry after the 4th article of transaction
Assuming that block size reaches threshold value (actually each block there are thousands of transaction) at this time, deposit magnetic is begun preparing Disk.The MerkleRoot value in block head corresponds to d90f7e2e at this time, and the transaction array in block body is that the transaction in table 1 is former Beginning data, MerkleRBTree index entry write direct k-v database.First by the transaction array number in block head and block body According to serializing, sequentially it is appended in disk file blk0001.dat, returning to block in disk offset is nFile=1, BlockPos=8 subsequently generates the metadata TxIndex (nFile, BlockPos, n, NextHash) of each transaction, wherein Which file nFile specifies, and BlockPos specifies the offset of the block hereof, and n given transaction correspondence is having ordinal number Subscript in group, NextHash given transaction subsequent (omitting herein for detecting honeysuckle) finally believe the metadata of each transaction Into k-v database, metadata is as shown in table 6 for breath storage.
The metadata information of each transaction of table 6
Txhash nFile BlockPos n
dcaa0e32 1 8 0
eaf1e7ec 1 8 1
228de82e 1 8 2
b178577f 1 8 3
Problem for convenience of description is enumerated the cryptographic Hash of each transaction as follows:
The cryptographic Hash of each transaction of table 7
TxHash Key Name Sex Account
dcaa0e32 1600004 Alice Female 6000
eaf1e7ec 1600005 Bob Male 7000
228de82e 1600006 Jack Male 8000
b178577f 1600007 Tom Male 5000
When key word of the inquiry is 160006 transaction, first according to the MerkleRoot value d90f7e2e of block head, arrive Retrieved in k-v database MerkleRoot value be (baa9d30a, be149016,1600005), 1600006 > 1600005, Therefore retrieve k=be149016 in k-v database, obtain MerkleRBTree index value be (228de82e, b178577f, 1600006), 1600006=1600006, therefore retrieve k=228de82e in k-v database, obtain transaction metadata be (1, 8,3) it is (1600006, Jack, Male, 8000) that, finally unserializing, which obtains the transaction initial data, in disk file, together When verifying path be inquiry when miss that side cryptographic Hash, be in the present embodiment ((baa9d30a, 1600005), (b178577f, 1600006)), finally return to lightweight node result be ((baa9d30a, 1600005), (b178577f, 1600006), (1600006, Jack, Male, 8000)), lightweight node by verifying Hash (baa9d30a, Hash (Hash (1600006, Jack, Male, 8000), b178577f, 1600006), 1600005) value whether with it is local MerkleRoot value it is equal come revene lookup result credibility.
Finally, it should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention, rather than its limitations;Although Present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that: it still may be used To modify to technical solution documented by previous embodiment, or some or all of the technical features are equal Replacement;And these are modified or replaceed, model defined by the claims in the present invention that it does not separate the essence of the corresponding technical solution It encloses.

Claims (3)

1. a kind of indexing means for being directed to keyword key on block chain database, it is characterised in that: this method includes following step It is rapid:
Step 1: the Raw Data Generation transaction record with keyword key that ordinary node is inputted according to user specifically includes:
Step 1-1: transaction default information is generated, is believed including the timestamp at block chain version number information and data creation moment Breath;
Step 1-2: specifying the forerunner PreHash of the transaction, if keyword key is that occur for the first time, forerunner PreHash is set For Null, otherwise forerunner is the cryptographic Hash of newest transaction corresponding to keyword key;
Step 1-3: data permission information and data signature are generated;By ScriptPubk be assigned a value of it is next can be to the keyword The public key that key data are modified signs to transaction data according to the private key of oneself using ECDSA algorithm;
Step 2: transaction is bundled in block by memory node, is specifically included:
Step 2-1: whether verifying transaction format meets specification, filters unrecognized transaction;
Step 2-2: whether verifying trading signature is effective;Its transaction index is retrieved into k-v database according to PreHash value TxIndex retrieves forerunner transaction PreTx according to TxIndex, takes its next specified public key information PreTx.ScriptPubk;Signature verification is carried out according to the verify () function of ECDSA algorithm, if verify (PreTx.ScriptPubk, Tx.ScriptSig, Tx)=True, then effectively, otherwise signature is invalid for signature, abandons the transaction;
Step 2-3: detection honeysuckle;The PreHash field of transaction is read, if it is not sky, according to PreHash value to k-v number Trade index TxIndex according to forerunner is retrieved in library, if the index indicate forerunner's transaction subsequent transaction be not it is empty, show to Verifying transaction is that honeysuckle is traded, and determines that it is invalid;If its subsequent transaction is sky, subsequent transaction is assigned a value of transaction to be verified Cryptographic Hash, transaction to be verified is effective;If the PreHash field of transaction is sky, that is, the founder to trade does not deposit before thinking In transaction identical with this transaction keyword key, the transaction that keyword is key whether can be retrieved in lookup system at this time, The transaction invalid if retrieving, the transaction is effective if not retrieving;
Step 2-4: after transaction is verified effectively, transaction is inserted into the orderly transaction array vTx [] of key in block body In, update MerkleRBTree index;
The rule for updating MerkleRBTree is as follows: initialization present node is Merkleroot, and ingress more to be inserted is crucial Word key and present node keyword NodeKey is inserted into the left subtree of present node, then if key <=NodeKey The left child that present node is present node is updated, right subtree is otherwise inserted into, then updating present node is its right child, according to Secondary recurrence, to the last one layer of branch node;After insertion transaction, carrying out rotation to the tree makes it guarantee black balance, and passs It is Hash (lefthash, rigthhash, key) that branch node cryptographic Hash is updated in inclination;
Step 3: the additional write-in disk file of block data specifically includes:
Step 3-1: the transaction array vTx [] that transaction initial data is saved in block head and block body is serialized, sequential write Enter into disk file blk000x, and returns to position nFile of the block in disk, BlockPos;
Step 3-2: generating the metadata TxIndex (nFile, BlockPos, n) of each transaction, and wherein which nFile it is a to specify File, BlockPos specify the offset of the block hereof, and n given transaction corresponds to the subscript in subordinate ordered array, and will The metadata information of each transaction is stored into k-v database, and format is k=Hash (Tx), v=(TxIndex);
Step 3-3: MerkleRBTree index entry is stored in k-v database, wherein k=Hash (lefthash, Righthash, key), v=(lefthash, righthash, key);
Step 4: being inquired and traded according to keyword key, return to query result;Transaction is begun looking for from newest block, if should Block is not found, and inquires its previous block;
Step 5: ordinary user carries out Trusting eBusiness to query result;
After ordinary user receives verifying path stack and Transaction Information, the bis- hashing operations of Sha256 are carried out to transaction first and are handed over Easy cryptographic Hash Hash (Tx), then does the bis- hashing operations of Sha256 with the value popped up in verifying path stack, obtained cryptographic Hash after It is continuous to do Hash with next value that is popping up in stack, until stack is sky;In the cryptographic Hash and this area build compared Whether Merkleroot value is equal, and data are credible if equal, otherwise insincere.
2. the indexing means according to claim 1 for being directed to keyword key on block chain database, it is characterised in that: In the step 2-4, the node is inserted into according to following 4 kinds of situations in the last layer branch node:
Situation 1: if the branch node is sky, which only occurs when Merkleroot is empty, then carries out to transaction The bis- hashing operations of Sha256 obtain its cryptographic Hash Hash (Tx), then create a branch node, and define its key value and be Key, left Hash are leaf node cryptographic Hash, and right Hash is 0, shaped like (Hash (Tx), 0, key);
Situation 2: if being inserted into data key value less than node NodeKey value, which should be inserted on the left of the node; The bis- hashing operations of Sha256 are carried out to transaction first, obtain its cryptographic Hash Hash (Tx), then create red branch's section Point, keyword are ingress key to be inserted, and left Hash is Hash (Tx), and right Hash is the left Hash of original branch node, i.e., (Hash (Tx), Oldlefthash, key);Remember hash=Hash (Hash (Tx), Oldlefthash, key), then updates father's section Point is (hash, Oldrighthash, oldkey);
Situation 3: if being inserted into data key value greater than node NodeKey value, and the right Hash of the node is 0, then to transaction Carry out the bis- hashing operations of Sha256, obtain its cryptographic Hash Hash (Tx), then update the branch node for (Oldlefthash, Hash (Tx), Oldkey);
Situation 4: if be inserted into, data key value is greater than node NodeKey value and the right Hash of the node is not 0, first right Transaction carries out the bis- hashing operations of Sha256, obtains its cryptographic Hash Hash (Tx), then creates red branch node, and branch node closes Key assignments is the smaller being inserted into data key value and the right child key value of former branch node, and left child is to be inserted into data and original Key value smaller in the right child of branch node, right child are the greater;The right Hash of its father node of final updating is newly-built branch's section Point Hash.
3. the indexing means according to claim 2 for being directed to keyword key on block chain database, it is characterised in that: In the step 4, in the lookup method of single block are as follows: it is entered in MerkleRBTree from the MerkleRoot of block head, Compare target keywords key and present node keyword Ckey since MerkleRoot, if key is less than or equal to Ckey, looks into It looks for its left child, and right child and node key is pressed into verifying path stack, otherwise search its right child, and by left child Son and node key are pressed into verifying path stack, are successively executed until leaf node;If leaf node key value key etc. In key word of the inquiry key, then query hit;According to the transaction cryptographic Hash Hash (Tx) finally inquired in leaf node, with Hash (Tx) is k, and the corresponding index information TxIndex on disk of the transaction, last basis are inquired in k-v database TxIndex reads Transaction Information Tx in disk file;Verifying path stack and transaction prime information are finally returned into common use Family.
CN201810971875.4A 2018-08-24 2018-08-24 Indexing method for key words on block chain database Active CN109165224B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810971875.4A CN109165224B (en) 2018-08-24 2018-08-24 Indexing method for key words on block chain database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810971875.4A CN109165224B (en) 2018-08-24 2018-08-24 Indexing method for key words on block chain database

Publications (2)

Publication Number Publication Date
CN109165224A true CN109165224A (en) 2019-01-08
CN109165224B CN109165224B (en) 2021-02-19

Family

ID=64896704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810971875.4A Active CN109165224B (en) 2018-08-24 2018-08-24 Indexing method for key words on block chain database

Country Status (1)

Country Link
CN (1) CN109165224B (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766389A (en) * 2019-01-09 2019-05-17 华东师范大学 A kind of light client revene lookup method of block chain based on bitmap index
CN109885615A (en) * 2019-01-24 2019-06-14 华东师范大学 A kind of range query towards the light client of block chain based on index can verify that querying method
CN109918375A (en) * 2019-02-26 2019-06-21 杭州云象网络技术有限公司 It is a kind of based on block chain and the big text of distributed storage storage, index and search method
CN110059089A (en) * 2019-03-27 2019-07-26 深圳前海达闼云端智能科技有限公司 Data synchronization method and device, storage medium and electronic equipment
CN110059084A (en) * 2019-01-31 2019-07-26 阿里巴巴集团控股有限公司 A kind of date storage method, device and equipment
CN110096522A (en) * 2019-05-15 2019-08-06 西安电子科技大学 A kind of block chain data processing method, device and equipment for supporting relationship type to retrieve
CN110162662A (en) * 2019-04-18 2019-08-23 阿里巴巴集团控股有限公司 Verification method, device and the equipment of data record in a kind of piece of chain type account book
CN110175840A (en) * 2019-04-19 2019-08-27 华中科技大学 Method, client, alliance's chain and the system of light wallet mechanism are realized in alliance's chain
CN110175188A (en) * 2019-05-31 2019-08-27 杭州复杂美科技有限公司 A kind of block chain state data buffer storage and querying method, equipment and storage medium
CN110209675A (en) * 2019-06-18 2019-09-06 北京艾摩瑞策科技有限公司 Credit data querying method and its device on block chain
CN110263015A (en) * 2019-05-07 2019-09-20 深圳壹账通智能科技有限公司 Data source tracing method, device, equipment and readable storage medium storing program for executing based on block chain
CN110334154A (en) * 2019-06-28 2019-10-15 阿里巴巴集团控股有限公司 Based on the classification storage method and device of block chain, electronic equipment
CN110442577A (en) * 2019-07-15 2019-11-12 杭州复杂美科技有限公司 A kind of storage of status data, inquiry and management method, equipment and storage medium
WO2019101229A3 (en) * 2019-03-04 2019-12-26 Alibaba Group Holding Limited Updating blockchain world state merkle patricia trie subtree
CN110688377A (en) * 2019-08-30 2020-01-14 阿里巴巴集团控股有限公司 Method and device for updating state Merck tree
CN110704428A (en) * 2019-09-06 2020-01-17 深圳壹账通智能科技有限公司 Data indexing method and device for block chain, computer equipment and storage medium
CN110837505A (en) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
CN110874365A (en) * 2019-11-20 2020-03-10 深圳市网心科技有限公司 Information query method and related equipment thereof
CN110971393A (en) * 2019-11-29 2020-04-07 中南大学 Keyword query verification method and device based on block chain dynamic social outsourcing data
CN111033489A (en) * 2019-05-14 2020-04-17 阿里巴巴集团控股有限公司 Method and apparatus for data traversal
CN111080298A (en) * 2019-12-26 2020-04-28 电子科技大学 Block generation and transaction verification method suitable for energy source block chain
CN111488358A (en) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 Data query method and device based on service data block chain
CN111581215A (en) * 2020-05-07 2020-08-25 钟士平 Array tree data storage method, fast search method and readable storage medium
CN111596862A (en) * 2020-05-20 2020-08-28 南京如般量子科技有限公司 Independent optimization method and system for block chain historical transaction data
CN111626680A (en) * 2020-06-02 2020-09-04 重庆云创科技有限公司 Transaction data chain storage method and block chain storage method for credit evaluation
CN111639080A (en) * 2020-06-01 2020-09-08 腾讯科技(深圳)有限公司 Data processing method and device, node equipment and storage medium
CN111680317A (en) * 2020-04-27 2020-09-18 华东师范大学 Block chain-oriented optimistic concurrency order-preserving coding method
CN111695885A (en) * 2019-03-14 2020-09-22 中国科学技术大学 Digital certificate block chain compression method based on transaction input reduction
US10789222B2 (en) 2019-06-28 2020-09-29 Alibaba Group Holding Limited Blockchain-based hierarchical data storage
WO2020211569A1 (en) * 2019-04-18 2020-10-22 创新先进技术有限公司 Method for constructing index of data record
CN111898164A (en) * 2020-07-02 2020-11-06 武汉纺织大学 Data integrity auditing method supporting tag block chain storage and query
WO2020224249A1 (en) * 2019-05-07 2020-11-12 深圳壹账通智能科技有限公司 Blockchain-based transaction processing method, device and apparatus, and storage medium
CN112487027A (en) * 2020-12-02 2021-03-12 济南浪潮高新科技投资发展有限公司 Efficient data query implementation method based on block chain electronic transaction
US10992459B2 (en) 2019-08-30 2021-04-27 Advanced New Technologies Co., Ltd. Updating a state Merkle tree
US10990705B2 (en) 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
CN112765155A (en) * 2020-12-14 2021-05-07 杭州趣链科技有限公司 Block chain-based key value storage method and device, terminal equipment and medium
CN112800065A (en) * 2021-02-09 2021-05-14 北京工业大学 Efficient data retrieval method based on improved block storage structure
US11036720B2 (en) 2019-06-28 2021-06-15 Advanced New Technologies Co., Ltd. Blockchain-based hierarchical data storage
CN112966001A (en) * 2021-02-26 2021-06-15 东北大学 BCTkPQ query method based on block chain
US20210234671A1 (en) * 2020-01-29 2021-07-29 EMC IP Holding Company LLC Using sparse merkle trees for smart synchronization of s3
CN113468571A (en) * 2021-07-15 2021-10-01 湖北央中巨石信息技术有限公司 Tracing method based on block chain
CN113901131A (en) * 2021-09-02 2022-01-07 北京邮电大学 Index-based on-chain data query method and device
CN114020737A (en) * 2021-10-20 2022-02-08 大连理工江苏研究院有限公司 Efficient and reliable indexing method for block chain data
CN114153827A (en) * 2021-10-11 2022-03-08 北京天德科技有限公司 Transaction data removing method based on block chain system
CN114519078A (en) * 2022-04-19 2022-05-20 北京理工大学 Cross-chain credible query method and system based on block chain
CN115037755A (en) * 2022-04-27 2022-09-09 东北大学 Block chain lightweight storage method based on data redistribution and dynamic node strategy
CN115052008A (en) * 2022-05-26 2022-09-13 南京邮电大学 Block chain data link down-link storage method based on cloud storage
CN115065458A (en) * 2022-08-08 2022-09-16 北京邮电大学 Electronic commerce transaction system with data encryption transmission
CN115081031A (en) * 2022-07-26 2022-09-20 成都云智数安科技有限公司 Tamper-proof block chain data storage method and system
US11455319B2 (en) * 2020-01-29 2022-09-27 EMC IP Holding Company LLC Merkle tree forest for synchronizing data buckets of unlimited size in object storage systems
US11461362B2 (en) * 2020-01-29 2022-10-04 EMC IP Holding Company LLC Merkle super tree for synchronizing data buckets of unlimited size in object storage systems
CN113901131B (en) * 2021-09-02 2024-06-07 北京邮电大学 Index-based on-chain data query method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227833A (en) * 2016-07-26 2016-12-14 宁圣金融信息服务(上海)有限公司 Block chaining search engine method, system and device
CN107729371A (en) * 2017-09-12 2018-02-23 深圳先进技术研究院 The data directory and querying method of block chain, device, equipment and storage medium
US20180137196A1 (en) * 2016-11-11 2018-05-17 International Business Machines Corporation Trustable web searching verification in a blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227833A (en) * 2016-07-26 2016-12-14 宁圣金融信息服务(上海)有限公司 Block chaining search engine method, system and device
US20180137196A1 (en) * 2016-11-11 2018-05-17 International Business Machines Corporation Trustable web searching verification in a blockchain
CN107729371A (en) * 2017-09-12 2018-02-23 深圳先进技术研究院 The data directory and querying method of block chain, device, equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHANGBO DUAN等: "Formal Modeling and Verification of Blockchain System", 《2018 ASSOCIATION FOR COMPUTING MACHINERY》 *
邵奇峰等: "区块链技术:架构及进展", 《计算机学报》 *

Cited By (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766389A (en) * 2019-01-09 2019-05-17 华东师范大学 A kind of light client revene lookup method of block chain based on bitmap index
CN109885615B (en) * 2019-01-24 2020-09-22 华东师范大学 Index-based block chain light client-oriented range query verifiable query method
CN109885615A (en) * 2019-01-24 2019-06-14 华东师范大学 A kind of range query towards the light client of block chain based on index can verify that querying method
CN110059084B (en) * 2019-01-31 2023-08-01 创新先进技术有限公司 Data storage method, device and equipment
CN110059084A (en) * 2019-01-31 2019-07-26 阿里巴巴集团控股有限公司 A kind of date storage method, device and equipment
CN109918375A (en) * 2019-02-26 2019-06-21 杭州云象网络技术有限公司 It is a kind of based on block chain and the big text of distributed storage storage, index and search method
KR20200107772A (en) * 2019-03-04 2020-09-16 알리바바 그룹 홀딩 리미티드 Blockchain World State Merkle Patricia Tri Subtree Update
KR102322729B1 (en) 2019-03-04 2021-11-05 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Blockchain World State Merkle Patricia Trie Subtree Update
US10691676B1 (en) 2019-03-04 2020-06-23 Alibaba Group Holding Limited Updating blockchain world state Merkle Patricia Trie subtree
WO2019101229A3 (en) * 2019-03-04 2019-12-26 Alibaba Group Holding Limited Updating blockchain world state merkle patricia trie subtree
CN111695885A (en) * 2019-03-14 2020-09-22 中国科学技术大学 Digital certificate block chain compression method based on transaction input reduction
CN111695885B (en) * 2019-03-14 2023-08-29 中国科学技术大学 Digital voucher block chain compression method based on reduced transaction input
CN110059089B (en) * 2019-03-27 2021-01-22 深圳前海达闼云端智能科技有限公司 Data synchronization method and device, storage medium and electronic equipment
CN110059089A (en) * 2019-03-27 2019-07-26 深圳前海达闼云端智能科技有限公司 Data synchronization method and device, storage medium and electronic equipment
US11126751B2 (en) 2019-04-18 2021-09-21 Advanced New Technologies Co., Ltd. Index creation for data records
WO2020211569A1 (en) * 2019-04-18 2020-10-22 创新先进技术有限公司 Method for constructing index of data record
US10990705B2 (en) 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
CN110162662A (en) * 2019-04-18 2019-08-23 阿里巴巴集团控股有限公司 Verification method, device and the equipment of data record in a kind of piece of chain type account book
CN110162662B (en) * 2019-04-18 2023-02-28 创新先进技术有限公司 Verification method, device and equipment for data records in block chain type account book
CN110175840A (en) * 2019-04-19 2019-08-27 华中科技大学 Method, client, alliance's chain and the system of light wallet mechanism are realized in alliance's chain
CN110263015A (en) * 2019-05-07 2019-09-20 深圳壹账通智能科技有限公司 Data source tracing method, device, equipment and readable storage medium storing program for executing based on block chain
WO2020224249A1 (en) * 2019-05-07 2020-11-12 深圳壹账通智能科技有限公司 Blockchain-based transaction processing method, device and apparatus, and storage medium
CN111033489A (en) * 2019-05-14 2020-04-17 阿里巴巴集团控股有限公司 Method and apparatus for data traversal
CN111033489B (en) * 2019-05-14 2023-11-17 创新先进技术有限公司 Method and apparatus for data traversal
CN110096522B (en) * 2019-05-15 2023-07-28 西安电子科技大学 Block chain data processing method, device and equipment supporting relational retrieval
CN110096522A (en) * 2019-05-15 2019-08-06 西安电子科技大学 A kind of block chain data processing method, device and equipment for supporting relationship type to retrieve
CN110175188A (en) * 2019-05-31 2019-08-27 杭州复杂美科技有限公司 A kind of block chain state data buffer storage and querying method, equipment and storage medium
CN110209675A (en) * 2019-06-18 2019-09-06 北京艾摩瑞策科技有限公司 Credit data querying method and its device on block chain
US11386054B2 (en) 2019-06-28 2022-07-12 Advanced New Technologies Co., Ltd. Blockchain-based hierarchical data storage
US11036720B2 (en) 2019-06-28 2021-06-15 Advanced New Technologies Co., Ltd. Blockchain-based hierarchical data storage
US11042518B2 (en) 2019-06-28 2021-06-22 Advanced New Technologies Co., Ltd. Blockchain-based hierarchical data storage
CN110334154B (en) * 2019-06-28 2020-07-21 阿里巴巴集团控股有限公司 Block chain based hierarchical storage method and device and electronic equipment
US10789222B2 (en) 2019-06-28 2020-09-29 Alibaba Group Holding Limited Blockchain-based hierarchical data storage
CN110334154A (en) * 2019-06-28 2019-10-15 阿里巴巴集团控股有限公司 Based on the classification storage method and device of block chain, electronic equipment
CN110442577A (en) * 2019-07-15 2019-11-12 杭州复杂美科技有限公司 A kind of storage of status data, inquiry and management method, equipment and storage medium
US10992459B2 (en) 2019-08-30 2021-04-27 Advanced New Technologies Co., Ltd. Updating a state Merkle tree
CN110688377A (en) * 2019-08-30 2020-01-14 阿里巴巴集团控股有限公司 Method and device for updating state Merck tree
CN110704428A (en) * 2019-09-06 2020-01-17 深圳壹账通智能科技有限公司 Data indexing method and device for block chain, computer equipment and storage medium
CN110837505A (en) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
CN110837505B (en) * 2019-11-06 2022-07-19 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
CN110874365B (en) * 2019-11-20 2023-11-17 深圳市迅雷网络技术有限公司 Information query method and related equipment thereof
CN110874365A (en) * 2019-11-20 2020-03-10 深圳市网心科技有限公司 Information query method and related equipment thereof
CN110971393B (en) * 2019-11-29 2020-11-06 中南大学 Keyword query verification method and device based on block chain dynamic social outsourcing data
CN110971393A (en) * 2019-11-29 2020-04-07 中南大学 Keyword query verification method and device based on block chain dynamic social outsourcing data
CN111080298B (en) * 2019-12-26 2023-12-29 电子科技大学 Block generation and transaction verification method suitable for energy block chain
CN111080298A (en) * 2019-12-26 2020-04-28 电子科技大学 Block generation and transaction verification method suitable for energy source block chain
US11455319B2 (en) * 2020-01-29 2022-09-27 EMC IP Holding Company LLC Merkle tree forest for synchronizing data buckets of unlimited size in object storage systems
US11461362B2 (en) * 2020-01-29 2022-10-04 EMC IP Holding Company LLC Merkle super tree for synchronizing data buckets of unlimited size in object storage systems
US11711204B2 (en) * 2020-01-29 2023-07-25 EMC IP Holding Company LLC Using sparse merkle trees for smart synchronization of S3
US20210234671A1 (en) * 2020-01-29 2021-07-29 EMC IP Holding Company LLC Using sparse merkle trees for smart synchronization of s3
CN111488358A (en) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 Data query method and device based on service data block chain
CN111680317A (en) * 2020-04-27 2020-09-18 华东师范大学 Block chain-oriented optimistic concurrency order-preserving coding method
CN111680317B (en) * 2020-04-27 2021-05-25 华东师范大学 Block chain-oriented optimistic concurrency order-preserving coding method
CN111581215A (en) * 2020-05-07 2020-08-25 钟士平 Array tree data storage method, fast search method and readable storage medium
CN111581215B (en) * 2020-05-07 2020-12-15 钟士平 Array tree data storage method, fast search method and readable storage medium
CN111596862A (en) * 2020-05-20 2020-08-28 南京如般量子科技有限公司 Independent optimization method and system for block chain historical transaction data
CN111596862B (en) * 2020-05-20 2022-11-01 南京如般量子科技有限公司 Independent optimization method and system for block chain historical transaction data
CN111639080A (en) * 2020-06-01 2020-09-08 腾讯科技(深圳)有限公司 Data processing method and device, node equipment and storage medium
CN111639080B (en) * 2020-06-01 2021-07-27 腾讯科技(深圳)有限公司 Data processing method and device, node equipment and storage medium
CN111626680A (en) * 2020-06-02 2020-09-04 重庆云创科技有限公司 Transaction data chain storage method and block chain storage method for credit evaluation
CN111898164A (en) * 2020-07-02 2020-11-06 武汉纺织大学 Data integrity auditing method supporting tag block chain storage and query
CN111898164B (en) * 2020-07-02 2024-03-29 武汉纺织大学 Data integrity auditing method supporting label block chain storage and query
CN112487027B (en) * 2020-12-02 2022-08-23 山东浪潮科学研究院有限公司 Efficient data query implementation method based on block chain electronic transaction
CN112487027A (en) * 2020-12-02 2021-03-12 济南浪潮高新科技投资发展有限公司 Efficient data query implementation method based on block chain electronic transaction
CN112765155B (en) * 2020-12-14 2022-05-31 杭州趣链科技有限公司 Block chain-based key value storage method and device, terminal equipment and medium
CN112765155A (en) * 2020-12-14 2021-05-07 杭州趣链科技有限公司 Block chain-based key value storage method and device, terminal equipment and medium
CN112800065A (en) * 2021-02-09 2021-05-14 北京工业大学 Efficient data retrieval method based on improved block storage structure
CN112966001B (en) * 2021-02-26 2023-08-04 东北大学 BCTkPQ query method based on blockchain
CN112966001A (en) * 2021-02-26 2021-06-15 东北大学 BCTkPQ query method based on block chain
CN113468571A (en) * 2021-07-15 2021-10-01 湖北央中巨石信息技术有限公司 Tracing method based on block chain
CN113901131A (en) * 2021-09-02 2022-01-07 北京邮电大学 Index-based on-chain data query method and device
CN113901131B (en) * 2021-09-02 2024-06-07 北京邮电大学 Index-based on-chain data query method and device
CN114153827B (en) * 2021-10-11 2023-01-10 北京天德科技有限公司 Transaction data removing method based on block chain system
CN114153827A (en) * 2021-10-11 2022-03-08 北京天德科技有限公司 Transaction data removing method based on block chain system
CN114020737A (en) * 2021-10-20 2022-02-08 大连理工江苏研究院有限公司 Efficient and reliable indexing method for block chain data
CN114519078A (en) * 2022-04-19 2022-05-20 北京理工大学 Cross-chain credible query method and system based on block chain
CN115037755A (en) * 2022-04-27 2022-09-09 东北大学 Block chain lightweight storage method based on data redistribution and dynamic node strategy
CN115037755B (en) * 2022-04-27 2023-04-07 东北大学 Block chain lightweight storage method based on data redistribution and dynamic node strategy
CN115052008A (en) * 2022-05-26 2022-09-13 南京邮电大学 Block chain data link down-link storage method based on cloud storage
CN115052008B (en) * 2022-05-26 2023-07-25 南京邮电大学 Block chain data under-chain storage method based on cloud storage
CN115081031A (en) * 2022-07-26 2022-09-20 成都云智数安科技有限公司 Tamper-proof block chain data storage method and system
CN115065458B (en) * 2022-08-08 2022-11-15 山东鼎信数字科技有限公司 Electronic commerce transaction system with data encryption transmission
CN115065458A (en) * 2022-08-08 2022-09-16 北京邮电大学 Electronic commerce transaction system with data encryption transmission

Also Published As

Publication number Publication date
CN109165224B (en) 2021-02-19

Similar Documents

Publication Publication Date Title
CN109165224A (en) A kind of indexing means being directed to keyword key on block chain database
US11876910B2 (en) Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
JP7407912B2 (en) How to index and store blockchain data
CN106503574B (en) Block chain safe storage method
US11483622B2 (en) Hybrid blockchains and streamchains using non-crypto hashes for securing audio-, video-, image-, and speech-based transactions and contracts
US11283616B2 (en) Method for index-based and integrity-assured search in a blockchain
US11720688B2 (en) Secure initiation and transfer of a cryptographic database and/or a cryptographic unit
EP2064637B1 (en) Method for dynamic secure management of an authenticated relational table in a database
US11610018B2 (en) Systems and methods for the incremental and reversible deployment of a biometric identity management system
CN109033841A (en) It is a kind of to write the weak center&#39;s trusted data storage system and management method for testing separation
CN103455589B (en) Product data moving method under product factory mode, Apparatus and system
CN102890678A (en) Gray-code-based distributed data layout method and query method
CN110930152B (en) Data processing method based on block chain and related equipment
Karakasidis et al. Scalable blocking for privacy preserving record linkage
CN111651779A (en) Privacy protection method for encrypted image retrieval in block chain
US20230129227A1 (en) System and method for generating a table-driven mutable blockchain
CN116303437A (en) Medical data hierarchical storage and sharing method based on block chain
CN113810185B (en) Anti-trapdoor leakage on-chain data restoration system and method
Qian Improved authenticated data structures for blockchain synchronization
US11907186B2 (en) System and method for electronic data archival in a distributed data network
CN117493646B (en) Intelligent library borrowing tracking system based on blockchain technology
CN116662329A (en) Index research for multi-dimensional data capable of inquiring and verifying
Sohrabi et al. $\pi $ QLB: A Privacy-preserving with Integrity-assuring Query Language for Blockchain
Vijayalakshmi et al. Revamp Perception of Bitcoin Using Cognizant Merkle SkS kkS
CN118134487A (en) Online payment identity intelligent authentication method based on digital signature

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