CN109919756B - Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology - Google Patents

Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology Download PDF

Info

Publication number
CN109919756B
CN109919756B CN201910133066.0A CN201910133066A CN109919756B CN 109919756 B CN109919756 B CN 109919756B CN 201910133066 A CN201910133066 A CN 201910133066A CN 109919756 B CN109919756 B CN 109919756B
Authority
CN
China
Prior art keywords
account
tree
transaction
block
transfer
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
CN201910133066.0A
Other languages
Chinese (zh)
Other versions
CN109919756A (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.)
Southwestern University Of Finance And Economics
Original Assignee
Southwestern University Of Finance And Economics
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 Southwestern University Of Finance And Economics filed Critical Southwestern University Of Finance And Economics
Priority to CN201910133066.0A priority Critical patent/CN109919756B/en
Publication of CN109919756A publication Critical patent/CN109919756A/en
Application granted granted Critical
Publication of CN109919756B publication Critical patent/CN109919756B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a transfer system, an inspection method and a transaction method based on a Merkle tree backtracking and positioning technology, wherein the system comprises the following steps: a central terminal and a client terminal; a central storage module is arranged in the central end; the central storage module comprises a central database and a block chain; the central database is used for storing complete transaction records; the block chain is formed by Hash iteration of blocks, and each block comprises a block head and a block body; the block head is used for storing the root value of the system general ledger tree and the root value of the system account splitting tree of the block; the block body is used for storing the transaction details of the block; a local storage module is arranged in the client; the local storage module comprises a local database and a block head chain; the local database is used for storing individual account splitting trees; the block head chain is a data chain formed by all the block heads. The invention can realize bidirectional examination of self and transaction information of the transaction opposite side by realizing distributed general account examination and account-based account examination, thereby realizing efficient and credible bank transaction under privacy protection.

Description

