WO2020177547A1 - 一种区块链系统及区块链系统的交易处理方法 - Google Patents

一种区块链系统及区块链系统的交易处理方法 Download PDF

Info

Publication number
WO2020177547A1
WO2020177547A1 PCT/CN2020/076079 CN2020076079W WO2020177547A1 WO 2020177547 A1 WO2020177547 A1 WO 2020177547A1 CN 2020076079 W CN2020076079 W CN 2020076079W WO 2020177547 A1 WO2020177547 A1 WO 2020177547A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
group
transaction information
module
consensus
Prior art date
Application number
PCT/CN2020/076079
Other languages
English (en)
French (fr)
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 深圳前海微众银行股份有限公司
Publication of WO2020177547A1 publication Critical patent/WO2020177547A1/zh

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the embodiment of the present invention belongs to the field of financial technology (Fintech), and more particularly relates to a blockchain system and a transaction processing method of the blockchain system.
  • the blockchain system is a distributed system architecture commonly used in the field of technology and finance. As more and more enterprise-level applications introduce blockchain technology, privacy, scalability and high performance have gradually become the key to blockchain technology. challenge.
  • Morgan’s Quorum is also one of the alliance chains that supports private transactions. It is developed and implemented on the basis of Ethereum. It can easily support private transactions and private contracts, but does not agree on private transactions, and only writes the hash of private transactions to the public
  • the ledger has a consensus, so there is a risk of tampering.
  • the embodiment of the present invention provides a blockchain system and a transaction processing method of the blockchain system to improve the security and privacy of blockchain transactions.
  • a blockchain system provided by an embodiment of the present invention is suitable for a consortium chain, the consortium chain includes multiple groups, and each group includes multiple nodes;
  • the group is provided with a consensus algorithm and ledger, and the transaction information of the group is independently operated;
  • the node is only used to process transaction information of the group to which it belongs, so as to realize data isolation between groups.
  • the blockchain system is suitable for the alliance chain, and the alliance chain includes multiple groups, each group includes multiple nodes, and each group is set with a consensus algorithm and ledger. Further, the nodes only use In order to process the transaction information of the group to which it belongs, so as to realize that each group can independently operate the transaction information within the group, achieve data isolation between groups, and ensure the privacy of transactions. And each group runs a consensus algorithm independently to ensure the security of transactions within the group.
  • the node belongs to multiple different groups.
  • the same node can belong to multiple different groups, that is, multiple groups can share one node, which reduces the complexity of linking and operation and maintenance of the joint networking.
  • At least two groups in the groups have different consensus algorithms.
  • the node includes a consensus module, a block executor, and a virtual machine module;
  • the consensus module is used to generate a new block for the transaction information of the group to which it belongs and use the consensus algorithm to reach a consensus on the new block;
  • the block executor is configured to call the virtual machine module to execute the new block and feed back the transaction result executed by the virtual machine module to the consensus module;
  • the virtual machine module is used to execute the transaction information of the new block to obtain the transaction result.
  • each node includes a consensus module, a block executor, and a virtual machine module.
  • the consensus module is used to generate new blocks based on the transaction information of the group to which they belong and to perform consensus on the new blocks, and the block executor is used to execute the new blocks. And the execution result is fed back to the consensus module, and the virtual machine module is used to execute the transaction information of the new block.
  • the node is divided into multiple modules, and each module has a corresponding function. Through the interaction between multiple modules, the easy scalability of the blockchain system is realized, which is convenient for maintenance by operation and maintenance personnel.
  • different groups can run different consensus algorithms.
  • the consensus module includes a package thread module and a consensus thread module
  • the packaging thread module is used to package the transaction information of the belonging group into a new block
  • the consensus thread module is used to perform consensus on the new block in the group to which it belongs according to the consensus algorithm.
  • the consensus module includes a package thread module and a consensus thread module to realize the separation of the transaction information package thread and the consensus thread of the group to which the node belongs, so as to achieve the easy scalability of the consensus module.
  • the node further includes a block link port module
  • the block link interface module is an access interface of the ledger.
  • the node includes a block link port module, and the block link port module is used to access the ledger, thereby achieving access to block data, block information, transaction data, transaction information, and transaction execution results.
  • the node further includes a synchronization module
  • the synchronization module is used to synchronize transaction information and account books within the group.
  • the node also includes a synchronization module.
  • the synchronization module has two functions, namely the synchronization of the group transaction information and the synchronization of the account book.
  • the synchronization module is used for the synchronization of the group transaction information, so that the transaction information can reach the owner. All consensus nodes in the group ensure that the block producer generates a new block based on the latest transaction; the synchronization module is used for the synchronization of the group ledger, which can keep the ledger of the nodes in the group consistent.
  • the node further includes: an identification module
  • the identification module is used for determining that the transaction information is the transaction information of the group to which the transaction information belongs according to the group identifier in the transaction information.
  • the node's identification module determines the group to which the transaction belongs according to the group identifier in the transaction information, so that the transaction is only performed in the group to which the node belongs, and the group is guaranteed Privacy of internal transactions.
  • the embodiment of the present invention also provides a transaction processing method of a blockchain system, which is suitable for a consortium chain with multiple groups;
  • the method includes:
  • the node receives transaction information; the node is a node in the group;
  • the node When determining that the group identifier of the transaction information is the group to which the node belongs, the node processes the transaction information according to the consensus algorithm of the group to which it belongs.
  • the node after receiving the transaction information, the node first determines the group corresponding to the transaction information, and after determining that the group corresponding to the transaction information is the group to which the node belongs, according to the consensus corresponding to the group to which the node belongs Algorithm, the transaction is processed in the group to which it belongs, so as to realize the privacy of transaction information in the group, and at the same time, the consensus algorithm is run on the transaction in the group to which it belongs, so as to realize the security of the blockchain system transaction.
  • the processing of the transaction information by the node according to the consensus algorithm of the group to which it belongs includes:
  • the synchronization module of the node synchronizes the transaction information among the nodes of the group to which it belongs according to the group identifier of the transaction information.
  • the synchronization module of the node synchronizes the transaction information among the nodes of the group according to the group identifier, which can make the transaction information reach all the consensus nodes in the group, and ensure that the block producer generates a new block based on the latest transaction At the same time, the security of the transaction information can be guaranteed.
  • the node is a block producing node
  • the method further includes:
  • the consensus module of the node generates a new block according to the transaction information
  • the block executor of the node calls the virtual machine module of the node to execute the new block, obtains the transaction result of the transaction information, and feeds it back to the consensus module;
  • the consensus module of the node performs a consensus according to the consensus algorithm of the group to which it belongs, and writes the consensus block into the ledger through the block link port module of the node.
  • the consensus module of the node generates a new block based on the transaction information
  • the block executor of the node invokes the virtual machine module of the node to execute the new block, and feeds back the transaction result of the transaction information to the consensus module.
  • the consensus module The consensus algorithm for consensus, and the consensus block is written into the ledger through the block link port module of the node.
  • the node realizes the processing of transaction information through different modules. Each module has a corresponding function. Through the interaction between multiple modules Realize the easy scalability of the blockchain system and facilitate the maintenance of operation and maintenance personnel. In addition, through the consensus module, different groups can run different consensus algorithms.
  • Optional also includes:
  • the synchronization module of the node performs account book synchronization among the nodes of the group to which they belong according to the group identifier of the transaction information.
  • the synchronization module of the node performs account book synchronization among the nodes of the group according to the group identifier of the transaction information, so that the accounts of the nodes in the group are kept consistent, and the account book synchronization will not be synchronized to other groups Nodes to ensure the privacy of blockchain transactions.
  • the synchronization module performs account book synchronization among the nodes of the group to which the transaction information belongs based on the group identifier of the transaction information, including:
  • the synchronization module of the node sends different synchronization requests to different nodes of the group to which it belongs, so as to complete the synchronization of the accounts of the nodes.
  • the synchronization module of a node when it synchronizes the ledger with other nodes in the group to which it belongs, it can send different synchronization requests to different requested nodes, and there will be no request from the node to one of the groups to which the node belongs.
  • the node sends a synchronization request, which causes the synchronization pressure of the requested node to be too large, which makes the load of the nodes in the entire group unbalanced.
  • an embodiment of the present invention also provides a computing device, including:
  • Memory used to store program instructions
  • the processor is configured to call the program instructions stored in the memory and execute the transaction processing method of the blockchain system according to the obtained program.
  • an embodiment of the present invention also provides a computer-readable non-volatile storage medium, including computer-readable instructions.
  • the computer reads and executes the computer-readable instructions, the computer executes the above-mentioned blockchain system. Transaction processing method.
  • Figure 1 is a schematic diagram of a blockchain system provided by an embodiment of the present invention.
  • FIG. 2 is a scenario where a blockchain system provided by an embodiment of the present invention is suitable for multi-institutional joint networking
  • FIG. 3 is a block chain system provided by an embodiment of the present invention, which is suitable for a multi-chain parallel scenario
  • FIG. 4 is a schematic diagram of the structure of a node of a blockchain system provided by an embodiment of the present invention.
  • FIG. 5 is a flowchart of a transaction processing method of a blockchain system provided by an embodiment of the present invention.
  • FIG. 6 is a flowchart of another transaction processing method of a blockchain system provided by an embodiment of the present invention.
  • FIG. 7 is a flowchart of another transaction processing method of a blockchain system provided by an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
  • FIG. 1 exemplarily shows that an embodiment of the present invention provides a blockchain system, which is suitable for a consortium chain, the consortium chain includes multiple groups, and each group includes multiple nodes.
  • the group is set up with a consensus algorithm and ledger to independently run the transaction information of the group.
  • the node is only used to process the transaction information of the group to which it belongs to achieve data isolation between groups.
  • the transaction information and consensus algorithm are run independently within the group, and the data between each group is isolated from each other to ensure the privacy of the data in the group.
  • a node can be understood as each participant in the blockchain network.
  • the node participates in the establishment of the blockchain network and data exchange.
  • a node refers to a participant with a unique identity.
  • the node has a A complete copy of the ledger, with the ability to participate in the blockchain network consensus and ledger maintenance.
  • the blockchain system provided by the embodiment of the present invention can be applied to the scenario of multi-institution joint networking.
  • the multi-institution joint networking and chain building is one of the more common scenarios in the blockchain system, such as joint loan and multi-institution joint Signature etc.
  • there are 4 institutions in the blockchain system namely, institution A, institution B, institution C, and institution D.
  • the nodes in institution B, institution C, and institution D are The nodes in organization A are networked.
  • Organization A starts three groups. Adds node B1 and node B2 of organization B to group 1, and adds node C1, node C2 and node C3 of organization C to group 2.
  • Node D1 and node D2 of organization D are added to group 3 to complete multi-agency joint networking.
  • the operation and maintenance personnel of organization A only need to maintain a set of external network IP (Internet Protocol, protocol for interconnection between networks) interfaces, which greatly reduces the complexity of linking and operation and maintenance of joint networking.
  • IP Internet Protocol, protocol for interconnection between networks
  • a blockchain system provided by an embodiment of the present invention can be applied to a multi-chain parallel scenario. Specifically, referring to FIG. 3 for example, if there are N (N greater than or equal to 2) businesses in the enterprise, the operation and maintenance personnel of the enterprise can Deploying N services in different groups on the same chain, due to data isolation between groups, and multi-chain parallel between groups, which reduces operation and maintenance costs while ensuring data isolation between groups.
  • the node includes a consensus (Consensus) module, a block executor (BlockVerifier) and a virtual machine module.
  • Consensus Consensus
  • BlockVerifier block executor
  • the consensus module is used to generate a new block based on the transaction information of the group and use a consensus algorithm to reach a consensus on the new block.
  • the consensus module can use PBFT, Raft and other consensus algorithms for different groups, and each group can run Different consensus algorithms, the consensus between groups does not affect each other.
  • the block executor is used to call the virtual machine module to execute the new block and feed back the transaction result executed by the virtual machine module to the consensus module.
  • the virtual machine module is used to execute the transaction information of the new block to obtain the transaction result.
  • the consensus module can be divided into a package (Sealer) thread module and a consensus (Engine) thread module.
  • the package thread module is used to package the transaction information of the group into a new block, and the consensus thread module is used to place the new block in the group. Consensus within the group is based on the consensus algorithm.
  • the node may also include a block link port module.
  • the block link port module is an access interface for the ledger, which is used to implement access to block data, block information, transaction data, transaction information, and transaction execution results .
  • the node also includes a synchronization module, which is used to synchronize transaction information and account books within the group to which it belongs.
  • the synchronization module is used to synchronize transaction information, broadcast the transaction information received by the node to other consensus nodes in the group where the node is located, so as to ensure that when the node is switched, the new node can generate a new block based on the latest transaction; synchronization
  • the module is used to synchronize the ledger to solve the problem of block height inconsistency between machines with different performance.
  • the synchronization module maintains the block height information of all nodes in the same group. When the block height of this node is behind other nodes, Will actively initiate a block download request to ensure that the block height of this node is consistent with other nodes.
  • the node also includes an identification module, which is used to determine that the transaction information is the transaction information of the group to which it belongs according to the group identifier in the transaction information. After the node receives the transaction information, the node's identification module determines the group to which the transaction belongs according to the group identifier in the transaction information, so that the transaction is only performed in the group to which the node belongs, and the privacy of the transaction within the group is guaranteed .
  • the node can be divided into two layers, namely: the network layer and the group layer.
  • the network layer is mainly responsible for receiving and sending data
  • the group layer is mainly responsible for processing group transactions. And put the transaction execution result on the chain.
  • the network layer includes identification modules
  • the group layer includes storage modules, virtual machine modules, transaction pools (TxPool), block link port modules, block executors, synchronization modules, and consensus modules.
  • the identification module is mainly used to receive transaction information and send the transaction information to the group layer, so that the group layer can process the transaction information.
  • node A1 belongs to both group 1 and group 2
  • node A1 receives transaction information sent by the client, and determines the group identifier in the transaction information according to the received transaction information. If the transaction information The group identifier in is group 1, then node A1 can determine that the transaction information needs to be processed in group 1.
  • the processing method is described in detail in the following examples.
  • the group layer can be divided into a core layer, an interface layer, and a scheduling layer.
  • the core layer includes storage modules and virtual machine modules.
  • the storage module can include two parts: storage and state.
  • Storage uses tabular storage structures, such as AMDB and LevelDB, which are mainly used to store block information, system tables, etc.; state mainly stores transaction execution results, including mpt state and storage state, mpt state It is a world state tree that can trace the historical information of any transaction.
  • the storage state stores the current state after the transaction is executed, and does not store historical information.
  • the storage module stores the ledger whitelist of the node.
  • the ledger whitelist includes all node information in the group to which the node belongs. It is used to synchronize transaction information or ledger between nodes, only in the group Internal communication guarantees the privacy of each group communication.
  • the virtual machine module is mainly used to execute transactions.
  • the virtual machine module may be an Ethereum virtual machine.
  • the interface layer includes transaction pool, block link port module and block executor.
  • the transaction pool is mainly used to receive transaction information from the client or other nodes, and store the verified legal transactions in the transaction pool queue for use when the scheduling layer packs blocks.
  • the block link port module is a unified interface for the scheduling layer to access the core layer. Block data, block information, transaction data, transaction information and transaction execution results are accessed through the block link port module.
  • the block executor is used to call the virtual machine module to execute the new block and feed back the transaction result executed by the virtual machine module to the consensus module.
  • the scheduling layer mainly includes a synchronization module and a consensus module.
  • the synchronization module is mainly responsible for transaction information synchronization and block synchronization.
  • Block synchronization is ledger synchronization.
  • transaction information synchronization will broadcast all transaction information received by the node to other consensus nodes in the group to which the node belongs, so as to ensure that when the block node is switched, the new block node can generate a new block based on the latest transaction; block synchronization It is used to solve the problem of block height inconsistency between machines with different performance.
  • the synchronization module maintains the block height information of all nodes. When the block height of the current node is behind other nodes, it will actively initiate a block download request to ensure the The node block height is consistent with other nodes.
  • the consensus module is divided into a package thread module and a consensus thread module.
  • the package thread module is responsible for taking out transactions from the transaction pool and packaging them into blocks; the consensus thread module is responsible for executing new blocks, running consensus algorithms, and passing all consensus blocks through the block
  • the link port module writes to the storage module for storage.
  • the blockchain system is suitable for the alliance chain, and the alliance chain includes multiple groups, each group includes multiple nodes, and each group is set with a consensus algorithm and ledger. Further, the nodes only use In order to process the transaction information of the group to which it belongs, so as to realize that each group can independently operate the transaction information within the group, achieve data isolation between groups, and ensure the privacy of transactions. And each group runs a consensus algorithm independently to ensure the security of transactions within the group.
  • FIG. 5 exemplarily shows the flow of a transaction processing method of a blockchain system provided by an embodiment of the present invention, and the flow is suitable for a consortium chain with multiple groups.
  • the process specifically includes:
  • Step 501 The node receives transaction information.
  • the node and the client are connected through an on-chain and off-chain protocol, and the node can receive transaction information of the client.
  • the node can be a node in the above-mentioned blockchain system group.
  • the identification module of the node may receive the transaction information sent by the client.
  • Step 502 When the node determines that the group identifier of the transaction information is the group to which the node belongs, process the transaction information according to the consensus algorithm of the group to which it belongs.
  • the identification module of the node analyzes the transaction information after receiving the transaction information, and can analyze the following information:
  • Group ID The group number, such as 1-127, is used to identify the group that the client wants to access.
  • Calling interface Identifies the name of the node interface accessed by the client, such as: executing transactions, obtaining block heights, obtaining designated transaction receipts, etc.
  • Parameter information the corresponding parameters sent to the calling interface, such as: when obtaining transaction information, the parameter information includes the transaction hash; when obtaining the specified block, the parameter information includes the block height, etc.; when executing the transaction, the parameter information includes the specific content of the transaction .
  • the node may be included in multiple groups, and the node identification module may determine in which group the transaction information received by the node should be processed according to the group identifier.
  • the node identification module may determine in which group the transaction information received by the node should be processed according to the group identifier.
  • node A1 belongs to both group 1 and group 2
  • node A1 receives transaction information sent by the client, and determines the group identifier in the transaction information according to the received transaction information. If the transaction information The group identifier in is group 1, then node A1 can determine that the transaction information needs to be processed in group 1.
  • the identification module of the node determines to process the transaction information in the group based on the parsed information. Specifically, the identification module of the node can store the transaction information in the transaction pool of the node after verifying the legality of the transaction information.
  • the legality of the transaction information can be verified as follows: (1) Whether the transaction queue in the transaction pool of the node is full, and if the transaction queue is full, it is determined that the transaction information has not passed the verification. (2) Whether the transaction information is repeated, the transaction hash sent by the client cannot be the same as the existing hash in the transaction pool, nor the same as the existing transaction hash on the blockchain. If it is repeated, it is determined that the transaction information has not passed verification . (3) The transaction signature must be valid. If the transaction signature is invalid, it is determined that the transaction information has not passed verification.
  • the node A1 can determine that the transaction information needs to be processed in the group 1, and the node A1 stores the transaction information in the transaction pool of the node A1.
  • the synchronization module of the node is required to synchronize the transaction information among the nodes in the group according to the group identifier of the transaction information, that is, the node
  • the synchronization module of A1 synchronizes the transaction information among the nodes of the group 1 according to the group identifier of the transaction information.
  • the storage module of each node stores the ledger whitelist of the node.
  • the ledger whitelist includes all node information in the group to which the node belongs, and is used to synchronize transaction information or ledger synchronization between nodes At the same time, only communicate within the group, ensuring the privacy of each group communication.
  • Figure 2 shows the architecture diagram, node A1 stores transaction information in the transaction pool of node A1, node A1 obtains the whitelist of the ledger stored by this node about group 1, and the whitelist of the ledger can determine the whitelist of node A1
  • the synchronization module can synchronize the transaction information in the transaction pool to node A3, node B1, and node B2. In other words, the synchronization module of node A1 will not synchronize transaction information to nodes in group 2 or group 3.
  • the synchronization module of the node After the synchronization module of the node synchronizes the transaction information among the nodes of the group according to the group identifier of the transaction information, the transaction information is available in the transaction pool of all nodes in the group to which the node belongs, and the consensus module of the node packs the transaction information Is a new block.
  • the node that receives the transaction information and the node that packages the transaction information into a new block may be the same or different. Further, the above-mentioned node that packs transaction information into a new block can be understood as a block-producing node.
  • the node's block executor calls the node's virtual machine module to execute the new block, obtains the transaction result of the transaction information and feeds it back to the node's consensus module.
  • the node's consensus module carries out a consensus based on the consensus algorithm of the group to which it belongs, and compares the consensus area The block is written into the ledger through the block link port module of the node.
  • the node’s consensus module includes the node’s package thread module and the node’s consensus thread module.
  • the node’s package thread module will try to load transactions from the node’s transaction pool and package them into new blocks.
  • the main tasks include:
  • Generate a new empty block Obtain the current highest block through the block link port module, and generate a new empty block based on the highest block. Specifically, set the parent hash of the new block to the highest block hash, and set the timestamp to the current time. Transaction is cleared;
  • Take out transaction information Take out the transaction information from the node's transaction pool, and insert the obtained transaction information into the new block;
  • the packager of the new block is set as the block producer index, and the TransactionRoot of all transactions is calculated according to the packaged transaction.
  • the packing thread module of the node sends the packed new block to the consensus thread module of the node, and the consensus thread module of the node calls the block executor of the node to execute the new block, that is, the block executor of the node calls the virtual machine module of the node to execute the new block. Transaction information in the block.
  • the node's consensus thread module will also broadcast the new block to all other consensus nodes in the group to which the node belongs, and execute the consensus algorithm based on the consensus message package received from the P2P (Peer to Peer) network. If the block consensus is successful , Then write the new block into the ledger through the block link interface module.
  • the embodiment of the present invention provides a specific implementation manner, which may be as shown in FIG. 6.
  • Step 601 The identification module of the node receives transaction information.
  • step 602 when the identification module of the node determines that the group identifier of the transaction information is the group to which the node belongs, the synchronization module of the node synchronizes the transaction information among the nodes of the group to which the node belongs according to the group identifier of the transaction information.
  • step 603 the consensus module of the node generates a new block according to the transaction information.
  • step 604 the node's block executor calls the node's virtual machine module to execute the new block, obtains the transaction result of the transaction information, and feeds it back to the consensus module.
  • step 605 the consensus module of the node performs a consensus according to the consensus algorithm of the group to which it belongs, and writes the consensus block into the ledger through the block link port module of the node.
  • the synchronization module of the node is not only used to broadcast the transaction information in the transaction pool to other nodes in the group according to the group ID of the transaction information, but also used to broadcast the transaction information in the group according to the group ID of the transaction information. Synchronize the ledger among the nodes.
  • the synchronization module of this node will actively download the backward block to other nodes in the group, and write it into the local database through the block link port module;
  • the node uses the block link interface module to take out the block requested by other nodes in the group and send it to the requesting node through the P2P network; in addition, when When this node receives block download requests from other group nodes (nodes that do not belong to the group), it will not perform any operations, ensuring the security of group data.
  • the synchronization module of the node sends different synchronization requests to different nodes of the group to which it belongs, so as to complete the synchronization of the accounts of the nodes.
  • the block of the current node lags behind other nodes of the group, it can send requests to download the block to other nodes of the group at the same time, so as to achieve load balancing.
  • a requested node in the group sends a synchronization request, which causes excessive synchronization pressure on the requested node, which makes the load of the nodes in the entire group unbalanced.
  • group 3 includes node A4, node A5, node D1, node D2, and assuming that there are 500 blocks in the storage module of node A4, node A5, node D1, and There are 800 blocks in the storage module of node D2, and the synchronization module of node A4 sends synchronization requests to node A5, node D1, and node D2 respectively.
  • the synchronization module of A4 obtains 100 blocks from node A5. , Get 100 blocks from node D1 and get 100 blocks from node D2, so as to complete the node's ledger synchronization.
  • the client establishes an SSL (Secure Sockets Layer) connection with the node through the on-chain and off-chain protocol, and encapsulates the transaction sent to group i in a data packet and sends it to the node in group i.
  • SSL Secure Sockets Layer
  • the monitoring of the node After the server receives the data packet from the client, it parses the data packet and forwards it to the remote invocation module.
  • the remote invocation module parses the request sent by the client.
  • the monitoring server of the node and the remote invocation module of the node can be understood as The identification module of the node; the remote calling module calls the corresponding interface of the node according to the parsed group information, calling interface and parameter information, and returns the execution result to the client.
  • the transaction execution within the group is as follows.
  • the remote invocation module receives the transaction information, obtains the transaction pool instance of group i according to the group identifier (group i) attached to the transaction information, and inserts the transaction information into the transaction pool after confirming that the transaction information is legally verified, and the node will
  • the transaction information in the transaction pool is broadcast, and the transaction information will only be broadcast to all nodes in group i, ensuring that the transaction sent by the client can reach all consensus nodes while ensuring the privacy of the transaction.
  • the packaging thread module of the consensus module of the block producer will try to load transactions from the transaction pool and package them into new blocks.
  • the new blocks packaged by the packaging thread module will be provided to the consensus thread module of the consensus module, and the consensus thread module calls the block executor Execute the new block, broadcast the new block to all other consensus nodes, and execute the consensus algorithm based on the consensus message package received from the P2P network. If the block consensus is successful, the new block will be written to the blockchain through the block link port module .
  • the node after receiving the transaction information, the node first determines the group corresponding to the transaction information, and after determining that the group corresponding to the transaction information is the group to which the node belongs, according to the consensus corresponding to the group to which the node belongs Algorithm, the transaction is processed in the group to which it belongs, so as to realize the privacy of transaction information in the group, and at the same time, the consensus algorithm is run on the transaction in the group to which the transaction security of the blockchain system is realized.
  • an embodiment of the present invention also provides a computing device, as shown in FIG. 8, including:
  • the transceiver 803 is configured to receive transaction information under the control of the processor 801;
  • the processor 801 is configured to read a program in the memory 802 and execute the following method: when it is determined that the group identifier of the transaction information is the group to which the node belongs, process the transaction information according to the consensus algorithm of the group to which it belongs;
  • the memory 802 is configured to store one or more executable programs, and can store data used by the processor when performing operations;
  • the 804 bus interface provides interfaces, and the processor is responsible for managing the bus architecture and general processing.
  • the bus architecture may include any number of interconnected buses and bridges, and specifically one or more processors represented by the processor 801 and various circuits of the memory represented by the memory 802 are linked together.
  • the bus architecture can also link various other circuits such as peripherals, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, no further descriptions are provided herein.
  • the processor 801 is further configured to synchronize the transaction information among the nodes of the group to which the transaction information belongs according to the group identifier of the transaction information.
  • the processor 801 is also used for:
  • the processor 801 is also used for:
  • account book synchronization is performed among the nodes of the group to which they belong.
  • embodiments of the present invention also provide a computer-readable non-volatile storage medium, including computer-readable instructions.
  • the computer reads and executes the computer-readable instructions, the computer executes the aforementioned blocks.
  • the transaction processing method of the chain system is not limited to, but not limited to, but not limited to, but not limited to,
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种区块链系统及区块链系统的交易处理方法,该方法包括节点接收交易信息,节点在确定交易信息的群组标识为节点所属群组时,根据所属群组的共识算法处理交易信息。该技术方案用以提高区块链交易的安全性和隐私性。

