WO2021239070A1 - 在联盟链网络中创建节点组、基于节点组的交易方法 - Google Patents

在联盟链网络中创建节点组、基于节点组的交易方法 Download PDF

Info

Publication number
WO2021239070A1
WO2021239070A1 PCT/CN2021/096515 CN2021096515W WO2021239070A1 WO 2021239070 A1 WO2021239070 A1 WO 2021239070A1 CN 2021096515 W CN2021096515 W CN 2021096515W WO 2021239070 A1 WO2021239070 A1 WO 2021239070A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
group
node
business
sub
Prior art date
Application number
PCT/CN2021/096515
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 WO2021239070A1 publication Critical patent/WO2021239070A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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/02Banking, e.g. interest calculation or account maintenance
    • 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

Definitions

  • the embodiments of this specification relate to the field of information technology, and in particular to a method for creating node groups in a consortium chain network based on node groups.
  • the alliance chain network also known as the alliance type blockchain network, generally consists of multiple institutions as alliance members, and the nodes controlled by multiple institutions form the alliance chain network.
  • users of the institution’s docking can encapsulate the business data of the initiated business into a transaction (data structure specified by the blockchain protocol) and submit it to the corresponding node of the institution, and then the institution corresponds
  • the nodes broadcast the transaction to the consortium chain network, and then each node in the consortium chain network writes the transaction into the local blockchain after a consensus on the transaction. In this way, it can be ensured that the business data written in the blockchain is difficult to be tampered with.
  • the existing operating mechanism of the alliance chain network causes the service data of any node to be disclosed to the entire network.
  • an embodiment of this specification provides a method for creating a node group in a consortium chain network and a transaction method based on the node group. The solution is as follows:
  • a method for creating a node group in a consortium chain network includes a plurality of nodes, and the method includes: a first node receives a first manager account Group creation transaction; the group creation transaction includes a group creation sub-transaction, the group creation sub-transaction includes a group public key; the first manager account is the manager of the first node registered in the alliance chain network The group public key is designated by the manager of the first node; the first node broadcasts the group creation transaction to the alliance chain network; the first node executes the group creation transaction, Including: creating a private chain locally, and writing the group creation sub-transaction into the local private chain; every other node except the first node executes the group creation transaction without creating a private chain; Each node in the alliance chain network writes the group creation transaction and the corresponding execution result into the local alliance chain; the execution result corresponding to the group creation transaction includes the first node identifier.
  • a transaction method based on the node group created in the first aspect including: the first node receives a business transaction constructed by the first manager account; the business transaction Contains a business sub-transaction, the business sub-transaction includes business data and a signature generated using the group private key corresponding to the group public key; the first node uses the group public key to perform a signature on the business sub-transaction Verification, if the verification is passed, processing the business transaction includes: replacing the business sub-transaction with the hash value of the business sub-transaction; and the first node broadcasts the processed data to the alliance chain network Business transaction; the execution of the business transaction by the first node includes: writing the business sub-transaction into a local private chain; other nodes in the alliance chain network execute the business transaction without creating a private chain ; Each node in the alliance chain network writes the business transaction into the local alliance chain.
  • the management party of the first node in the alliance chain network can initiate a group creation transaction through its own alliance chain account, and the group creation transaction includes group creation sub-transactions.
  • the group creation transaction is broadcast to the consortium chain network
  • the first node executes the group creation transaction, it creates a sub-transaction according to the group and creates a private chain locally, which is equivalent to creating a node group containing the first node.
  • other nodes execute the group creation transaction, they will not create a private chain locally.
  • the first node and other nodes will write the set of created transactions into the local consortium chain.
  • the first management party initiates a business transaction to the first node through its own consortium chain account
  • the first node determines that the business sub-transaction contained in the business transaction carries the signature of the group private key, it is determined that the business sub-transaction specifies For the node group corresponding to the group private key, the content of the business sub-transaction cannot be disclosed to the alliance chain. Therefore, the first node will replace the business sub-transaction in the business transaction with a hash value before broadcasting to the alliance chain network.
  • a node When a node executes a business transaction, it will write the business sub-transaction into the local private chain, and when other nodes in the alliance chain network except the first node execute business transactions, there is no business sub-transaction content in the business transaction ( It is a hash value), and there is no private chain locally, so it will not execute like the first node. Finally, each node in the alliance chain network will write the business transaction containing the hash value of the business sub-transaction into the local alliance chain.
  • the plaintext of the service data of the first node docking will only be stored in the private chain of the node group where the first node is located, which protects the privacy of the first node's business data; on the other hand, on the one hand, the hash value of the business data corresponding to the first node will be stored in the alliance chain again, which has the effect of storing evidence (not tampering).
  • any one of the embodiments of the present specification does not need to achieve all the above-mentioned effects.
  • Figure 1 is a schematic diagram of the structure of an existing blockchain system
  • FIG. 2 is a schematic diagram of the structure of a blockchain system provided by an embodiment of this specification.
  • FIG. 3 is a schematic flowchart of a method for creating a node group in a consortium chain network provided by an embodiment of this specification;
  • FIG. 4 is a schematic diagram of a first node locally maintaining an alliance chain and a private chain provided by an embodiment of this specification;
  • FIG. 5 is a schematic flowchart of a transaction method based on node groups provided by an embodiment of this specification
  • FIG. 6 is a schematic flowchart of a method for joining a node group provided by an embodiment of this specification
  • FIG. 7 is a schematic diagram of a second node locally maintaining an alliance chain and a private chain according to an embodiment of this specification
  • FIG. 8 is a schematic flowchart of a transaction method based on a node group provided by an embodiment of this specification.
  • Fig. 9 is a schematic structural diagram of a device for configuring the method of the embodiment of this specification.
  • Figure 1 is a schematic diagram of the structure of an existing blockchain system.
  • the alliance chain account can send transactions through any node, and the transaction contains business data, and the transaction will be broadcast to the entire network, so that each node will cache the transaction locally.
  • nodes A to D generate blocks based on the consensus algorithm. There are several transactions in the block. Each node executes the transactions in the block generated by the consensus and writes the block to the local consortium chain (Equivalent to writing each transaction in the block to the local consortium chain), realizing transaction execution and transaction storage on the chain.
  • the blockchain system described in Figure 1 will open the business data of each node's docking in the consortium chain in plaintext, and all nodes in the consortium chain network can view each other's business data, which cannot realize the protection of business data privacy.
  • This solution is used to achieve data isolation between nodes in a consortium chain network (data isolation between node groups, or data isolation between nodes and node groups), so as to protect the services connected to nodes Data privacy.
  • the blockchain system includes a consortium chain network.
  • the consortium chain network is composed of multiple nodes. Each node is deployed with a block chain maintained by the consortium chain network.
  • the chain is called the alliance chain).
  • each node in the consortium chain network can also maintain at least one local private blockchain (for the convenience of description, it is called a private chain).
  • the so-called "private” in this article means that the node group is private, not that the node is private.
  • the nodes that maintain the same private chain constitute a node group, and a node can create or join one or more than one node group. If a node group includes only one node, then the local private chain of this node is also the private chain maintained by this node group; if a node group includes more than one node, then each node in this node group has the local private chain The chains are the same, and the same private chain is the private chain maintained by this node group.
  • any node can create or join a node group, the nodes in the same node group maintain the same private chain, and the plaintext of the business data of the nodes in the same node group can only be written into the private chain of the node group to realize the node Data isolation inside and outside the group.
  • FIG 2 is a schematic structural diagram of a blockchain system provided by an embodiment of this specification.
  • the alliance chain network includes node A, node B, node C, and node D. Nodes A to D all maintain the same alliance chain locally. The same alliance chain is maintained by the alliance chain network. Blockchain.
  • node A and node D belong to the same node group, maintain the same private chain 1, and share business data with each other.
  • Node C creates a node group by itself, which includes only node C, and node C maintains private chain 2 (of course , It is also possible to allow nodes A, B, D to subsequently join the node group), node B has not created or joined any node group, and the service data of node B docking will be shared with the entire network.
  • node A and node D will not be shared with node B and node C, which realizes data isolation between node groups and nodes and node groups.
  • the business data of node C will not be shared with other nodes, which achieves data isolation between nodes.
  • the architecture of the blockchain system in this solution is actually a two-layer network nesting structure.
  • the outer layer is a consortium chain network, and inside the consortium chain network, several private chain networks can be formed (a private chain network is one Node group).
  • the initiated transaction refers to the account registered on the alliance chain network (such as the manager account registered in the alliance chain network by the manager of a node, and the user account registered in the alliance network by the ordinary users served by the manager)
  • the initiated transaction is a concept at the level of the alliance chain network. After the transaction is broadcast to each node in the alliance chain network, it will be further written into the alliance chain. For example, group creation transaction, group joining transaction, business transaction.
  • Sub-transaction refers to the data structure nested within the transaction, which is a concept on the private chain network level.
  • the sub-transaction will specify the private chain to be written into, and all nodes maintaining the private chain will write the sub-transaction into the private chain. For example, group creation sub-transaction, group joining sub-transaction, business sub-transaction.
  • transactions are divided into execution-type transactions and deposit-type transactions.
  • execution-type transactions nodes not only need to write the execution-type transaction into the blockchain, but also need to be based on some data parameters in the execution-type transaction. Perform the operation and get the execution result; for the deposit type transaction, the node does not need to execute, only the deposit type transaction will be written into the blockchain for deposit.
  • the transactions at the consortium chain level mentioned in this solution usually refer to execution transactions, while the sub-transactions at the private chain level can be deposit-certificate transactions or execution transactions.
  • First node For the convenience of description, a certain node that creates a node group in the alliance chain network is called the first node.
  • Second node For the convenience of description, some other node in the alliance chain network that joins the node group created by the first node is called the second node.
  • Fig. 3 is a schematic flowchart of a method for creating a node group in a consortium chain network provided by an embodiment of the present specification, including the following steps: S300: the first node receives the group creation transaction constructed by the first manager account.
  • the first manager account is an account registered by the manager of the first node in the alliance chain network.
  • the management party of a node is an organization (such as a bank) that provides business services to users.
  • the centralized server of the node's manager will dock with several users.
  • the node manager provides a centralized service.
  • the user initiates a business to the centralized server of the node manager, and the centralized server encapsulates the corresponding business data into the business transaction through the account of the first manager. Submit to the first node so that the alliance chain network can process and store business transactions.
  • the node group creation operation and the node group joining operation it is usually initiated by the node's manager, not by the user who is docked by the node's manager.
  • the group creation transaction includes the creation sub-transaction (of course, it usually contains other parameters), and the creation sub-transaction includes the group public key.
  • the group public key is designated by the manager of the first node and is used as the creation The public key corresponding to the node group. It can be understood that since the administrator of the first node has specified the group public key, of course, it will also specify the group private key.
  • the transaction is a well-known data structure in the field of blockchain technology.
  • the transaction usually also contains other parameters (such as the account address, the hash value of the transaction, and the account pair that initiated the transaction.
  • the signature of the transaction, etc.) among which, other parameters in the transaction are not the focus of this solution. The following text will not emphasize other parameters, and only focus on the data contained in the transaction.
  • S302 The first node broadcasts the group creation transaction to the alliance chain network.
  • S304 The first node executes the group creation transaction.
  • Every other node except the first node executes the group creation transaction without creating a private chain.
  • Each node in the alliance chain network writes the group creation transaction and the corresponding execution result into the local alliance chain.
  • the first node will broadcast the group creation transaction to the entire network after accepting the group creation transaction initiated by the first manager's account. Based on the consensus algorithm, each node in the alliance chain network will package the group creation transaction into the block (understandably, there will be other transactions in the block, and other transactions may not be other group creation transactions, but may also be group join transactions or Business transactions). After this consensus generates a block, each node needs to execute each transaction in the block and write the block to the local consortium chain. It should be noted here that nodes usually execute transactions based on locally deployed smart contracts or firmware.
  • the first node Since the first node is the subject of creating the node group this time, only the first node can create a private chain locally, and other nodes cannot create a private chain locally. This means that the first node performs the group creation transaction in a different way than other nodes.
  • the first node executes the group creation transaction, it creates a private chain locally, extracts the group creation sub-transaction embedded in the group creation transaction, and writes it into the local private chain.
  • Every other node other than the first node will not create a private chain when executing a group creation transaction, and actually execute the group creation transaction without creating a private chain.
  • Other nodes can execute the group creation transaction "symbolicly".
  • two group creation transactions can be deployed on each node
  • the execution logic corresponds to two different logic trigger conditions.
  • Group creation transaction execution logic 1 can be to create a private chain locally and write group creation sub-transactions into the local private chain.
  • the corresponding trigger condition is that the execution node is the node that accepts and broadcasts the group creation transaction; the group creation transaction execution logic 2 It can be any execution logic that does not actually execute the group creation transaction, and the corresponding trigger condition is that the execution node is not the node that accepts and broadcasts the group creation transaction. It is worth emphasizing here that this manual does not specifically limit the group creation transaction execution logic 2, as long as it satisfies the “symbolic” execution of the group creation transaction without creating a private chain.
  • the execution result of the group creation transaction will of course be written into the alliance chain, and the execution result of each node written into the alliance chain is of course the same.
  • the aforementioned group creation transaction execution logic 1 and group creation transaction execution logic 2 can be set as logic that generates a certain execution result, and the execution result corresponding to the group creation transaction is set to include the group public key and the first A node ID indicates the public key corresponding to the node group created by the group creation exchange and the identity of the node that created the node group.
  • the execution result may include the first node identifier.
  • writing the execution result into the consortium chain (or private chain) in this article does not necessarily mean storing the execution result in the consortium chain (or private chain) in plain text, but it may also mean storing the execution result in plain text locally, and The hash value of the plaintext of the execution result is anchored to the consortium chain (private chain).
  • the group public key of the node group can be used as a unique identifier to distinguish different node groups, or a separate group identifier can be set for the node group.
  • the group creation sub-transaction may also include a group identifier, and accordingly, the execution result corresponding to the group creation transaction may also include the group identifier.
  • the group creation sub-transaction may also include a signature generated using the group private key.
  • the first node can verify this signature before broadcasting the group creation transaction to the entire network. If the verification passes , It means that the group creation transaction is authorized and initiated by the holder of the group private key, and the node group can be created based on the group creation transaction.
  • the first node writes the group creation sub-transaction into the locally created private chain.
  • the first node will package the private chain creation block (wherein usually It also includes several groups of sub-transactions or business transactions accepted after the creation of the private chain and written into the locally created private chain.
  • the group creation transaction is packaged into a certain alliance chain block and written into the alliance chain, and the group creation sub-transaction is packaged into the local private chain of the first node. Genesis block.
  • the first node can be in the private chain block (specifically in the block header) that encapsulates the group creation sub-transaction
  • the write pointer object is used to point to the consortium chain block encapsulating the group creation transaction.
  • Fig. 4 is a schematic diagram of a first node locally maintaining an alliance chain and a private chain provided by an embodiment of this specification.
  • the consortium chain area A group creation transaction is packaged in the block.
  • the node group in this solution can include only one node, and this node can write the business data of its own docking into the local private chain in plain text. To this end, first, describe how to trade when only one node is included in the node group.
  • Fig. 5 is a schematic flowchart of a transaction method based on a node group provided by an embodiment of the present specification, including the following steps: S500: a first node receives a business transaction constructed by an account of the first manager.
  • the business transaction includes a business sub-transaction, and the business sub-transaction includes a signature generated by the business data and the group private key corresponding to the group public key.
  • the manager of the first node can accept the user's business request, and then determine the corresponding business data according to the business request, and submit the business data to the first node in the form of two-level nested business transactions for the alliance
  • the chain network executes business transactions and writes business transactions into the alliance chain.
  • Business sub-transactions can be deposit-certificate-type transactions or execution-type transactions.
  • the business data can be the result of the data obtained by the manager after performing the operation according to the business request;
  • the business sub-transaction is an execution transaction, the business data can be the business request itself, the data in the node group Nodes need to execute business sub-transactions at the private chain network level to get the execution results, and both business sub-transactions and execution results will be written to the private chain.
  • the function of the signature included in the business sub-transaction is to prove that the business sub-transaction has the right to call the nodes in the node group to process the transaction.
  • the business sub-transaction may also include a group identifier, which is used to indicate the node group to be called by the business sub-transaction.
  • the first node uses the group public key corresponding to the group identifier to verify the signature in the service sub-transaction.
  • the first node uses the set of public keys to verify the signature in the business sub-transaction, and if the verification is passed, the business transaction is processed.
  • S504 The first node broadcasts the processed business transaction to the alliance chain network.
  • the processing includes: replacing the business sub-transaction with a hash value of the business sub-transaction.
  • business data involves data privacy and cannot be shared outside the node group.
  • business transactions that include business sub-transactions need to be written into the alliance chain.
  • S506 The first node executes the business transaction.
  • the first node executes the business transaction, if it finds that the business sub-transaction is a certificated transaction, it will write the business sub-transaction into the local private chain, and if it finds that the business sub-transaction is an execution-type transaction, it will execute the business Sub-transactions and get the corresponding execution sub-results, and write the business sub-transactions and the corresponding execution sub-results into the local private chain.
  • the first node may write a pointer object in the private chain block encapsulating the business sub-transaction for pointing to the consortium chain block encapsulating the processed business transaction.
  • Fig. 6 is a schematic flowchart of a method for joining a node group provided by an embodiment of this specification, including the following steps:
  • S600 The second node receives the group join transaction constructed by the account of the second management party.
  • the group joining transaction includes a group joining sub-transaction that includes a signature generated using a group private key corresponding to the group public key; the second manager account is the manager of the second node The account registered in the alliance chain network.
  • the manager of the second node can make the second node also join the node group to share service data with the first node.
  • the manager of the first node can provide the group private key to the manager of the second node offline.
  • the second node uses the group public key to verify the signature of the group addition sub-transaction, and if the verification is passed, broadcast the group addition transaction to the consortium chain network.
  • S604 The second node executes the group joining transaction.
  • the second node creates a private chain locally, synchronizes historical data of the private chain from other nodes that store the same private chain (such as the first node and other nodes that have joined the same node group), and adds the group to the child
  • the transaction is written to the local private chain.
  • the group of other nodes that store the same private chain joins the sub-transaction to write the local private chain.
  • S608 Other nodes that do not store the same private chain in the consortium chain network execute the group joining transaction without creating a private chain.
  • the other nodes that do not store the same private chain in the consortium chain network refer to other nodes that join this node group.
  • Each node in the alliance chain network writes the group joining transaction and the corresponding execution result into the local alliance chain.
  • each node in the consortium chain network writes the execution result corresponding to the group joining transaction into the local consortium chain.
  • the execution result corresponding to the group joining transaction may include the second node identifier.
  • the group joining transaction further includes a group identification
  • the second node uses the group public key corresponding to the group identification to verify the signature of the group joining sub-transaction.
  • the second node and other nodes storing the same private chain write a pointer object in the private chain block encapsulating the group joining sub-transaction for pointing to the alliance chain area encapsulating the group joining transaction Piece.
  • Fig. 7 is a schematic diagram of a second node locally maintaining an alliance chain and a private chain provided by an embodiment of this specification.
  • the second node requests to join the node group after the first node has maintained the private chain for a period of time.
  • the private chain maintained by the first node stores two private chain blocks, and the group joins the sub-transaction. It is packaged into the third private chain block, and at the same time, the third private chain block is also related to a certain alliance chain block that is packaged to join the transaction.
  • the node group in this solution can include more than one node, and each node in the same node group can share its own docking service data.
  • This is a description of how to trade when the node group includes more than one node. It should be noted that you can refer to the previous description of the principle description of how to trade when only one node is included in the node group to understand the latter, and the parts of the same principle will not be repeated.
  • Fig. 8 is a schematic flowchart of a transaction method based on a node group provided by an embodiment of the present specification, including: S800: a second node receives a business transaction constructed by the second manager account.
  • the business transaction includes a business sub-transaction, and the business sub-transaction includes business data and a signature generated using the set of private keys.
  • the second node uses the group public key to verify the signature in the business sub-transaction, and if the verification is passed, the business sub-transaction is sent to other nodes that store the same private chain, and the business transaction is performed deal with.
  • the node group includes not only the second node, but also at least the first node (there may be more nodes), therefore, the second node needs to send the business sub-transactions in the accepted business transactions to the private chain network level Other nodes in the same node group.
  • the second node also needs to replace the business sub-transaction with the hash value of the business sub-transaction.
  • S804 The second node broadcasts the processed business transaction to the alliance chain network.
  • S806 The second node executes the business transaction with other nodes storing the same private chain.
  • S808 Other nodes in the consortium chain network that do not store the same private chain perform the processed business transaction without creating a private chain.
  • the second node and other nodes storing the same private chain write the business sub-transaction into the local private chain.
  • the business sub-transaction is an execution type transaction
  • the second node executes the business sub-transaction with other nodes storing the same private chain, and writes the business sub-transaction and the corresponding execution sub-result into the local private chain.
  • the business sub-transaction further includes a group identification
  • the second node may use the group public key corresponding to the group identification to verify the signature in the business sub-transaction.
  • the second node and other nodes storing the same private chain write a pointer object in the private chain block encapsulating the business sub-transaction for pointing to the alliance chain area encapsulating the processed business transaction Piece.
  • the other node determines to receive the business sub-transaction, it returns a signature to the second node. In this way, if the second node determines that the number of received signatures of other nodes meets the preset distributed fault tolerance condition, then the business transaction is processed.
  • the embodiment of this specification also provides a blockchain system, including a consortium chain network, the consortium chain network includes a plurality of nodes; the first node receives the group creation transaction constructed by the account of the first manager; the group creation transaction Including a group creation sub-transaction, the group creation sub-transaction includes a group public key; the first manager account is an account registered by the manager of the first node in the alliance chain network; the group public key is Designated by the manager of the first node; broadcasting the group creation transaction to the alliance chain network; executing the group creation transaction includes: creating a private chain locally and writing the group creation sub-transaction locally Private chain; every other node except the first node executes the group creation transaction without creating a private chain; each node in the alliance chain network associates the group creation transaction with the corresponding The execution result of is written into the local consortium chain; the execution result corresponding to the group creation transaction includes the first node identifier.
  • the first node receives the business transaction constructed by the account of the first manager; the business transaction includes a business sub-transaction, and the business sub-transaction includes business data and generated by using the group private key corresponding to the group public key Signature; use the set of public keys to verify the signature in the business sub-transaction, and if the verification is passed, the business transaction is processed, including: replacing the business sub-transaction with the ha of the business sub-transaction Hope; broadcast the processed business transaction to the alliance chain network; executing the business transaction includes: writing the business sub-transaction into the local private chain; other nodes in the alliance chain network have not created a private The business transaction is executed in the case of a chain; each node in the alliance chain network writes the business transaction into the local alliance chain.
  • the second node receives the group joining transaction constructed by the account of the second manager; the group joining transaction includes a group joining sub-transaction, and the group joining sub-transaction includes a signature generated using the group private key corresponding to the group public key;
  • the second manager account is an account registered by the manager of the second node in the alliance chain network; the group public key is used to verify the signature of the group joining the sub-transaction, and if the verification passes, then Broadcasting the group joining transaction to the alliance chain network;
  • executing the group joining transaction includes: creating a private chain locally, synchronizing private chain historical data from other nodes that store the same private chain, and adding the group to a child
  • the transaction is written into the local private chain; other nodes that store the same private chain execute the group joining transaction, including: writing the group joining sub-transaction into the local private chain; the consortium chain network does not store the same Other nodes of the private chain execute the group joining transaction without creating a private chain; each node in the consortium chain network writes the group joining transaction and the
  • the second node receives the business transaction constructed by the second manager account; the business transaction includes a business sub-transaction, and the business sub-transaction includes business data and a signature generated using the set of private keys; using the group public key The key verifies the signature in the business sub-transaction.
  • the business sub-transaction is sent to other nodes that store the same private chain, and the business transaction is processed, including: The sub-transaction is replaced with the hash value of the business sub-transaction; the processed business transaction is broadcast to the alliance chain network; the execution of the business transaction with other nodes that store the same private chain includes: Sub-transactions are written into the local private chain; other nodes of the same private chain are not stored in the consortium chain network, and the processed business transaction is executed when the private chain is not created; each in the consortium chain network Each node writes the processed business transaction into the local alliance chain.
  • the embodiment of the present specification also provides a computer device, which at least includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the node in the embodiment of the present specification when the program is executed. Function.
  • FIG. 9 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification.
  • the device may include a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040 realize the communication connection between each other in the device through the bus 1050.
  • the processor 1010 may be implemented by a general CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits for execution related Program to realize the technical solutions provided in the embodiments of this specification.
  • a general CPU Central Processing Unit, central processing unit
  • a microprocessor an application specific integrated circuit (Application Specific Integrated Circuit, ASIC)
  • ASIC Application Specific Integrated Circuit
  • the memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory, random access memory), static storage device, dynamic storage device, etc.
  • the memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, related program codes are stored in the memory 1020 and called and executed by the processor 1010.
  • the input/output interface 1030 is used to connect an input/output module to realize information input and output.
  • the input/output/module can be configured in the device as a component (not shown in the figure), or can be connected to the device to provide corresponding functions.
  • the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and an output device may include a display, a speaker, a vibrator, an indicator light, and the like.
  • the communication interface 1040 is used to connect a communication module (not shown in the figure) to realize the communication interaction between the device and other devices.
  • the communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
  • the bus 1050 includes a path to transmit information between various components of the device (for example, the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040).
  • the above device only shows the processor 1010, the memory 1020, the input/output interface 1030, the communication interface 1040, and the bus 1050, in the specific implementation process, the device may also include the necessary equipment for normal operation. Other components.
  • the above-mentioned device may also include only the components necessary to implement the solutions of the embodiments of the present specification, and not necessarily include all the components shown in the figures.
  • the embodiment of this specification also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the function of the node in the embodiment of this specification is realized.
  • Computer-readable media includes permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
  • the information can be computer-readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
  • a typical implementation device is a computer.
  • the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A console, a tablet computer, a wearable device, or a combination of any of these devices.
  • the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments.
  • the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
  • the device embodiments described above are merely illustrative, and the modules described as separate components may or may not be physically separated.
  • the functions of the modules can be combined in the same way when implementing the solutions of the embodiments of this specification. Or multiple software and/or hardware implementations. It is also possible to select some or all of the modules according to actual needs to achieve the objectives of the solutions of the embodiments. Those of ordinary skill in the art can understand and implement it without creative work.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种在联盟链网络中创建节点组、基于节点组的交易方法。联盟链网络中的第一节点的管理方可以通过自己的联盟链账户发起组创建交易,组创建交易包含组创建子交易。组创建交易被广播到联盟链网络之后,第一节点在执行该组创建交易时,根据组创建子交易,在本地创建私有链,相当于创建包含第一节点的节点组。而其他节点在执行该组创建交易时,并不会在本地创建私有链。最终第一节点与其他节点都会将该组创建交易写入本地的联盟链。通过本方案,可以保护节点对接的业务数据的隐私。