Transfer system, inspection method and transaction method based on Merkle tree backtracking positioning technology
Technical Field
The invention relates to the field of data processing, in particular to a transfer system, an examination method and a transaction method based on a Merkle tree backtracking positioning technology.
Background
The traditional bank system adopts a centralized management mode for a long time, the mode has the advantages of high efficiency, controllability, convenient management and the like, but in recent years, with the disclosure of some internal people working and external attack events, the defects of the centralized mode are increasingly highlighted: the center stores all account information and transaction information in a centralized manner, which is easy to be a target of hacking and causes huge loss. More importantly, centralized management lacks transparency and supervision, transaction data cannot be verified, and depositors only passively trust banks completely and are difficult to actively carry out supervision. The bank has the accounting right of each transaction, has the capabilities of forging customer information and tampering transaction records, and has the risk that the interests of depositors are invaded by central cheating under specific conditions.
In recent years, the "decentralized" management model based on blockchain technology has become increasingly attractive and popular. The block chain technology established under the multi-party common accounting principle has the advantages of high safety, openness and transparency, data tamper-proof traceability and the like. However, the technology is still in the initial stage at present, and the problems of high consumption, low efficiency, privacy disclosure, loss of responsibility bodies and the like exist. In addition, if the mode is adopted, the bank loses the central position of the system, the government is more difficult to implement supervision, and the safety and controllability of a financial system cannot be guaranteed.
Therefore, how to build an efficient and convenient trusted digital bank under a new technical situation is a significant technical problem faced by the modern banking industry. Under the condition of the prior art, the high-efficiency convenience and the credibility cannot be obtained at the same time. The 'high efficiency and convenience' means that all data information needs to be stored and maintained by a bank in a centralized mode by adopting a traditional centralized data management mode. The 'credibility' means that a bank can only be ensured to really account for the transaction in technology and system, but can not forge or falsify the transaction record, and can not account for the 'single account' (namely only the information of the transfer party is recorded for a certain transfer transaction, and the information of the transfer party is not recorded or recorded disorderly), so that the transaction data needs to be publicly transparent and verifiable in multiple parties, the block chain technology needs to be adopted to lock the transaction data, and a pure centralized management mode of a data black box type cannot be adopted.
Disclosure of Invention
In order to solve the problems, the invention provides a transfer system, an inspection method and a transaction method based on a Merkle tree backtracking positioning technology.
The transfer system based on the Merkle tree backtracking positioning technology comprises a center end and a client end; a central storage module is arranged in the central end; the central storage module comprises a central database and a block chain; the central database is used for storing complete transaction records; the block chain is formed by Hash iteration of a plurality of blocks which are connected in sequence according to the time sequence of the time slices; the block comprises a block head and a block body; the block head is used for storing a root value of a system general ledger tree, a root value of a system account-dividing ledger tree and a block head hashed value of a father block of the block; the block body is used for storing transaction details of the block; a local storage module is arranged in the client; the local storage module comprises a local database and a block head chain; the local database is used for storing individual account-dividing trees; the block header chain is a data chain formed by all the block headers.
The structure of the system general ledger tree is a Merkle tree which is used for storing all current transaction information of all depositors; each leaf node of the system general ledger tree corresponds to a hash value of a specific transaction of the current period, all leaf nodes are arranged according to the sequence of transaction time, and all transaction information of the current period is locked by the root node of the system general ledger tree.
The individual account-dividing tree is a multi-stage extensible Merkle tree which grows reversely and is used for storing all historical transaction information of individual depositors.
The system sub-account tree is a Merkle tree formed by gathering root nodes of all individual sub-account trees, each leaf node corresponds to the root node of the individual sub-account tree of a single depositor, and the corresponding relationship between the leaf node of the system sub-account tree and the root node of the individual sub-account tree is unchanged; the position sequence of each leaf node of the system account-splitting tree in the Merkle tree is arranged by adopting a bit sequence number.
Each leaf node of the Merkle tree is unique in a backtracking path backtracking to a root node through hash iteration.
The backtracking path is the arrangement sequence of hash factors in the process that the leaf nodes backtrack to the root nodes of the Merkle tree through multiple rounds of hash iteration.
The time slices are time periods of equal length which periodically divide the transaction time.
The client and the center are both provided with respective private keys and public keys, and identity authentication is carried out through digital signatures.
The transfer examination method based on the Merkle tree backtracking positioning technology comprises general account examination and account-based account examination, wherein the general account examination is used for verifying the existence of transaction, and the account-based account examination is used for verifying the authenticity of transfer;
the inspection method includes the steps of:
s11, the client selects a trading leaf node on the individual account tree of the client as a to-be-inspected trade, and sends a corresponding trading hash value as an inspection request to the center end;
and S12, the client side executes general account checking and account checking.
The general ledger examination specifically comprises: the client side verifies the correctness of a path from a designated transaction hash value to a Merkle path of a system general ledger root node of a block head chain of the client side through hash iteration in a block corresponding to a transaction to be checked, wherein the block is returned by the center side;
the checking of the account accounts is specifically as follows:
s121, the client side verifies the correctness of two Merkle paths through Hash iteration from the root value of the individual account book tree of the client side to the root node of the system account book tree and from the root value of the individual account book tree of the transaction counterpart to the root node of the system account book tree in the latest block according to the Merkle paths returned by the center side;
s122, according to the two Merkle paths in the step S121, the client side applies a Merkle tree backtracking positioning technology to respectively calculate leaf node position serial numbers of the client side and the transaction opposite side in the system account-splitting tree, and compares whether the two bit sequence numbers are respectively consistent with the bit sequence number codes in respective account numbers;
and S123, the client side verifies the correctness of the path through hash iteration according to the Merkle path from the designated transaction hash value to the individual account ledger tree root value of the transaction opposite side returned by the center side.
Before the general account examination and the branch account examination carry out transaction inquiry, data synchronization and data verification need to be carried out firstly.
The data synchronization comprises synchronization of a block head chain and synchronization of individual account accounts, and the specific process is as follows: the client sends a data updating request to the central terminal, wherein the updating request comprises the maximum block number of a local block head chain of the client and the hash value of the last transaction leaf node on a local individual account tree; and then receiving all new blocks returned by the central terminal after the maximum block number and all latest transaction hash values and latest root values of the individual account trees after the local last transaction leaf node.
The data verification process comprises the following steps:
(1) The client side takes the hash value of the last block of the block head chain before synchronization as a starting point and the hash value of the last block after synchronization as an end point, and verifies the continuity of the block head chain data through hash iteration;
(2) And the client side takes the nearest quasi-root node before synchronization as a starting point and takes the root value of the synchronized individual account-based account tree as an end point, and verifies the continuity of the individual account-based account tree data through Hash calculation.
The transfer transaction method based on the Merkle tree backtracking positioning technology comprises the following transfer transaction steps:
s31, the depositor A transfers accounts to the depositor B by sending account transfer request information to the bank center;
s32, the bank center generates transfer information and returns the transfer information to the account holder A;
and S33, the bank center sends the transfer result information to the depositor B.
The transfer request information includes: the account number and the transfer amount of the depositor A, the request time, the remark information and the private key of the depositor A digitally sign the transaction;
the transfer information includes: the transfer request information, the accounting time, the account balance of the depositor A after the transaction is finished, the root node of the individual account-dividing account of the depositor A and the private key of the bank center digitally sign the transaction;
the transfer result information includes: transfer request information, accounting time, account balance of the depositor B after the transaction is completed, individual account-dividing account tree root nodes of the depositor B and a private key of a bank center digitally sign the transaction.
And synchronously updating data of the system general account tree, the system individual account tree and the individual account tree as the transfer transaction occurs.
The invention has the beneficial effects that:
(1) Data transparency and execution efficiency are considered: through the write-check separation of data, the efficient and centralized bookkeeping of the bank is realized, the depositor is in a brand-new mode of decentralized democratic supervision, the data is locked through a collaborative supervision mechanism of a branch account tree, the public credibility of the bank is greatly improved, and the role of the bank is changed into a supervised middle person by a traditional manager;
(2) Privacy protection and fund supervision are considered: irrelevant personnel cannot acquire transaction records and account information of other depositors and cannot acquire integral commercial information of the bank, and meanwhile, the characteristics of centralization and non-falsification of data storage are convenient for an auditing agency to supervise and audit the bank;
(3) The system is easy to transform, and the implementation cost is low: without additionally creating a public chain or issuing new digital currency, the bank can realize characteristic services and functions of a plurality of virtual currencies while keeping the central status of the system by introducing an asymmetric encryption account management technology and carrying out block chain storage transformation on account data.
Drawings
FIG. 1 is a transfer transaction flow diagram of the present invention;
FIG. 2 is a schematic diagram of an individual account-splitting tree structure of the present invention;
FIG. 3 is a block chain structure of the accounting block of the present invention;
fig. 4 is a general account and account checking flow chart of the invention.
Detailed Description
In order to make the technical solutions of the present invention better understood by those skilled in the art, the present invention will be further described in detail with reference to the accompanying drawings and specific embodiments.
The following description is required: the Merkle tree is a hashed binary tree, which is a data structure used for fast summarization and checking integrity of large-scale data. Constructing a complete Merkle tree requires recursively hashing the data nodes and inserting the newly generated hash nodes into the Merkle tree until only one hash node remains, which is the Merkle root. It provides a method for quickly verifying the existence of data: when N data elements are subjected to Hash calculation and inserted into the Merkle tree, any one full node backtracks to at most log 2 (N) Path nodes can reach the Merkle root, i.e., at most pass log 2 The (N) hash calculations can check whether any data element exists in the Merkle tree, thereby completing the existence certification.
Transfer system based on Merkle tree backtracking location technique includes: a central terminal and a client terminal; a central storage module is arranged in the central end; the central storage module comprises a central database and a block chain; the central database is used for storing complete transaction records; the block chain is formed by Hash iteration of a plurality of blocks which are connected in sequence according to the time sequence of the time slices, and each block comprises a block head and a block body; the block head is used for storing a root value of a system general ledger tree, a root value of a system account-dividing ledger tree and a block head hashed value of a father block of the block; the block body is used for storing transaction details of the block; a local storage module is arranged in the client; the local storage module comprises a local database and a block head chain; the local database is used for storing individual account-based account trees; the block header chain is a data chain formed by all the block headers.
The individual account-based tree is formed by storing all historical transactions of the individual account-based through a Merkle tree, and each leaf node corresponds to a hash value of a specific transaction of the depositor;
the system sub-account tree is formed by aggregating root nodes of all individual sub-account trees, the root nodes are stored through a Merkle tree, and each leaf node corresponds to the root node of the individual sub-account tree of a single depositor; root nodes of all individual account trees in the system account tree have fixed bit sequence numbers, and the bit sequence numbers are definitely displayed in account information corresponding to the depositor.
The time slices are time periods with equal length and periodically divided transaction time, and are recommended to be divided by days and set as 24 hours so as to correspond to the current 'journal' of the bank. Through distributed storage and verification of the block head chain, all depositors reach a common transaction identification, and further supervision of a central bank is realized. The system general ledger tree root value and the system branch ledger tree root value of the block stored in the block head are respectively and correspondingly embedded into the system general ledger tree and the system branch ledger tree of the block chain; historical transactions are locked from two dimensions of the general ledger and the branch ledgers respectively, and the root value of the general ledger tree and the root value of the branch ledger tree of the system are published to all depositors, so that data disclosure under privacy protection is realized.
The client and the center are both provided with respective private keys and public keys, and identity authentication is carried out through digital signatures. For example, depositors ensure the authenticity of transaction requests through digital signatures, banks ensure the authenticity of system messages and transfer receipts through digital signatures. Meanwhile, a so-called centralized CA mechanism (i.e., "certificate authority") is not provided in the digital banking system, the key pair of the depositor is generated by the depositor himself, the correspondence between the public key and the account number is mapped when the depositor registers an account with the bank, and is written in the individual account book of the depositor, and the private key is kept by the depositor himself. The asymmetric encryption account management technology of a CA-free organization is the basis for realizing a trusted digital bank. Compared with the existing bank system, the method for protecting the account security and identifying the identity by generally adopting the symmetric encryption technology based on the absolute trust of the bank, the asymmetric encryption technology adopted by the invention can avoid the bank from randomly forging or tampering the transaction record of the depositor by utilizing the information advantages in the hand.
As shown in FIG. 1, the complete flow of a transfer transaction, where V is the transaction request TX A 、V B Respectively representing account numbers of a transfer party Alice and a transfer party Bob, wherein Amount is transfer Amount, and Time is 1 For request time, memo is remark information, sgn A Signing the request for the private key of the roll-out party to confirm the authenticity of the request; in the transfer receipt RE, time 2 Balance for accounting time A Root, account balance of the transferor after the transaction is completed A Root node, sgn, representing an individual account tree of a roll-out party c Signing the transaction for a bank private key to confirm the authenticity of the transaction as completed; the parameters in the transfer notification Msg are similar to RE. In the transfer receipt RE and the transfer notification Msg, root serves to confirm both the current transaction and all the historical transactions of the depositor.
Further, the system General Ledger Tree (GLT) is formed by storing current total transactions through the Merkle Tree. Specifically, each leaf node of the GLT corresponds to a hash value hash (TX) of a specific transaction of the current date, all leaf nodes of the GLT are arranged according to the sequence of transaction time, and a ROOT node GLT _ ROOT locks all transaction information of the current date.
The individual account-dividing Tree (client hedger Tree, abbreviated as CLT) is formed by storing individual account-dividing accounts through a Merkle Tree. Specifically, each leaf node of the CLT corresponds to a hash value hash (TX) of a specific transaction of a certain depositor, all leaf nodes of the CLT are arranged according to the sequence of transaction time, and a root node root of the CLT locks all historical transactions of the depositor. The individual account-dividing tree CLT can be expanded in multiple stages and can grow reversely. As shown in fig. 2, an individual account-splitting tree CLT with a 3-level-8 node structure is an incomplete binary tree as a whole, but each level can be considered as a full binary tree separately. The #0 leaf node records the mapping relation between the account number of the depositor and the public key thereof so as to ensure that the public and private keys of the account cannot be tampered; #1- #21 (no child node) is a transaction leaf node, and records the hash value of a specific transaction; the # A leaf node and the # B leaf node are quasi-root nodes which are the root nodes of the CLT once, but are converted into common nodes of an upper binary tree in sequence as the self-transaction amount increases. The design can lock all historical transactions of the depositor through the root, can provide a quick backtracking verification path for recent transactions, meets the requirements of different depositors on transaction expansion, and protects the privacy of the depositor to the maximum extent in the retraction verification process.
The System Ledger Tree (SLT) is a Merkle Tree constructed by aggregating root nodes of all individual Ledger trees. Specifically, each leaf node of the SLT corresponds to a ROOT node ROOT of an individual account-dividing account tree of a single depositor, all leaf nodes of the SLT are arranged according to the sequence of account opening times, and the ROOT node SLT _ ROOT locks all historical transactions of all depositors.
The traceback path of the Merkle tree has uniqueness, that is, the path traced back to the root node by each leaf node through hash iteration is unique, and different leaf nodes correspond to different traceback paths. Therefore, given the backtracking path of a certain leaf node, the bit sequence number of the leaf node in the Merkle tree can be calculated; otherwise, given the bit sequence number of a certain leaf node, the trace-back path of the leaf node can also be calculated.
The backtracking path is that leaf nodes are backtracked to the root of the Merkle tree through multiple rounds of Hash iterationIn the process of the node, the hash factors are arranged in sequence, and are not related to a specific hash value. The bit sequence number is the position order of the leaf node in the Merkle tree, i.e. the first leaf node. For example, in the package 2 n In a full binary tree of leaf nodes, the bit sequence numbers of the leaf nodes are i =0,1,2, … and 2 in sequence n -1. Specifically, the relationship between the bit sequence number of a leaf node and its traceback path is: the leaf node point sequence number is converted into a binary system, then the positions are arranged in a reverse order from right to left, starting from a first hash factor (the leaf node per se), after a new hash factor is arranged after 0 and before 1, and finally the root node of the Merkle tree is traced back through multiple hash iterations. The sequence of hash factors thus obtained is the trace-back path of the leaf node.
As shown in fig. 3, in the accounting block chain structure diagram, an embedded system account tree is a full binary tree including 16 leaf nodes, and it takes 4 times (log) for the leaf nodes to trace back to the ROOT node ROOT of the system account tree 2 16 Hash iteration. Wherein r is i Is not only the ith leaf node of the system branch account tree, but also the root node root of the individual branch account tree with the bit sequence number i (i =0.. 15) i . Let x be j (j =1.. 4) is r i 4 Path nodes in the backtracking procedure, albeit x j The number of (c) is variable but for the same bit number i, each x j Is fixed in a front-rear position, i.e. r i Is constant.
Thus, when r is given 2 For example, 2= (0010) 2 Then the corresponding hash sequence is (x) 2 r 2 x 1 x 3 x 4 ) I.e. by leaf node r 2 The hash iteration sequence back to the ROOT is:
ROOT=hash(hash(hash(x 2 |hash(r 2 |x 1 ))|x 3 )|x 4 ) Abbreviated ROOT = hash (x) 2 r 2 x 1 x 3 x 4 )。
If with r 11 For example, 11= (1011) 2 Then the corresponding hash sequence is (x) 4 x 2 x 1 r 11 x 3 ) I.e. made ofLeaf node r 11 The hash iteration sequence back to the ROOT is:
ROOT=hash(x 4 |hash(hash(x 2 |hash(x 1 |r 11 )) |x 3 ) Abbreviated ROOT = hash (x) 4 x 2 x 1 r 11 x 3 )。
It should be noted that the subsequent growth of the system account tree does not affect the original account leaf node r i Relative to previous x j The order of (a). That is, as time increases, the bank scale is enlarged, more accounts are created, the system account splitting tree is expanded to the right, but the hash sequence before expansion is not affected, and the new backtracking path only needs to place the new hash factor on the right side of the current hash sequence. Also with r 2 And r 11 For example, when the SLT is extended from 16 nodes to 32 nodes in fig. 3, 2= (00010) 2 ,r 2 The corresponding hash sequence is (x) 2 r 2 x 1 x 3 x 4 x 5 );11=(01011) 2 ,r 11 The corresponding hash sequence is (x) 4 x 2 x 1 r 11 x 3 x 5 )。
The root nodes of all individual account-dividing trees in the system account-dividing tree are provided with fixed bit sequence numbers, and the bit sequence numbers are directly coded and written into account numbers of depositors according to coding modes of basic information such as personal address codes, birthdays and the like in the citizen identification cards, and account number information is disclosed to all persons. Therefore, the account number of the transaction opposite side is known by the account transfer person, the leaf node position serial number of the ROOT node ROOT of the individual account-dividing tree CLT of the transaction opposite side in the SLT is also known, and the backtracking path from the ROOT hash iteration to the SLT _ ROOT is also known by the account transfer person. Therefore, the possibility that the bank uses the data advantage to write the 'single account', namely the possibility that other leaf nodes pretend to be real transaction partners can be effectively prevented.
As shown in fig. 4, the transfer examination method based on the Merkle tree backtracking location technology includes general account examination and branch account examination;
(1) The general ledger inspection is used for verifying the existence of the transaction, namely whether the transaction is really happened or not is inspected in the system general ledger tree GLT of the corresponding block according to the transaction time;
(2) The ledger check is used to verify the transfer authenticity, i.e. to check the latest system ledger tree SLT, whether the transaction is likewise faithfully recorded in the individual ledgers of the person and the counterparty of the transaction.
The inspection method includes the steps of:
s11, the client selects a trading leaf node on the individual account tree of the client as a to-be-inspected trade, and sends a corresponding trading hash value as an inspection request to the center end;
and S12, the client side executes general account checking and account checking.
The general ledger examination specifically comprises: the client side verifies the correctness of a Merkle path from a designated transaction hash value to a system general ledger tree ROOT node GLT _ ROOT of a block head chain in a block corresponding to a transaction to be checked, which is returned by the center side, through hash iteration;
the checking of the account accounts is specifically as follows:
s121, the client side verifies the correctness of two Merkle paths through Hash iteration according to Merkle paths returned by the center side from the ROOT value of the individual account book tree of the client side to the ROOT node SLT _ ROOT of the system account book tree and Merkle paths from the ROOT value of the individual account book tree of the transaction opposite side to the ROOT node SLT _ ROOT of the system account book tree in the latest block;
s122, according to the two Merkle paths in the step S121, the client side applies a Merkle tree backtracking positioning technology to respectively calculate leaf node position serial numbers of the client side and the transaction opposite side in the system account-splitting tree, and compares whether the two bit sequence numbers are respectively consistent with the bit sequence number codes in respective account numbers;
and S123, the client side verifies the correctness of the path through hash iteration according to the Merkle path from the designated transaction hash value to the individual account ledger tree root value of the transaction opposite side returned by the center side.
Before transaction inquiry is carried out on the general account check and the branch account check, data synchronization and data verification need to be carried out.
The data synchronization comprises synchronization of a block head chain and synchronization of individual account accounts, and specifically comprises the following steps: the client sends a data updating request to the central terminal, wherein the updating request comprises the maximum block number of a local block head chain of the client and the hash value of the last transaction leaf node on the local CLT; and then receiving all new blocks returned by the central end after the maximum block number, and the hash value and the latest root value root of all latest transactions of the CLT after the local last transaction leaf node.
The data verification specifically comprises the following steps:
(1) The client side takes the hash value of the last block of the block head chain before synchronization as a starting point and the hash value of the last block after synchronization as an end point, and verifies the continuity of the block head chain data through hash iteration;
(2) And the client side takes the nearest quasi-root node before synchronization as a starting point and takes the CLT root value root after synchronization as an end point, and verifies the continuity of the CLT data through Hash calculation.
The invention has the beneficial effects that:
(1) Data transparency and execution efficiency are considered: through the write-check separation of data, the high-efficiency centralized bookkeeping of the bank is realized, the depositor disperses a brand new mode of democratic supervision, the data is locked through a collaborative supervision mechanism of a sub-family account tree, the public credibility of the bank is greatly improved, and the role of the bank is changed into a supervised intermediary by a traditional manager;
(2) Privacy protection and fund supervision are considered: irrelevant personnel cannot acquire transaction records and account information of other depositors and cannot acquire integral commercial information of the bank, and meanwhile, the characteristics of centralization and non-falsification of data storage are convenient for an auditing agency to supervise and audit the bank;
(3) The system is easy to modify, and the implementation cost is low: without additionally creating a public chain or issuing new digital currency, the bank can realize the characteristic business and functions of a plurality of virtual currencies while keeping the central position of the system only by introducing an asymmetric encryption account management technology and carrying out block chain type storage transformation on account data.
It should be noted that, for simplicity of description, the above-mentioned embodiments of the method are described as a series of acts or combinations, but those skilled in the art should understand that the present application is not limited by the order of acts described, as some steps may be performed in other orders or simultaneously according to the present application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and elements referred to are not necessarily required in this application.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a ROM, a RAM, etc.
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiment, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims (14)