Description

一种区块链系统及区块链系统的交易处理方法
相关申请的交叉引用
本申请要求在2019年03月05日提交中国专利局、申请号为201910163272.6、申请名称为“一种区块链系统及区块链系统的交易处理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例属于金融科技(Fintech)领域,尤其涉及一种区块链(Block chain)系统及区块链系统的交易处理方法。
背景技术
区块链系统是科技金融领域常用的一种分布式的系统架构,随着越来越多企业级应用引入区块链技术,隐私性、可扩展性以及高性能逐渐成为区块链技术的关键挑战。现有的公有链,如比特币、以太坊等,隐私性差;现有的主流联盟链技术,如超级记账本(HyperLedger),引入多通道技术,可以很好地支持私有交易,但Order节点仍然可以看到所有通道的交易,因此超级记账本在隐私性方面同样存在瑕疵,且在技术实现上复杂度比较高。摩根的Quorum也是支持私有交易的联盟链之一,它是在以太坊基础上开发实现的,可以方便地支持私有交易和私有合约,但不共识私有交易,仅将私有交易的哈希写入公共账本进行共识,因此有被篡改的风险。
发明内容
本发明实施例提供一种区块链系统及区块链系统的交易处理方法,用以提高区块链交易的安全性和隐私性。
本发明实施例提供的一种区块链系统,适用于联盟链,所述联盟链包括多个群组,每个群组包括多个节点;
针对任一群组,所述群组设置有共识算法和账本,独立运行所述群组的交易信息;
针对任一节点,所述节点仅用于处理所属群组的交易信息从而实现群组间数据隔离。
上述技术方案中,区块链系统适用于联盟链,且该联盟链包括多个群组,每个群组包括多个节点,每个群组设置有共识算法和账本,进一步的,节点仅用于处理其所属群组的交易信息,从而实现每个群组独立运行群组内部的交易信息,做到各群组之间数据隔离,保障交易的隐私性。且各群组独立运行共识算法,从而保障群组内的交易的安全性。
可选的,所述节点属于多个不同的群组。
上述技术方案中,同一个节点可以属于多个不同的群组,即多个群组可以共用一个节点,降低联合组网的建链复杂度和运维复杂度。
可选的,所述各群组中至少有两个群组的共识算法不同。
上述技术方案中,根据业务性能和安全性能的需求,在不同群组运行不同的共识算法,针对不同群组对业务性能和安全性能需求的高低,可以采用不同的共识算法,在保障群组内交易的安全性和隐私性前提下,降低联合组网的建链复杂度和运维复杂度。
可选的,所述节点包括共识模块、区块执行器和虚拟机模块;
所述共识模块,用于针对所属群组的交易信息产生新区块并使用所述共识算法对所述新区块进行共识;
所述区块执行器,用于调用所述虚拟机模块执行所述新区块并将所述虚拟机模块执行的交易结果反馈给所述共识模块;
所述虚拟机模块,用于执行所述新区块的交易信息得到交易结果。
上述技术方案中,每个节点包括共识模块、区块执行器和虚拟机模块,共识模块用于针对所属群组的交易信息产生新区块以及对新区块进行共识,区块执行器用于执行新区块并将执行结果反馈至共识模块,虚拟机模块用于执行新区块的交易信息。将节点划分为多个模块,各模块具有对应的功能, 通过多个模块之间的交互实现区块链系统的易扩展性,便于运维人员的维护。此外,可以通过共识模块,实现不同群组运行不同的共识算法。
可选的,所述共识模块包括打包线程模块和共识线程模块;
所述打包线程模块用于将所属群组的交易信息打包为新区块;
所述共识线程模块用于将所述新区块在所属群组内按照所述共识算法进行共识。
上述技术方案中,共识模块包括打包线程模块和共识线程模块,实现节点所属群组的交易信息的打包线程和共识线程的分离,从而达到共识模块的易扩展性。
可选的,所述节点还包括区块链接口模块;
所述区块链接口模块为所述账本的访问接口。
上述技术方案中,节点包括区块链接口模块,区块链接口模块用于访问账本,从而实现区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取。
可选的,所述节点还包括同步模块;
所述同步模块用于在所属群组内进行交易信息的同步和账本的同步。
上述技术方案中,节点还包括同步模块,同步模块具有两种功能,分别是所属群组交易信息的同步和账本的同步,同步模块用于群组交易信息的同步,可以使该交易信息到达所属群组内所有的共识节点,保障出块节点基于最新交易产生新区块;同步模块用于群组账本的同步,可以使所属群组内节点的账本保持一致。
可选的,所述节点还包括:识别模块;
所述识别模块用于根据交易信息中的群组标识,确定所述交易信息为所属群组的交易信息。
上述技术方案中,节点在接收到交易信息后,节点的识别模块根据交易信息中的群组标识,确定该交易所属群组,从而使得该笔交易只在节点所属群组中进行,保障群组内交易的隐私性。
相应的,本发明实施例还提供了一种区块链系统的交易处理方法,适用于设置有多群组的联盟链;
所述方法包括:
节点接收交易信息;所述节点为群组中的节点;
所述节点在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息。
上述技术方案中,节点在接收到交易信息后,先确定该交易信息对应的群组,并在确定该交易信息对应的群组为该节点所属群组后,根据该节点所属群组对应的共识算法,对该交易在所属群组内进行处理,从而实现群组内交易信息的隐私性,同时对该交易在所属群组内运行共识算法,从而实现区块链系统交易的安全性。
可选的,所述节点根据所属群组的共识算法处理所述交易信息,包括:
所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息。
上述技术方案中,节点的同步模块根据群组标识在所属群组的各节点间同步交易信息,可以使该交易信息到达所属群组内所有的共识节点,保障出块节点基于最新交易产生新区块,同时可以保障该交易信息的安全性。
可选的,所述节点为出块节点;
所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息之后,还包括:
所述节点的共识模块根据所述交易信息产生新区块;
所述节点的区块执行器调用所述节点的虚拟机模块执行所述新区块,得到所述交易信息的交易结果并反馈给所述共识模块;
所述节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过所述节点的区块链接口模块写入账本。
上述技术方案中,节点的共识模块根据交易信息产生新区块,节点的区块执行器调用节点的虚拟机模块执行新区块,并将交易信息的交易结果反馈 至共识模块,共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本,节点通过不同模块实现交易信息的处理,各模块具有对应的功能,通过多个模块之间的交互实现区块链系统的易扩展性,便于运维人员的维护。此外,可以通过共识模块,实现不同群组运行不同的共识算法。
可选的,还包括:
所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步。
上述技术方案中,节点的同步模块根据交易信息的群组标识在所属群组的各节点间进行账本同步,以使所属群组内节点的账本保持一致,且账本同步不会同步至其他群组的节点,保障区块链交易的隐私性。
可选的,所述同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步,包括:
所述节点的同步模块向所属群组的不同节点发送不同的同步请求,从而完成所述节点的账本同步。
上述技术方案中,节点的同步模块在所属群组内与其他节点进行账本同步时,可以向不同的被请求节点发送不同的同步请求,不会出现该节点向该节点所属群组的一个被请求节点发送同步请求,造成被请求节点的同步压力过大,使得整个群组内节点的负载不均衡。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链系统的交易处理方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链系统的交易处理方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链系统的示意图;
图2为本发明实施例提供的一种区块链系统适用于多机构联合组网的场景;
图3为本发明实施例提供的一种区块链系统适用于多链并行的场景;
图4为本发明实施例提供的一种区块链系统的节点的结构示意图;
图5为本发明实施例提供的一种区块链系统的交易处理方法的流程;
图6为本发明实施例提供的另一种区块链系统的交易处理方法的流程;
图7为本发明实施例提供的另一种区块链系统的交易处理方法的流程;
图8为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供一种区块链系统,该区块链系统适用于联盟链,该联盟链包括多个群组,每个群组包括多个节点。针对任一群组,群组设置有共识算法和账本,独立运行群组的交易信息,针对任一节点,节点仅用于处理所属群组的交易信息从而实现群组间数据隔离。也就是说,群组内独立运行交易信息和共识算法,各群组之间数据相互隔离,保障群组内数据的隐私性。
根据业务性能和安全性能的需求,在不同群组运行不同的共识算法,各群组中至少有两个群组的共识算法不同,在保障群组内交易的安全性和隐私性前提下,降低联合组网的建链复杂度和运维复杂度。示例性的,安全性要求高的群组可使用PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,性能要求高、安全性要求不高的群组可使用Raft(Replication and Fault Tolerant,副本容错)共识算法。
需要说明的是,每个群组不仅可以包括多个节点,一个节点也可以属于多个不同的群组,即多个群组可以共用一个节点。节点可以理解为,区块链网络中的每一个参与者,节点参与区块链网络组建和数据交换,在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
本发明实施例提供的一种区块链系统可以适用于多机构联合组网的场景,多机构联合组网建链是区块链系统中比较常见的场景之一,如联合贷、多机构联合签名等。具体的,参照图2举例说明,本区块链系统中设有4个机构,分别为机构A、机构B、机构C、机构D,其中,机构B、机构C、机构D中的节点分别与机构A中的节点组网,机构A启动三个群组,将机构B的节点B1、节点B2加入至群组1,将机构C的节点C1、节点C2、节点C3加入至群组2,将机构D的节点D1、节点D2加入至群组3,即可完成多机构间联合组网。该技术方案中,机构A的运维人员只需要维护一套外网IP(Internet Protocol,网络之间互连的协议)接口,大大降低了联合组网的建链复杂度和运维复杂度。此外,由于多群组架构中,群组间数据隔离,因此也保障了群组数据和交易的隐私性。
本发明实施例提供的一种区块链系统可以适用于多链并行的场景,具体的,参照图3举例说明,若企业内部有N(N大于等于2)个业务,企业的运维人员可以将N个业务部署在同一条链的不同群组中,由于群组间数据隔离,群组间多链并行,在降低运维成本的同时保证了群组间数据的隔离性。
可选的,节点包括共识(Consensus)模块、区块执行器(BlockVerifier) 和虚拟机模块。
其中,共识模块用于针对所属群组的交易信息产生新区块并使用共识算法对新区块进行共识,共识模块可以针对不同群组采用PBFT、Raft等多种共识算法,且每个群组可运行不同的共识算法,群组间的共识不相互影响。区块执行器用于调用虚拟机模块执行新区块并将虚拟机模块执行的交易结果反馈给共识模块。虚拟机模块用于执行新区块的交易信息得到交易结果。
具体的,共识模块可以分为打包(Sealer)线程模块和共识(Engine)线程模块,打包线程模块用于将所属群组的交易信息打包为新区块,共识线程模块用于将新区块在所属群组内按照共识算法进行共识。
本发明实施例中,节点还可以包括区块链接口模块,区块链接口模块为账本的访问接口,用于实现区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取。
节点还包括同步模块,同步模块用于在所属群组内进行交易信息的同步和账本的同步。同步模块用于交易信息的同步,将节点接收到的交易信息广播到该节点所在群组的其他共识节点,从而保证切换出块节点时,新的出块节点能基于最新交易产生新区块;同步模块用于账本的同步,用来解决性能不同机器间区块高度不一致的问题,同步模块维护着同一个群组内所有节点的区块高度信息,当本节点区块高度落后于其他节点时,会主动发起区块下载请求,从而保证本节点区块高度与其他节点一致。
节点还包括识别模块,识别模块用于根据交易信息中的群组标识,确定交易信息为所属群组的交易信息。节点在接收到交易信息后,节点的识别模块根据交易信息中的群组标识,确定该交易所属群组,从而使得该笔交易只在节点所属群组中进行,保障群组内交易的隐私性。
上述区块链系统中,针对每个节点,可以将该节点划分为两层,即:网络层和群组层,网络层主要负责接收和发送数据,群组层主要负责处理群组的交易,并将交易执行结果上链。如图4所示,网络层包括识别模块,群组层包括存储模块、虚拟机模块、交易池(TxPool)、区块链接口模块、区块执 行器、同步模块和共识模块。
结合图4所示的节点,对节点中各模块做具体说明:
一、网络层
识别模块主要用于接收交易信息,并将交易信息发送至群组层,以使群组层对该交易信息进行处理。结合图2举例来说,节点A1同属于群组1和群组2,节点A1接收客户端发送的交易信息,并根据接收到的交易信息确定该交易信息中的群组标识,若该交易信息中的群组标识为群组1,则节点A1可以确定该交易信息需要在群组1中进行处理。处理方式在下述实施例中详细阐述。
二、群组层
此处,为了方便运维人员管理以及提高区块链系统的扩展性能,可以将群组层划分为核心层、接口层和调度层。
(1)核心层包括存储模块和虚拟机模块。
存储模块可以包括storage和state两部分,storage采用表式存储结构,如AMDB、LevelDB,主要用来存储区块信息、系统表等;state主要存储交易执行结果,包括mpt state和storage state,mpt state是一棵世界状态树,可追溯任何一笔交易的历史信息,storage state存储交易执行后的当前状态,不保存历史信息。需要说明的是,存储模块存储有本节点的账本白名单,该账本白名单包括本节点所属群组中的所有节点信息,用于在节点之间交易信息同步或账本同步时,只在群组内通信,保障了各群组通信的隐私性。
虚拟机模块主要用于执行交易。其中,虚拟机模块可以为以太坊虚拟机。
(2)接口层包括交易池、区块链接口模块和区块执行器。
交易池主要用于从客户端或其他节点接收交易信息,并将验证合法的交易存放到交易池队列中,供调度层打包区块时使用。
区块链接口模块是调度层访问核心层的统一接口,区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取均是通过区块链接口模块完成的。
区块执行器用于调用虚拟机模块执行新区块并将虚拟机模块执行的交易结果反馈给共识模块。
(3)调度层主要包括同步模块和共识模块。
同步模块主要负责交易信息同步和区块同步,区块同步即账本同步。其中,交易信息同步会将节点接收到的所有的交易信息广播到节点所属群组的其他共识节点,从而保证切换出块节点时,新的出块节点能基于最新交易产生新区块;区块同步则用来解决性能不同机器间区块高度不一致的问题,同步模块维护着所有节点的区块高度信息,当本节点区块高度落后于其他节点时,会主动发起区块下载请求,从而保证本节点区块高度与其他节点一致。
共识模块分为打包线程模块和共识线程模块,打包线程模块负责从交易池中取出交易,打包成区块;共识线程模块负责执行新区块、运行共识算法,将所有达成共识的区块通过区块链接口模块写入存储模块进行存储。
上述技术方案中,区块链系统适用于联盟链,且该联盟链包括多个群组,每个群组包括多个节点,每个群组设置有共识算法和账本,进一步的,节点仅用于处理其所属群组的交易信息,从而实现每个群组独立运行群组内部的交易信息,做到各群组之间数据隔离,保障交易的隐私性。且各群组独立运行共识算法,从而保障群组内的交易的安全性。
基于上述描述,图5示例性的示出了本发明实施例提供的一种区块链系统的交易处理方法的流程,该流程适用于设置有多群组的联盟链。
如图5所示,该流程具体包括:
步骤501,节点接收交易信息。
节点和客户端通过链上链下协议连接,节点可以接收客户端的交易信息,此处,节点可以为上述区块链系统群组中的节点。具体的,可以为节点的识别模块接收客户端发送的交易信息。
步骤502,所述节点在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息。
本发明实施例中,节点的识别模块在接收到交易信息后,对交易信息进 行解析,可以解析出如下信息:
群组标识:群组编号,如1-127,用于标识客户端所要访问的群组。
调用接口:标识客户端访问的节点接口名称,如:执行交易、获取区块高度、获取指定交易回执等。
参数信息:发送给调用接口的对应参数,如:获取交易信息时,参数信息包括交易哈希;获取指定区块时,参数信息包括区块高度等;执行交易时,参数信息包括交易的具体内容。
其中,节点可以包含于多个群组,节点识别模块可以根据群组标识确定出节点接收到的交易信息应在哪一个群组中进行处理。结合图2举例来说,节点A1同属于群组1和群组2,节点A1接收客户端发送的交易信息,并根据接收到的交易信息确定该交易信息中的群组标识,若该交易信息中的群组标识为群组1,则节点A1可以确定该交易信息需要在群组1中进行处理。
节点的识别模块根据解析出的信息,确定在群组中对交易信息进行处理,具体的,节点的识别模块可以在对交易信息验证合法后,将交易信息存储在节点的交易池中。
验证交易信息的合法性可以如以下参数:(1)节点的交易池中的交易队列是否已满,若交易队列已满,则确定该交易信息未通过验证。(2)交易信息是否重复,客户端发送的交易哈希不能与交易池内已有哈希相同,也不能与区块链上已有交易哈希相同,若重复,则确定该交易信息未通过验证。(3)交易签名必须有效,若交易签名无效,则确定该交易信息未通过验证。
上述例子中,节点A1可以确定该交易信息需要在群组1中进行处理,则节点A1将交易信息存储在节点A1的交易池中。为保障切换出块节点时,新的出块节点能基于最新交易产生新区块,则需要节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步该交易信息,也就是节点A1的同步模块根据交易信息的群组标识在群组1的各节点间同步该交易信息。
需要说明的是,每个节点的存储模块中都存储有本节点的账本白名单,该账本白名单包括本节点所属群组中的所有节点信息,用于在节点之间交易 信息同步或账本同步时,只在群组内通信,保障了各群组通信的隐私性。图2示出的架构图中,节点A1将交易信息存储在节点A1的交易池中,节点A1获取本节点存储的关于群组1的账本白名单,根据该账本白名单可以确定出节点A1的同步模块可以将交易池中的交易信息同步给节点A3、节点B1、节点B2。也就是说,节点A1的同步模块不会将交易信息同步给群组2或群组3中的节点。
节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步交易信息之后,节点所属群组内的所有节点的交易池中都有该交易信息,节点的共识模块将交易信息打包为新区块。此处,接收交易信息的节点和将交易信息打包为新区块的节点可以为同一个,也可以不为同一个。进一步的,可以将上述将交易信息打包为新区块的节点理解为出块节点。
节点的区块执行器调用节点的虚拟机模块执行新区块,得到交易信息的交易结果并反馈给节点的共识模块,节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本。
本发明实施例中,节点的共识模块包括节点的打包线程模块和节点的共识线程模块,节点的打包线程模块会尝试从节点的交易池内加载交易,并打包成新区块,节点的打包线程模块的主要工作包括:
产生新空块:通过区块链接口模块获取当前最高块,并基于最高块产生新空块,具体的,将新区块父哈希置为最高块哈希,时间戳置为当前时间,区块交易清空;
取出交易信息:从节点的交易池内取出交易信息,并将取到的交易信息插入到上述新区块中;
组装新区块:节点的打包线程模块打包到交易后,将新区块的打包者置为出块节点索引,并根据打包到的交易计算所有交易的TransactionRoot。
节点的打包线程模块将打包到的新区块发送至节点的共识线程模块,节点的共识线程模块调用节点的区块执行器执行新区块,即节点的区块执行器调用节点的虚拟机模块执行新区块中的交易信息。节点的共识线程模块还会 将新区块广播给节点所属群组内所有其他共识节点,并基于从P2P(Peer to Peer,对等)网络收到的共识消息包执行共识算法,若区块共识成功,则通过区块链接口模块将新区块写入账本。
本发明实施例提供一种具体的实现方式,可以如图6所示。
步骤601,节点的识别模块接收交易信息。
步骤602,节点的识别模块在确定交易信息的群组标识为节点所属群组时,节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步交易信息。
步骤603,节点的共识模块根据交易信息产生新区块。
步骤604,节点的区块执行器调用节点的虚拟机模块执行新区块,得到交易信息的交易结果并反馈给共识模块。
步骤605,节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本。
由于本实施例的具体实现方式已在其他实施例中描述,在此不作赘述。
本发明实施例中,节点的同步模块不仅用于根据交易信息的群组标识将交易池中的交易信息广播至所属群组的其他节点,还用于根据交易信息的群组标识在所属群组的各节点间进行账本同步。当本节点区块落后于所属群组的其他节点时,本节点的同步模块会主动向所属群组内其他节点下载落后的区块,并将其通过区块链接口模块写入本地数据库;当本节点收到所属群组内其他节点的区块下载请求时,本节点通过区块链接口模块取出所属群组内其他节点请求下载的区块,并通过P2P网络发送给请求节点;此外,当本节点收到其他群组节点(非所属群组的节点)的区块下载请求时,不会执行任何操作,保障了群组数据的安全性。
进一步的,节点的同步模块向所属群组的不同节点发送不同的同步请求,从而完成节点的账本同步。也就是说,当本节点区块落后于所属群组的其他节点时,可以同时向所属群组的其他节点发送下载区块的请求,做到负载均衡,不会出现本节点向该节点所属群组的一个被请求节点发送同步请求,造 成被请求节点的同步压力过大,使得整个群组内节点的负载不均衡。
示例性的,如图2所示的架构中,群组3中包括节点A4、节点A5、节点D1、节点D2,假设节点A4的存储模块中的区块为500个,节点A5、节点D1、节点D2的存储模块中的区块分别为800个,则节点A4的同步模块分别向节点A5、节点D1、节点D2发送同步请求,示例性的,A4的同步模块向节点A5获取100个区块,向节点D1获取100个区块,向节点D2获取100个区块,从而完成节点的账本同步。
为了更好的解释本发明实施例,下面将在具体的实施场景下描述该区块链系统的交易处理方法,如图7所示,具体如下:
客户端通过链上链下协议,与节点建立SSL(Secure Sockets Layer,安全套接层)连接,并将向群组i发送的交易封装在数据包中发送给群组i中的节点,节点的监听服务器收到客户端的数据包后,解析数据包,并将其转发到远程调用模块,远程调用模块解析客户端发送的请求,此处,节点的监听服务器和节点的远程调用模块二者可以理解为节点的识别模块;远程调用模块根据解析的群组信息、调用接口以及参数信息,调用节点相应接口,并将执行后的结果返回给客户端。群组内的交易执行具体如下。
远程调用模块接收到交易信息,根据交易信息中附带的群组标识(群组i),获取群组i的交易池实例,并在确定交易信息验证合法后,将交易信息插入交易池,节点将交易池中的交易信息进行广播,该交易信息只会广播给群组i的所有节点,保证客户端发送的交易可以到达所有共识节点的同时,保障了交易的隐私性。出块节点的共识模块的打包线程模块会尝试从交易池内加载交易,并打包成新区块,打包线程模块打包到的新区块将提供给共识模块的共识线程模块,共识线程模块调用区块执行器执行新区块,将新区块广播给所有其他共识节点,并基于从P2P网络收到的共识消息包执行共识算法,若区块共识成功,则通过区块链接口模块将新区块写入区块链。
上述技术方案中,节点在接收到交易信息后,先确定该交易信息对应的群组,并在确定该交易信息对应的群组为该节点所属群组后,根据该节点所 属群组对应的共识算法,对该交易在所属群组内进行处理,从而实现群组内交易信息的隐私性,同时对该交易在所属群组内运行共识算法,从而实现区块链系统交易的安全性。
基于同一发明构思,本发明实施例还提供了一种计算设备,如图8所示,包括:
包括处理器801、存储器802、收发机803、总线接口804,其中处理器801、存储器802与收发机803之间通过总线接口804连接;
收发机803,用于在处理器801的控制下接收交易信息;
处理器801,用于读取存储器802中的程序,执行下列方法:在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息;
存储器802,用于存储一个或多个可执行程序,可以存储所述处理器在执行操作时所使用的数据;
804总线接口,提供接口,处理器负责管理总线架构和通常的处理。
其中,在图8中,总线构架可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器802代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。
处理器801,还用于:根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息。
处理器801,还用于:
根据所述交易信息产生新区块;
调用所述节点的虚拟机模块执行所述新区块,得到所述交易信息的交易结果并反馈给所述共识模块;
根据所属群组的共识算法进行共识,并将共识后的区块通过所述节点的区块链接口模块写入账本。
处理器801,还用于:
根据所述交易信息的群组标识在所属群组的各节点间进行账本同步。
收发机803,还用于:
在所述处理器的控制下向所属群组的不同节点发送不同的同步请求,从而完成所述节点的账本同步。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链系统的交易处理方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (19)

  1. 一种区块链系统,其特征在于,适用于联盟链,所述联盟链包括多个群组,每个群组包括多个节点;
    针对任一群组,所述群组设置有共识算法和账本,独立运行所述群组的交易信息;
    针对任一节点,所述节点仅用于处理所属群组的交易信息从而实现群组间数据隔离。
  2. 如权利要求1所述的系统,其特征在于,所述节点属于多个不同的群组。
  3. 如权利要求1所述的系统,其特征在于,所述各群组中至少有两个群组的共识算法不同。
  4. 如权利要求1所述的系统,其特征在于,所述节点包括共识模块、区块执行器和虚拟机模块;
    所述共识模块,用于针对所属群组的交易信息产生新区块并使用所述共识算法对所述新区块进行共识;
    所述区块执行器,用于调用所述虚拟机模块执行所述新区块并将所述虚拟机模块执行的交易结果反馈给所述共识模块;
    所述虚拟机模块,用于执行所述新区块的交易信息得到交易结果。
  5. 如权利要求4所述的系统,其特征在于,所述共识模块包括打包线程模块和共识线程模块;
    所述打包线程模块用于将所属群组的交易信息打包为新区块;
    所述共识线程模块用于将所述新区块在所属群组内按照所述共识算法进行共识。
  6. 如权利要求4所述的系统,其特征在于,所述节点还包括区块链接口模块;
    所述区块链接口模块为所述账本的访问接口。
  7. 如权利要求6所述的系统,其特征在于,所述节点还包括同步模块;
    所述同步模块用于在所属群组内进行交易信息的同步和账本的同步。
  8. 如权利要求1至7任一项所述的系统,其特征在于,所述节点还包括:识别模块;
    所述识别模块用于根据交易信息中的群组标识,确定所述交易信息为所属群组的交易信息。
  9. 一种区块链系统的交易处理方法,其特征在于,适用于设置有多群组的联盟链;
    所述方法包括:
    节点接收交易信息;所述节点为群组中的节点;
    所述节点在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息。
  10. 如权利要求9所述的方法,其特征在于,所述节点根据所属群组的共识算法处理所述交易信息,包括:
    所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息。
  11. 如权利要求10所述的方法,其特征在于,所述节点为出块节点;
    所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息之后,还包括:
    所述节点的共识模块根据所述交易信息产生新区块;
    所述节点的区块执行器调用所述节点的虚拟机模块执行所述新区块,得到所述交易信息的交易结果并反馈给所述共识模块;
    所述节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过所述节点的区块链接口模块写入账本。
  12. 如权利要求9所述的方法,其特征在于,还包括:
    所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步。
  13. 如权利要求12所述的方法,其特征在于,所述同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步,包括:
    所述节点的同步模块向所属群组的不同节点发送不同的同步请求,从而完成所述节点的账本同步。
  14. 一种计算设备,其特征在于,包括:
    处理器、存储器、收发机、总线接口,其中处理器、存储器与收发机之间通过总线接口连接;
    所述收发机,用于在所述处理器的控制下接收交易信息;
    所述处理器,用于读取所述存储器中的程序,执行下列方法:
    在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息;
    所述存储器,用于存储一个或多个可执行程序,可以存储所述处理器在执行操作时所使用的数据;
    所述总线接口,用于提供接口。
  15. 如权利要求14所述的计算设备,其特征在于,所述处理器,还用于:
    根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息。
  16. 如权利要求15所述的计算设备,其特征在于,所述处理器,还用于:
    根据所述交易信息产生新区块;
    调用所述节点的虚拟机模块执行所述新区块,得到所述交易信息的交易结果并反馈给所述共识模块;
    根据所属群组的共识算法进行共识,并将共识后的区块通过所述节点的区块链接口模块写入账本。
  17. 如权利要求14所述的计算设备,其特征在于,所述处理器,还用于:
    根据所述交易信息的群组标识在所属群组的各节点间进行账本同步。
  18. 如权利要求17所述的计算设备,其特征在于,所述收发机,还用于:
    在所述处理器的控制下向所属群组的不同节点发送不同的同步请求,从而完成所述节点的账本同步。
  19. 一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求9至13任一项所述的方法。
