WO2022166637A1 - 基于区块链网络的数据处理方法、装置及计算机设备 - Google Patents

基于区块链网络的数据处理方法、装置及计算机设备 Download PDF

Info

Publication number
WO2022166637A1
WO2022166637A1 PCT/CN2022/073412 CN2022073412W WO2022166637A1 WO 2022166637 A1 WO2022166637 A1 WO 2022166637A1 CN 2022073412 W CN2022073412 W CN 2022073412W WO 2022166637 A1 WO2022166637 A1 WO 2022166637A1
Authority
WO
WIPO (PCT)
Prior art keywords
endorsement
data
transaction
network
signature
Prior art date
Application number
PCT/CN2022/073412
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 腾讯科技(深圳)有限公司
Priority to EP22748916.8A priority Critical patent/EP4216077A4/en
Priority to JP2023547487A priority patent/JP2024505692A/ja
Publication of WO2022166637A1 publication Critical patent/WO2022166637A1/zh
Priority to US17/968,450 priority patent/US20230037932A1/en

Links

Images

Classifications

    • 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
    • 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
    • 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/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the present application relates to the field of blockchain technology, in particular to data processing technology in a blockchain network.
  • blockchain technology as a specific implementation technology of distributed ledgers, has gradually become the preferred way to store data and transaction data in various fields by virtue of its natural advantages of storing and managing data.
  • the transaction process based on the blockchain network has a great impact on the transaction performance.
  • each transaction in the blockchain network needs to pass the consensus before it can be executed or put on the chain by each node.
  • most nodes in the blockchain network are usually set as consensus nodes, and they all need to participate in each consensus process, which leads to a long consensus process and inefficient transaction performance. It can be seen that how to improve the transaction performance of the blockchain network is a problem to be solved.
  • the embodiments of the present application provide a data processing method, device and computer equipment based on a blockchain network, which can effectively save the time required for consensus, thereby improving the transaction performance of the entire blockchain network.
  • an embodiment of the present application provides a data processing method based on a blockchain network
  • the blockchain network is included in a data processing network
  • the blockchain network includes a plurality of node devices
  • the network also includes a management network
  • the management network includes a management device and one or more endorsement devices
  • the method is performed by the endorsement devices in the management network, the method includes:
  • Obtain a transaction request which carries transaction data and reference signature data corresponding to the transaction data; verify the transaction data and the reference signature data; if the transaction data and the reference signature data are verified successfully, Then determine the matching node device from the target node device, and obtain the signature key of the matching node device; the target node device is determined from a plurality of node devices included in the blockchain network according to the instructions of the endorsement policy Determine the data to be signed according to the transaction data, and use the signature key of the matching node device to endorse and sign the data to be signed to obtain endorsement signature data; Send the endorsement signature data to the management device , so that the management device generates a transaction block according to the endorsement signature data and the transaction data.
  • the embodiments of the present application provide another data processing method based on a blockchain network
  • the blockchain network is included in a data processing network
  • the blockchain network includes a plurality of node devices
  • the processing network also includes a management network, the management network including a management device and one or more endorsement devices, the method being performed by the management device in the management network, the method comprising:
  • Obtain a transaction request which carries transaction data and reference signature data corresponding to the transaction data; determine a target endorsement device from one or more endorsement devices included in the management network; send the transaction request to the The target endorsement device, so that the target endorsement device obtains endorsement signature data according to the transaction data and the reference signature data; receives the endorsement signature data sent by the target endorsement device, and obtains endorsement signature data according to the endorsement signature data and the reference signature data;
  • the transaction data is used to generate transaction blocks.
  • an embodiment of the present application provides a data processing device based on a blockchain network, the blockchain network is included in a data processing network, the blockchain network includes a plurality of node devices, and the data processing
  • the network further includes a management network, where the management network includes a management device and one or more endorsement devices; the endorsement devices deployed in the management network, the apparatus includes:
  • an acquisition unit configured to acquire a transaction request, where the transaction request carries transaction data and reference signature data corresponding to the transaction data;
  • a processing unit for verifying the transaction data and the reference signature data
  • the processing unit is further configured to determine a matching node device from the target node device and obtain the signature key of the matching node device if the transaction data and the reference signature data pass the verification; the target node device is determined from a plurality of node devices included in the blockchain network according to the instructions of the endorsement policy;
  • the processing unit is further configured to determine the data to be signed according to the transaction data, and use the signature key of the matching node device to endorse and sign the data to be signed to obtain endorsement signature data;
  • a transceiver unit configured to send the endorsement signature data to the management device, so that the management device generates a transaction block according to the endorsement signature data and the transaction data.
  • the embodiments of the present application provide another data processing apparatus based on a blockchain network
  • the blockchain network is included in a data processing network
  • the blockchain network includes a plurality of node devices
  • the processing network further includes a management network
  • the management network includes a management device and one or more endorsement devices
  • the management device deployed in the management network the apparatus includes:
  • an acquisition unit configured to acquire a transaction request, where the transaction request carries transaction data and reference signature data corresponding to the transaction data;
  • a processing unit configured to determine a target endorsement device from one or more endorsement devices included in the management network
  • a transceiver unit configured to send the transaction request to the target endorsement device, so that the target endorsement device obtains endorsement signature data according to the transaction data and the reference signature data;
  • the transceiver unit is further configured to receive the endorsement signature data sent by the target endorsement device;
  • the processing unit is further configured to generate a transaction block according to the endorsement signature data and the transaction data.
  • an embodiment of the present application provides a computer device, including: a processor, a communication interface, and a memory, wherein the processor, the communication interface, and the memory are connected to each other, wherein the memory stores an executable program code, where the processor is configured to call the executable program code to execute the data processing method based on the blockchain network provided by the embodiment of the present application.
  • the embodiments of the present application also provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer, causes the computer to execute the region-based program provided by the embodiments of the present application.
  • Data processing methods for blockchain networks are stored in the computer-readable storage medium, and when it runs on a computer, causes the computer to execute the region-based program provided by the embodiments of the present application.
  • the embodiments of the present application further provide a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the above-described method.
  • a management network is set up in the data processing network, and the endorsement device in the management network verifies the data in the transaction request, and after the data verification passes, the signature key of the corresponding node device is used according to the instructions of the endorsement policy. , and endorse and sign the data to be signed determined according to the transaction data to obtain the endorsement signature data.
  • data verification and endorsement and signature operations can be centrally and efficiently completed by the management network, that is, the consensus operation is completed without the need for node devices in the blockchain network to participate in the transaction consensus, which can effectively save the time required for consensus and improve transactions. The processing efficiency of the process, thereby improving the transaction performance of the entire blockchain network.
  • FIG. 1a is a schematic diagram of the architecture of a data processing network provided by an embodiment of the present application.
  • FIG. 1b is a schematic diagram of the architecture of another data processing network provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • FIG. 3 shows a correspondence between an endorsement device and a node device in an embodiment of the present application
  • FIG. 4 shows the transaction flow of the Fabric blockchain
  • FIG. 5 shows an architecture of the blockchain cross-domain node governance solution provided by the embodiment of the present application
  • FIG. 6 shows another architecture of the blockchain cross-domain node governance solution provided by the embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • Blockchain A decentralized distributed ledger database, an intelligent peer-to-peer network that uses distributed databases to identify, disseminate and record information, also known as the Internet of Value.
  • Blockchain uses consensus mechanism, cryptography and other technologies to ensure the accuracy of data transmission and query. Its characteristics include non-tampering, traceability and so on.
  • Blockchain is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm, etc., which includes a series of associated data blocks generated by cryptographic methods, and each data block includes a batch of Information about network transactions, which can be used to verify the validity of the information (anti-counterfeiting) and generate the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
  • the underlying platform of the blockchain can include processing modules such as user management, basic services, smart contracts, and operation monitoring.
  • the user management module is responsible for managing the identity information of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the corresponding relationship between the user's real identity and blockchain address (authority management), etc.
  • authorization management supervise and audit the transactions of some real identities, and provide rule configuration for risk control (risk control audit);
  • the basic service module is deployed on all blockchain node devices to verify the validity of business requests.
  • the basic service module can first adapt the interface for analysis and authentication processing (interface adaptation), and then encrypt the business information through the consensus algorithm (consensus management), after encryption, it is completely transmitted to the shared ledger (network communication), and records are stored; the smart contract module is responsible for the registration and issuance of contracts, as well as contract triggering and contract execution.
  • the language defines the contract logic and publishes it on the blockchain (contract registration). According to the contract logic, the key or other events are invoked to trigger execution to complete the contract logic.
  • operation monitoring module It is mainly responsible for deployment, configuration modification, contract settings, cloud adaptation, and visual output of real-time status during product operation during product release, such as alarms, monitoring network conditions, monitoring node equipment health status, etc.
  • the platform product service layer provides the basic capabilities and implementation framework of typical applications. Based on these basic capabilities, developers can superimpose business features to complete the blockchain implementation of business logic.
  • the application service layer provides application services based on blockchain solutions for business participants.
  • Trusted Computing It is a technology promoted and developed by the Trusted Computing Group (or Trusted Computing Cluster, referred to as TCPA).
  • Trusted computing is a trusted computing platform based on hardware security modules widely used in computing and communication systems, which can improve the overall security of the system.
  • An endorsement key is an RSA public and private key pair of a specific number of bits (eg, 2048 bits), which is randomly generated at the factory of a computer device and cannot be changed. This private key is stored on the computer device, while the public key can be used to authenticate and encrypt sensitive data sent to the computer device.
  • Cross-domain In the same blockchain network, nodes are not deployed in the same cluster, and cross-domain access is required between nodes.
  • the cross-domain may be a cross-cluster, a cross-region, or the like.
  • Endorsement mechanism In the blockchain (such as the Hyperledger Fabric blockchain in the alliance chain), some nodes undertake the endorsement task, and the endorsement strategy can be used to define the nodes that need to execute the transaction.
  • the endorsement strategy can be used to define the nodes that need to execute the transaction.
  • endorsement can be understood as the process and mechanism by which the node undertaking the endorsement task verifies the transaction information for the blockchain transaction, and declares the legality of the transaction for the verified transaction.
  • a node undertaking an endorsement task must prove its legitimacy based on a valid signature of the expected information of a valid certificate.
  • Endorsement policy It can be understood as the conditions that must be met for the endorsement of the transaction, that is, to obtain the conclusion of successful endorsement, the conditions specified in the endorsement policy must be met.
  • the blockchain node stores a pre-specified endorsement policy set, in which the conditional judgment of endorsement is implemented in the chain code (Chaincode). All transactions must be based on the endorsement policy, because only transactions processed by endorsement are legal and recognized. trade. Therefore, the endorsement strategy can also be said to be a condition used to guide the selected nodes on how to decide whether the transaction is correct.
  • endorsement strategies are as follows: Nodes A, B, C, and F all need to endorse transactions of type T; most nodes in the channel must endorse transactions of type U; A, B, C, D, At least 3 nodes in E, F, G must endorse transactions of type V.
  • the embodiments of the present application provide a data processing method based on the blockchain network.
  • the data processing methods provided in the embodiments of this application are based on the blockchain technology.
  • the data processing method provided by the embodiment of the present application may also be based on cloud technology (Cloud technology).
  • Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. applied in the cloud computing business model, and can form a resource pool, which can be used on demand, flexibly and conveniently; and the data provided by the embodiments of this application
  • the processing method mainly involves cloud storage (Cloud storage) and cloud database (Cloud Database) in cloud technology, and so on.
  • the data processing method provided in the embodiment of the present application is applied to a data processing network, as shown in FIG. 1 a or FIG. 1 b , including: a client 10 , a management network 11 , and a blockchain network 12 .
  • the management network 11 includes a management device and one or more endorsement devices
  • the blockchain network 12 includes a plurality of node devices.
  • the client 10 may be in neither the management network 11 nor the blockchain network 12, as shown in FIG. 1a.
  • the client 10 may be in a blockchain network 12, as shown in FIG. 1b.
  • the management network 11 and the blockchain network 12 may be two different networks, that is, the management network 11 exists independently of the blockchain network 12 .
  • the management network may also be in a blockchain network.
  • the management device and the endorsement device in the management network may be node devices in the blockchain network, or may be de-identified devices in the blockchain network. Ordinary computer equipment other than node equipment.
  • the management network 11 can be implemented based on cloud technology, and specifically can be implemented based on Tencent Cloud or Facebook Cloud.
  • the endorsement device may be an encryption machine, specifically a physical encryption machine, or a virtual encryption machine.
  • the virtual encryption machine needs to be hosted on the computer device.
  • the management network includes the management device and an endorsement device, the endorsement device may be a part of the management device, that is, the endorsement device is set in the management device.
  • the devices in the management network 11 can be based on trusted computing, and can host the signature keys of at least some node devices in the blockchain network, and can store each node in the blockchain network.
  • the signature key of the device can also store the signature key of some node devices in the blockchain network, which are the node devices indicated by the endorsement policy that may be used to undertake the endorsement task.
  • the signing key may be the private key of the node device's key pair.
  • the key pair can be calculated using the RSA encryption algorithm, including a private key and a public key. Usually, the private key is used for signing, and the public key is used for unsigning.
  • the endorsement device in the management network can replace the node device in the blockchain network to provide services such as data verification (including signature verification, verification of transaction data, etc.) and endorsement signatures, and the management device in the management network can replace the blockchain network.
  • endorsement signature is a consensus process.
  • the client, the management device, the endorsement device, and the node device may be a server or a terminal.
  • the server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud service, cloud database, cloud computing, cloud function, cloud storage, network service, cloud communication, intermediate Cloud servers for basic cloud computing services such as software services, domain name services, security services, CDNs, and big data and artificial intelligence platforms.
  • the terminal may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
  • the client, the management device, the endorsement device, and the node device may be directly or indirectly connected through wired or wireless communication, which is not limited in this application.
  • the endorsement device in the management network verifies the data in the client's transaction request, and after the data verification passes, according to the instructions of the endorsement policy, use
  • the signature key of the corresponding node device endorses and signs the data to be signed determined according to the transaction data, and obtains the endorsement signature data, so that the management network can centrally and efficiently complete the data verification and endorsement signature operations, that is, the consensus operation is completed without the need for a blockchain.
  • the nodes in the network participate in the consensus of the transaction, which can effectively save the time required for consensus, improve the processing efficiency of the transaction process, and then achieve the effect of improving the transaction performance of the entire network.
  • FIG. 2 is a schematic flowchart of a data processing method based on a blockchain network provided by an embodiment of the present application.
  • the data processing method based on the blockchain network described in the embodiments of this application can be applied to the data processing network shown in FIG. 1a or FIG. 1b, and the method includes but is not limited to the following steps:
  • a client sends a transaction request to a management device in a management network, where the transaction request carries transaction data and reference signature data corresponding to the transaction data.
  • the reference signature data may be obtained by the client signing the transaction data by using the private key in its key pair.
  • the key pair can be calculated using the RSA encryption algorithm, including a private key and a public key.
  • the private key is used for signing, and the public key is used for unsigning.
  • the management device acquires the transaction request sent by the client, and determines the target endorsement device from one or more endorsement devices included in the management network.
  • the following two methods can be used to determine the target endorsement device.
  • Each endorsement device in the management network stores the signature keys of some node devices in the blockchain network, and each endorsement device stores the signature keys of different node devices respectively.
  • the node devices corresponding to all the signature keys stored by each endorsement device in the management network can be all node devices in the blockchain network, or part of the node devices in the blockchain network, and this part of the node devices is the endorsement policy. Indicates a node device that may be used to undertake endorsement tasks.
  • each endorsement device in the management network stores the signature key of one or more node devices in the blockchain network.
  • endorsement device 1 stores the signature keys of X node devices numbered 1-X in the blockchain network
  • endorsement device 4 stores the signature keys of node devices numbered Z+1 in the blockchain network.
  • multiple node devices in the blockchain network can be deployed in different clusters. For example, as shown in Figure 3, node devices numbered 1 to X are deployed in one cluster, node devices numbered X+1 to Y are deployed in another cluster, and node devices numbered Y+1 to Z are deployed in yet another cluster.
  • the endorsement device in the management network stores the signature keys of one or more node devices belonging to the same cluster in the blockchain network.
  • the management device After the management device receives the transaction request sent by the client, it can determine the target node device from the multiple node devices included in the blockchain network according to the indication of the endorsement policy, and the target node device is one or more.
  • the determined target node device is the node device that undertakes the endorsement task for the current transaction indicated by the endorsement policy.
  • the client initiates a transaction of type T.
  • the node devices A, B, C and F in the blockchain network need to endorse the transaction of type T.
  • Node devices A, B, C and F in the blockchain network are determined as target node devices.
  • the management device determines that the signature key of the target node device is stored from one or more endorsement devices included in the management network according to the recorded situation of each endorsement device storing the signature key of the node device and the determined target node device.
  • the endorsing device that stores the key of the target node device is determined as the target endorsing device.
  • the management device sends the transaction request from the client to the target endorsement device, it can also send the information of the target node device (such as node number, etc.), or it can send the information of the target node device where the target endorsement device stores the corresponding signature key.
  • Each endorsement device in the management network stores the signature key of each node device in the blockchain network, or each endorsement device in the management network stores the signature key of the same part of the node device in the blockchain network, This part of the node devices is all node devices indicated by the endorsement policy that may be used to undertake the endorsement task.
  • the management device After the management device receives the transaction request sent by the client, it obtains the current state parameters of each endorsement device in the management network.
  • the state parameters may include parameters used to indicate network conditions, parameters used to indicate load conditions, and so on.
  • the target endorsement device used to respond to the transaction request is determined from one or more endorsement devices included in the management network. Specifically, the endorsement device with good current network condition and light load may be determined as the target endorsement device for responding to the transaction request. The target endorsing device that responded to this transaction request. There are one or more target endorsement devices determined.
  • the selection sequence of each endorsement device can be preset, and one or more target endorsements currently used to provide endorsement services are selected from one or more endorsement devices included in the management network according to the selection sequence. equipment.
  • the set selection sequence of endorsement devices is (endorsement device 1) ⁇ (endorsement devices 2 and 3) ⁇ (endorsement devices 4 and 5). If the endorsement device 1 provided the endorsement service last time, the endorsement device 2 and 3 should be selected to provide the endorsement service this time.
  • the management device may correspondingly set the endorsement task undertaken by each endorsement device. For example, according to the instructions of the endorsement policy, the target node device 1-10 is required to undertake the endorsement task for the current transaction. If the endorsement device 2 and 3 are selected to provide the endorsement service this time, the endorsement device 2 can be set to undertake the target node device 1-3. For the corresponding endorsement task, the endorsement device 3 is set to undertake the endorsement task corresponding to the target node devices 4-10.
  • the management device sends the client's transaction request to the target endorsement device, it can also send the endorsement task instruction information corresponding to the target endorsement device, and the endorsement task instruction information is used to indicate the endorsement task corresponding to the target node device that the target endorsement device needs to undertake. .
  • the transaction request also carries the device identifier of the client.
  • the management device After receiving the transaction request sent by the client, the management device first determines whether the client has the authority to initiate the transaction request, including detecting whether the device identifier of the client is preset. In the whitelist, if it exists, it is determined that the client has the authority to initiate a transaction request; otherwise, it is determined that the client does not have the authority to initiate a transaction request. If the client has the authority to initiate a transaction request, the target endorsement device is determined from one or more endorsement devices included in the management network. If the client does not have the authority to initiate a transaction request, the client's transaction request is directly rejected.
  • the management device sends the client's transaction request to the target endorsement device.
  • the target endorsement device obtains the transaction request of the client, and verifies the transaction data and reference signature data carried in the transaction request.
  • the target endorsement device obtains the public key in the client's key pair, and uses the public key pair. De-sign with reference to the signature data to obtain the de-signature data; if the de-signature data matches the transaction data, it indicates that the transaction data has not been tampered with, and further checks whether the transaction data is executable, including checking whether the transaction corresponding to the transaction data is legal, Whether it has been executed, etc. If it is legal and not executed, it can be determined to be executable; if the transaction data is executable, it can be determined that the transaction data in the transaction request and the reference signature data have passed the verification.
  • the client's public key may be carried in the transaction request, may also be stored in each endorsement device, and may also be stored in the management device.
  • the target endorsement device can actively obtain the client's public key from the management device, or the management device can send the client's transaction request to the target node device together with the target endorsement device.
  • the target endorsement device determines the matching node device from the target node device, and obtains the signature key of the matching node device; It is determined from the multiple node devices included.
  • the target endorsement device determines which endorsement tasks corresponding to the target node devices it needs to undertake, that is, determines the matching node devices. There may be one or more matching node devices. It is included in one or more target node devices that need to undertake the endorsement task for the current transaction indicated by the endorsement policy.
  • the matching node device is the target node device in which the target endorsement device stores the corresponding signature key among the one or more target node devices.
  • the target endorsement device can first determine one or more target node devices that need to undertake the endorsement task for the current transaction from the multiple node devices included in the blockchain network according to the instructions of the endorsement policy; then, from the one or more target node devices Among the target node devices, the target node device that stores the corresponding signature key is determined as the matching node device.
  • the target node device indicated by the information is directly determined as the matching node device.
  • the matching node device is the target node device that needs to undertake the corresponding endorsement task among the one or more target node devices.
  • the signature key of the matching node device is obtained.
  • the signing key may be the private key of the node device's key pair.
  • the key pair can be calculated using the RSA encryption algorithm, including a private key and a public key. Usually, the private key is used for signing, and the public key is used for unsigning.
  • the target endorsement device determines the data to be signed according to the transaction data, and uses the signature key of the matching node device to endorse and sign the to-be-signed data to obtain endorsement signature data.
  • the target endorsement device simulates the execution of the transaction according to the transaction data, and obtains the simulated transaction result; determines the voting result corresponding to the transaction request according to the simulated transaction result, for example, if the simulated transaction result indicates that the transaction can be executed correctly, then generates an approval vote. result. Further, the determined voting result is used as the data to be signed, and the data to be signed is signed by using the signature keys of each matching node device to obtain the endorsement signature data corresponding to each signature key.
  • the target endorsement device sends the endorsement signature data to the management device.
  • the management device receives the endorsement signature data sent by the target endorsement device, and generates a transaction block according to the endorsement signature data and the transaction data.
  • the management device receives one or more endorsement signature data sent by each target endorsement device, and after receiving the endorsement signature data sent by each target endorsement device, generates a transaction according to the received endorsement signature data and transaction data block.
  • the management device verifies (ie, the signature) the endorsement signature data first, and generates a transaction block after each endorsement signature data is verified. If there is endorsement signature data that fails the verification, the corresponding endorsement device (which may be the original endorsement device or a newly designated endorsement device) is instructed to perform the corresponding endorsement signature operation again.
  • the method of verifying the endorsement signature data please refer to the subsequent description.
  • the management device may add the generated transaction block to its stored blockchain for attestation. In another embodiment, the management device may generate a certificate storage block according to the client's transaction request and the transaction block, and add the generated certificate storage block to its stored blockchain for certificate storage.
  • the management device broadcasts the transaction block to the node devices in the blockchain network.
  • the node device in the blockchain network executes the transaction according to the transaction data when it is determined that the data in the transaction block has passed the verification and that the data in the transaction block satisfies the endorsement policy.
  • the node device in the blockchain network after receiving the transaction block broadcasted by the management device, extracts transaction data and each endorsement signature data from the transaction block, and performs the transaction data and endorsement signature data. verify. Validating the transaction data includes verifying the correctness of the fields and the legality of the transaction.
  • the method of verifying the endorsement signature data may be: according to the instructions of the endorsement policy, from multiple node devices included in the blockchain network, determine each target node device that needs to undertake the endorsement task for the transaction corresponding to the transaction data. Obtain the unsignature key of each target node device.
  • each node device in the blockchain network stores the de-signature keys of all node devices that may be used to undertake the endorsement task indicated by the endorsement policy, and at this time, the data of each target node device can be directly obtained locally. Unsign the key.
  • the de-signature keys of all node devices that may be used for the endorsement task indicated by the endorsement policy, or the de-signature keys of all node devices in the blockchain network can be stored in the cloud database.
  • the decryption key and the signature key constitute a key pair
  • the signature key can be the private key in the key pair
  • the unsignature key can be the public key in the key pair
  • the key pair can be calculated using the RSA encryption algorithm derived.
  • each endorsement signature data is de-signed by using the de-signature key of each target node device, and each endorsement signature data is verified based on the de-signature data after successful de-signature.
  • the de-signature key of each target node device can be used to successfully de-sign each endorsement signature data accordingly, and the de-signature key of any target node device matches the signature key used for at least one endorsement signature data, and the solution
  • the endorsement result indicates that all the voting results or the majority (such as more than 2/3) of the voting results agree to execute the transaction corresponding to the transaction data, then it is determined that the endorsement policy is satisfied.
  • the node devices in the blockchain network can execute the transaction according to the transaction data. After the transaction is executed, the result of the transaction can be recorded in the ledger (or in other words, a block is generated according to the transaction result and the block is put on the chain). In one embodiment, the node device in the blockchain network can also add the received transaction block to the blockchain it stores for certification.
  • the target endorsement device when the target endorsement device obtains the endorsement signature data, it can use the signature key of the matching node device to endorse the signature data (such as the voting result corresponding to the transaction request) and the transaction data to obtain the endorsement signature data.
  • the target endorsement device sends the endorsement signature data to the management device, it can also send the data to be signed.
  • the management device When the management device generates the transaction block, it can generate the transaction block according to the endorsement signature data, transaction data and the data to be signed. The above data is added in the process of generating endorsement signature data and transaction blocks, which can be used for subsequent data verification.
  • the management device in the management network hosts the signature keys of at least some node devices in the blockchain network
  • the management device when it sends a transaction request to the target endorsement device, it can also send the matching node device corresponding to the target endorsement device. , so that the target endorsement device can perform the corresponding endorsement task.
  • the management device and the endorsement device use trusted computing, and the endorsement device in the management network is used to replace the node device in the blockchain network to provide services such as data verification and endorsement signature, that is, the endorsement device is used to complete Consensus operation; use the management equipment in the management network to replace the node equipment in the blockchain network to provide services such as block generation; in this way, the transaction consensus and block generation can be completed centrally and efficiently by the management network, without the need for the blockchain network.
  • this solution can effectively save the time required for consensus, thereby improving the processing efficiency of the transaction process. , to achieve the effect of improving the transaction performance of the entire network.
  • the data processing method provided by the embodiment of this application is a blockchain cross-domain node governance scheme.
  • many service providers provide blockchain-based PaaS (Platform as a Service) platform services or various solutions related to blockchain. Nodes are deployed together, which can greatly improve the transaction performance of the blockchain network.
  • PaaS Platinum as a Service
  • Nodes are deployed together, which can greatly improve the transaction performance of the blockchain network.
  • the communication between nodes will be communicated through the public network, and the transaction performance of the entire network will be improved. to a huge challenge.
  • the transaction process of the blockchain has a great impact on transaction performance.
  • each transaction needs to pass consensus before it can be executed by each node.
  • Many consensus algorithms are provided in the public chain, such as PoW, PoS, etc.
  • all nodes in the public chain are consensus nodes and need to participate in the consensus process, so the transaction performance is very inefficient.
  • the consortium chain is generally used among enterprises, and the consortium chain generally separates the consensus service to improve the transaction performance to a certain extent.
  • the blockchain cross-domain node governance solution provided by the embodiments of this application is mainly aimed at alliance chains.
  • the Orderer node is used to provide block packaging services.
  • the Pee node is used to execute transactions and record the ledger; it can be an Endorser or Committer.
  • the certificate service provider can be a CA (Certificate Authority), which can generate the corresponding key for the client.
  • the transaction process mainly includes the following steps:
  • the client sends a transaction proposal (or transaction request) to the endorsing node.
  • the endorsing node After the endorsing node receives the proposal, it verifies the proposal signature and checks whether the channel (channel) ACL (access control list) is satisfied, including checking whether the client can access the current channel to operate, and so on. If the proposed signature verification passes and it is detected that the channel ACL is satisfied, the transaction is simulated and executed, and the result (which can be the voting result generated according to the result of the simulated execution of the transaction) is signed. The endorsing node returns the resulting signature to the client.
  • channel channel
  • ACL access control list
  • the client receives the result signature returned by the endorsing node, and verifies the result signature; compares the reply results of multiple endorsing nodes, and checks whether enough result signatures are collected. If the client has collected enough result signatures, and most of the endorsement nodes' response results indicate that they agree to execute the transaction, it will send the transaction data to the Orderer node, and the transaction data can be sent to the endorser node, and the endorser node will forward it to the Orderer node.
  • the Orderer node sorts the transactions, constructs the transaction block, and sends the transaction block to the submitting node.
  • the submitting node checks the transaction structure and signature against the transaction block, and checks whether the transaction satisfies the endorsement policy; if the transaction structure and signature check pass, and it is found that the transaction satisfies the endorsement policy, it executes the legal transaction in the transaction block and updates the ledger status.
  • the submitting node can synchronize the processing data about the transaction block with the endorsing node.
  • the steps performed by the client may be specifically performed by an APP (application program) or an SDK (software development kit) configured by the client.
  • APP application program
  • SDK software development kit
  • This application implements the blockchain cross-domain node governance scheme provided by this application, and combines trusted computing to plan a trusted computing area (equivalent to the management network described above), where the private keys of each node in the blockchain network (In other words, the signature key) is hosted in the trusted computing area, and the consensus signature (ie endorsement signature) operation of the transaction is completed in the trusted computing area, and then the block is packaged in the trusted computing area and distributed to the blockchain network.
  • Each node after the node receives the block, only needs to verify the block and execute the legal transactions in the block. Trusted computing ensures the security of the private key of the node and the reliability of the data.
  • P1-P4 In the trusted computing area, there are services corresponding to the node (P1-P4 as shown in Figure 5), the private key of the corresponding node is hosted, and the Signature service.
  • P1-P4 manage the private keys of Peer1-Peer4 respectively, and provide corresponding endorsement and signature services.
  • P1-P4 in FIG. 5 are equivalent to the aforementioned endorsement devices, which may be encryption machines. In this way, the endorsement and signature of the transaction can be completed centrally in the trusted computing area, thereby reducing the distribution of requests in the network and speeding up the processing rate of the transaction process.
  • FIG. 6 another architecture of the blockchain cross-domain node governance solution provided by the embodiment of the present application is shown.
  • the specific transaction process of the blockchain cross-domain node governance scheme provided by the implementation of this application is as follows: First, the client sends a transaction request to the trusted computing area after registering the certificate through the CA (that is, obtaining the corresponding key). After receiving the transaction request, the trusted computing area verifies the transaction signature carried in the transaction request; after the signature verification is passed, according to the instructions of the endorsement policy, use the private key of the corresponding node under the custody to endorse and sign the transaction; After multiple endorsement signatures, the transaction is packaged, the transaction block is generated, and the transaction block is distributed to the peer nodes.
  • the peer node After the peer node receives the transaction block, it checks the transaction structure and endorsement signature, and checks whether the transaction satisfies the endorsement policy; when the transaction structure and endorsement signature pass and the transaction meets the endorsement policy, execute the legal transaction in the block and update the ledger state.
  • the specific implementation of each step in the above transaction process can refer to the description in the previous embodiment.
  • the above transaction process only points out some main steps. For different blockchain engines, the transaction process will be There are some differences, but the main idea is to centrally process the consensus signature (ie, endorsement signature) operation, and the trusted computing area hosts the private key of the node, and completes the transaction consensus.
  • the signature keys of each node in the blockchain network are hosted in the trusted computing area, and the trusted computing area provides data verification and endorsement signature services, as well as block generation services, while Each node in the blockchain network is only responsible for recording the ledger.
  • This model can improve the efficiency of endorsement and signature (that is, consensus) while ensuring the security and reliability of information, thereby speeding up the transaction processing process and greatly improving the transaction performance of the entire network. And it has good versatility and can be reused in all blockchain engines.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus based on a blockchain network according to an embodiment of the present application.
  • the blockchain network is included in a data processing network, the blockchain network includes a plurality of node devices, the data processing network further includes a management network, and the management network includes a management device and one or more endorsement devices , the architecture of the data processing network may refer to FIG. 1a or FIG. 1b.
  • the apparatus includes: an acquisition unit 701 , a processing unit 702 and a transceiver unit 703 .
  • the data processing apparatus described in the embodiment of the present application corresponds to the target endorsement device described above, and the functions implemented by each unit are as follows:
  • an obtaining unit 701 configured to obtain a transaction request, where the transaction request carries transaction data and reference signature data corresponding to the transaction data;
  • a processing unit 702 configured to verify the transaction data and the reference signature data
  • the processing unit 702 is further configured to determine a matching node device from the root target node device and obtain the signature key of the matching node device if the transaction data and the reference signature data pass the verification; the target The node device is determined from a plurality of node devices included in the blockchain network according to the instructions of the endorsement policy;
  • the processing unit 702 is further configured to determine the data to be signed according to the transaction data, and use the signature key of the matching node device to endorse and sign the data to be signed to obtain endorsement signature data;
  • the transceiver unit 703 is configured to send the endorsement signature data to the management device, so that the management device generates a transaction block according to the endorsement signature data and the transaction data.
  • the endorsement device in the management network stores the signature keys of at least some node devices in the blockchain network.
  • each endorsement device in the management network stores the signature keys of some node devices in the blockchain network, and each endorsement device stores the signature keys of different node devices respectively, and the obtaining unit stores the signature keys of some node devices in the blockchain network.
  • 701 which is specifically configured to: trigger the transceiver unit 703 to receive a transaction request from a client sent by the management device; wherein, after the management device receives the transaction request sent by the client, according to the endorsement policy Instruct, determine a target node device from a plurality of node devices included in the blockchain network, and send the transaction request to a target endorsement device that stores the signature key of the target node device.
  • each endorsement device in the management network stores the signature key of each node device in the blockchain network
  • the acquiring unit 701 is specifically configured to: trigger the transceiver unit 703 to receive The transaction request sent by the management device from the client; wherein, after receiving the transaction request sent by the client, the management device determines the response from each endorsement device according to the current state parameters of each endorsement device. the target endorsement device of the transaction request, and send the transaction request to the target endorsement device.
  • the processing unit 702 determines the data to be signed according to the transaction data, it is specifically configured to: simulate a transaction according to the transaction data, and obtain a simulated transaction result; determine the transaction according to the simulated transaction result A corresponding voting result is requested, and the voting result is used as the data to be signed.
  • the reference signature data is obtained by using the private key in the key pair to sign the transaction data
  • the obtaining unit 701 is further configured to obtain the public key in the key pair
  • the processing unit 702 is further configured to: de-sign the reference signature data by using the public key to obtain de-signature data; if the de-signature data matches the transaction data, detect the transaction data Whether the transaction data is executable; if the transaction data is executable, it is determined that the transaction data and the reference signature data have passed the verification.
  • the data processing device described in the embodiment of the present application corresponds to the management equipment described above, and the functions implemented by each unit are as follows:
  • an obtaining unit 701 configured to obtain a transaction request, where the transaction request carries transaction data and reference signature data corresponding to the transaction data;
  • a processing unit 702 configured to determine a target endorsement device from one or more endorsement devices included in the management network;
  • a transceiver unit 703, configured to send the transaction request to the target endorsement device, so that the target endorsement device obtains endorsement signature data according to the transaction data and the reference signature data;
  • the transceiver unit 703 is further configured to receive the endorsement signature data sent by the target endorsement device;
  • the processing unit 702 is further configured to generate a transaction block according to the endorsement signature data and the transaction data.
  • the endorsement device in the management network stores the signature keys of at least some node devices in the blockchain network.
  • each endorsement device in the management network stores the signature keys of some node devices in the blockchain network, and each endorsement device stores the signature keys of different node devices respectively
  • the processing unit 702 is specifically configured to: determine a target node device from a plurality of node devices included in the blockchain network according to the instructions of the endorsement policy; determine from each endorsement device included in the management network that the target node device is stored The endorsement device for the signature key, and the endorsement device that stores the signature key of the target node device is determined as the target endorsement device.
  • each endorsement device in the management network stores the signature key of each node device in the blockchain network
  • the apparatus further includes an obtaining unit 701 for obtaining the signature key of each node device in the management network.
  • the current state parameters of each endorsement device; the processing unit 702 is specifically configured to: according to the current state parameters of each endorsement device, determine the endorsement device that responds to the transaction request from each endorsement device included in the management network, and The endorsing device responding to the transaction request is determined as the target endorsing device.
  • the processing unit 702 is further configured to: trigger the transceiver unit 703 to broadcast the transaction block to the node devices in the blockchain network, so that the The node device executes the transaction according to the transaction data when it is determined that the data in the transaction block has passed the verification and that the data in the transaction block satisfies the endorsement policy.
  • a management network is set up in the data processing network, and the endorsement device in the management network verifies the data in the transaction request, and after the data verification passes, the signature key of the corresponding node device is used according to the instructions of the endorsement policy, Endorsement signature is performed on the data to be signed determined according to the transaction data to obtain endorsement signature data.
  • the management network can centrally and efficiently complete the data verification and endorsement signature operations, that is, to complete the consensus operation, without the need for nodes in the blockchain network to participate in the transaction consensus, which can effectively save the time required for consensus and improve the transaction process. processing efficiency, thereby improving the transaction performance of the entire network.
  • FIG. 8 is a schematic structural diagram of a computer device according to an embodiment of the present application.
  • the computer device described in the embodiments of this application includes: a processor 801 , a communication interface 802 , and a memory 803 .
  • the processor 801 , the communication interface 802 , and the memory 803 may be connected through a bus or other means, and the embodiment of the present application takes the connection through a bus as an example.
  • the processor 801 (or called CPU (Central Processing Unit, central processing unit)) is the computing core and the control core of the computer equipment, which can parse various instructions in the computer equipment and process various data of the computer equipment, such as:
  • the CPU can be used to parse the power-on/off instruction sent by the user to the computer device, and control the computer device to perform power-on/off operation; another example: the CPU can transmit various interactive data between the internal structures of the computer device, and so on.
  • the communication interface 802 may include a standard wired interface, a wireless interface (such as Wi-Fi, a mobile communication interface, etc.), and is controlled by the processor 801 to send and receive data.
  • the memory 803 is a memory device in the computer device for storing programs and data. It can be understood that, the memory 803 here can include both the built-in memory of the computer device, and certainly also the extended memory supported by the computer device.
  • the memory 803 provides storage space, and the storage space stores the operating system of the computer device, which may include, but is not limited to: Android system, iOS system, Windows Phone system, etc., which is not limited in this application.
  • the computer equipment described in the embodiments of this application corresponding to the target endorsement equipment or management equipment described above, is implemented based on a blockchain network, and the blockchain network is included in the data processing
  • the blockchain network includes a plurality of node devices
  • the data processing network also includes a management network
  • the management network includes a management device and one or more endorsement devices
  • the architecture of the data processing network can refer to the figure. 1a or Figure 1b.
  • the computer device described in the embodiment of the present application corresponds to the target endorsement device described above, and at this time, the processor 801 executes the above method by running the executable program code in the memory 803. Describes the operations on the device side of the target endorsement.
  • the processor 801, the communication interface 802, and the memory 803 described in the embodiments of the present application can execute the implementation of the target endorsement device described in the blockchain network-based data processing method provided by the embodiments of the present application
  • the implementation manner corresponding to the target endorsement device described in the block chain network-based data processing apparatus provided in the embodiment of the present application can also be executed, and details are not repeated here.
  • the computer device described in the embodiment of the present application corresponds to the management device described above.
  • the processor 801 executes the execution of the above method embodiments by running the executable program code in the memory 803. Describes the operations on the management device side.
  • the processor 801, the communication interface 802, and the memory 803 described in the embodiments of the present application can execute the implementation of the management device described in the blockchain network-based data processing method provided by the embodiments of the present application , the implementation manner corresponding to the management device described in the block chain network-based data processing apparatus provided in the embodiment of the present application can also be executed, and details are not repeated here.
  • Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer, causes the computer to execute the block-based method described in the embodiments of the present application.
  • the data processing method of the chain network For the specific implementation manner, reference may be made to the foregoing description, which will not be repeated here.
  • Embodiments of the present application also provide a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the data processing based on the blockchain network as described in the embodiments of the present application method.
  • the specific implementation manner reference may be made to the foregoing description, which will not be repeated here.