1. A transfer checking method based on Merkle tree backtracking positioning technology is characterized in that: the checking comprises general account checking and account checking; the general account check is used for verifying the existence of transaction, and the branch account check is used for verifying the authenticity of transfer;
the inspection method includes the steps of:
s11, the client selects a trading leaf node on the individual account tree of the client as a to-be-inspected trade, and sends a corresponding trading hash value as an inspection request to the center end; the system account-dividing tree is a Merkle tree formed by gathering root nodes of all the individual account-dividing trees, each leaf node corresponds to the root node of the individual account-dividing tree of a single depositor, and the corresponding relationship between the leaf node of the system account-dividing tree and the root node of the individual account-dividing tree is unchanged; the position sequence of each leaf node of the system account-splitting tree in the Merkle tree is arranged by adopting a bit sequence number; the system general ledger tree is used for storing all current transaction information of all depositors, each leaf node of the system general ledger tree corresponds to a hash value of a specific transaction of the current period, all leaf nodes are arranged according to the sequence of transaction time, and all transaction information of the current period is locked by a root node of the system general ledger tree;
s12, the client side executes general account checking and account checking; the general ledger examination specifically comprises: the client side verifies the correctness of a path from a designated transaction hash value to a Merkle path of a system general ledger root node of a block head chain of the client side through hash iteration in a block corresponding to a transaction to be checked, wherein the block is returned by the center side;
the checking of the account accounts is specifically as follows:
s121, the client side verifies the correctness of two Merkle paths through Hash iteration from the root value of the individual account book tree of the client side to the root node of the system account book tree and from the root value of the individual account book tree of the transaction counterpart to the root node of the system account book tree in the latest block according to the Merkle paths returned by the center side;
s122, according to the two Merkle paths in the step S121, the client side applies a Merkle tree backtracking positioning technology to respectively calculate leaf node position serial numbers of the client side and the transaction opposite side in the system account-splitting tree, and compares whether the two bit sequence numbers are respectively consistent with the bit sequence number codes in respective account numbers;
and S123, the client side iteratively verifies the correctness of the path through hashing according to the Merkle path from the specified transaction hash value to the individual account-dividing tree root value of the transaction opposite side returned by the center side.
2. A transfer examination method based on Merkle tree backtracking location technology as recited in claim 1, wherein: before the general account examination and the branch account examination carry out transaction inquiry, data synchronization and data verification need to be carried out firstly.
3. A transfer examination method based on Merkle tree backtracking location technology as recited in claim 2, wherein: the data synchronization comprises synchronization of a block head chain and synchronization of individual account accounts, and the specific process comprises the following steps: the client sends a data updating request to the central terminal, wherein the updating request comprises the maximum block number of a local block head chain of the client and the hash value of the last transaction leaf node on a local individual account tree; and then receiving all new blocks returned by the central terminal after the maximum block number and all latest transaction hash values and latest root values of the individual account trees after the local last transaction leaf node.
4. A transfer verification method based on Merkle tree traceback location technique as recited in claim 2 wherein: the data verification process comprises the following steps:
(1) The client side takes the hash value of the last block of the block head chain before synchronization as a starting point and the hash value of the last block after synchronization as an end point, and verifies the continuity of the block head chain data through hash iteration;
(2) And the client side takes the nearest quasi-root node before synchronization as a starting point and takes the root value of the synchronized individual account-based account tree as an end point, and verifies the continuity of the individual account-based account tree data through Hash calculation.
5. A transfer system based on the Merkle tree backtracking positioning technology is used for realizing the transfer checking method based on the Merkle tree backtracking positioning technology in any claim 1~4, and is characterized in that: the system comprises a central terminal and a client terminal; a central storage module is arranged in the central end; the central storage module comprises a central database and a block chain; the central database is used for storing complete transaction records; the block chain is formed by Hash iteration of a plurality of blocks which are connected in sequence according to the time sequence of the time slices; the block comprises a block head and a block body; the block head is used for storing a root value of a system general ledger tree, a root value of a system account-dividing ledger tree and a block head hashed value of a father block of the block; the block body is used for storing the transaction details of the block; a local storage module is arranged in the client; the local storage module comprises a local database and a block head chain; the local database is used for storing individual account-based account trees; the block header chain is a data chain formed by all the block headers.
6. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: the individual account-dividing tree is a multi-stage extensible Merkle tree which grows reversely and is used for storing all historical transaction information of individual depositors.
7. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: each leaf node of the Merkle tree is unique in a backtracking path backtracking to a root node through hash iteration.
8. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: the backtracking path is an arrangement sequence of hash factors in the process that the Merkle leaf nodes are backtracked to the Merkle root nodes through multi-round hash iteration.
9. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: subsequent growth of the system account splitting tree does not affect the order of the original account leaf nodes relative to the previous path nodes.
10. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: the time slices are equal time periods which periodically divide the transaction time.
11. A transfer system based on Merkle tree traceback location technology as recited in claim 5, wherein: the client and the center are both provided with respective private keys and public keys, and identity authentication is carried out through digital signatures.
12. A transfer transaction method based on the Merkle tree backtracking positioning technology is realized by adopting the transfer system based on the Merkle tree backtracking positioning technology of claim 5, and is characterized in that: comprises the following transfer transaction steps:
s31, the depositor A transfers accounts to the depositor B by sending account transfer request information to the bank center;
s32, the bank center generates transfer information and returns the transfer information to the account holder A;
and S33, the bank center sends the transfer result information to the depositor B.
13. A transfer transaction method based on Merkle tree traceback location technology as recited in claim 12 wherein:
the transfer request information includes: the account number and the transfer amount of the depositor A, the request time, the remark information and the private key of the depositor A digitally sign the transaction;
the transfer information includes: transfer request information, accounting time, account balance of the depositor A after the transaction is finished, individual account-dividing account tree root nodes of the depositor A and a private key of a bank center digitally sign the transaction;
the transfer result information includes: the transfer request information, the accounting time, the account balance of the depositor B after the transaction is finished, the root node of the individual account-dividing account tree of the depositor B and the private key of the bank center digitally sign the transaction.
14. A transfer transaction method based on Merkle tree traceback location technology as recited in claim 12 wherein: and synchronously updating data of the system general account tree, the system individual account tree and the individual account tree as the transfer transaction occurs.
CN201910133066.0A 2019-02-22 2019-02-22 Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology Active CN109919756B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910133066.0A CN109919756B (en) 2019-02-22 2019-02-22 Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910133066.0A CN109919756B (en) 2019-02-22 2019-02-22 Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology

Publications (2)

Publication Number Publication Date
CN109919756A CN109919756A (en) 2019-06-21
CN109919756B true CN109919756B (en) 2023-04-18

Family

ID=66961876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910133066.0A Active CN109919756B (en) 2019-02-22 2019-02-22 Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology

Country Status (1)

Country Link
CN (1) CN109919756B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789222B2 (en) 2019-06-28 2020-09-29 Alibaba Group Holding Limited Blockchain-based hierarchical data storage
CN110334154B (en) * 2019-06-28 2020-07-21 阿里巴巴集团控股有限公司 Block chain based hierarchical storage method and device and electronic equipment
US11036720B2 (en) 2019-06-28 2021-06-15 Advanced New Technologies Co., Ltd. Blockchain-based hierarchical data storage
US10761948B1 (en) 2019-07-13 2020-09-01 Alibaba Group Holding Limited Method, apparatus, and electronic device for restoring state data of blockchain
CN110471795B (en) * 2019-07-31 2020-10-02 阿里巴巴集团控股有限公司 Block chain state data recovery method and device and electronic equipment
CN112887421B (en) * 2019-07-31 2023-07-18 创新先进技术有限公司 Block chain state data synchronization method and device and electronic equipment
CN110688377B (en) * 2019-08-30 2020-07-17 阿里巴巴集团控股有限公司 Method and device for updating state Merck tree
US10992459B2 (en) 2019-08-30 2021-04-27 Advanced New Technologies Co., Ltd. Updating a state Merkle tree
CN111008836B (en) * 2019-11-15 2023-09-05 哈尔滨工业大学(深圳) Privacy security transfer payment method, device, system and storage medium
CN112463857B (en) * 2020-03-27 2023-07-25 谭凌 Data processing method and system for supporting backtracking data query based on relational database
CN111488606B (en) * 2020-04-08 2021-04-27 北京瑞策科技有限公司 Data sharing method and device based on service data block chain
CN111640018B (en) * 2020-05-06 2021-08-03 深圳前海微众银行股份有限公司 Block chain transaction existence verification method and device
CN112148787B (en) * 2020-08-10 2023-09-12 山西特信环宇信息技术有限公司 Cone block, cone block chain structure and method
CN112286963B (en) * 2020-11-17 2023-05-26 北京物资学院 Block chain terminal data credible query system and implementation method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302720A (en) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 A kind of for block chain Survivable storage system and method
CN107248074A (en) * 2017-03-29 2017-10-13 阿里巴巴集团控股有限公司 A kind of method for processing business and equipment based on block chain
CN107705113A (en) * 2017-09-06 2018-02-16 浙江大学 A kind of cross-border inter-bank method of payment of block chain based on Baas frameworks and system
CN109033841A (en) * 2018-07-12 2018-12-18 杨城 It is a kind of to write the weak center's trusted data storage system and management method for testing separation
CN109347651A (en) * 2018-08-27 2019-02-15 西安电子科技大学 The method and system of block catenary system modeling and security verification based on MSVL

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302720A (en) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 A kind of for block chain Survivable storage system and method
CN107248074A (en) * 2017-03-29 2017-10-13 阿里巴巴集团控股有限公司 A kind of method for processing business and equipment based on block chain
CN107705113A (en) * 2017-09-06 2018-02-16 浙江大学 A kind of cross-border inter-bank method of payment of block chain based on Baas frameworks and system
CN109033841A (en) * 2018-07-12 2018-12-18 杨城 It is a kind of to write the weak center's trusted data storage system and management method for testing separation
CN109347651A (en) * 2018-08-27 2019-02-15 西安电子科技大学 The method and system of block catenary system modeling and security verification based on MSVL

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
信息质量视角下区块链技术在企业会计领域的应用探析;王刚等;《财务与会计》;20190120(第02期);第2节 *
面向会计信任危机的区块链技术简析;牟佳琳等;《中国管理信息化》;20171001(第19期);全文 *