PCT/CN2020/076079 2019-03-05 2020-02-20 一种区块链系统及区块链系统的交易处理方法 WO2020177547A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910163272.6A CN109995850B (zh) 2019-03-05 2019-03-05 一种区块链系统及区块链系统的交易处理方法
CN201910163272.6 2019-03-05

Publications (1)

Publication Number Publication Date
WO2020177547A1 true WO2020177547A1 (zh) 2020-09-10

Family

ID=67129384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/076079 WO2020177547A1 (zh) 2019-03-05 2020-02-20 一种区块链系统及区块链系统的交易处理方法

Country Status (2)

Country Link
CN (1) CN109995850B (zh)
WO (1) WO2020177547A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165519A (zh) * 2020-09-24 2021-01-01 普华云创科技(北京)有限公司 一种按需同步数据的同步节点实现方法与系统
CN112508562A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 区块链公开交易多级共识方法、设备及存储介质
CN112631836A (zh) * 2020-12-29 2021-04-09 东软集团股份有限公司 用于区块链的方法、装置、存储介质及电子设备
CN112884579A (zh) * 2021-02-08 2021-06-01 京东数科海益信息科技有限公司 区块链交易共识方法和装置
CN113610525A (zh) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 基于区块链的金融数据的处理方法、装置、设备及介质
CN115051995A (zh) * 2022-07-27 2022-09-13 南京搜文信息技术有限公司 一种支持数据高效溯源的区块链底层平台
CN114726879B (zh) * 2022-03-29 2024-02-27 北京流通宝数据科技服务有限公司 一种基于区块链分流验证交易信息的方法
WO2024183358A1 (zh) * 2023-03-03 2024-09-12 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995850B (zh) * 2019-03-05 2022-04-26 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法
CN110555770B (zh) * 2019-08-21 2022-04-01 杭州趣链科技有限公司 一种基于增量哈希的区块链世界状态校验和恢复方法
CN110490601A (zh) * 2019-09-10 2019-11-22 杭州秘猿科技有限公司 在交易池中进行无状态验证的方法、系统、电子设备
CN111131386A (zh) * 2019-11-21 2020-05-08 北京联合天成价值网络科技有限公司 一种基于分区的区块链网络及组链方法
CN111224782B (zh) * 2019-11-22 2021-06-25 腾讯科技(深圳)有限公司 基于数字签名的数据校验方法、智能设备及存储介质
CN112884562B (zh) * 2019-11-30 2024-03-19 腾讯科技(深圳)有限公司 基于区块链的抵押处理方法、装置及可读存储介质
CN111161070A (zh) * 2019-12-30 2020-05-15 卓望数码技术(深圳)有限公司 基于以太坊的联盟链优化方法及装置
CN111190754B (zh) * 2019-12-30 2023-08-11 联动优势科技有限公司 一种区块链事件通知方法及区块链系统
CN111669434B (zh) * 2020-05-18 2023-07-04 支付宝实验室(新加坡)有限公司 一种通信群组的建立方法、系统、装置及设备
CN111383018B (zh) * 2020-05-28 2020-09-25 支付宝(杭州)信息技术有限公司 在联盟链网络中创建节点组、基于节点组的交易方法
CN112199382B (zh) * 2020-05-28 2023-12-15 支付宝(杭州)信息技术有限公司 在联盟链网络中创建节点组、基于节点组的交易方法
CN111798234B (zh) * 2020-06-03 2023-04-07 中国科学院信息工程研究所 一种轻量级区块链系统及构造方法
CN112039893B (zh) * 2020-08-31 2023-04-18 成都质数斯达克科技有限公司 私密交易处理方法、装置、电子设备及可读存储介质
CN112202581A (zh) * 2020-09-24 2021-01-08 成都质数斯达克科技有限公司 群组加入方法、装置以及电子设备
CN112241553B (zh) * 2020-10-27 2022-11-04 上海万向区块链股份公司 一种基于多账本架构的区块链隐私保护方法及系统
CN112419060B (zh) * 2020-11-20 2024-03-22 上海树图区块链研究院 资产托管系统、资产管理方法、节点及介质
CN113342838B (zh) * 2021-08-06 2021-11-09 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113630475A (zh) * 2021-09-17 2021-11-09 无锡井通网络科技有限公司 基于接口化区块链系统的区块链系统集群及其操作方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360248A (zh) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 用于配置局部共识的方法和装置及计算机可读存储介质
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法
CN109242483A (zh) * 2018-08-07 2019-01-18 阿里巴巴集团控股有限公司 一种基于中心化与去中心化的双重交易方法及系统
CN109327548A (zh) * 2018-11-27 2019-02-12 北京瑞卓喜投科技发展有限公司 一种区块链更新方法及区块链更新系统
WO2019033394A1 (zh) * 2017-08-18 2019-02-21 达闼科技成都有限公司 区块链系统及其权限管理方法
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193464A1 (en) * 2015-12-18 2017-07-06 Justin SHER Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents
US20180225661A1 (en) * 2017-02-07 2018-08-09 Microsoft Technology Licensing, Llc Consortium blockchain network with verified blockchain and consensus protocols
CN108510389B (zh) * 2018-03-30 2020-12-18 深圳前海微众银行股份有限公司 基于区块链的智能合约调用方法、设备及可读存储介质
CN108769150B (zh) * 2018-05-14 2021-11-12 百度在线网络技术(北京)有限公司 区块链网络的数据处理方法、装置、集群节点和存储介质
CN108769264B (zh) * 2018-07-09 2021-06-04 中国联合网络通信集团有限公司 一种区块链分域方法
CN109285005A (zh) * 2018-08-16 2019-01-29 北京京东尚科信息技术有限公司 区块链的拆分处理方法、装置、区块链节点及存储介质
CN109063169A (zh) * 2018-08-17 2018-12-21 福建省农村信用社联合社 一种基于区块链的客户数据管理系统
CN109361588B (zh) * 2018-09-29 2021-04-30 湖南智慧政务区块链科技有限公司 一种基于星型网络的区块链网络构建方法及其系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360248A (zh) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 用于配置局部共识的方法和装置及计算机可读存储介质
WO2019033394A1 (zh) * 2017-08-18 2019-02-21 达闼科技成都有限公司 区块链系统及其权限管理方法
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法
CN109242483A (zh) * 2018-08-07 2019-01-18 阿里巴巴集团控股有限公司 一种基于中心化与去中心化的双重交易方法及系统
CN109327548A (zh) * 2018-11-27 2019-02-12 北京瑞卓喜投科技发展有限公司 一种区块链更新方法及区块链更新系统
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165519A (zh) * 2020-09-24 2021-01-01 普华云创科技(北京)有限公司 一种按需同步数据的同步节点实现方法与系统
CN112165519B (zh) * 2020-09-24 2024-03-26 普华云创科技(北京)有限公司 一种按需同步数据的同步节点实现方法与系统
CN112508562A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 区块链公开交易多级共识方法、设备及存储介质
CN112508562B (zh) * 2020-12-01 2024-04-19 浙商银行股份有限公司 区块链公开交易多级共识方法、设备及存储介质
CN112631836A (zh) * 2020-12-29 2021-04-09 东软集团股份有限公司 用于区块链的方法、装置、存储介质及电子设备
CN112884579A (zh) * 2021-02-08 2021-06-01 京东数科海益信息科技有限公司 区块链交易共识方法和装置
CN113610525A (zh) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 基于区块链的金融数据的处理方法、装置、设备及介质
CN113610525B (zh) * 2021-08-24 2024-01-19 上海点融信息科技有限责任公司 基于区块链的金融数据的处理方法、装置、设备及介质
CN114726879B (zh) * 2022-03-29 2024-02-27 北京流通宝数据科技服务有限公司 一种基于区块链分流验证交易信息的方法
CN115051995A (zh) * 2022-07-27 2022-09-13 南京搜文信息技术有限公司 一种支持数据高效溯源的区块链底层平台
WO2024183358A1 (zh) * 2023-03-03 2024-09-12 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN109995850A (zh) 2019-07-09
CN109995850B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
WO2020177547A1 (zh) 一种区块链系统及区块链系统的交易处理方法
JP7502393B2 (ja) ハイパーレッジャファブリックブロックチェーンにおいてsqlベースのリッチクエリをサポートするためのシステムおよび方法
US11182379B2 (en) DAG based methods and systems of transaction processing in a distributed ledger
Yang et al. Smart-toy-edge-computing-oriented data exchange based on blockchain
US20180308091A1 (en) Fairness preserving byzantine agreements
AU2019321923B2 (en) Asynchronous processing of blockchain blocks
CN112270550B (zh) 一种基于区块链的新能源电力溯源方法及系统
CN110912937A (zh) 一种基于区块链的数字存证平台和存证方法
CN111681003A (zh) 资源跨链转移方法、装置、计算机设备以及存储介质
US20240054125A1 (en) Systems and methods of transaction identification generation for transaction-based environment
CN108234302A (zh) 保持网络装置用的分布式操作系统中的一致性
WO2022252995A1 (zh) 智能合约部署的方法及装置
CN111813583B (zh) 微服务架构下的事务管理方法、装置、设备及存储介质
WO2020024615A1 (zh) 一种共识流程恢复方法及相关节点
WO2023040502A1 (zh) 用户服务注册
CN115328645A (zh) 计算任务调度方法、计算任务调度装置及电子设备
CN102682117A (zh) 一种数据库集群数据快速复制的方法
WO2021000802A1 (zh) 一种通信方法、节点以及通信系统
WO2022252996A1 (zh) 为业务流程合约调度计算服务的方法
CN114900534B (zh) 一种基于区块链技术的大数据监管方法
WO2020042929A1 (zh) 一种区块链系统
CN112565368B (zh) 基于区块链的海上装备自组网系统、方法和介质
Yang et al. Blockchain consensus algorithm design based on consistent hash algorithm
WO2022252993A1 (zh) 基于链外计算服务的业务执行方法
Engelmann et al. Symmetric active/active high availability for high-performance computing system services: Accomplishments and limitations

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: 20766991

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21/01/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20766991

Country of ref document: EP

Kind code of ref document: A1