Abstract

一种基于区块链网络的数据处理方法、装置及计算机设备,其中方法包括:管理设备获取携带交易数据和参考签名数据的交易请求,确定目标背书设备,并将交易请求发送给目标背书设备;目标背书设备在交易数据和参考签名数据验证通过时,确定匹配节点设备,并获取匹配节点设备的签名密钥,根据交易数据确定待签名数据,并利用匹配节点设备的签名密钥对待签名数据进行背书签名,得到背书签名数据,以及将背书签名数据发送给管理设备;管理设备根据背书签名数据和交易数据生成交易区块。通过上述方法可以有效节省共识所需的时间,从而提高整个网络的交易性能。

Description

基于区块链网络的数据处理方法、装置及计算机设备
本申请要求于2021年02月07日提交中国专利局、申请号为2021101759601、申请名称为“基于区块链网络的数据处理方法、装置及计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及区块链网络中的数据处理技术。
背景技术
随着科技时代的到来和移动互联网的发展,网络变革的步伐也愈来愈快;实现同一领域或多个领域的信息融合、为用户提供全方位信息化方案等业务,亦面临着体系结构改进、支撑重心转移等新的挑战。在此背景下,区块链技术作为分布式账本的一种特定实现技术,凭借其存储和管理数据的天然优势,逐渐成为各个领域存储数据和交易数据的首选方式。
基于区块链网络实现的交易流程对交易性能有很大的影响,通常情况下,区块链网络中的每笔交易都需要通过共识后才能被各个节点执行或者上链。为保证共识结果的准确性,区块链网络中的大多数节点通常都会被设置为共识节点,均需要参与到每一次共识过程,这导致共识过程耗时长,交易性能低效。可见,如何提高区块链网络的交易性能是有待解决的问题。
发明内容
本申请实施例提供了一种基于区块链网络的数据处理方法、装置及计算机设备,可以有效节省共识所需的时间,从而提高整个区块链网络的交易性能。
一方面,本申请实施例提供了一种基于区块链网络的数据处理方法,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备,所述方法由所述管理网络中的所述背书设备执行,所述方法包括:
获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;对所述交易数据和所述参考签名数据进行验证;若所述交易数据和所述参考签名数据验证通过,则从目标节点设备中确定匹配节点设备,并获取所述匹配节点设备的签名密钥;所述目标节点设备是根据背书策略的指示从所述区块链网络包括的多个节点设备中确定的;根据所述交易数据确定待签名数据,并利用所述匹配节点设备的签名密钥,对所述待签名数据进行背书签名,得到背书签名数据;将所述背书签名数据发送给所述管理设备,以使所述管理设备根据所述背书签名数据和所述交易数据生成交易区块。
一方面,本申请实施例提供了另一种基于区块链网络的数据处理方法, 所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备,所述方法由所述管理网络中的所述管理设备执行,所述方法包括:
获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;从所述管理网络包括的一个或者多个背书设备中确定目标背书设备;将所述交易请求发送给所述目标背书设备,以使所述目标背书设备根据所述交易数据和所述参考签名数据得到背书签名数据;接收所述目标背书设备发送的所述背书签名数据,并根据所述背书签名数据和所述交易数据生成交易区块。
一方面,本申请实施例提供了一种基于区块链网络的数据处理装置,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备;部署于所述管理网络中的所述背书设备,所述装置包括:
获取单元,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
处理单元,用于对所述交易数据和所述参考签名数据进行验证;
所述处理单元,还用于若所述交易数据和所述参考签名数据验证通过,则从目标节点设备中确定匹配节点设备,并获取所述匹配节点设备的签名密钥;所述目标节点设备是根据背书策略的指示从所述区块链网络包括的多个节点设备中确定的;
所述处理单元,还用于根据所述交易数据确定待签名数据,并利用所述匹配节点设备的签名密钥,对所述待签名数据进行背书签名,得到背书签名数据;
收发单元,用于将所述背书签名数据发送给所述管理设备,以使所述管理设备根据所述背书签名数据和所述交易数据生成交易区块。
一方面,本申请实施例提供了另一种基于区块链网络的数据处理装置,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备以及一个或者多个背书设备;部署于所述管理网络中的所述管理设备,所述装置包括:
获取单元,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
处理单元,用于从所述管理网络包括的一个或者多个背书设备中确定目标背书设备;
收发单元,用于将所述交易请求发送给所述目标背书设备,以使所述目标背书设备根据所述交易数据和所述参考签名数据得到背书签名数据;
所述收发单元,还用于接收所述目标背书设备发送的所述背书签名数据;
所述处理单元,还用于根据所述背书签名数据和所述交易数据生成交易区块。
一方面,本申请实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行本申请实施例提供的基于区块链网络的数据处理方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的基于区块链网络的数据处理方法。
相应地,本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述方法。
本申请实施例中,在数据处理网络中设置管理网络,由管理网络中的背书设备验证交易请求中的数据,并在数据验证通过之后,按照背书策略的指示,利用相应节点设备的签名密钥,对根据交易数据确定的待签名数据进行背书签名,得到背书签名数据。采用此方式,可以由管理网络集中高效地完成数据验证和背书签名操作,即完成共识操作,无需区块链网络中的节点设备参与交易的共识,这样可以有效节省共识所需的时间,提高交易流程的处理效率,从而提高整个区块链网络的交易性能。
附图说明
图1a是本申请实施例提供的一种数据处理网络的架构示意图;
图1b是本申请实施例提供的另一种数据处理网络的架构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3示出了本申请实施例中背书设备与节点设备之间的一种对应关系;
图4示出了Fabric区块链的交易流程;
图5示出了本申请实施例提供的区块链跨域节点治理方案的一种架构;
图6示出了本申请实施例提供的区块链跨域节点治理方案的另一种架构;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为更好的理解本申请实施例,下面先对本申请实施例涉及的一些术语进行介绍。
区块链(Blockchain):一种去中心化的分布式账本数据库,用分布式数据库识别、传播和记载信息的智能化对等网络,也被称为价值互联网。区块链利用共识机制、密码学等技术保证数据传输和查询的准确性,它的特性包括不可篡改、可溯源等等。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其中包括一串使用密码学方法产生的相关联的数据块,每一个数据块中包括一批次网络交易的信息,其可用于验证信息的有效性(防伪)和生成下一个区块。
通常情况下,区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责管理所有区块链参与者的身份信息,具体包括维护公私钥生成(账户管理)、密钥管理、以及维护用户真实身份和区块链地址对应关系(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并在对有效请求完成共识后将其记录存储,对于一个新的业务请求,基础服务模块可以先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后,完整地将其传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,并发布到区块链上(合约注册),根据合约逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约进行升级、注销等功能;运营监控模块主要负责产品发布过程中的部署、配置修改、合约设置、云适配、以及产品运行中实时状态的可视化输出,例如,告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方使用。
可信计算(Trusted Computing,TC):是一项由可信计算组(或者说可信计算集群,简称为TCPA)推动和开发的技术。可信计算是在计算和通信系统中广泛使用的基于硬件安全模块的可信计算平台,可以提高系统整体的安全性。签注密钥是一个特定位数(如2048位)的RSA公共和私有密钥对,它在计算机设备出厂时随机生成并且不能改变。这个私有密钥保存在计算机设备中,而公共密钥可以用来认证、以及加密发送给计算机设备的敏感数据。
跨域:指在同一个区块链网络中,节点没有部署在同一个集群内,节点间需要跨域访问。该跨域可以是跨集群、跨地域等。
联盟链:只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。
背书机制:在区块链(如联盟链中的Hyperledger Fabric区块链)中,有一些节点承担背书任务,可以使用背书策略定义需要执行交易的节点。在区块链交易方面有一种新颖的思路,将执行智能合约与更新账本分开,以提高交易吞吐量,支持更细粒度的隐私控制,实现更灵活强大的智能合约。这些特性得以实现的一个关键因素是在将交易加入账本之前进行显式地交易背书。在区块链中,背书可以理解为,承担背书任务的节点为区块链交易进行交易信息验证,对验证通过的交易声明此交易合法的过程和机制。承担背书任务的节点必须基于有效证书的预期信息的有效签名来证明其合法性。
背书策略(endorsement policy):可以理解为是对交易进行背书必须满足的条件,即要得到背书成功的结论,必须满足背书策略中指定的条件。区块链节点存储有预先指定的背书策略集,其中背书的条件判断在链码(Chaincode)中实现,所有的交易都必须依据背书策略,因为只有经过背书处理的交易才是合法、被认可的交易。因此背书策略也可以说是用来指导被选中的节点如何决策交易是否正确的条件。
一些背书策略样例如下:节点A、B、C和F都需要对类型为T的交易进行背书;通道中的大部分节点必须对类型为U的交易进行背书;A、B、C、D、E、F、G中的至少3个节点必须对类型为V的交易进行背书。
为了减少区块链网络中共识过程的耗时,提高基于区块链网络的交易性能,本申请实施例提供了一种基于区块链网络的数据处理方法。
本申请实施例提供的数据处理方法基于区块链技术。在可行的实施例中,本申请实施例提供的数据处理方法还可以基于云技术(Cloud technology)。云技术是在云计算商业模式下应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利;而本申请实施例提供的数据处理方法主要涉及云技术中的云存储(Cloud storage)和云数据库(Cloud Database),等等。
本申请实施例提供的数据处理方法应用于数据处理网络,该数据处理网络如图1a或者图1b所示,包括:客户端10、管理网络11和区块链网络12。管理网络11包括管理设备、以及一个或者多个背书设备,区块链网络12包括多个节点设备。在一实施例中,如图1a所示,客户端10可既不处于管理网络11中,也不处于区块链网络12中。在另一实施例中,如图1b所示,客户端10可处于区块链网络12中。
在一实施例中,如图1a或者图1b所示,管理网络11与区块链网络12可以是两个不同的网络,即管理网络11独立于区块链网络12存在。在另一实施例中,管理网络也可以处于区块链网络中,此时,管理网络中的管理设备和背书设备可以是区块链网络中的节点设备,也可以是区块链网络中除节 点设备之外的普通计算机设备。
管理网络11可以基于云技术实现,具体可以基于腾讯云或者阿里云等实现。在可行的实施例中,背书设备可以是加密机,具体可以是物理的加密机,也可以是虚拟的加密机。当背书设备为虚拟的加密机时,虚拟加密机需要承载在计算机设备上。当管理网络包括管理设备以及一个背书设备时,背书设备可以是管理设备的一部分,即背书设备设置于管理设备中。
管理网络11中的设备(背书设备和管理设备中的至少一者)可以基于可信计算,并托管区块链网络中至少部分节点设备的签名密钥,可以存储区块链网络中每一个节点设备的签名密钥,也可以存储区块链网络中部分节点设备的签名密钥,该部分节点设备为背书策略指示的可能用于承担背书任务的节点设备。在一实施例中,签名密钥可以是节点设备的密钥对中的私钥。密钥对可以是采用RSA加密算法计算得出的,包括私钥和公钥,通常私钥用于签名,公钥用于解签。管理网络中的背书设备可以取代区块链网络中的节点设备来提供数据验证(包括验签、校验交易数据等)和背书签名等服务,管理网络中的管理设备可以取代区块链网络中的节点设备来提供区块生成等服务。其中,背书签名就是一个共识过程。
本申请实施例中,客户端、管理设备、背书设备和节点设备可以是服务器或者终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。客户端、管理设备、背书设备和节点设备之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例提供的数据处理方法,通过在数据处理网络中设置管理网络,由管理网络中的背书设备验证客户端的交易请求中的数据,并在数据验证通过之后,按照背书策略的指示,利用相应节点设备的签名密钥,对根据交易数据确定的待签名数据进行背书签名,得到背书签名数据,从而由管理网络集中高效地完成数据验证和背书签名操作,即完成共识操作,无需区块链网络中的节点参与交易的共识,这样可以有效节省共识所需的时间,提高交易流程的处理效率,进而达到提高整个网络的交易性能的效果。
请参阅图2,为本申请实施例提供的一种基于区块链网络的数据处理方法的流程示意图。本申请实施例描述的基于区块链网络的数据处理方法可以应用于图1a或者图1b所示的数据处理网络,该方法包括但不限于如下步骤:
S201、客户端向管理网络中的管理设备发送交易请求,该交易请求携带交易数据和交易数据对应的参考签名数据。
在一实施例中,参考签名数据可以是客户端利用其密钥对中的私钥对交易数据进行签名得到的。密钥对可以是采用RSA加密算法计算得出的,包括私钥和公钥,通常私钥用于签名,公钥用于解签。
S202、管理设备获取客户端发送的交易请求,并从管理网络包括的一个或者多个背书设备中确定目标背书设备。
针对节点设备的签名密钥的不同存储情况,可以采用如下两种方式来确定目标背书设备。
方式一:
管理网络中的各个背书设备存储有区块链网络中部分节点设备的签名密钥,且各个背书设备分别存储不同节点设备的签名密钥。管理网络中的各个背书设备存储的所有签名密钥对应的节点设备,可以是区块链网络中的所有节点设备,也可以是区块链网络中的部分节点设备,该部分节点设备为背书策略指示的可能用于承担背书任务的节点设备。
如图3所示,管理网络中的各个背书设备存储有区块链网络中一个或者多个节点设备的签名密钥。例如,背书设备1存储区块链网络中编号为1-X的X个节点设备的签名密钥,背书设备4存储区块链网络中编号为Z+1的节点设备的签名密钥。
在可行的实施方式中,区块链网络中的多个节点设备可以部署在不同的集群中。例如,如图3所示,编号为1至X的节点设备部署在一个集群中,编号为X+1至Y的节点设备部署在另一个集群中,编号为Y+1至Z的节点设备部署在又一个集群中。管理网络中的背书设备存储区块链网络中属于同一个集群的一个或者多个节点设备的签名密钥。
管理设备接收到客户端发送的交易请求之后,可以根据背书策略的指示,从区块链网络中包括的多个节点设备中确定目标节点设备,该目标节点设备为一个或者多个。确定出的目标节点设备为背书策略指示的针对当前交易承担背书任务的节点设备。例如,客户端发起的是类型为T的交易,按照预设的背书策略的指示,需要区块链网络中的节点设备A、B、C和F对类型为T的交易进行背书,则可以将区块链网络中的节点设备A、B、C和F确定为目标节点设备。
进一步的,管理设备根据记录的各个背书设备存储节点设备签名密钥的情况、以及确定出的目标节点设备,从管理网络包括的一个或者多个背书设备中确定存储有该目标节点设备的签名密钥的背书设备,并将存储有该目标节点设备的签名密钥的背书设备确定为目标背书设备。确定出的目标背书设备为一个或者多个,其存储的签名密钥中包括每一个目标节点设备的签名密钥。管理设备在向目标背书设备发送来自客户端的交易请求时,可以一并发送目标节点设备的信息(如节点编号等),可以是发送目标背书设备存储有相应签名密钥的目标节点设备的信息。
方式二:
管理网络中的各个背书设备均存储有区块链网络中各个节点设备的签名密钥,或者,管理网络中的各个背书设备均存储有区块链网络中相同的部分节点设备的签名密钥,该部分节点设备为背书策略指示的可能用于承担背书任务的所有节点设备。
管理设备接收到客户端发送的交易请求之后,获取管理网络中各个背书设备的当前状态参数,该状态参数可以包括用于指示网络状况的参数、用于指示负载状况的参数,等等。根据各个背书设备的当前状态参数,从管理网络包括的一个或者多个背书设备中确定用于响应该交易请求的目标背书设备,具体可以将当前网络状况好且负载小的背书设备确定为用于响应该交易请求的目标背书设备。确定出的目标背书设备为一个或者多个。
在可行的实施方式中,可以预先设置每一个背书设备的选取顺序,并按照该选取顺序从管理网络包括的一个或者多个背书设备中,选取当前用于提供背书服务的一个或者多个目标背书设备。例如,设置的背书设备的选取顺序为(背书设备1)→(背书设备2和3)→(背书设备4和5)。若上一次提供背书服务的是背书设备1,则这一次应选取背书设备2和3提供背书服务。
在可行的实施方式中,当确定出的目标背书设备为多个时,管理设备可以对应设置每一个背书设备承担的背书任务。例如,按照背书策略的指示,针对当前交易需要目标节点设备1-10承担背书任务,如果这一次选取的是背书设备2和3提供背书服务,则可以设置背书设备2承担目标节点设备1-3对应的背书任务,设置背书设备3承担目标节点设备4-10对应的背书任务。管理设备在向目标背书设备发送客户端的交易请求时,可以一并发送目标背书设备对应的背书任务指示信息,该背书任务指示信息用于指示该目标背书设备需要承担的目标节点设备对应的背书任务。
在一实施例中,该交易请求还携带客户端的设备标识,管理设备接收到客户端发送的交易请求之后,先确定客户端是否具备发起交易请求的权限,包括检测客户端的设备标识是否在预设白名单中,若在,则确定客户端具备发起交易请求的权限,反之,则确定客户端不具备发起交易请求的权限。若客户端具备发起交易请求的权限,则从管理网络包括的一个或者多个背书设备中确定目标背书设备。若客户端不具备发起交易请求的权限,则直接拒绝客户端的交易请求。
S203、管理设备将客户端的交易请求发送给目标背书设备。
S204、目标背书设备获取客户端的交易请求,并对交易请求携带的交易数据和参考签名数据进行验证。
在一实施例中,若参考签名数据是利用客户端的密钥对中的私钥对交易数据进行签名得到的,则目标背书设备获取客户端的密钥对中的公钥,并利 用该公钥对参考签名数据进行解签,得到解签数据;若解签数据与交易数据相匹配,则表明交易数据未被篡改,并进一步检测交易数据是否具备执行性,包括检测交易数据对应的交易是否合法,是否被执行过,等等,若合法且未被执行过,则可以确定具备执行性;若交易数据具备执行性,则可以确定交易请求中的交易数据和参考签名数据验证通过。
在可行的实施方式中,客户端的公钥可以携带在交易请求中,也可以存储在各个背书设备中,还可以存储在管理设备中。当客户端的公钥存储在管理设备中时,目标背书设备可以主动从管理设备获取客户端的公钥,也可以由管理设备在向目标节点设备发送客户端的交易请求时一并发送给目标背书设备。
S205、若交易数据和参考签名数据验证通过,则目标背书设备从目标节点设备中确定匹配节点设备,并获取匹配节点设备的签名密钥;目标节点设备是根据背书策略的指示从区块链网络包括的多个节点设备中确定的。
本申请实施例中,在交易数据和参考签名数据验证通过时,目标背书设备确定其需要承担哪些目标节点设备对应的背书任务,即确定匹配节点设备,匹配节点设备可以为一个或者多个,其包括在背书策略指示的针对当前交易需要承担背书任务的一个或者多个目标节点设备中。
针对步骤S202中的方式一所指示的情况,匹配节点设备为该一个或者多个目标节点设备中目标背书设备存储有相应签名密钥的目标节点设备。目标背书设备可以先根据背书策略的指示,从区块链网络中包括的多个节点设备中,确定针对当前交易需要承担背书任务的一个或者多个目标节点设备;然后,从该一个或者多个目标节点设备中,确定存储有相应签名密钥的目标节点设备作为匹配节点设备。在另一实施方式中,若接收到管理设备发送的目标背书设备存储有相应签名密钥的目标节点设备的信息时,直接将该信息所指示的目标节点设备确定为匹配节点设备。
针对步骤S202中的方式二所指示的情况,匹配节点设备为该一个或者多个目标节点设备中目标背书设备所需承担相应背书任务的目标节点设备。
在确定出匹配节点设备之后,获取匹配节点设备的签名密钥。在一实施例中,签名密钥可以是节点设备的密钥对中的私钥。密钥对可以是采用RSA加密算法计算得出的,包括私钥和公钥,通常私钥用于签名,公钥用于解签。
S206、目标背书设备根据交易数据确定待签名数据,并利用匹配节点设备的签名密钥对待签名数据进行背书签名,得到背书签名数据。
在一实施例中,目标背书设备根据交易数据模拟执行交易,得到模拟交易结果;根据模拟交易结果确定交易请求对应的表决结果,例如,如果模拟交易结果指示交易可以正确执行,则生成同意的表决结果。进一步地,将确定的表决结果作为待签名数据,并利用各匹配节点设备的签名密钥分别对该待签名数据进行签名,得到各签名密钥各自对应的背书签名数据。
S207、目标背书设备将背书签名数据发送给管理设备。
S208、管理设备接收目标背书设备发送的背书签名数据,并根据背书签名数据和交易数据生成交易区块。
本申请实施例中,管理设备接收各个目标背书设备发送的一个或者多个背书签名数据,并在接收到各个目标背书设备发送的背书签名数据之后,根据接收到的背书签名数据和交易数据生成交易区块。
在一实施例中,管理设备在接收到目标背书设备发送的背书签名数据之后,先对背书签名数据进行验证(即验签),并在各个背书签名数据验证通过之后,生成交易区块。若存在验证未通过的背书签名数据,则指示相应背书设备(可以是原先的背书设备,也可以是新指定一个背书设备)重新进行相应的背书签名操作。对背书签名数据进行验证的方式可参考后续描述。
在一实施例中,管理设备可以将生成的交易区块添加到其存储的区块链上,以进行存证。在另一实施例中,管理设备可以根据客户端的交易请求以及该交易区块生成存证区块,并将生成的存证区块添加到其存储的区块链上,以进行存证。
S209、管理设备将交易区块广播给区块链网络中的节点设备。
S210、区块链网络中的节点设备在确定交易区块中的数据验证通过、且确定交易区块中的数据满足背书策略时,根据交易数据执行交易。
本申请实施例中,区块链网络中的节点设备接收到管理设备广播的交易区块之后,从该交易区块中提取交易数据以及提取各个背书签名数据,并对交易数据和背书签名数据进行验证。对交易数据进行验证包括验证字段的正确性以及交易的合法性。
对背书签名数据进行验证的方式可以为:根据背书策略的指示,从区块链网络中包括的多个节点设备中,确定针对交易数据对应的交易需要承担背书任务的各个目标节点设备。获取各个目标节点设备的解签密钥。在一实施例中,区块链网络中的各个节点设备均存储有背书策略指示的可能用于承担背书任务的所有节点设备的解签密钥,此时可以直接从本地获取各个目标节点设备的解签密钥。在另一实施例中,背书策略指示的可能用于承担背书任务的所有节点设备的解签密钥,或者区块链网络中所有节点设备的解签密钥,可以存储在云端数据库中,此时需要从云端数据库获取各个目标节点设备的解签密钥。解签密钥和签名密钥构成密钥对,签名密钥可以是密钥对中的私钥,解签密钥可以是密钥对中的公钥;密钥对可以是采用RSA加密算法计算得出的。进一步的,利用各个目标节点设备的解签密钥分别对各个背书签名数据进行解签,并基于解签成功后的解签数据对各个背书签名数据进行验证。
若利用各个目标节点设备的解签密钥能够对各个背书签名数据相应地成功解签,且任意一个目标节点设备的解签密钥与至少一个背书签名数据使用的签名密钥相匹配,且解签结果指示全部表决结果或者大多数(如超过2/3) 的表决结果均同意执行交易数据对应的交易,则确定满足背书策略。
当交易区块中的数据验证通过、且检测交易区块中的数据满足背书策略时,区块链网络中的节点设备可以根据交易数据执行交易。在执行交易之后,可以将得到交易结果计入账本中(或者说根据交易结果生成区块,并将区块上链)。在一实施例中,区块链网络中的节点设备也可以将接收到的交易区块添加到其存储的区块链上,以进行存证。
需要说明的是,目标背书设备在得到背书签名数据时,可以利用匹配节点设备的签名密钥对待签名数据(如交易请求对应的表决结果)和交易数据进行背书签名,得到背书签名数据。目标背书设备在将背书签名数据发送给管理设备时,可以一并发送待签名数据。管理设备生成交易区块时,可以根据背书签名数据、交易数据和待签名数据生成交易区块。在生成背书签名数据和交易区块的过程中添加上述数据,可用于后续的数据验证。另外,如果由管理网络中的管理设备托管区块链网络中至少部分节点设备的签名密钥,则管理设备在向目标背书设备发送交易请求时,可以一并发送目标背书设备对应的匹配节点设备的签名密钥,以使目标背书设备执行相应的背书任务。
本申请实施例中,管理设备和背书设备采用的是可信计算,利用管理网络中的背书设备取代区块链网络中的节点设备,来提供数据验证和背书签名等服务,即利用背书设备完成共识操作;利用管理网络中的管理设备取代区块链网络中的节点设备,来提供区块生成等服务;这样可以由管理网络集中高效地完成交易共识和区块生成,无需区块链网络中的节点设备参与交易的共识以及区块的生成,相对目前的需要区块链网络中绝大多数节点设备参与共识的方式,本方案可以有效节省共识所需的时间,从而提高交易流程的处理效率,达到提高整个网络的交易性能的效果。
本申请实施例提供的数据处理方法是一种区块链跨域节点治理方案。目前,很多服务商都提供了区块链的PaaS(Platform as a Service,平台即服务)平台服务或跟区块链相关的各种解决方案,部署形式大多是将同一个区块链网络中的所有节点部署在一起,这样可以在很大程度上提升区块链网络的交易性能。但为了体现真正的去中心化,区块链节点跨域分布式部署,或者部署到不同的客户环境,在未来将会是一种常态,节点间通过公网通讯,整个网络的交易性能将面对巨大的挑战。
目前针对区块链跨域节点的治理还没有统一的方案,常见的是在区块链节点中划分出一部分节点作为共识节点,由这些共识节点提供共识服务和打包区块。但这只能在一定程度上提升交易性能,在交易并发量较高的时候,也存在性能瓶颈,因为交易需要收集节点签名,同时通用性较差,无法在大多数区块链引擎中使用。
区块链的交易流程对交易性能有很大的影响,一般情况下,每笔交易都 需要通过共识才能被各个节点执行。公链中提供了很多种共识算法,如PoW、PoS等。一般情况下,公链中所有节点都是共识节点,均需要参与到共识过程中,所以交易性能非常低效。而诸如企业间一般使用联盟链,联盟链一般会将共识服务抽离出来,以在一定程度上提升交易性能。本申请实施例提供的区块链跨域节点治理方案主要针对联盟链。
请参见图4,示出了Fabric区块链的交易流程。其中,Orderer节点用于提供区块打包服务。Pee节点用于执行交易,记录账本;可以是背书节点(Endorser)或提交节点(Committer)。提供证书服务的可以是CA(证书颁发机构,Certificate Authority),可针对客户端生成相应的密钥。交易流程主要包括如下步骤:
客户端向背书节点发送交易提议(或者说交易请求),背书节点接收到提议之后,校验提议签名,并检测是否满足channel(通道)ACL(访问控制列表),包括检查客户端是否可以在当前channel进行操作,等等。如果提议签名校验通过、且检测到满足channel ACL,则模拟执行交易,并对结果(可以是根据交易模拟执行的结果所生成的表决结果)签名。背书节点向客户端返回结果签名。客户端接收背书节点返回的结果签名,并对结果签名进行校验;比对多个背书节点的回复结果,并检测是否收集了足够的结果签名。客户端如果收集了足够的结果签名,且大多数背书节点的回复结果表示同意执行交易,则向Orderer节点发送交易数据,可以将交易数据发送给背书节点,由背书节点转发给Orderer节点。Orderer节点对交易进行排序,构造交易区块,并将交易区块发送给提交节点。提交节点针对交易区块检查交易结构和签名,检查交易是否满足背书策略;如果交易结构和签名检查通过,且检查到交易满足背书策略,则执行交易区块中的合法交易,并更新账本状态。提交节点在处理交易区块的过程中,可以向背书节点同步关于交易区块的处理数据。
上述交易流程中,客户端所执行的步骤具体可以由客户端配置的APP(应用程序)或者SDK(软件开发工具包)执行。从Fabric区块链的交易流程中可以看出,从客户端发送交易提议到最后Peer节点执行交易,中间存在多次签名验签的操作,而这也是每笔交易最耗时的地方。其中,背书签名就是一个共识过程,只有收集到足够多的背书签名,交易才能正常执行。如果背书节点(Endorser)分布式跨域部署,节点间通过公网通讯,针对每笔交易收集背书签名时,公网的网络稳定性,带宽等都会影响整体交易的性能。
请参见图5,示出了本申请实施例提供的区块链跨域节点治理方案的一种架构。本申请实施提供的区块链跨域节点治理方案,结合可信计算,规划出一块可信计算区域(相当于前文所述的管理网络),将区块链网络中的各个节点的私钥(或者说签名密钥)托管到可信计算区域,在可信计算区域中完成交易的共识签名(即背书签名)操作,然后在可信计算区域中打包出块,分发给区块链网络中的各个节点,节点收到区块后,只需验证区块并执行区 块中的合法交易即可。可信计算保证了节点私钥的安全性与数据的可靠性,在可信计算区域,有与节点对应的服务(如图5所示的P1-P4)、托管对应节点的私钥,并提供签名服务。如图5所示,P1-P4分别拖管Peer1-Peer4的私钥,并提供相应的背书签名服务。图5中的P1-P4相当于前文所述的背书设备,可以是加密机。这样,交易的背书签名就可以在可信计算区域集中完成,从而减少网络中请求的分发,加快交易流程的处理速率。
请参见图6,示出了本申请实施例提供的区块链跨域节点治理方案的另一种架构。本申请实施提供的区块链跨域节点治理方案的具体交易流程如下:首先客户端通过CA注册证书(即获取到相应密钥)后,向可信计算区域发送交易请求。可信计算区域收到交易请求后,校验交易请求中携带的交易签名;在签名校验通过后,按照背书策略的指示,使用托管的相应节点的私钥对交易背书签名;在收集到足够多的背书签名后,打包交易,生成交易区块,并将交易区块分发给Peer节点。Peer节点收到交易区块后,检查交易结构和背书签名,以及检查交易是否满足背书策略;在交易结构和背书签名检查通过且交易满足背书策略时,执行区块中的合法交易,并更新账本状态。需要说明的是,上述交易流程中的各步骤的具体实现方式可参考前文实施例中的描述,另外,上述交易流程仅指出了一些主要步骤,针对不同的区块链引擎,在交易流程上会有一些区别,但主要思想都是将共识签名(即背书签名)操作集中处理,由可信计算区域托管节点的私钥,并完成交易共识。
本申请实施例,结合可信计算,将区块链网络中各个节点的签名密钥托管到可信计算区域,由可信计算区域提供数据验证和背书签名服务,以及提供区块生成服务,而区块链网络中的各个节点只负责记录账本,这种模式在保证信息安全可靠的同时,可以提高背书签名(即共识)效率,从而加快交易的处理流程,极大提高整个网络的交易性能,并且通用性较好,可以在所有区块链引擎中复用。
请参阅图7,为本申请实施例提供的一种基于区块链网络的数据处理装置的结构示意图。所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备,所述数据处理网络的架构可参阅图1a或者图1b。所述装置包括:获取单元701、处理单元702和收发单元703。
在一实施例中,本申请实施例中描述的数据处理装置,对应于前文所述的目标背书设备,此时各单元所实现的功能如下:
获取单元701,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
处理单元702,用于对所述交易数据和所述参考签名数据进行验证;
所述处理单元702,还用于若所述交易数据和所述参考签名数据验证通 过,则从根目标节点设备中确定匹配节点设备,并获取所述匹配节点设备的签名密钥;所述目标节点设备是根据背书策略的指示从所述区块链网络包括的多个节点设备中确定的;
所述处理单元702,还用于根据所述交易数据确定待签名数据,并利用所述匹配节点设备的签名密钥,对所述待签名数据进行背书签名,得到背书签名数据;
收发单元703,用于将所述背书签名数据发送给所述管理设备,以使所述管理设备根据所述背书签名数据和所述交易数据生成交易区块。
在一实施方式中,所述管理网络中的背书设备存储有所述区块链网络中至少部分节点设备的签名密钥。
在一实施方式中,所述管理网络中的各个背书设备存储有所述区块链网络中部分节点设备的签名密钥,且各个背书设备分别存储不同节点设备的签名密钥,所述获取单元701,具体用于:触发所述收发单元703接收所述管理设备发送的来自客户端的交易请求;其中,所述管理设备在接收到所述客户端发送的交易请求之后,根据所述背书策略的指示,从所述区块链网络包括的多个节点设备中确定目标节点设备,并将所述交易请求发送给存储有所述目标节点设备的签名密钥的目标背书设备。
在一实施方式中,所述管理网络中的各个背书设备均存储有所述区块链网络中各个节点设备的签名密钥,所述获取单元701,具体用于:触发所述收发单元703接收所述管理设备发送的来自客户端的交易请求;其中,所述管理设备在接收到所述客户端发送的交易请求之后,根据各个背书设备的当前状态参数,从所述各个背书设备中确定响应所述交易请求的目标背书设备,并将所述交易请求发送给所述目标背书设备。
在一实施方式中,所述处理单元702根据所述交易数据确定待签名数据时,具体用于:根据所述交易数据模拟执行交易,得到模拟交易结果;根据所述模拟交易结果确定所述交易请求对应的表决结果,并将所述表决结果作为所述待签名数据。
在一实施方式中,所述参考签名数据是利用密钥对中的私钥对所述交易数据进行签名得到的,所述获取单元701,还用于获取所述密钥对中的公钥;所述处理单元702,还用于:利用所述公钥对所述参考签名数据进行解签,得到解签数据;若所述解签数据与所述交易数据相匹配,则检测所述交易数据是否具备执行性;若所述交易数据具备执行性,则确定所述交易数据和所述参考签名数据验证通过。
可以理解的是,本申请实施例提供的数据处理装置的各功能单元的功能可根据上述方法实施例中目标背书设备所对应的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在另一实施例中,本申请实施例中所描述的数据处理装置,对应于前文 所述的管理设备,此时各单元所实现的功能如下:
获取单元701,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
处理单元702,用于从所述管理网络包括的一个或者多个背书设备中确定目标背书设备;
收发单元703,用于将所述交易请求发送给所述目标背书设备,以使所述目标背书设备根据所述交易数据和所述参考签名数据得到背书签名数据;
所述收发单元703,还用于接收所述目标背书设备发送的所述背书签名数据;
所述处理单元702,还用于根据所述背书签名数据和所述交易数据生成交易区块。
在一实施方式中,所述管理网络中的背书设备存储有所述区块链网络中至少部分节点设备的签名密钥。
在一实施方式中,所述管理网络中的各个背书设备存储有所述区块链网络中部分节点设备的签名密钥,且各个背书设备分别存储不同节点设备的签名密钥,所述处理单元702具体用于:根据背书策略的指示,从所述区块链网络包括的多个节点设备中确定目标节点设备;从所述管理网络包括的各个背书设备中确定存储有所述目标节点设备的签名密钥的背书设备,并将所述存储有所述目标节点设备的签名密钥的背书设备确定为所述目标背书设备。
在一实施方式中,所述管理网络中的各个背书设备均存储有所述区块链网络中各个节点设备的签名密钥,所述装置还包括获取单元701,用于获取所述管理网络中各个背书设备的当前状态参数;所述处理单元702具体用于:根据所述各个背书设备的当前状态参数,从所述管理网络包括的各个背书设备中确定响应所述交易请求的背书设备,并将所述响应所述交易请求的背书设备确定为所述目标背书设备。
在一实施方式中,所述处理单元702还用于:触发所述收发单元703将所述交易区块广播给所述区块链网络中的节点设备,以使所述区块链网络中的节点设备在确定所述交易区块中的数据验证通过、且确定交易区块中的数据满足所述背书策略时,根据所述交易数据执行交易。
可以理解的是,本申请实施例提供的数据处理装置的各功能单元的功能可根据上述方法实施例中管理设备所对应的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例中,在数据处理网络中设置管理网络,由管理网络中的背书设备验证交易请求中的数据,并在数据验证通过之后,按照背书策略的指示利用相应节点设备的签名密钥,对根据交易数据确定的待签名数据进行背书签名,得到背书签名数据。采用此方式,可以由管理网络集中高效地完成数据验证和背书签名操作,即完成共识操作,无需区块链网络中的节点参与 交易的共识,这样可以有效节省共识所需的时间,提高交易流程的处理效率,从而提高整个网络的交易性能。
请参阅图8,为本申请实施例提供的一种计算机设备的结构示意图。本申请实施例中所描述的计算机设备包括:处理器801、通信接口802及存储器803。其中,处理器801、通信接口802及存储器803可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器801(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口802可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器801的控制用于收发数据。存储器803(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器803既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器803提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,本申请实施例中所描述的计算机设备,对应于前文所述的目标背书设备或者管理设备,是基于区块链网络实现的,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备以及一个或者多个背书设备,所述数据处理网络的架构可参阅图1a或者图1b。
在一实施例中,本申请实施例中所描述的计算机设备,对应于前文所述的目标背书设备,此时处理器801通过运行存储器803中的可执行程序代码,执行上述方法实施例中所介绍的目标背书设备侧的操作。
具体实现中,本申请实施例中所描述的处理器801、通信接口802及存储器803可执行本申请实施例提供的一种基于区块链网络的数据处理方法中所描述的目标背书设备的实现方式,也可执行本申请实施例提供的一种基于区块链网络的数据处理装置中所描述的对应于目标背书设备的实现方式,在此不再赘述。
在另一实施例中,本申请实施例中所描述的计算机设备,对应于前文所述的管理设备,此时处理器801通过运行存储器803中的可执行程序代码,执行上述方法实施例中所介绍的管理设备侧的操作。
具体实现中,本申请实施例中所描述的处理器801、通信接口802及存储器803可执行本申请实施例提供的一种基于区块链网络的数据处理方法中所描述的管理设备的实现方式,也可执行本申请实施例提供的一种基于区块 链网络的数据处理装置中所描述的对应于管理设备的实现方式,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如本申请实施例所述的基于区块链网络的数据处理方法。其具体实现方式可参考前文描述,此处不再赘述。
本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行如本申请实施例所述的基于区块链网络的数据处理方法。其具体实现方式可参考前文描述,此处不再赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请部分实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

  1. 一种基于区块链网络的数据处理方法,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备;由所述管理网络中的所述背书设备执行,所述方法包括:
    获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
    对所述交易数据和所述参考签名数据进行验证;
    若所述交易数据和所述参考签名数据验证通过,则从目标节点设备中确定匹配节点设备,并获取所述匹配节点设备的签名密钥;所述目标节点设备是根据背书策略的指示从所述区块链网络包括的多个节点设备中确定的;
    根据所述交易数据确定待签名数据,并利用所述匹配节点设备的签名密钥,对所述待签名数据进行背书签名,得到背书签名数据;
    将所述背书签名数据发送给所述管理设备,以使所述管理设备根据所述背书签名数据和所述交易数据生成交易区块。
  2. 如权利要求1所述的方法,所述管理网络中的背书设备存储有所述区块链网络中至少部分节点设备的签名密钥。
  3. 如权利要求2所述的方法,所述管理网络中的各个背书设备存储有所述区块链网络中部分节点设备的签名密钥,且各个背书设备分别存储不同节点设备的签名密钥;所述获取交易请求,包括:
    接收所述管理设备发送的来自客户端的交易请求;
    其中,所述管理设备在接收到所述客户端发送的交易请求之后,根据所述背书策略的指示,从所述区块链网络包括的多个节点设备中确定所述目标节点设备,并将所述交易请求发送给存储有所述目标节点设备的签名密钥的目标背书设备。
  4. 如权利要求2所述的方法,所述管理网络中的各个背书设备均存储有所述区块链网络中各个节点设备的签名密钥;所述获取交易请求,包括:
    接收所述管理设备发送的来自客户端的交易请求;
    其中,所述管理设备在接收到所述客户端发送的交易请求之后,根据各个背书设备的当前状态参数,从所述各个背书设备中确定响应所述交易请求的目标背书设备,并将所述交易请求发送给所述目标背书设备。
  5. 如权利要求1-4任一项所述的方法,所述根据所述交易数据确定待签名数据,包括:
    根据所述交易数据模拟执行交易,得到模拟交易结果;
    根据所述模拟交易结果确定所述交易请求对应的表决结果,并将所述表决结果作为所述待签名数据。
  6. 如权利要求1-4任一项所述的方法,所述参考签名数据是利用密钥对 中的私钥对所述交易数据进行签名得到的,所述对所述交易数据和所述参考签名数据进行验证,包括:
    获取所述密钥对中的公钥,并利用所述公钥对所述参考签名数据进行解签,得到解签数据;
    若所述解签数据与所述交易数据相匹配,则检测所述交易数据是否具备执行性;
    若所述交易数据具备执行性,则确定所述交易数据和所述参考签名数据验证通过。
  7. 一种基于区块链网络的数据处理方法,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备;由所述管理网络中的所述管理设备执行,所述方法包括:
    获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
    从所述管理网络包括的一个或者多个背书设备中确定目标背书设备;
    将所述交易请求发送给所述目标背书设备,以使所述目标背书设备根据所述交易数据和所述参考签名数据得到背书签名数据;
    接收所述目标背书设备发送的所述背书签名数据,并根据所述背书签名数据和所述交易数据生成交易区块。
  8. 如权利要求7所述的方法,所述管理网络中的背书设备存储有所述区块链网络中至少部分节点设备的签名密钥。
  9. 如权利要求8所述的方法,所述管理网络中的各个背书设备存储有所述区块链网络中部分节点设备的签名密钥,且各个背书设备分别存储不同节点设备的签名密钥,所述从所述管理网络包括的一个或者多个背书设备中确定目标背书设备,包括:
    根据背书策略的指示,从所述区块链网络包括的多个节点设备中确定目标节点设备;
    从所述管理网络包括的各个背书设备中确定存储有所述目标节点设备的签名密钥的背书设备,并将所述存储有所述目标节点设备的签名密钥的背书设备确定为所述目标背书设备。
  10. 如权利要求8所述的方法,所述管理网络中的各个背书设备均存储有所述区块链网络中各个节点设备的签名密钥,所述从所述管理网络包括的一个或者多个背书设备中确定目标背书设备,包括:
    获取所述管理网络中各个背书设备的当前状态参数;
    根据所述各个背书设备的当前状态参数,从所述管理网络包括的各个背书设备中确定响应所述交易请求的背书设备,并将所述响应所述交易请求的背书设备确定为所述目标背书设备。
  11. 如权利要求7-10任一项所述的方法,所述方法还包括:
    将所述交易区块广播给所述区块链网络中的节点设备,以使所述区块链网络中的节点设备在确定所述交易区块中的数据验证通过、且确定所述交易区块中的数据满足背书策略时,根据所述交易数据执行交易。
  12. 一种基于区块链网络的数据处理装置,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备、以及一个或者多个背书设备;部署于所述管理网络中的所述背书设备,所述装置包括:
    获取单元,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
    处理单元,用于对所述交易数据和所述参考签名数据进行验证;
    所述处理单元,还用于若所述交易数据和所述参考签名数据验证通过,则从目标节点设备中确定匹配节点设备,并获取所述匹配节点设备的签名密钥;所述目标节点设备是根据背书策略的指示从所述区块链网络包括的多个节点设备中确定的;
    所述处理单元,还用于根据所述交易数据确定待签名数据,并利用所述匹配节点设备的签名密钥,对所述待签名数据进行背书签名,得到背书签名数据;
    收发单元,用于将所述背书签名数据发送给所述管理设备,以使所述管理设备根据所述背书签名数据和所述交易数据生成交易区块。
  13. 一种基于区块链网络的数据处理装置,所述区块链网络包含于数据处理网络中,所述区块链网络包括多个节点设备,所述数据处理网络还包括管理网络,所述管理网络包括管理设备以及一个或者多个背书设备;部署于所述管理网络中的所述管理设备,所述装置包括:
    获取单元,用于获取交易请求,所述交易请求携带交易数据和所述交易数据对应的参考签名数据;
    处理单元,用于从所述管理网络包括的一个或者多个背书设备中确定目标背书设备;
    收发单元,用于将所述交易请求发送给所述目标背书设备,以使所述目标背书设备根据所述交易数据和所述参考签名数据得到背书签名数据;
    所述收发单元,还用于接收所述目标背书设备发送的所述背书签名数据;
    所述处理单元,还用于根据所述背书签名数据和所述交易数据生成交易区块。
  14. 一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-6中任一项所述的基于区块链网络的数据处理方法,或者执行如权利要求7-11中任 一项所述的基于区块链网络的数据处理方法。
  15. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的基于区块链网络的数据处理方法,或者执行如权利要求7-11中任一项所述的基于区块链网络的数据处理方法。
  16. 一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机实现如权利要求1-6中任一项所述的基于区块链网络的数据处理方法,或者实现如权利要求7-11中任一项所述的基于区块链网络的数据处理方法。
PCT/CN2022/073412 2021-02-07 2022-01-24 基于区块链网络的数据处理方法、装置及计算机设备 WO2022166637A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22748916.8A EP4216077A4 (en) 2021-02-07 2022-01-24 METHOD AND DEVICE FOR DATA PROCESSING BASED ON BLOCKCHAIN NETWORK AND COMPUTER DEVICE
JP2023547487A JP2024505692A (ja) 2021-02-07 2022-01-24 ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
US17/968,450 US20230037932A1 (en) 2021-02-07 2022-10-18 Data processing method and apparatus based on blockchain network, and computer device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110175960.1A CN112527912B (zh) 2021-02-07 2021-02-07 基于区块链网络的数据处理方法、装置及计算机设备
CN202110175960.1 2021-02-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/968,450 Continuation US20230037932A1 (en) 2021-02-07 2022-10-18 Data processing method and apparatus based on blockchain network, and computer device

Publications (1)

Publication Number Publication Date
WO2022166637A1 true WO2022166637A1 (zh) 2022-08-11

Family

ID=74975617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/073412 WO2022166637A1 (zh) 2021-02-07 2022-01-24 基于区块链网络的数据处理方法、装置及计算机设备

Country Status (5)

Country Link
US (1) US20230037932A1 (zh)
EP (1) EP4216077A4 (zh)
JP (1) JP2024505692A (zh)
CN (1) CN112527912B (zh)
WO (1) WO2022166637A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115243080A (zh) * 2022-09-21 2022-10-25 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527912B (zh) * 2021-02-07 2021-06-01 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置及计算机设备
CN113327167B (zh) * 2021-06-24 2024-03-22 深圳前海微众银行股份有限公司 一种区块链数据处理方法
CN114189526A (zh) * 2021-11-01 2022-03-15 北京中合谷投资有限公司 一种分布式网络的中心化调度算法
CN114268632A (zh) * 2021-11-08 2022-04-01 北京中合谷投资有限公司 一种服务广电网络的混合cdn业务构架和方法
CN115065526A (zh) * 2022-06-10 2022-09-16 网络通信与安全紫金山实验室 基于区块链的动态背书方法、装置、电子设备和存储介质
CN116909931B (zh) * 2023-09-12 2023-12-26 广州民航信息技术有限公司 一种针对Fabric区块链的性能检测系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908979A (zh) * 2017-10-20 2018-04-13 上海点融信息科技有限责任公司 用于在区块链中进行配置和背书的方法和电子设备
CN109493204A (zh) * 2018-10-16 2019-03-19 平安科技(深圳)有限公司 基于区块链的业务记账方法及终端设备
CN110572398A (zh) * 2019-09-10 2019-12-13 腾讯科技(深圳)有限公司 区块链网络的管控方法、装置、设备及存储介质
US20200186369A1 (en) * 2018-10-08 2020-06-11 International Business Machines Corporation Blockchain timestamp agreement
CN112053153A (zh) * 2020-08-27 2020-12-08 中信银行股份有限公司 背书签名数据存储方法、装置、电子设备及可读存储介质
CN112527912A (zh) * 2021-02-07 2021-03-19 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置及计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150536A (zh) * 2017-06-27 2019-01-04 中思博安科技(北京)有限公司 代理签名方法和系统、以及智能合约的执行方法
US11095433B2 (en) * 2018-07-02 2021-08-17 International Business Machines Corporation On-chain governance of blockchain
CN109151013B (zh) * 2018-08-13 2021-07-27 南京邮电大学 基于联盟区块链的物流业信息平台
CN111327426B (zh) * 2020-01-21 2021-06-25 腾讯科技(深圳)有限公司 数据共享方法及相关装置、设备及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908979A (zh) * 2017-10-20 2018-04-13 上海点融信息科技有限责任公司 用于在区块链中进行配置和背书的方法和电子设备
US20200186369A1 (en) * 2018-10-08 2020-06-11 International Business Machines Corporation Blockchain timestamp agreement
CN109493204A (zh) * 2018-10-16 2019-03-19 平安科技(深圳)有限公司 基于区块链的业务记账方法及终端设备
CN110572398A (zh) * 2019-09-10 2019-12-13 腾讯科技(深圳)有限公司 区块链网络的管控方法、装置、设备及存储介质
CN112053153A (zh) * 2020-08-27 2020-12-08 中信银行股份有限公司 背书签名数据存储方法、装置、电子设备及可读存储介质
CN112527912A (zh) * 2021-02-07 2021-03-19 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置及计算机设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115243080A (zh) * 2022-09-21 2022-10-25 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2024505692A (ja) 2024-02-07
CN112527912B (zh) 2021-06-01
US20230037932A1 (en) 2023-02-09
EP4216077A1 (en) 2023-07-26
CN112527912A (zh) 2021-03-19
EP4216077A4 (en) 2024-04-24

Similar Documents

Publication Publication Date Title
WO2022166637A1 (zh) 基于区块链网络的数据处理方法、装置及计算机设备
US11477032B2 (en) System and method for decentralized-identifier creation
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
EP3721603B1 (en) System and method for creating decentralized identifiers
US20200328878A1 (en) System and method for blockchain-based cross-entity authentication
US20200145229A1 (en) System and method for blockchain-based cross-entity authentication
WO2018112940A1 (zh) 区块链节点的业务执行方法、装置及节点设备
CN110727712A (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
CN110569674A (zh) 基于区块链网络的认证方法及装置
CN110149323B (zh) 一种具有千万级tps合约处理能力的处理装置
WO2022193984A1 (zh) 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品
US20220294637A1 (en) System and Method of Establishing a Trusted Relationship in a Distributed System
CN114760071B (zh) 基于零知识证明的跨域数字证书管理方法、系统和介质
CN110990790B (zh) 一种数据处理方法及设备
CN112862487A (zh) 一种数字证书认证方法、设备及存储介质
CN110910110A (zh) 一种数据处理方法、装置及计算机存储介质
Dilshan et al. Mschain: blockchain based decentralized certificate transparency for microservices
CN112181599B (zh) 模型训练方法、装置及存储介质
Quamara et al. An In-depth Security and Performance Investigation in Hyperledger Fabric-configured Distributed Computing Systems
Ahmed et al. Transparency of SIM profiles for the consumer remote SIM provisioning protocol
CN116561820B (zh) 可信数据处理方法及相关装置
CN117595996A (zh) 一种电子签名处理方法、装置、电子设备和存储介质
CN115632794A (zh) 一种分布式数字身份验证系统、方法和相关装置
CN116032494A (zh) 数据交互方法、区块链预言机、设备及介质
CN117376000A (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: 22748916

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022748916

Country of ref document: EP

Effective date: 20230418

WWE Wipo information: entry into national phase

Ref document number: 2023547487

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE