WO2020073246A1 - Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage - Google Patents

Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage Download PDF

Info

Publication number
WO2020073246A1
WO2020073246A1 PCT/CN2018/109701 CN2018109701W WO2020073246A1 WO 2020073246 A1 WO2020073246 A1 WO 2020073246A1 CN 2018109701 W CN2018109701 W CN 2018109701W WO 2020073246 A1 WO2020073246 A1 WO 2020073246A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
blockchain
block header
account group
node
Prior art date
Application number
PCT/CN2018/109701
Other languages
English (en)
Chinese (zh)
Inventor
王成
Original Assignee
王成
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 王成 filed Critical 王成
Priority to CN201880017223.5A priority Critical patent/CN110692078B/zh
Priority to PCT/CN2018/109701 priority patent/WO2020073246A1/fr
Publication of WO2020073246A1 publication Critical patent/WO2020073246A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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

Definitions

  • the present invention relates to the field of blockchain technology, and in particular to a blockchain-based transaction data processing method, device, and storage medium.
  • the classic blockchain technology is a decentralized public ledger technology.
  • a blockchain is generally composed of infinitely ordered transaction blocks arranged in time. Blockchain technology ensures that the ledger does not have double spending issues, the ledger cannot be changed, and all nodes in the network can reach a consensus and have a common ledger.
  • the invention provides a transaction data processing method, equipment and storage medium based on a blockchain to improve the transaction speed per unit time of the blockchain system.
  • the present invention provides a blockchain-based transaction data processing method, including:
  • the method is applied to a first node.
  • the first node is a node corresponding to a first account group in a blockchain network.
  • the blockchain network includes G account groups and G ⁇ G blockchains.
  • One account group to another any of the account groups corresponds to a blockchain, the first account group is any account group in the blockchain network, and G is an integer greater than 1;
  • Methods include:
  • the first node receives first transaction information; the first transaction information is formed by a transaction between accounts in the first account group to a second account group; the second account group is the block Any account group in the chain network;
  • the first node generates a first block based on the first transaction information, and adds the first block to the first blockchain; the first blockchain sets the first account group to The blockchain corresponding to the second account group.
  • an electronic device including:
  • a memory for storing executable instructions of the processor
  • the processor is configured to execute the method of any one of the first aspects via execution of the executable instructions.
  • an embodiment of the present invention provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the method according to any one of the first aspect is implemented.
  • the first node receives first transaction information; the first transaction information is from the first account group to the second account group The transaction between the accounts is formed; the first account group and the second account group are any account groups in the blockchain network; the first node generates a first block based on the first transaction information, and converts The first block is added to the first blockchain; the first block is the block corresponding to the first account group to the second account group.
  • the first node is the first The node corresponding to the account group, the first node only needs to save the historical transactions related to it, and only needs to save all the transaction information related to the first account group to know the balance of all accounts in the first account group, that is, only need to save The blocks of the blockchain related to the first account group, and different blockchains can be traded in parallel. Under the condition of limited network capacity, the transaction time per unit time of the blockchain system is increased.
  • FIG. 1 is a schematic flowchart of an embodiment of a transaction data processing method based on blockchain provided by the present invention
  • FIG. 2 is a block diagram of an embodiment of a transaction data processing method based on blockchain provided by the present invention
  • FIG. 3 is a block flow diagram of an embodiment of a transaction data processing method based on blockchain provided by the present invention.
  • FIG. 4 is a block diagram of another embodiment of a blockchain-based transaction data processing method provided by the present invention.
  • FIG. 5 is a schematic diagram of an embodiment of an electronic device provided by the present invention.
  • the transaction data processing method based on the blockchain provided in the embodiments of the present invention is applied to a blockchain network, which corresponds to a scalable decentralized cryptocurrency system.
  • the blockchain network includes multiple nodes, G account groups and G ⁇ G blockchains. Any account group corresponds to at least one node, and any blockchain is an account from one account group to another account group.
  • the blocks generated by the transaction between are linked.
  • the above two account groups can be the same or different, and they are any of the G account groups, and G is an integer greater than 1.
  • the nodes corresponding to each account group only need to save 2G-1 block chain blocks, and for other chains only need to save the block header of the block.
  • FIG. 1 is a schematic flowchart of an embodiment of a transaction data processing method based on a blockchain provided by the present invention.
  • the execution subject of this embodiment is a first node, which is a node corresponding to a first account group in the blockchain network, and the first account group is any account group in the blockchain network.
  • the method provided in this embodiment includes:
  • Step 101 The first node receives first transaction information; the first transaction information is formed by a transaction between the accounts of the first account group and the second account group; the second account group is the area Any account group in the blockchain network.
  • Step 102 The first node generates a first block according to the first transaction information and adds the first block to the first blockchain; the first blockchain is the first account group To the blockchain corresponding to the second account group.
  • the method in the embodiment of the present invention may first define the number of account groups, for example, G account groups, and a hash algorithm may be used to divide the account addresses corresponding to the accounts into corresponding account groups. For example, modulo the hash of the account address and G can obtain the account group corresponding to the account.
  • the blocks generated by transactions between accounts from one account group to another account group form a blockchain, with a total of G ⁇ G chains.
  • UTXO Unspent Transaction Output
  • every two account groups correspond to a blockchain (the relationship between the two account groups is an orderly account group pair, that is, from one account group to another account group corresponds to a blockchain, the two Account groups can be the same account group), the input in each block of this blockchain comes from the same account group UTXO, the account group UTXO comes from all accounts to this account group transaction .
  • the node corresponding to each account group only needs to save all the input and output transactions related to this account group to know the balance of all accounts in the account group, so the node corresponding to each account group only needs to save some historical transaction records, that is Only need to save the block of the blockchain related to the account group.
  • the related blockchain includes any other account group to the corresponding blockchain of the account group, and the account group to any other account group (can be removed This account group) corresponds to the blockchain, that is, 2G-1 blockchains.
  • the account balance in account group A depends on 2G-1 blockchains, that is, G blockchains corresponding to transactions from all account groups to account group A, and transactions from account group A to all account groups except account group A Corresponding G-1 blockchain.
  • G 2 that is, there are two account groups, denoted as account group 0 and account group 1.
  • the chain L (0,0) represents the blockchain corresponding to account group 0 to account group 0.
  • L (0,1) represents the blockchain corresponding to account group 0 to account group 1
  • chain L (1,0) represents the blockchain corresponding to account group 1 to account group 0
  • chain L (1,1) represents the account Blockchain corresponding to Group 1 to Account Group 1.
  • the height 2 block is generated later than the height 1 block.
  • the blockchain network has only G ⁇ G initial blocks, that is, each blockchain has an initial block.
  • the accounts in the blockchain network begin to form their own transactions and broadcast to the blockchain network.
  • the nodes in the blockchain network package the transaction information into blocks on different blockchains according to the input account group and output account group of the transaction. Assuming that the transaction is a transaction between accounts in account group A and account group B, the input account group is account group A, and the output account group is account group B. These blocks are eventually broadcast to the entire blockchain network, and the nodes in the blockchain network will verify and then choose to receive new blocks or reject blocks that do not meet the protocol rules.
  • the first node selects the blockchain corresponding to the first account group to the second account group (that is, the first blockchain) for mining.
  • the first node packages the transaction information that has not been added to the first blockchain, namely the first
  • the node receives the first transaction information, which is formed by the transaction between the accounts of the first account group and the second account group.
  • the first node generates a first block based on the first transaction information, and adds the first block to the first blockchain.
  • the method further includes:
  • the first node broadcasts the block header of the first block to all nodes in the blockchain network, and broadcasts the block body of the first block to the first account group or The node corresponding to the second account group, so that other nodes in the blockchain network can verify the received block header and / or block body of the first block.
  • the first node may broadcast the first block to other nodes in the blockchain network, and may specifically broadcast the first block to the first account group or the second
  • the node corresponding to the account group for example, can split the block header and block body of the first block and broadcast it to the node corresponding to the first account group or the second account group, or the block head and block body as a whole
  • the block header may be broadcast before the block body, or the block header and the block body may be broadcast at the same time, which is not limited in the present invention.
  • block header of the first block may also be broadcast to other nodes, that is, nodes that are not corresponding to the first account group and the second account group.
  • the first node receives the first transaction information; the first transaction information is formed by transactions between the accounts of the first account group to the second account group; the first account group and the second The account group is any account group in the blockchain network; the first node generates a first block based on the first transaction information, and adds the first block to the first blockchain; The first blockchain is the blockchain corresponding to the first account group to the second account group.
  • the first node is the node corresponding to the first account group, and the first node only needs to save its related Of historical transactions, you only need to save all transaction information related to the first account group to know the balance of all accounts in the first account group, that is, only need to save the block of the blockchain related to the first account group, At the same time, different blockchains can be traded in parallel. In the case of limited network capacity, the transaction speed of the blockchain system per unit time is increased.
  • step 102 further includes:
  • the first node obtains the hash value of the block header that the first block depends on;
  • the block header that the first block depends on is a block header that can determine all the blockchains in the blockchain network;
  • step 102 can be implemented in the following manner:
  • the first node generates a first block based on the first transaction information and the hash value of the block header that the first block depends on.
  • the block between the blockchain and the blockchain in the embodiment of the present invention is closely dependent, and each new block will depend on multiple blockchains, so it must include multiple previously generated
  • the hash of the block header that is, the generated first block contains the hash value of the block header of multiple dependent blockchains.
  • the block headers of all blockchains in the blockchain network can be determined, that is, through the dependent block headers, all blockchains in the entire blockchain network can be determined.
  • the first node generates the first block based on the received first transaction information and the hash value of the block header that the first block depends on.
  • the latest block header may be the block header with the most determined blocks or the block header with the latest creation time, which is not limited in this embodiment of the present invention.
  • the first blockchain is L (i, j); the i and j are integers greater than or equal to 0 and less than or equal to G-1, respectively.
  • i represents a first account group
  • j represents a second account group
  • the first node obtains the hash value of the block header that the first block depends on, including:
  • the first node selects an initial block header from the verified block headers according to the first preset condition
  • the first node selects an up-to-date second block header B (i, m) from the G blockchains L (i, m), so that the second block header B (i, m) determines
  • the latest block header of each blockchain is compatible with the latest block header of the corresponding blockchain determined by the initial block header;
  • the value of m is an integer from 0 to G-1;
  • m represents any account group in the blockchain network;
  • the first node selects the latest third block header B (k, l_k) from the G blockchains L (k, l_k), so that the third block header B (k, l_k)
  • the latest block header of each block chain determined is compatible with the latest block header of the corresponding block chain determined by the initial block header;
  • the value range of k is an integer from 0 to G-1 ,
  • k is not equal to i, the value range of l_k is an integer from 0 to G-1;
  • the k represents any account group in the blockchain network except the first account group, the l_k represents any account group in the blockchain network;
  • the first node uses the initial block header, the second block header, and the third block header as the block header that the first block depends on, and calculates the block header that the first block depends on Hash value.
  • the first node selects the block header that the first block depends on. First, it can obtain a verified block header as the initial block header and add it to the block header that the first block depends on.
  • the initial block header may be a block header that satisfies the first preset condition, and the first preset condition may be the maximum number of blocks determined based on the initial block header, or determined based on the initial block header
  • the total block difficulty is the highest, which is not limited in the embodiment of the present invention.
  • the latest fourth block header Z (r, s) of the blockchain L (r, s) is determined according to the initial block header; where r and s are respectively An integer greater than or equal to 0 and less than or equal to G-1;
  • the blockchain L (r, s) is any blockchain in the blockchain network.
  • the first node selects from L (i, 0), L (i, 1), ..., L (i, G-1), among the G blockchains L (i, m) choose a newest second block header B (i, m), so that the latest block header and the initial block header of each blockchain determined by the second block header B (i, m) are determined
  • L (i, 0), L (i, 1), ..., L (i, G-1), among the G blockchains L (i, m) choose a newest second block header B (i, m), so that the latest block header and the initial block header of each blockchain determined by the second block header B (i, m) are determined
  • the latest block header corresponding to the corresponding blockchain is compatible.
  • Step a The first node selects a newest second block header B (i, m) from the blockchain L (i, m), so that the second block header B (i, m) determines the The latest fifth block header Z '(r, s) of the blockchain L (r, s) and the fourth block header Z (r, s) are the same in the blockchain L (r, s) On a fork, and if the fifth block header Z '(r, s) is newer than the fourth block header Z (r, s), then the latest of the blockchain L (r, s) The fourth block header Z (r, s) is updated to the fifth block header Z '(r, s);
  • the old and new here refers to the old and new in time, that is, the later the time generated on the same blockchain, the new
  • Add one to m, and repeat step a that is, first select the latest second block header B (i, 1) from L (i, 1), so that the second block header B (i, 1) determines
  • the latest fifth block header Z '(r, s) and fourth block header Z (r, s) of the blockchain L (r, s) are on the same fork of the blockchain L (r, s), If the fifth block header Z '(r, s) is newer than the fourth block header Z (r, s) (in this case, the fourth block header may be an updated block header), then the blockchain L (r, s)
  • the latest fourth block header Z (r, s) is updated to the fifth block header Z '(r, s), if the fifth block header Z' (r, s) is higher than the fourth block header Z (r, s) Old, then the latest fourth block header Z (r, s) of the blockchain L (r, s) remains unchanged.
  • Increase m by one and repeat step a until
  • the first node starts from L (k, 0), L (k, 1), ..., L (k, G-1), and these G blockchains L (k , l_k) select the latest third block header B (k, l_k), so that the third block header B (k, l_k) determines the latest block header of each blockchain and the initial area
  • the block header determines the latest block header compatible with the corresponding blockchain.
  • the first node selects the latest third block header B (k, l_k) from the G blockchains L (k, l_k), which can be implemented in the following manner:
  • Step b The first node selects the latest third block header B (k, l_k) from the blockchain L (k, l_k), so that the third block header B (k, l_k) determines the The latest sixth block header Z ′′ (r, s) of the blockchain L (r, s) and the fourth block header Z (r, s) are on the same blockchain L (r, s), And if the sixth block header Z ′′ (r, s) is newer than the fourth block header Z (r, s), then the latest fourth block header of the blockchain L (r, s) Z (r, s) is updated to the sixth block header Z ′′ (r, s);
  • the G blockchains L ( 0, l_k) selects the latest third block header B (0, l_k), so that the third block header B (0, l_k) determines the latest sixth of the blockchain L (r, s) Block header Z ′′ (r, s) and the fourth block header Z (r, s) (the fourth block header at this time may have been updated in step a) in the blockchain L (r, s)
  • the blockchain L (r, s) The latest fourth block header Z (r, s) is updated to the sixth block header Z ′′ (r, s), if the sixth block header Z ′′ (r, s) is higher than the fourth block header Z (r, s ) Old, then
  • the block where the initial block header is located is block L (p, q), if i is equal to p, then m is not equal to q;
  • an optimized solution is to select 2G-1 block headers that the first block depends on, that is, in G
  • the block where the original block header is located is removed, that is, if the block where the initial block header is located Is blockchain L (p, q), when i is equal to p, m is not equal to q, further, if L (i, m) does not include blockchain L (p, q), then for different k
  • the first node selects the latest third block header B (k, l_k) from the G block chains L (k, l_k)
  • the block where the initial block header is located is removed, that is, k does not Is equal to p, that is, the block header is not selected from the G blockchains of L (p, l_k).
  • the hash value of the block header that the first block depends on is placed in the block header of the first block to determine the status of all blockchains in the blockchain network.
  • step 102 the following operations may also be performed:
  • the first node determines whether the transaction input corresponding to the first transaction information is from the account of the third account group to the first account group according to the blockchain corresponding to the first account group from the third account group The transaction output corresponding to the transaction between;
  • the first node verifies the transaction output according to the blockchain corresponding to the first account group to the fourth account group.
  • Use of transactions between; the third account group and the fourth account group are respectively any account group in the blockchain network;
  • the received first transaction information is valid, that is, whether the transaction corresponding to the first transaction information is valid.
  • each block of the block chain in the block chain network can be determined, thereby determining all historical transactions, that is, determining a ledger.
  • the transaction information included in the block in the blockchain corresponding to the first account group to any account group verify whether the transaction output is not used by the transaction between the accounts of the first account group and other account groups, that is, the The transaction output is not consumed by other transactions.
  • the node corresponding to each account group only needs to save all input and output transactions related to this account group to know the balance of all accounts in the account group, so the node corresponding to each account group only needs to save some historical transaction records , That is, only the blocks of the blockchain related to the account group need to be saved.
  • the related blockchain includes any other account group to the corresponding blockchain of the account group, and the account group to any other account group ( The corresponding blockchain of the account group can be removed, that is, 2G-1 blockchains. For the blockchain that is not related to the account group, only the block header needs to be saved.
  • the first node generates the first block according to the first transaction information and the hash value of the block header that the first block depends on, which may be specifically implemented as follows:
  • the first node determines the random number by using the proof-of-work algorithm according to the second preset condition
  • the first node generates the block header of the first block according to the preset block header data structure according to the hash value of the block header that the first block depends on and the random number;
  • the first node generates the block body of the first block according to the preset data structure of the block body of the valid first transaction information
  • the first node combines the block header and the block body to form the first block.
  • the first block includes a block header and a block body.
  • the block header of the first block further includes: the hash value of the previous block in the first block chain, the first area The hash value and time stamp of the block body of the block.
  • the first node when generating the first block, the first node needs to find a random number through a proof-of-work algorithm, and the random number satisfies the second preset condition. For example, the hash value of the block generated by the random number satisfies certain conditions, such as less than a preset threshold.
  • the hash value of the main body (ie, payload) and other information constitute the block header of the first block.
  • the validated first transaction information is used to generate the block body of the first block, and then the block header and block body are generated into the final first block.
  • the block header can also include the following information: description information (such as: version information, payload size, hash of all dependent block header hashes, the hash value of the root node of the transaction Merkle tree, the target value of the proof of work algorithm, etc. ).
  • description information such as: version information, payload size, hash of all dependent block header hashes, the hash value of the root node of the transaction Merkle tree, the target value of the proof of work algorithm, etc. ).
  • the block body (that is, the payload) can also include any other data that can be stored.
  • the above hash can be calculated by any hash function, including MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512 / 224, SHA-512 / 256, SHA- 3 etc.
  • the first block of the first blockchain is related to 2G-1 blockchains, that is, all account groups G blockchains corresponding to transactions in the first account group, G-1 blockchains corresponding to transactions in all account groups except the first account group, so according to the
  • the transaction information of the account group that is, the blockchain related to the first blockchain, can determine whether the first transaction information is valid.
  • the method in this embodiment further includes:
  • the first node receives a block body on the second blockchain sent by a node corresponding to the fifth account group, the block body includes: second transaction information associated with the first account group; the second The blockchain is the blockchain corresponding to the first account group from the fifth account group; the second transaction information is formed by the transaction between the accounts of the fifth account group and the first account group ;
  • the first node verifies whether the data format of the block body is correct
  • the block body is added to the second block chain stored by the first node.
  • the first node receives the block body sent by other nodes, for example, the block body on the second block chain sent by the node corresponding to the fifth account group.
  • the block body includes second transaction information related to the first account group, and the second transaction information is formed by transactions between the fifth account group and the accounts of the first account group.
  • the second blockchain is the corresponding blockchain from the fifth account group to the first account group.
  • the first node verifies whether the data format of the block is correct; if it is correct, add In the second blockchain stored by the first node, the block body is forwarded to the nodes corresponding to the fifth account group and the first account group in the P2P network, and then the block header is forwarded to other nodes in the blockchain network. All nodes; if it is incorrect, the block is discarded without any processing.
  • the method of this embodiment further includes:
  • the first node receives a block body on a third blockchain sent by a node corresponding to the first account group, the block body includes: third transaction information associated with the first account group; the third The blockchain is the blockchain corresponding to the first account group to the sixth account group; the third transaction information is formed by transactions between the accounts of the first account group to the sixth account group;
  • the first node verifies whether the third transaction information is valid
  • the block body is added to the third block chain stored by the first node.
  • the first node receives the block body sent by other nodes, for example, the block body on the third block chain sent by other nodes corresponding to the first account group.
  • the block body includes third transaction information related to the first account group, and the second transaction information is formed by transactions between the accounts of the first account group to the sixth account group.
  • the third blockchain is the blockchain corresponding to the first account group to the sixth account group.
  • the first node verifies that the data format of the block body is correct; if it is correct, and If the third transaction information is valid, it is added to the third blockchain stored by the first node, and the block body is forwarded to the nodes corresponding to the sixth account group and the first account group in the P2P network, and then the block header is forwarded Forward to all other nodes in the blockchain network to other nodes in the P2P network; if it is not correct, the block is discarded without any processing.
  • the first node verifies whether the third transaction information is valid, which may be specifically implemented as follows:
  • the first node determines whether the transaction input corresponding to the third transaction information is from the seventh account group to the first account group according to the blockchain corresponding to the first account group from the seventh account group The transaction output corresponding to the transaction between the accounts;
  • the first node verifies the transaction output according to the blockchain corresponding to the first account group to the eighth account group, and is not used by the transaction between the accounts of the first account group to the eighth account group ;
  • the seventh account group and the eighth account group are respectively any account group in the blockchain network;
  • the process of verifying whether the third transaction information is valid is similar to the process of verifying whether the first transaction information is valid in the foregoing embodiment, and details are not described here.
  • the method in this embodiment further includes:
  • the first node receives the block header in the fourth blockchain sent by the second node, the block header includes: a hash value of the latest block that the block header depends on; the fourth blockchain is a zone Any blockchain in the blockchain network;
  • the first node verifies whether the block dependency of the block header in the fourth block chain is reasonable
  • the block header is added to the fourth block chain stored by the first node.
  • the first node will also receive all the block headers of the blockchain, specifically the block headers in the fourth blockchain sent by the second node.
  • the second node may be a node corresponding to any account group in the blockchain network.
  • the fourth blockchain is any blockchain in the blockchain network.
  • the block header includes: the hash value of the latest block header that the block header depends on.
  • the first node needs to verify whether the block dependency of the block header is reasonable; if it is reasonable, the block header is added to the fourth block chain stored by the first node and forwarded to other nodes in the P2P network; if unreasonable, Discard this block header without doing anything.
  • the fourth blockchain is L (i1, j1)
  • the block header of the received fourth blockchain is L (i1, j1) is B (i1, j1)
  • the i1 j1 is an integer greater than or equal to 0 and less than or equal to G-1
  • the i1 and the j1 represent any account group in the blockchain network
  • the first node verifies the fourth block Whether the block dependency of the block header in the chain is reasonable can be achieved in the following ways:
  • Step c The first node determines the latest seventh block header Z (r1, s1) of any block chain L (r1, s1) according to the block header B (i1, j1); wherein, the r1 and s1 are integers greater than or equal to 0 and less than or equal to G-1;
  • Step d The first node determines the blockchain L (r1, according to the block header B i2 corresponding to the hash value of the i2th block header B i2 included in the block header B (i1, j1) s1) the latest eighth block header Z '(r1, s1);
  • Step e The first node determines whether the seventh block header Z (r1, s1) and the eighth block header Z '(r1, s1) are the same in the blockchain L (r, s) Bifurcation
  • the first node determines the latest seventh block header Z (r1, s1) of any blockchain L (r1, s1) according to the block header B (i1, j1), and then header B (i1, j1) includes a first header region B corresponding to the hash value of a header region B 1, determining that the block chains L (r1, s1) of the latest header eighth region Z '( r1, s1), determine whether the seventh block header Z (r1, s1) and the eighth block header Z '(r1, s1) are on the same fork of the blockchain L (r, s); Block header B 1 is reasonable. If the eighth block header Z '(r1, s1) is newer than the seventh block header Z (r1, s1), update the seventh block header Z (r1, s1) to the eighth block header Z '(r1, s1);
  • the seventh block header Z (r1, s1) and the eighth block header Z '(r1, s1) are not on the same fork of the blockchain L (r, s), it means that the block header's dependence is problematic and cannot be When a correct ledger is formed, the verification is interrupted and the verification fails.
  • the final determined Z (r1, s1) is the latest block of the blockchain, that is, each blockchain is finally determined.
  • the maximum value of i2 is 2G-1.
  • the fork of a blockchain is determined by the latest block. Generally, there is only one fork and no fork. During the formation of the blockchain, short forks are eventually abandoned , Keep the longest fork as the blockchain.
  • An embodiment of the present invention also provides a transaction data processing device based on a blockchain.
  • the device is provided at a first node.
  • the first node is a node corresponding to a first account group in a blockchain network.
  • the blockchain includes G account groups and G ⁇ G blockchains, any one of the account groups to another any of the account groups corresponds to a blockchain, and the first account group is the blockchain
  • G is an integer greater than 1
  • the transaction data processing device based on the blockchain includes:
  • a receiving module configured to receive first transaction information; the first transaction information is formed by a transaction between accounts in the first account group to a second account group; the second account group is the block Any account group in the chain network;
  • the processing module is configured to generate a first block according to the first transaction information and add the first block to the first blockchain; the first blockchain is the first account group to The blockchain corresponding to the second account group.
  • processing module is specifically used for:
  • the block header that the first block depends on can determine the blockchain Block headers of all blockchains in the network;
  • the first node generates a first block based on the first transaction information and the hash value of the block header that the first block depends on.
  • the processing module is specifically used to:
  • the latest third block header B (k, l_k) For different k, select the latest third block header B (k, l_k) from the G blockchains L (k, l_k), so that each item determined by the third block header B (k, l_k)
  • the latest block header of the blockchain is compatible with the latest block header of the corresponding blockchain determined by the initial block header;
  • the value of k is an integer from 0 to G-1, and k is not equal to i
  • l_k is an integer ranging from 0 to G-1;
  • the k represents any account group except the first account group in the blockchain network, and the l_k represents the area Any account group in the blockchain network;
  • the initial block header, the second block header, and the third block header are used as the block header that the first block depends on, and the hash value of the block header that the first block depends on is calculated.
  • the block where the initial block header is located is block L (p, q), if i is equal to p, then m is not equal to q;
  • processing module is specifically used to perform the following steps:
  • the latest fourth block header Z (r of the blockchain L (r, s) is determined according to the initial block header , s); wherein, r and s are integers greater than or equal to 0 and less than or equal to G-1, respectively;
  • Step a Select a newest second block header B (i, m) from the block chain L (i, m), so that the second block header B (i, m) determines the block chain L ( r, s) the latest fifth block header Z '(r, s) and the fourth block header Z (r, s) are on the same fork of the blockchain L (r, s), and If the fifth block header Z '(r, s) is newer than the fourth block header Z (r, s), then the latest fourth block header Z of the blockchain L (r, s) (r, s) is updated to the fifth block header Z '(r, s);
  • Step b Select the latest third block header B (k, l_k) from the block chain L (k, l_k), so that the block chain L () determined by the third block header B (k, l_k) r, s)
  • the latest sixth block header Z ′′ (r, s) and the fourth block header Z (r, s) are on the same fork of the blockchain L (r, s), and If the sixth block header Z ′′ (r, s) is newer than the fourth block header Z (r, s), then the latest fourth block header Z of the blockchain L (r, s) (r, s) is updated to the sixth block header Z ′′ (r, s);
  • processing module is also used to:
  • the third account group and the fourth account group are respectively any account group in the blockchain network
  • processing module is specifically used for:
  • the first node determines the random number by using the proof-of-work algorithm according to the second preset condition
  • the first node generates the block header of the first block according to the preset block header data structure according to the hash value of the block header that the first block depends on and the random number;
  • the first node generates the block body of the first block according to the preset data structure of the block body of the valid first transaction information
  • the first node combines the block header and the block body to form the first block.
  • the receiving module is also used to:
  • the block body on the second blockchain sent by the node corresponding to the fifth account group including: second transaction information associated with the first account group; the second block chain is the first Blockchain corresponding to the first account group from the five account groups; the second transaction information is formed by transactions between the accounts of the fifth account group and the first account group;
  • the processing module is also used to:
  • the first node verifies whether the data format of the block body is correct
  • the block body is added to the second block chain stored by the first node.
  • the receiving module is also used to:
  • the first node receives a block body on a third blockchain sent by a node corresponding to the first account group, the block body includes: third transaction information associated with the first account group; the third The blockchain is the blockchain corresponding to the first account group to the sixth account group; the third transaction information is formed by transactions between the accounts of the first account group to the sixth account group;
  • the processing module is also used to:
  • the first node verifies whether the third transaction information is valid
  • the block body is added to the third block chain stored by the first node.
  • processing module is specifically used for:
  • the seventh account group and the eighth account group are the blocks respectively Any account group in the chain network;
  • the receiving module is also used to:
  • the block header including: the hash value of the latest block header that the block header depends on; the fourth blockchain is any of the blockchain networks A blockchain;
  • processing module is specifically used for:
  • the block header is added to the fourth block chain stored by the first node.
  • the fourth blockchain is L (i1, j1)
  • the block header of the received fourth blockchain is L (i1, j1) is B (i1, j1)
  • the i1 j1 is an integer greater than or equal to 0 and less than or equal to G-1
  • the i1 and the j1 represent any account group in the blockchain network
  • the processing module is specifically used to perform the following steps:
  • Step c The first node determines the latest seventh block header Z (r1, s1) of any block chain L (r1, s1) according to the block header B (i1, j1); wherein, the r1 and s1 are integers greater than or equal to 0 and less than or equal to G-1;
  • Step d The first node determines the blockchain L (r1, according to the block header B i2 corresponding to the hash value of the i2th block header B i2 included in the block header B (i1, j1) s1) the latest eighth block header Z '(r1, s1);
  • Step e The first node determines whether the seventh block header Z (r1, s1) and the eighth block header Z '(r1, s1) are the same in the blockchain L (r, s) Bifurcation
  • the block header of the first block further includes: a hash value of the previous block in the first block chain, a hash value of the block body of the first block, and a time stamp .
  • processing module is also used to:
  • the block header of the first block is broadcast to all nodes in the blockchain network, and the block body of the first block Broadcast to the node corresponding to the first account group or the second account group, so that other nodes in the blockchain network can perform the received block header and / or block body of the first block verification.
  • the device of this embodiment may be used to execute the technical solutions of the above method embodiments, and its implementation principles and technical effects are similar, and are not repeated here.
  • FIG. 5 is a structural diagram of an embodiment of an electronic device provided by the present invention. As shown in FIG. 5, the electronic device includes:
  • a processor 501 and a memory 502 for storing executable instructions of the processor 501.
  • it may further include: a communication interface 503 for communicating with other devices.
  • the above components can communicate through one or more buses.
  • the processor 501 is configured to execute the corresponding method in the foregoing method embodiments by executing the executable instructions.
  • the processor 501 is configured to execute the corresponding method in the foregoing method embodiments by executing the executable instructions.
  • the processor 501 is configured to execute the corresponding method in the foregoing method embodiments by executing the executable instructions.
  • the executable instructions For the specific implementation process, reference may be made to the foregoing method embodiments, and details are not described herein again.
  • An embodiment of the present invention also provides a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed by a processor, the corresponding method in the foregoing method embodiment is implemented.
  • the specific implementation process refer to the foregoing method implementation
  • the implementation principles and technical effects are similar, and will not be repeated here.

Abstract

L'invention concerne un procédé et un dispositif de traitement de données de transaction à base de chaîne de blocs, et un support de stockage. Ledit procédé est appliqué à un premier nœud correspondant à un premier groupe de comptes dans un réseau de chaîne de blocs, le réseau de chaîne de blocs comprenant G groupes de comptes et G x G chaînes de blocs, une chaîne de blocs connectant en correspondance un groupe de comptes quelconque des groupes de comptes et un autre des groupes de comptes. Ledit procédé comprend les étapes suivantes : le premier nœud reçoit des premières informations de transaction formées par une transaction entre des comptes du premier groupe de comptes et d'un deuxième groupe de comptes, le premier groupe de comptes ou le deuxième groupe de comptes étant un groupe de comptes quelconque des groupes de comptes dans le réseau de chaînes de blocs ; le premier nœud produit un premier bloc selon les premières informations de transaction, et ajoute le premier bloc à une première chaîne de blocs ; et la première chaîne de blocs étant la chaîne de blocs connectant en correspondance le premier groupe de comptes et le deuxième groupe de comptes (102). Dans ledit procédé, le premier nœud a seulement besoin de sauvegarder des blocs de la chaîne de blocs qui est associée au premier groupe de comptes.
PCT/CN2018/109701 2018-10-10 2018-10-10 Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage WO2020073246A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880017223.5A CN110692078B (zh) 2018-10-10 2018-10-10 基于区块链的交易数据处理方法、设备和存储介质
PCT/CN2018/109701 WO2020073246A1 (fr) 2018-10-10 2018-10-10 Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/109701 WO2020073246A1 (fr) 2018-10-10 2018-10-10 Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage

Publications (1)

Publication Number Publication Date
WO2020073246A1 true WO2020073246A1 (fr) 2020-04-16

Family

ID=69107162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/109701 WO2020073246A1 (fr) 2018-10-10 2018-10-10 Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage

Country Status (2)

Country Link
CN (1) CN110692078B (fr)
WO (1) WO2020073246A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228439B2 (en) * 2019-01-02 2022-01-18 Jiaping Wang Scale out blockchain with asynchronized consensus zones

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580112B (zh) * 2021-02-26 2021-06-22 北京全息智信科技有限公司 一种基于全链共识、局部部署的智能合约实现方法、装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN107239940A (zh) * 2017-05-11 2017-10-10 北京博晨技术有限公司 基于区块链系统的网络交易方法及装置
WO2018119930A1 (fr) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 Procédé, appareil et dispositif de nœud de traitement de vérification de transaction
CN108282474A (zh) * 2018-01-18 2018-07-13 山东大学 基于区块链的数字资产交易一致性的维护方法
CN108512649A (zh) * 2018-02-09 2018-09-07 北京欧链科技有限公司 区块链的反向哈希链接的处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055597B (zh) * 2016-05-24 2022-05-20 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN106372940B (zh) * 2016-08-31 2019-10-11 江苏通付盾科技有限公司 基于区块链网络的身份认证方法、服务器及终端设备
CN106796685A (zh) * 2016-12-30 2017-05-31 深圳前海达闼云端智能科技有限公司 区块链权限控制方法、装置及节点设备
CN108492108B (zh) * 2018-03-29 2021-04-23 深圳前海微众银行股份有限公司 区块链跨链通信方法、系统和计算机可读存储介质
CN108492183B (zh) * 2018-03-29 2021-05-18 深圳前海微众银行股份有限公司 区块链的账户交易方法、系统和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
WO2018119930A1 (fr) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 Procédé, appareil et dispositif de nœud de traitement de vérification de transaction
CN107239940A (zh) * 2017-05-11 2017-10-10 北京博晨技术有限公司 基于区块链系统的网络交易方法及装置
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN108282474A (zh) * 2018-01-18 2018-07-13 山东大学 基于区块链的数字资产交易一致性的维护方法
CN108512649A (zh) * 2018-02-09 2018-09-07 北京欧链科技有限公司 区块链的反向哈希链接的处理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228439B2 (en) * 2019-01-02 2022-01-18 Jiaping Wang Scale out blockchain with asynchronized consensus zones

Also Published As

Publication number Publication date
CN110692078A (zh) 2020-01-14
CN110692078B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
WO2021032138A1 (fr) Procédé et dispositif de consensus sur la base d'un système de chaîne de blocs et système
US20210295321A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
CN113329031B (zh) 一种区块的状态树的生成方法及装置
CN110869967B (zh) 用于并行处理区块链交易的系统和方法
CN107807951B (zh) 一种区块链生成方法、数据验证方法、节点及系统
WO2019207504A1 (fr) Maintien de blocs d'une chaîne de blocs dans un réseau de chaîne de blocs divisé
JP2020504927A (ja) イベントの削除を可能にする分散データベースのための方法および装置
Matzutt et al. How to securely prune bitcoin’s blockchain
CN110263035A (zh) 基于区块链的数据存储、查询方法及装置和电子设备
CN111630507A (zh) 账户模型下的分布式区块链数据存储
CN111630830A (zh) 账户模型下的分布式区块链数据存储
WO2020199713A1 (fr) Procédé de vérification de données, système, appareil, et dispositif
US20200084041A1 (en) Automated Blockchain Protocol Update
CN112348518B (zh) 一种区块链交易证明的方法及装置
CN111095210A (zh) 基于纠错编码存储共享的区块链数据
WO2020208580A1 (fr) Procédés et dispositifs de propagation de blocs dans un réseau de chaînes de blocs
US20220172180A1 (en) Method for Storing Transaction that Represents Asset Transfer to Distributed Network and Program for Same
WO2020073246A1 (fr) Procédé et dispositif de traitement de données de transaction à base de chaîne de blocs, et support de stockage
CN111164934A (zh) 认证树的修剪
CN113411189B (zh) 数据处理方法及装置、溯源方法及装置、电子设备
CN111033491A (zh) 基于纠错编码存储共享的区块链数据
CN111226206A (zh) 拍摄区块链数据的快照
CN111316256A (zh) 拍摄区块链数据的快照
JP2023522119A (ja) ブロックチェーンネットワークにおけるポイズニングされたトランザクションによるブロック伝搬
CN113157450A (zh) 在区块链系统中执行区块的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18936374

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18936374

Country of ref document: EP

Kind code of ref document: A1