Description

在联盟链网络中创建节点组、基于节点组的交易方法 技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种在联盟链网络中创建节点组、基于节点组的交易方法。
背景技术
联盟链网络,又称联盟式的区块链网络,一般由多个机构作为联盟成员,将多个机构分别控制的节点组成联盟链网络。
对于作为联盟成员的每个机构而言,该机构对接的用户可以将发起的业务的业务数据封装成交易(区块链协议规定的数据结构)提交给该机构对应的节点,进而由该机构对应的节点将该交易广播到联盟链网络,进而由联盟链网络中各节点对该交易进行共识后写入本地的区块链。如此,可以确保写入区块链中的业务数据难以被篡改。
现有的联盟链网络的运行机制为了追求业务数据的不可篡改,导致任一节点对接的业务数据都会公开给全网。
发明内容
为了解决现有技术中无法保护节点对接的业务数据隐私的问题,本说明书实施例提供一种在联盟链网络中创建节点组、基于节点组的交易方法,方案如下:
根据本说明书实施例的第1方面,提供一种在联盟链网络中创建节点组的方法,所述联盟链网络包括多个节点,所述方法包括:第一节点接收第一管理方账户构建的组创建交易;所述组创建交易包括组创建子交易,所述组创建子交易包含组公钥;所述第一管理方账户是所述第一节点的管理方在所述联盟链网络中注册的账户;所述组公钥是所述第一节点的管理方指定的;所述第一节点向所述联盟链网络广播所述组创建交易;所述第一节点执行所述组创建交易,包括:在本地创建私有链,并将所述组创建子交易写入本地的私有链;所述第一节点之外的每个其他节点在未创建私有链的情况下执行所述组创建交易;所述联盟链网络中每个节点将所述组创建交易与对应的执行结果写入本地的联盟链;所述组创建交易对应的执行结果包含第一节点标识。
根据本说明书实施例的第2方面,提供一种基于第1方面所创建的节点组的交易方法,包括:所述第一节点接收所述第一管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组公钥对应的组私钥生成的签名;所述第一节点使用所述组公钥对所述业务子交易中的签名进行验证,若验证通过,则对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;所述第一节点向所述联盟链网络广播处理后的业务交易;所述第一节点执行所述业务交易, 包括:将所述业务子交易写入本地的私有链;所述联盟链网络中其他节点在未创建私有链的情况下执行所述业务交易;所述联盟链网络中每个节点将所述业务交易写入本地的联盟链。
本说明书实施例所提供的技术方案,联盟链网络中的第一节点的管理方可以通过自己的联盟链账户发起组创建交易,组创建交易包含组创建子交易。组创建交易被广播到联盟链网络之后,第一节点在执行该组创建交易时,根据组创建子交易,在本地创建私有链,相当于创建包含第一节点的节点组。而其他节点在执行该组创建交易时,并不会在本地创建私有链。最终第一节点与其他节点都会将该组创建交易写入本地的联盟链。
如此,第一管理方通过自己的联盟链账户发起向第一节点发起业务交易时,第一节点如果确定业务交易包含的业务子交易中携带有组私钥的签名,则认定业务子交易指定了组私钥对应的节点组,业务子交易的内容并不能公开到联盟链中,因此,第一节点会将业务交易中的业务子交易替换成哈希值后才会广播给联盟链网络,第一节点执行业务交易时,会将业务子交易写入本地的私有链,而联盟链网络中除了第一节点以外的其他节点在执行业务交易时,由于业务交易中并没有业务子交易的内容(而是哈希值),且本地也没有私有链,因此并不会如第一节点那样进行执行。最终,联盟链网络中每个节点会将包含业务子交易的哈希值的业务交易写入本地的联盟链。
通过本说明书实施例提供的技术方案,一方面,第一节点对接的业务数据明文只会存储于第一节点所在的节点组的私有链中,这保护了第一节点的业务数据隐私;另一方面,第一节点对应的业务数据的哈希值又会存储于联盟链中,起到了存证的效果(不可篡改)。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是一种现有的区块链系统的结构示意图;
图2是本说明书实施例提供一种区块链系统的结构示意图;
图3是本说明书实施例提供的一种在联盟链网络中创建节点组的方法的流程示意图;
图4是本说明书实施例提供的第一节点本地维护联盟链与私有链的示意图;
图5是本说明书实施例提供的一种基于节点组的交易方法的流程示意图;
图6是本说明书实施例提供的一种加入节点组的方法的流程示意图;
图7是本说明书实施例提供的第二节点本地维护联盟链与私有链的示意图;
图8是本说明书实施例提供的一种基于节点组的交易方法的流程示意图;
图9用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
图1是一种现有的区块链系统的结构示意图。如图1所示,在现有技术中,联盟链账户可以通过任一节点发送交易,交易包含业务数据,交易会被广播到全网,如此每个节点都会将交易缓存在本地。在共识阶段,节点A~节点D基于共识算法,生成区块,区块中打包有若干交易,每个节点对共识生成的区块中的交易进行执行,并将区块写入本地的联盟链(相当于将区块中每个交易都写入本地的联盟链),实现交易执行与交易的上链存储。
图1所述的区块链系统会将每个节点对接的业务数据明文公开在联盟链中,联盟链网络中的所有节点都可以互相查看彼此的业务数据,无法实现业务数据隐私的保护。
而本方案用于在一个联盟链网络中实现节点之间的数据隔离(也可以节点组之间的数据隔离,还可以是节点与节点组之间的数据隔离),从而保护节点所对接的业务数据隐私。
此处先对本方案所应用的区块链系统的架构进行说明。区块链系统包括一个联盟链网络,联盟链网络由多个节点组成,每个节点上部署有联盟链网络所维护的区块链(为了描述的方便,本文将联盟链网络所维护的区块链称为联盟链)。联盟链网络中每个节点除了维护本地的联盟链之外,还可以维护本地的至少一条私有的区块链(为了描述的方便,称为私有链)。
需要说明的是,本文所谓的“私有”,是指节点组私有,并不是指节点私有。维护有相同私有链的节点构成一个节点组,而一个节点可以创建或加入一个或不止一个节点组。如果某个节点组只包括一个节点,那么,这个节点本地的私有链也就是这个节点组维护的私有链;如果某个节点组包括不止一个节点,那么,这个节点组内每个节点本地的私有链是相同的,该相同私有链就是这个节点组维护的私有链。
在本方案中,任一节点可以创建或者加入节点组,同一节点组内的节点维护相同私有链,同一节点组内的节点对接的业务数据明文可以仅写入节点组的私有链中,实现节点组内外的数据隔离。
图2是本说明书实施例提供一种区块链系统的结构示意图。如图2所示,联盟链网络包括节点A、节点B、节点C与节点D,其中,节点A~节点D都在本地维护有相同 的联盟链,该相同联盟链就是联盟链网络所维护的区块链。此外,节点A与节点D属于同一节点组,维护相同的私有链1,彼此共享业务数据,节点C自己创建了一个节点组,该节点组只包括节点C,节点C独自维护私有链2(当然,也可以允许节点A、B、D后续加入该节点组),节点B并未创建或加入任何节点组,节点B对接的业务数据会共享给全网。
需要说明的是,节点A与节点D的业务数据不会共享给节点B和节点C,这实现了节点组与节点、节点组之间的数据隔离。节点C的业务数据不会共享给其他节点,这实现了节点间的数据隔离。
可以看出,本方案中区块链系统的架构实际上是两层网络嵌套结构,外层是联盟链网络,而联盟链网络内部,又可以形成若干私有链网络(一个私有链网络就是一个节点组)。
另外,还需要对本方案的描述中会出现的若干概念进行解释。
交易:是指由在联盟链网络上注册的账户(如某个节点的管理方在联盟链网络中注册的管理方账户,以及,管理方所服务的普通用户在联盟网络中注册的用户账户)发起的交易,其是联盟链网络层面上的概念,交易被广播到联盟链网络中每个节点之后,会被进一步写入联盟链中。例如,组创建交易、组加入交易、业务交易。
子交易:是指交易内嵌套的数据结构,其是私有链网络层面上的概念。子交易会指定其所要写入的私有链,维护该私有链的所有节点会将该子交易写入该私有链。例如,组创建子交易、组加入子交易、业务子交易。
众所周知,在区块链领域,交易有执行型交易与存证型交易之分,对于执行型交易,节点不仅需要将执行型交易写入区块链,还需要基于执行型交易中的一些数据参数执行操作,得到执行结果;对于存证型交易,节点不需要执行,仅会将存证型交易写入区块链进行存证。
而本方案中所述的联盟链层面上的交易,通常是指执行型交易,而私有链层面上的子交易,可以是存证型交易,也可以是执行型交易。
第一节点:为了描述的方便,将联盟链网络中创建节点组的某个节点称为第一节点。
第二节点:为了描述的方便,将联盟链网络中加入第一节点创建的节点组的某个其他节点称为第二节点。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图3是本说明书实施例提供的一种在联盟链网络中创建节点组的方法的流程示意图,包括以下步骤:S300:第一节点接收第一管理方账户构建的组创建交易。
第一管理方账户是第一节点的管理方在联盟链网络中注册的账户。一般而言,节点的管理方是向用户提供业务服务的机构(如银行)。通常,节点的管理方的中心化服务器会对接若干用户。对于用户而言,节点的管理方提供的是中心化服务,用户向节点的管理方的中心化服务器发起业务,中心化服务器会通过第一管理方账户将相应的业务数据封装到业务交易中,提交给第一节点,以便联盟链网络对业务交易进行处理与存储。
而对于节点组创建操作以及节点组加入操作,其通常是节点的管理方发起的,并不是节点的管理方对接的用户发起的。
在本说明书实施例中,组创建交易中包含创建子交易(当然,通常还包含其他参数),创建子交易包含组公钥,组公钥是第一节点的管理方指定的,用于作为创建的节点组对应的公钥。可以理解,第一节点的管理方既然指定了组公钥,当然也会一并指定组私钥。
此处需要说明,交易是区块链技术领域公知的数据结构,交易中除了包含待处理数据(data)以外,通常还包含其他参数(如账户地址、交易的哈希值、发起交易的账户对交易的签名等等),其中,交易中的其他参数并不是本方案关注的重点,后文对其他参数不再强调,只重点关注交易中包含的data。
S302:所述第一节点向所述联盟链网络广播所述组创建交易。
S304:所述第一节点执行所述组创建交易。
S306:所述第一节点之外的每个其他节点在未创建私有链的情况下执行所述组创建交易。
S308:所述联盟链网络中每个节点将所述组创建交易与对应的执行结果写入本地的联盟链。
从联盟链网络层面来看,第一节点在受理第一管理方账户发起的组创建交易之后,会将组创建交易广播到全网。联盟链网络中各节点会基于共识算法,将组创建交易打包进区块(可以理解,区块中还会有其他交易,其他交易不一定是其他的组创建交易,也可能是组加入交易或者业务交易)。本次共识产生区块后,每个节点都需要对区块中的每个交易进行执行,并且将区块写入本地的联盟链。此处需要说明的是,节点通常会基于本地部署的智能合约或固件来执行交易。
由于第一节点是本次创建节点组的主体,因此,只有第一节点本地才能创建私有链,而其他节点本地不能创建私有链。这意味着第一节点执行所述组创建交易的方式与其他节点不同。
第一节点执行组创建交易时,会在本地创建私有链,并将所述组创建交易中内嵌的组创建子交易提取出来,写入本地的私有链。
而第一节点之外的每个其他节点,在执行组创建交易时,不会创建私有链,实际是在未创建私有链的情况下执行所述组创建交易。其他节点可以“象征性”执行所述组创建交易,为了实现第一节点与其他节点对所述组创建交易的不同执行方式,可以具体采用如下实现:每个节点上可以部署两种组创建交易执行逻辑,分别对应两种不同的逻辑触发条件。组创建交易执行逻辑1可以是在本地创建私有链,并且将组创建子交易写入本地的私有链,其对应的触发条件是执行节点是受理并广播组创建交易的节点;组创建交易执行逻辑2可以是不实际执行组创建交易的任何执行逻辑,对应的触发条件是执行节点不是受理并广播组创建交易的节点。此处值得强调,本说明书并不对组创建交易执行逻辑2进行具体限定,只要满足在未创建私有链的情况下对组创建交易进行“象征性”执行即可。
可以理解,组创建交易的执行结果当然也会被写入联盟链,每个节点写入联盟链中的执行结果当然也一致的。在具体实现上,可以将上述组创建交易执行逻辑1与组创建交易执行逻辑2设置为生成某个相同执行结果的逻辑,将所述组创建交易对应的执行结果设置为包含组公钥与第一节点标识,表明组创建交易所创建的节点组对应的公钥以及创建节点组的节点的身份。例如,执行结果可以包括第一节点标识。
可以理解,本文中所谓的将执行结果写入联盟链(或私有链),不一定是指将执行结果明文存储到联盟链(或私有链),也可能是将执行结果明文存储到本地,并将执行结果明文的哈希值锚定到联盟链上(私有链)。
上述有关“象征性”执行组创建交易的说明同样也适应于“象征性”执行其他交易的情况,后文在提及“象征性”执行时,对具体原理不再赘述。
在实际应用中,联盟链网络中可能创建有不止一个节点组,这种情况下,可以使用节点组的组公钥作为唯一标识来区别不同的节点组,也可以另行为节点组设置组标识。
具体而言,所述组创建子交易还可以包括组标识,相应地,组创建交易对应的执行结果也可以包含组标识。
在本说明书实施例中,所述组创建子交易还可以包括使用组私钥生成的签名,如此,第一节点在向全网广播所述组创建交易之前,可以先验证此签名,如果验证通过,则说明组创建交易是组私钥的持有者授权发起的,可以基于组创建交易创建节点组。
在本说明书实施例中,可以理解,第一节点将组创建子交易写入本地创建的私有链,实际是第一节点将打包有所述组创建子交易的私有链创世区块(其中通常还包含私有链创建后受理的若干组加入子交易或业务交易)并写入本地创建的私有链。
可见,对于组创建交易与其内嵌的组创建子交易而言,组创建交易被打包进某个联盟链区块并写入联盟链,组创建子交易被打包进第一节点本地的私有链的创世区块。为了明确此联盟链区块与此私有链区块之间的关联关系,方便查阅记录,第一节点可以在封装有所述组创建子交易的私有链区块(具体可以是区块头中)中写入指针对象,用于 指向封装有所述组创建交易的联盟链区块。
图4是本说明书实施例提供的第一节点本地维护联盟链与私有链的示意图。如图4所示,第一节点本地的私有链的私有链创世区块(打包有组创建子交易)通过指针对象指向本地维护的联盟链中的某个联盟链区块,该联盟链区块中打包有组创建交易。
本方案中的节点组可以仅包括一个节点,而这个节点可以将自身对接的业务数据明文写入本地的私有链。为此,先对节点组中仅包括一个节点的情况下如何交易进行描述。
图5是本说明书实施例提供的一种基于节点组的交易方法的流程示意图,包括如下步骤:S500:第一节点接收所述第一管理方账户构建的业务交易。
所述业务交易包含业务子交易,业务子交易包含业务数据与使用所述组公钥对应的组私钥生成的签名。
在本方案的场景下,第一节点的管理方可以受理用户的业务请求,然后根据业务请求确定相应的业务数据,将业务数据以两层嵌套的业务交易形式提交给第一节点,以便联盟链网络执行业务交易,将业务交易写入联盟链。
业务子交易可以是存证型交易,也可以是执行型交易。当业务子交易是存证型交易时,业务数据可以是管理方根据业务请求执行操作后得到的数据结果;当业务子交易是执行型交易时,业务数据可以是业务请求本身,节点组内的节点需要在私有链网络层面上执行业务子交易,得到执行结果,业务子交易与执行结果都会被写入私有链。
业务子交易中包含签名的作用是,证明业务子交易有权调用节点组内的节点来对交易进行处理。此外,当联盟链网络中存在不止一个节点组时,业务子交易还可以包含组标识,用于表明业务子交易所要调用的节点组。所述第一节点使用所述组标识对应的所述组公钥对所述业务子交易中的签名进行验证。
S502:第一节点使用所述组公钥对所述业务子交易中的签名进行验证,若验证通过,则对所述业务交易进行处理。
S504:所述第一节点向所述联盟链网络广播处理后的业务交易。
所述处理包括:将所述业务子交易替换成所述业务子交易的哈希值。一方面业务数据涉及数据隐私,不能够共享给节点组之外,另一方面,在联盟链网络层面上,包含业务子交易的业务交易需要写入联盟链,通过上述处理,第一节点可以获取到业务子交易的明文,而其他节点只能获取到业务子交易的哈希值。
S506:所述第一节点执行所述业务交易。
所述第一节点执行所述业务交易时,如果发现业务子交易是存证型交易,则会将业务子交易写入本地的私有链,如果发现业务子交易是执行型交易,则会执行业务子交易,并得到相应的执行子结果,将业务子交易与相应的执行子结果写入本地的私有链。
S508:所述联盟链网络中其他节点在未创建私有链的情况下执行所述业务交易。
此处,其他节点实际上“象征性”执行所述业务交易。
S510:所述联盟链网络中每个节点将所述业务交易写入本地的联盟链。
此外,所述第一节点可以在封装有所述业务子交易的私有链区块中写入指针对象,用于指向封装有处理后的业务交易的联盟链区块。
以下对加入节点组的方法进行描述。需要说明的是,可以参考前文对创建节点组的原理描述来理解后文,原理相通的地方不再赘述。
图6是本说明书实施例提供的一种加入节点组的方法的流程示意图,包括如下步骤:
S600:第二节点接收第二管理方账户构建的组加入交易。
所述组加入交易包括组加入子交易,所述组加入子交易包含使用所述组公钥对应的组私钥生成的签名;所述第二管理方账户是所述第二节点的管理方在所述联盟链网络中注册的账户。
第一节点在创建节点组之后,第二节点的管理方可以使第二节点也加入该节点组,与第一节点共享业务数据。第一节点的管理方可以在线下将组私钥提供给第二节点的管理方。
S602:所述第二节点使用所述组公钥对所述组加入子交易中的签名进行验证,若验证通过,则向所述联盟链网络广播所述组加入交易。
S604:所述第二节点执行所述组加入交易。
具体而言,第二节点在本地创建私有链,从存储有相同私有链的其他节点(如第一节点以及已经加入同一节点组的其他节点)同步私有链历史数据,以及将所述组加入子交易写入本地的私有链。
S606:存储有相同私有链的其他节点执行所述组加入交易。
具体而言,存储有相同私有链的其他节点所述组加入子交易写入本地的私有链。
S608:所述联盟链网络中未存储有所述相同私有链的其他节点在未创建私有链的情况下执行所述组加入交易。
所述联盟链网络中未存储有所述相同私有链的其他节点是指为加入此节点组的其他节点。
S610:所述联盟链网络中每个节点将所述组加入交易与对应的执行结果写入本地的联盟链。
可以理解,所述联盟链网络中每个节点将所述组加入交易对应的执行结果写入本地的联盟链。例如,所述组加入交易对应的执行结果可以包含第二节点标识。
进一步地,所述组加入交易还包括组标识,所述第二节点使用所述组标识对应的所述组公钥对所述组加入子交易中的签名进行验证。
此外,所述第二节点与存储有相同私有链的其他节点在封装有所述组加入子交易的私有链区块中写入指针对象,用于指向封装有所述组加入交易的联盟链区块。
图7是本说明书实施例提供的第二节点本地维护联盟链与私有链的示意图。如图7所示,第二节点在第一节点维护私有链已经有一段时间之后请求加入节点组,在此之前,第一节点维护的私有链存储有两个私有链区块,组加入子交易被打包进第三个私有链区块,同时,第三个私有链区块也与打包有组加入交易的某个联盟链区块有关联。
本方案中的节点组可以包括不止一个节点,同一节点组中各节点可以共享自身对接的业务数据。此处对节点组中包括不止一个节点的情况下如何交易进行描述。需要说明的是,可以参考前文对节点组中仅包括一个节点情况下如何交易的原理描述来理解后文,原理相通的地方不再赘述。
图8是本说明书实施例提供的一种基于节点组的交易方法的流程示意图,包括:S800:第二节点接收所述第二管理方账户构建的业务交易。
所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组私钥生成的签名。
S802:第二节点使用组公钥对所述业务子交易中的签名进行验证,若验证通过,则将所述业务子交易发送给存储有相同私有链的其他节点,并对所述业务交易进行处理。
由于节点组中不仅包括第二节点,还至少包括第一节点(还可能有更多节点),因此,第二节点需要在私有链网络层面上,将受理的业务交易中的业务子交易发送给同一节点组内的其他节点。
此外,第二节点还需要将所述业务子交易替换成所述业务子交易的哈希值。
S804:第二节点向所述联盟链网络广播处理后的所述业务交易。
S806:第二节点与存储有相同私有链的其他节点执行所述业务交易。
S808:联盟链网络中未存储有所述相同私有链的其他节点在未创建私有链的情况下,执行处理后的所述业务交易。
S810:联盟链网络中每个节点将处理后的所述业务交易写入本地的联盟链。
具体而言,如果业务子交易是存证型交易,则第二节点与存储有相同私有链的其他节点将所述业务子交易写入本地的私有链。如果业务子交易是执行型交易,则第二节点与存储有相同私有链的其他节点执行业务子交易,并且将业务子交易与相应的执行子结果写入本地的私有链。
进一步地,所述业务子交易还包括组标识,所述第二节点可以使用所述组标识 对应的所述组公钥对所述业务子交易中的签名进行验证。
进一步地,所述第二节点与存储有相同私有链的其他节点在封装有所述业务子交易的私有链区块中写入指针对象,用于指向封装有处理后的业务交易的联盟链区块。
此外,针对存储有相同私有链的每个其他节点,该其他节点若确定接收到所述业务子交易,则向所述第二节点返回签名。如此,所述第二节点若确定接收到的其他节点的签名的数量满足预设的分布式容错条件,则对所述业务交易进行处理。
分布式容错条件可以是接收到的签名数量达到指定数量。例如,如果同一节点组内的节点数量不少于4个,则指定数量可以是2f+1,其中,f=(N-1)/3,N为该节点组内的节点数量。
此外,本说明书实施例还提供一种区块链系统,包括联盟链网络,所述联盟链网络包括多个节点;第一节点接收第一管理方账户构建的组创建交易;所述组创建交易包括组创建子交易,所述组创建子交易包含组公钥;所述第一管理方账户是所述第一节点的管理方在所述联盟链网络中注册的账户;所述组公钥是所述第一节点的管理方指定的;向所述联盟链网络广播所述组创建交易;执行所述组创建交易,包括:在本地创建私有链,并将所述组创建子交易写入本地的私有链;所述第一节点之外的每个其他节点,在未创建私有链的情况下执行所述组创建交易;所述联盟链网络中每个节点,将所述组创建交易与对应的执行结果写入本地的联盟链;所述组创建交易对应的执行结果包含第一节点标识。
所述第一节点,接收所述第一管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组公钥对应的组私钥生成的签名;使用所述组公钥对所述业务子交易中的签名进行验证,若验证通过,则对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;向所述联盟链网络广播处理后的业务交易;执行所述业务交易,包括:将所述业务子交易写入本地的私有链;所述联盟链网络中其他节点,在未创建私有链的情况下执行所述业务交易;所述联盟链网络中每个节点,将所述业务交易写入本地的联盟链。
第二节点,接收第二管理方账户构建的组加入交易;所述组加入交易包括组加入子交易,所述组加入子交易包含使用所述组公钥对应的组私钥生成的签名;所述第二管理方账户是所述第二节点的管理方在所述联盟链网络中注册的账户;使用所述组公钥对所述组加入子交易中的签名进行验证,若验证通过,则向所述联盟链网络广播所述组加入交易;执行所述组加入交易,包括:在本地创建私有链,从存储有相同私有链的其他节点同步私有链历史数据,以及将所述组加入子交易写入本地的私有链;存储有相同私有链的其他节点,执行所述组加入交易,包括:将所述组加入子交易写入本地的私有链;所述联盟链网络中未存储有相同私有链的其他节点,在未创建私有链的情况下执行所述组加入交易;所述联盟链网络中每个节点,将所述组加入交易与对应的执行结果写 入本地的联盟链;所述组加入交易对应的执行结果包含第二节点标识。
所述第二节点,接收所述第二管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组私钥生成的签名;使用组公钥对所述业务子交易中的签名进行验证,若验证通过,则将所述业务子交易发送给存储有相同私有链的其他节点,并对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;向所述联盟链网络广播处理后的所述业务交易;与存储有相同私有链的其他节点执行所述业务交易,包括:将所述业务子交易写入本地的私有链;所述联盟链网络中未存储有相同私有链的其他节点,在未创建私有链的情况下,执行处理后的所述业务交易;所述联盟链网络中每个节点,将处理后的所述业务交易写入本地的联盟链。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现本说明书实施例中节点的功能。
图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、 输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本说明书实施例中节点的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务设备,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出 创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (19)

  1. 一种在联盟链网络中创建节点组的方法,所述联盟链网络包括多个节点,所述方法包括:
    第一节点接收第一管理方账户构建的组创建交易;所述组创建交易包括组创建子交易,所述组创建子交易包含组公钥;所述第一管理方账户是所述第一节点的管理方在所述联盟链网络中注册的账户;所述组公钥是所述第一节点的管理方指定的;
    所述第一节点向所述联盟链网络广播所述组创建交易;
    所述第一节点执行所述组创建交易,包括:在本地创建私有链,并将所述组创建子交易写入本地的私有链;
    所述第一节点之外的每个其他节点在未创建私有链的情况下执行所述组创建交易;
    所述联盟链网络中每个节点将所述组创建交易与对应的执行结果写入本地的联盟链;所述组创建交易对应的执行结果包含第一节点标识。
  2. 如权利要求1所述的方法,所述组创建子交易还包括组标识;
    所述组创建交易对应的执行结果还包含所述组标识。
  3. 如权利要求1所述的方法,所述组创建子交易还包括使用所述组公钥对应的组私钥生成的签名;
    所述第一节点向所述联盟链网络广播所述组创建交易,包括:
    所述第一节点使用所述组公钥对所述组创建子交易中的签名进行验证,若验证通过,则向所述联盟链网络广播所述组创建交易。
  4. 如权利要求1所述的方法,所述方法还包括:
    所述第一节点在封装有所述组创建子交易的私有链区块中写入指针对象,用于指向封装有所述组创建交易的联盟链区块。
  5. 一种基于权利要求1~4任一项所创建的节点组的交易方法,包括:
    所述第一节点接收所述第一管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组公钥对应的组私钥生成的签名;
    所述第一节点使用所述组公钥对所述业务子交易中的签名进行验证,若验证通过,则对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;
    所述第一节点向所述联盟链网络广播处理后的业务交易;
    所述第一节点执行所述业务交易,包括:将所述业务子交易写入本地的私有链;
    所述联盟链网络中其他节点在未创建私有链的情况下执行所述业务交易;
    所述联盟链网络中每个节点将所述业务交易写入本地的联盟链。
  6. 如权利要求5所述的方法,所述业务子交易还包括组标识;所述第一节点使用所述组公钥对所述业务子交易中的签名进行验证,包括:
    所述第一节点使用所述组标识对应的所述组公钥对所述业务子交易中的签名进行验证。
  7. 如权利要求5所述的方法,所述方法还包括:
    所述第一节点在封装有所述业务子交易的私有链区块中写入指针对象,用于指向封装有处理后的业务交易的联盟链区块。
  8. 一种加入基于权利要求1~4任一项所创建的节点组的方法,包括:
    第二节点接收第二管理方账户构建的组加入交易;所述组加入交易包括组加入子交易,所述组加入子交易包含使用所述组公钥对应的组私钥生成的签名;所述第二管理方账户是所述第二节点的管理方在所述联盟链网络中注册的账户;
    所述第二节点使用所述组公钥对所述组加入子交易中的签名进行验证,若验证通过,则向所述联盟链网络广播所述组加入交易;
    所述第二节点执行所述组加入交易,包括:在本地创建私有链,从存储有相同私有链的其他节点同步私有链历史数据,以及将所述组加入子交易写入本地的私有链;
    存储有相同私有链的其他节点执行所述组加入交易,包括:将所述组加入子交易写入本地的私有链;
    所述联盟链网络中未存储有所述相同私有链的其他节点在未创建私有链的情况下执行所述组加入交易;
    所述联盟链网络中每个节点将所述组加入交易与对应的执行结果写入本地的联盟链;所述组加入交易对应的执行结果包含第二节点标识。
  9. 如权利要求8所述的方法,所述组加入交易还包括组标识;
    所述第二节点使用所述组公钥对所述组加入子交易中的签名进行验证,包括:
    所述第二节点使用所述组标识对应的所述组公钥对所述组加入子交易中的签名进行验证。
  10. 如权利要求8所述的方法,所述方法还包括:
    所述第二节点与存储有相同私有链的其他节点在封装有所述组加入子交易的私有链区块中写入指针对象,用于指向封装有所述组加入交易的联盟链区块。
  11. 一种基于权利要求8~10任一项所述的节点组的交易方法,包括:
    所述第二节点接收所述第二管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组私钥生成的签名;
    所述第二节点使用组公钥对所述业务子交易中的签名进行验证,若验证通过,则将所述业务子交易发送给存储有相同私有链的其他节点,并对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;
    所述第二节点向所述联盟链网络广播处理后的所述业务交易;
    所述第二节点与存储有相同私有链的其他节点执行所述业务交易,包括:将所述业务子交易写入本地的私有链;
    所述联盟链网络中未存储有所述相同私有链的其他节点在未创建私有链的情况下,执行处理后的所述业务交易;
    所述联盟链网络中每个节点将处理后的所述业务交易写入本地的联盟链。
  12. 如权利要求11所述的方法,所述业务子交易还包括组标识;
    所述第二节点使用所述组公钥对所述业务子交易中的签名进行验证,包括:
    所述第二节点使用所述组标识对应的所述组公钥对所述业务子交易中的签名进行验证。
  13. 如权利要求11所述的方法,所述方法还包括:
    所述第二节点与存储有相同私有链的其他节点在封装有所述业务子交易的私有链区块中写入指针对象,用于指向封装有处理后的业务交易的联盟链区块。
  14. 如权利要求11所述的方法,所述方法还包括:
    针对存储有相同私有链的每个其他节点,该其他节点若确定接收到所述业务子交易,则向所述第二节点返回签名;
    所述第二节点对所述业务交易进行处理,包括:
    所述第二节点若确定接收到的其他节点的签名的数量满足预设的分布式容错条件,则对所述业务交易进行处理。
  15. 一种区块链系统,包括联盟链网络,所述联盟链网络包括多个节点;
    第一节点接收第一管理方账户构建的组创建交易;所述组创建交易包括组创建子交易,所述组创建子交易包含组公钥;所述第一管理方账户是所述第一节点的管理方在所述联盟链网络中注册的账户;所述组公钥是所述第一节点的管理方指定的;向所述联盟链网络广播所述组创建交易;执行所述组创建交易,包括:在本地创建私有链,并将所述组创建子交易写入本地的私有链;
    所述第一节点之外的每个其他节点,在未创建私有链的情况下执行所述组创建交易;
    所述联盟链网络中每个节点,将所述组创建交易与对应的执行结果写入本地的联盟链;所述组创建交易对应的执行结果包含第一节点标识。
  16. 如权利要求15所述的系统,所述第一节点,接收所述第一管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组公钥对应的组私钥生成的签名;使用所述组公钥对所述业务子交易中的签名进行验证,若验证通过,则对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;向所述联盟链网络广播处理后的业务交易;执行所述业务交易,包括:将所述业务子交易写入本地的私有链;
    所述联盟链网络中其他节点,在未创建私有链的情况下执行所述业务交易;
    所述联盟链网络中每个节点,将所述业务交易写入本地的联盟链。
  17. 如权利要求15所述的系统,第二节点,接收第二管理方账户构建的组加入交易;所述组加入交易包括组加入子交易,所述组加入子交易包含使用所述组公钥对应的组私钥生成的签名;所述第二管理方账户是所述第二节点的管理方在所述联盟链网络中注册的账户;使用所述组公钥对所述组加入子交易中的签名进行验证,若验证通过,则向所述联盟链网络广播所述组加入交易;执行所述组加入交易,包括:在本地创建私有链,从存储有相同私有链的其他节点同步私有链历史数据,以及将所述组加入子交易写入本地的私有链;
    存储有相同私有链的其他节点,执行所述组加入交易,包括:将所述组加入子交易写入本地的私有链;
    所述联盟链网络中未存储有相同私有链的其他节点,在未创建私有链的情况下执行所述组加入交易;
    所述联盟链网络中每个节点,将所述组加入交易与对应的执行结果写入本地的联盟链;所述组加入交易对应的执行结果包含第二节点标识。
  18. 如权利要求17所述的系统,所述第二节点,接收所述第二管理方账户构建的业务交易;所述业务交易包含业务子交易,所述业务子交易包含业务数据与使用所述组私钥生成的签名;使用组公钥对所述业务子交易中的签名进行验证,若验证通过,则将所述业务子交易发送给存储有相同私有链的其他节点,并对所述业务交易进行处理,包括:将所述业务子交易替换成所述业务子交易的哈希值;向所述联盟链网络广播处理后的所述业务交易;与存储有相同私有链的其他节点执行所述业务交易,包括:将所述业务子交易写入本地的私有链;
    所述联盟链网络中未存储有相同私有链的其他节点,在未创建私有链的情况下,执行处理后的所述业务交易;
    所述联盟链网络中每个节点,将处理后的所述业务交易写入本地的联盟链。
  19. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-14中节点的功能。