Also Published As

Publication number Publication date
CN109919756A (en) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109919756B (en) Transfer system, checking method and transaction method based on Merkle tree backtracking positioning technology
CN108009917B (en) Transaction verification and registration method and system for digital currency
US10447480B2 (en) Event verification receipt system and methods
Mohammed et al. Hyperledger, Ethereum and blockchain technology: a short overview
CN107769925A (en) Public key infrastructure system and its certificate management method based on block chain
CN109033841B (en) Write-check separated weakly centralized trusted data storage system and management method
KR20190093012A (en) The method for block generation and validation in block-chain system
CN110009340A (en) Card method and apparatus are deposited based on block chain
CN110046894A (en) A kind of restructural block chain method for building up of grouping based on correcting and eleting codes
CN110730963A (en) System and method for information protection
KR20200105999A (en) System and method for generating digital marks
CN108009445A (en) A kind of trust data management system of half centralization
CN113781073B (en) Subsidizing method capable of hiding real names based on matrix alliance chain
CN109447807A (en) The weak center's trust data management system and method for the total score double-strand of digital bank
CN110930152B (en) Data processing method based on block chain and related equipment
CN112801778A (en) Federated bad asset blockchain
Jain et al. A blockchain-based distributed network for secure credit scoring
EP3818481A1 (en) Encrypted blockchain voting system
Swati et al. Application of blockchain technology in travel industry
Dogo et al. Blockchain 3.0: Towards a secure ballotcoin democracy through a digitized public ledger in developing countries
KR102376783B1 (en) The blockchain-based transaction history confirmation system
CN110413697B (en) Public welfare data storage method and system based on block chain
CN111090842A (en) Supply chain financial customer loan information protection method based on zero knowledge certification
CN111881479A (en) Anti-money laundering list sharing system and method based on block chain
CN114169888B (en) Universal type cryptocurrency custody method supporting multiple signatures

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