PCT/CN2021/096515 2020-05-28 2021-05-27 在联盟链网络中创建节点组、基于节点组的交易方法 WO2021239070A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010470145.3 2020-05-28
CN202010470145.3A CN111382168B (zh) 2020-05-28 2020-05-28 在联盟链网络中创建节点组、基于节点组的交易方法

Publications (1)

Publication Number Publication Date
WO2021239070A1 true WO2021239070A1 (zh) 2021-12-02

Family

ID=71222237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/096515 WO2021239070A1 (zh) 2020-05-28 2021-05-27 在联盟链网络中创建节点组、基于节点组的交易方法

Country Status (2)

Country Link
CN (2) CN112199382B (zh)
WO (1) WO2021239070A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114581243A (zh) * 2022-05-09 2022-06-03 南京金宁汇科技有限公司 一种多通道交易凭证异步回调处理组件库、方法和系统
CN114866595A (zh) * 2022-04-02 2022-08-05 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199382B (zh) * 2020-05-28 2023-12-15 支付宝(杭州)信息技术有限公司 在联盟链网络中创建节点组、基于节点组的交易方法
CN112600874B (zh) * 2020-11-24 2023-03-31 成都质数斯达克科技有限公司 节点加入方法、装置、电子设备及可读存储介质
CN113259459B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 区块链子网运行状态的控制方法和区块链系统
CN113259464B (zh) * 2021-06-02 2021-11-02 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113259458B (zh) * 2021-06-02 2021-11-02 支付宝(杭州)信息技术有限公司 一种启动/关闭区块链节点服务的方法和装置
CN113067904B (zh) * 2021-06-02 2021-09-14 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113067903B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113452769B (zh) * 2021-06-23 2022-10-18 上海简苏网络科技有限公司 一种基于区块链的网络分层方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法
US20190324958A1 (en) * 2018-04-24 2019-10-24 Duvon Corporation Autonomous exchange via entrusted ledger immutable distributed database
CN111382168A (zh) * 2020-05-28 2020-07-07 支付宝(杭州)信息技术有限公司 在联盟链网络中创建节点组、基于节点组的交易方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077674B (zh) * 2016-12-29 2021-06-11 达闼机器人有限公司 交易验证处理方法、装置及节点设备
GB201705621D0 (en) * 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
TW201935299A (zh) * 2018-02-12 2019-09-01 林俊良 用於處理金融資產之策略模型腳本之區塊鏈系統、節點伺服器及其方法
US20190251556A1 (en) * 2018-02-12 2019-08-15 Bank Of America Corporation Distributed ledger on-boarding system for standby guarantee resources
WO2020022599A1 (ko) * 2018-07-27 2020-01-30 박기업 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치
CN111159651B (zh) * 2019-11-22 2024-02-09 上海华瑞银行股份有限公司 区块链在线存证方法与系统
CN111192046A (zh) * 2019-12-25 2020-05-22 山东公链信息科技有限公司 一种基于区块链共识的加解密方法和系统
CN111090892B (zh) * 2020-03-24 2021-04-30 吕晟珉 一种基于vrf和门限签名的区块链共识方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190324958A1 (en) * 2018-04-24 2019-10-24 Duvon Corporation Autonomous exchange via entrusted ledger immutable distributed database
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN111382168A (zh) * 2020-05-28 2020-07-07 支付宝(杭州)信息技术有限公司 在联盟链网络中创建节点组、基于节点组的交易方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866595A (zh) * 2022-04-02 2022-08-05 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台
CN114866595B (zh) * 2022-04-02 2024-02-27 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台
CN114581243A (zh) * 2022-05-09 2022-06-03 南京金宁汇科技有限公司 一种多通道交易凭证异步回调处理组件库、方法和系统
CN114581243B (zh) * 2022-05-09 2022-09-23 南京金宁汇科技有限公司 一种多通道交易凭证异步回调处理方法和系统

Also Published As

Publication number Publication date
CN112199382B (zh) 2023-12-15
CN112199382A (zh) 2021-01-08
CN111382168B (zh) 2020-10-02
CN111382168A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
WO2021239070A1 (zh) 在联盟链网络中创建节点组、基于节点组的交易方法
US11831656B2 (en) Providing data authorization based on blockchain
CN110046998B (zh) 跨链用权系统及方法、装置、电子设备、存储介质
TWI737200B (zh) 基於智慧合約的資料授權方法及裝置
CN110060162B (zh) 基于区块链的数据授权、查询方法和装置
TWI705346B (zh) 基於中心化結算與區塊鏈存證的交易方法及系統
TWI746949B (zh) 基於區塊鏈的隱私交易及其應用方法和裝置
WO2021017441A1 (zh) 基于区块链的数据授权方法及装置
CN110473094B (zh) 基于区块链的数据授权方法及装置
US20210049602A1 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
US11902450B2 (en) Blockchain generation method and system, and related device
WO2021239072A1 (zh) 在联盟链网络中创建节点组、基于节点组的交易方法
TW201935375A (zh) 資產管理方法及裝置、電子設備
JP7228322B2 (ja) ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理
TWI727284B (zh) 基於區塊鏈的隱私交易方法、裝置及其電腦設備、基於區塊鏈內的隱私交易的應用方法及其電腦設備
TWI706663B (zh) 基於多個區塊鏈網路的資料存證方法及系統
WO2022257740A1 (zh) 基于区块链的交易方法
CN111047443B (zh) 用户评分方法及装置、电子设备、计算机可读存储介质
WO2020258858A1 (zh) 块链式账本中的授权方法、系统、装置及设备
CN110020945B (zh) 一种基于多个区块链网络的数据读取方法及系统
WO2020108054A1 (zh) 一种基于多个区块链网络的数据存证方法及系统
WO2022237558A1 (zh) 一种基于区块链的用户要素认证的方法及装置
WO2020108056A1 (zh) 一种业务执行方法及装置
CN115131029A (zh) 基于区块链的数字文件签署方法及装置
WO2020108055A1 (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: 21813394

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

Country of ref document: EP

Kind code of ref document: A1