Blockchain-based transaction processing method and apparatus, device, medium

CN116938484BActive Publication Date: 2026-08-21TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210335865.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-31
Publication Date
2026-08-21
Estimated Expiration
2042-03-31

AI Technical Summary

Technical Problem

[0002]相关技术中针对事务交易的执行,通常是执行后将事务交易的执行相关数据返回给业务方,但是如果有中间方或者某一方实施作恶,那么业务方接收到的执行相关数据可能并不准确

Benefits of technology

[0027] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the blockchain-based transaction processing method as described above.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116938484B_ABST
    Figure CN116938484B_ABST
Patent Text Reader

Abstract

The application specifically discloses a transaction processing method and device based on a blockchain, equipment and a medium. The method comprises the following steps: a transaction processing node generates a transaction voucher based on the execution result of at least two transaction transactions in a transaction transaction group in a blockchain network, and a verification node verifies the execution result contained in the transaction voucher to generate a verification voucher, and then the transaction processing node sends the transaction voucher and the verification voucher to the blockchain network for association and chaining. The technical scheme of the application realizes the verification of the execution result of the transaction, and greatly optimizes the transaction verification scheme.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a blockchain-based transaction processing method, a blockchain-based transaction processing device, an electronic device, and a computer-readable medium. Background Technology

[0002] In related technologies, the execution of a transaction usually involves returning the execution-related data to the business party after execution. However, if an intermediary or a party acts maliciously, the execution-related data received by the business party may not be accurate.

[0003] It is clear that improving the accuracy of transaction execution-related data is an urgent problem to be solved. Summary of the Invention

[0004] To address the aforementioned technical problems, embodiments of this application provide a blockchain-based transaction processing method, apparatus, device, and medium, thereby improving the accuracy of transaction execution-related data to at least a certain extent.

[0005] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing method, the method comprising: obtaining a transaction group to be executed; wherein the transaction group includes at least two transaction transactions with dependencies and an execution order between the at least two transaction transactions; sending the transaction group to a blockchain network, so that the blockchain network executes the at least two transaction transactions based on the execution order between the at least two transaction transactions, and returns a first execution result of the at least two transaction transactions; generating a transaction certificate corresponding to the first execution result, generating a verification request based on the transaction certificate, sending the verification request to a verification node, so that the verification node generates a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate; receiving the verification certificate from the verification node, and sending the transaction certificate and the verification certificate to the blockchain network, so that the blockchain network performs on-chain association processing on the transaction certificate and the verification certificate.

[0006] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing method, the method comprising: receiving a verification request from a transaction processing node; wherein the verification request carries a transaction certificate corresponding to a first execution result of the transaction processing node for the transaction transaction; obtaining a second execution result matching the transaction transaction from a blockchain network based on the verification request; verifying the first execution result contained in the transaction certificate based on the second execution result, and generating a verification certificate for the verification result; and sending the verification certificate to the transaction processing node, so that the transaction processing node sends the transaction certificate and the verification certificate to the blockchain network for associated on-chain processing.

[0007] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing method, the method comprising: receiving a group of transaction transactions to be executed sent by a transaction processing node; wherein the transaction transaction group includes at least two transaction transactions with dependencies, and there is an execution order between the at least two transaction transactions; executing the at least two transaction transactions based on the execution order between the at least two transaction transactions, and sending a first execution result of the at least two transaction transactions to the transaction processing node.

[0008] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing apparatus. The apparatus is configured on a transaction processing node and includes: a first acquisition module configured to acquire a group of transactions to be executed; wherein the transaction group includes at least two transactions with dependencies and an execution order between the at least two transactions; a first sending module configured to send the transaction group to a blockchain network, so that the blockchain network executes the at least two transactions based on the execution order between the at least two transactions and returns a first execution result of the at least two transactions; a generation and sending module configured to generate a transaction certificate corresponding to the first execution result, generate a verification request based on the transaction certificate, and send the verification request to a verification node, so that the verification node generates a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate; and a receiving and sending module configured to receive the verification certificate from the verification node and send the transaction certificate and the verification certificate to the blockchain network, so that the blockchain network performs on-chain association processing on the transaction certificate and the verification certificate.

[0009] In one embodiment of this application, based on the foregoing scheme, the apparatus further includes: a generation unit configured to generate a rollback transaction corresponding to a successfully executed transaction if it is determined from the first execution result that there is a failed transaction in the transaction group; and a sending unit configured to send the rollback transaction to the blockchain network so that the blockchain network executes the rollback transaction in the reverse order of the execution order.

[0010] In one embodiment of this application, based on the aforementioned scheme, each transaction includes the transfer of resource data from a first transaction account to a second transaction account; the generation unit is specifically configured to: generate a rollback transaction for the transfer of resource data from the second transaction account to the first transaction account based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account.

[0011] In one embodiment of this application, based on the foregoing scheme, the generation unit is further specifically configured to: detect whether the failed transaction is the first transaction executed in the transaction group; if not, generate a rollback transaction for transferring resource data from the second transaction account to the first transaction account based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account.

[0012] In one embodiment of this application, based on the foregoing scheme, when the rollback transaction consists of at least two rollback transaction transactions, the sending unit is specifically configured to: take the order opposite to the execution order of the successfully executed transaction transactions as the execution order between the at least two rollback transaction transactions; send the at least two rollback transaction transactions to the blockchain network, so that the blockchain network executes the rollback transaction transactions based on the execution order between the at least two rollback transaction transactions.

[0013] In one embodiment of this application, based on the foregoing scheme, the generation and sending module is specifically configured to: receive a first transaction execution request; wherein the first transaction execution request carries a list of verification nodes, the list of verification nodes includes at least two specified verification node identifiers; and send the verification request to a verification node in the verification node cluster that matches the at least two specified verification node identifiers.

[0014] In one embodiment of this application, based on the foregoing scheme, the generation and sending module is specifically configured to: receive a second transaction execution request; wherein the second transaction execution request carries a number of verification nodes, and the number of verification nodes is at least two; determine a verification node from the verification node cluster that matches the number of verification nodes, and send the verification request to the verification node.

[0015] In one embodiment of this application, based on the foregoing scheme, the generation and sending module is further specifically configured to: send a verification node allocation request to the node allocator based on the number of verification nodes, so that the node allocator determines a verification node matching the number of verification nodes from the verification node cluster based on the verification node allocation request, and returns the identifier of the verification node; and send the verification request to the verification node matching the identifier of the verification node.

[0016] In one embodiment of this application, based on the foregoing scheme, the generation and sending module is specifically configured to: receive a second transaction execution request; wherein the second transaction execution request carries a number of verification nodes, and the number of verification nodes is at least two; send the number of verification nodes and the verification request to a node allocator, so that the node allocator determines a verification node matching the number of verification nodes from the verification node cluster, and forwards the verification request to the verification node.

[0017] In one embodiment of this application, based on the aforementioned scheme, the receiving and sending module is specifically configured as follows: receiving verification credentials from multiple verification nodes for the same transaction; if there are more than a preset number of verification credentials among the multiple verification credentials indicating successful verification of the same transaction, then the verification of the same transaction is determined to be successful; encapsulating the transaction credentials and the verification credentials among the multiple verification credentials indicating successful verification of the same transaction to obtain an encapsulated credential, and sending the encapsulated credential to the blockchain network so that the blockchain network performs on-chain processing on the encapsulated credential.

[0018] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing apparatus. The apparatus is configured on a verification node and includes: a first receiving module configured to receive a verification request from the transaction processing node; wherein the verification request carries a transaction certificate corresponding to a first execution result of the transaction processing node for the transaction transaction; a second obtaining module configured to obtain a second execution result matching the transaction transaction from the blockchain network based on the verification request; a generating module configured to verify the first execution result contained in the transaction certificate based on the second execution result and generate a verification certificate for the verification result; and a second sending module configured to send the verification certificate to the transaction processing node, so that the transaction processing node sends the transaction certificate and the verification certificate to the blockchain network for associated on-chain processing.

[0019] In one embodiment of this application, based on the foregoing scheme, the generation module is specifically configured to: detect whether the second execution result matches the first execution result; if they match, determine that the first execution result contained in the transaction certificate has been successfully verified; if they do not match, determine that the first execution result contained in the transaction certificate has failed to be verified.

[0020] In one embodiment of this application, based on the foregoing scheme, the generation module is specifically configured to: sign the verification result based on the private key of the verification node to obtain signature data for the verification result; and use the signature data as the verification credential for the verification result.

[0021] According to one aspect of the embodiments of this application, this application provides a blockchain-based transaction processing apparatus. The apparatus is configured in a blockchain network and includes: a second receiving module configured to receive a group of transaction transactions to be executed sent by a transaction processing node; wherein the transaction transaction group includes at least two transaction transactions with dependencies and an execution order between the at least two transaction transactions; and an execution and sending module configured to execute the at least two transaction transactions based on the execution order between the at least two transaction transactions and send a first execution result of the at least two transaction transactions to the transaction processing node.

[0022] In one embodiment of this application, based on the foregoing scheme, the apparatus further includes: a receiving unit configured to receive a rollback transaction sent by the transaction processing node; wherein the rollback transaction is generated and sent by the transaction processing node based on a successfully executed transaction when it determines, according to the first execution result, that there is a failed transaction in the transaction group; and an execution unit configured to execute the rollback transaction in the reverse order of the execution order.

[0023] In one embodiment of this application, based on the aforementioned scheme, each transaction includes the transfer of resource data from a first transaction account to a second transaction account; the execution and sending module is specifically configured as follows: when executing a transaction based on the execution order, the resource data transferred from the first transaction account to the second transaction account is locked, and the transfer direction of the locked resource data is determined based on a preset transfer relationship of the resource data; if the transfer direction matches the transfer direction of the next transaction of the executed transaction, the resource data is unlocked to execute the next transaction.

[0024] In one embodiment of this application, based on the foregoing scheme, the execution and sending module is specifically configured as follows: if a transaction failure is detected during the execution of the at least two transaction transactions according to the execution order, an execution failure result corresponding to the failed transaction transaction is generated, and the execution failure result is used as the execution failure result of the transaction transaction group, and the execution failure result is sent to the transaction processing node; if both of the at least two transaction transactions are detected as successfully executed during the execution of the at least two transaction transactions according to the execution order, an execution success result corresponding to the transaction transaction group is generated, and the execution success result is sent to the transaction processing node.

[0025] According to one aspect of the embodiments of this application, an electronic device is provided, including one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the electronic device to implement the blockchain-based transaction processing method as described above.

[0026] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the blockchain-based transaction processing method as described above.

[0027] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the blockchain-based transaction processing method as described above.

[0028] In the technical solution provided by the embodiments of this application: a transaction processing node generates transaction certificates based on the execution results of at least two transactions in a transaction transaction group using a blockchain network; a verification node verifies the execution results contained in the transaction certificates to generate verification certificates; and then the transaction processing node sends the transaction certificates and verification certificates to the blockchain network for association and on-chaining. This achieves verification of the transaction execution results, improving the accuracy of the transaction execution results obtained by the business party; moreover, the verification logic for the transaction execution results is not deployed in the blockchain network, meaning it is implemented off-chain. Compared to deploying the verification logic in the blockchain network, this avoids the phenomenon of insufficient processing time due to the large number of processing logics deployed in the blockchain network, thus improving verification efficiency to a certain extent; furthermore, modifying the verification logic does not affect other processing logic, resulting in low coupling and easier maintenance in the later stages; simultaneously, associating the transaction certificates and verification certificates as evidence and storing them on the blockchain facilitates future queries based on actual conditions, providing support for corresponding business needs.

[0029] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0030] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0031] Figure 1 This is a schematic diagram of the structure of a blockchain network.

[0032] Figure 2 This is a diagram illustrating the connection relationships between blocks in a blockchain.

[0033] Figure 3 This is a schematic diagram illustrating an exemplary implementation environment in which the technical solutions of the embodiments of this application can be applied.

[0034] Figure 4 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0035] Figure 5 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0036] Figure 6This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0037] Figure 7 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0038] Figure 8 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0039] Figure 9 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0040] Figure 10 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0041] Figure 11 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0042] Figure 12 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0043] Figure 13 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0044] Figure 14 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0045] Figure 15 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0046] Figure 16 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0047] Figure 17 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0048] Figure 18 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0049] Figure 19 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0050] Figure 20 This is a flowchart illustrating a blockchain-based transaction processing method, which is another exemplary embodiment of this application.

[0051] Figure 21 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0052] Figure 22 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0053] Figure 23 This is a flowchart illustrating a blockchain-based transaction processing method as an exemplary embodiment of this application.

[0054] Figure 24 This is a block diagram illustrating a blockchain-based transaction processing apparatus, which is another exemplary embodiment of this application.

[0055] Figure 25 This is a block diagram illustrating a blockchain-based transaction processing apparatus, which is another exemplary embodiment of this application.

[0056] Figure 26 This is a block diagram illustrating a blockchain-based transaction processing apparatus, which is another exemplary embodiment of this application.

[0057] Figure 27 This is a schematic diagram of the structure of a computer system suitable for implementing the electronic devices of the present application embodiments. Detailed Implementation

[0058] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments identical to those of this application. Rather, they are merely examples of apparatuses and methods identical to some aspects of this application as detailed in the appended claims.

[0059] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0060] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0061] It should be noted that "multiple" as mentioned in this application refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0062] In related technologies, the execution of a transaction usually involves returning the execution-related data to the business party after execution. However, if an intermediary or a party acts maliciously, the execution-related data received by the business party may not be accurate.

[0063] Before introducing the technical solutions of the embodiments of this application, the blockchain technology used in the embodiments of this application will be introduced first.

[0064] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks (i.e., blocks) linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and to generate the next block. A blockchain can include an underlying platform, a platform product and service layer, and an application service layer.

[0065] As mentioned above, a blockchain is essentially a decentralized database, and it is maintained collaboratively by nodes within a blockchain network. For example, please refer to [link to relevant documentation]. Figure 1 ,exist Figure 1 The blockchain network shown may include multiple nodes 101, which can be various clients forming the blockchain network. Each node 101, in its normal operation, receives input information and maintains shared data within the blockchain network based on this information. To ensure information exchange within the blockchain network, information connections can exist between each node, allowing for information transmission. For example, when any node in the blockchain network receives input information, other nodes in the network obtain this input information according to a consensus algorithm and store it as shared data, ensuring data consistency across all nodes in the blockchain network.

[0066] Each node in a blockchain network has a corresponding node identifier, and each node can store the node identifiers of other nodes. This allows for the broadcast of generated blocks to other nodes in the blockchain network based on their node identifiers. Each node can maintain a list of node identifiers, storing the node name and its corresponding node identifier in this list. The node identifier can be an IP (Internet Protocol) address or any other information that can be used to identify the node.

[0067] Each node in a blockchain network stores the same blockchain. A blockchain consists of multiple blocks; please refer to [link to relevant documentation]. Figure 2 A blockchain consists of multiple blocks. The genesis block includes a block header and a block body. The block header stores input information features, version number, timestamp, and difficulty value, while the block body stores the input information. The next block after the genesis block is the parent block of the genesis block. The next block also includes a block header and a block body. The block header stores the input information features of the current block, the block header features of the parent block, version number, timestamp, and difficulty value, and so on. This ensures that the block data stored in each block is related to the block data stored in the parent block, guaranteeing the security of the input information in the blocks.

[0068] In a blockchain network, each node can be a server or a terminal device. A server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and intelligent platforms. Terminal devices can be smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, etc., but are not limited to these. Nodes can be directly or indirectly connected via wired or wireless communication, and this application does not impose any restrictions on this.

[0069] The aforementioned cloud computing refers to the delivery and usage model of IT infrastructure, specifically the acquisition of required resources through the network in an on-demand and easily scalable manner. In a broader sense, cloud computing refers to the delivery and usage model of services, namely, the acquisition of required services through the network in an on-demand and easily scalable manner. These services can be IT and software-related, internet-related, or other services. Cloud computing is a product of the convergence and development of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the development of the internet, real-time data streams, the diversification of connected devices, and the demands of search services, social networks, mobile commerce, and open collaboration, cloud computing has rapidly developed. Unlike previous parallel and distributed computing, the emergence of cloud computing will, conceptually, drive a revolutionary change in the entire internet model and enterprise management model.

[0070] Based on the aforementioned blockchain technology and the problem of low transaction verification efficiency in related technologies, embodiments of this application provide a blockchain-based transaction processing scheme. Specifically, in one application scenario of this application, please refer to... Figure 3 It mainly includes the business party 301, the transaction processing network 302, and the blockchain network 303.

[0071] It is understandable that the business party (301) is the party initiating requests related to transaction transactions; these requests include, but are not limited to, transaction execution requests and transaction verification requests. The business party can initiate these requests through any electronic device with an input interface; such electronic devices include, but are not limited to, smartphones, tablets, laptops, computers, smart voice interaction devices, smart home appliances, in-vehicle terminals, aircraft, etc., and the input interfaces include, but are not limited to, touchscreens, keyboards, physical buttons, and audio pickup devices.

[0072] It is understood that a Transaction Processing Network (TPN) 302 response is a party that responds to a transaction verification request to verify the transaction. This TPN can be deployed on any server; the server can be a server providing various services, a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and intelligent platforms. This document does not impose any restrictions on this.

[0073] It is understood that blockchain network 303 refers to the aforementioned blockchain network. It is the party that responds to transaction execution requests and executes the transaction. After the transaction is executed, the corresponding transaction data is uploaded to the blockchain network, i.e., stored in the blockchain network. There can be one or more blockchain networks 303, and this is not limited here.

[0074] The blockchain network 303 can be used to: receive a group of transactions to be executed sent by a transaction processing node, wherein the group of transactions includes at least two transactions that have a dependency relationship and there is an execution order between the at least two transactions; then execute the at least two transactions based on the execution order between the at least two transactions, and send the first execution result of the at least two transactions to the transaction processing node.

[0075] Please refer to the following: Figure 3 The transaction processing network 302 mainly includes a transaction processing node cluster 3021, a verification node cluster 3022, a margin processing gateway 3023, and a node allocator 3024; wherein:

[0076] Transaction processing node cluster 3021 includes at least two transaction processing nodes. Figure 3The example only shows 3 transaction processing nodes. Each transaction processing node can be used to: obtain a group of transactions to be executed, wherein the group of transactions includes at least two transactions with dependencies and an execution order between the at least two transactions; then send the group of transactions to the blockchain network so that the blockchain network executes the at least two transactions based on the execution order between the at least two transactions and returns the first execution result of the at least two transactions; then generate a transaction certificate corresponding to the first execution result, and generate a verification request based on the transaction certificate, and send the verification request to the verification node so that the verification node generates a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate; then receive the verification certificate from the verification node, and send the transaction certificate and the verification certificate to the blockchain network so that the blockchain network performs on-chain processing of the transaction certificate and the verification certificate.

[0077] Validation node cluster 3022 includes at least two validation nodes. Figure 3 The example only shows 3 verification nodes. Each verification node can be used to: receive verification requests from transaction processing nodes, wherein the verification requests carry transaction credentials corresponding to the first execution result of the transaction processing node for the transaction transaction; then obtain the second execution result matching the transaction transaction from the blockchain network based on the verification request; then verify the first execution result contained in the transaction credentials based on the second execution result, and generate a verification credential for the verification result; and then send the verification credential to the transaction processing node, so that the transaction processing node sends the transaction credentials and verification credential to the blockchain network for on-chain association processing.

[0078] The margin processing gateway 3023 can be used to manage nodes (such as transaction processing nodes and / or verification nodes) joining a transaction processing network through margin staking. The margin requirements for different nodes can be the same or different. If a node performs its business normally during its time in the transaction processing network without any malicious activity, its margin can be fully refunded upon leaving the network. If a node fails to perform its business normally or engages in malicious activity, its margin can be collected, and a higher margin can be added, or the node can be forced to leave the network, according to the regulations between the transaction processing network and the node. It is understood that nodes in a transaction processing network typically correspond to different resource providers. When a business initiates a transaction-related request, it can choose a node with the corresponding computing resources. These computing resources include, but are not limited to, Central Processing Units (CPUs), memory, and hard drives. Each computing resource can be priced by the resource provider, thus forming a decentralized network resource market and ensuring its stability.

[0079] The node allocator 3024 (also known as the node allocator) can be used to allocate nodes (such as transaction nodes and / or authentication nodes) that have joined the transaction processing network, which may or may not be located in the transaction processing network.

[0080] The technical solution of this application embodiment verifies the execution results of transaction transactions through a transaction processing network, ensuring the accuracy of data related to the transaction execution results and achieving high verification efficiency. Furthermore, the transaction processing network includes a transaction processing node cluster and a verification node cluster; that is, the transaction processing network is essentially a decentralized transaction processing network. Specifically, the verification of transaction execution results is achieved through the interaction between the transaction processing nodes in the transaction processing node cluster and the verification nodes in the verification node cluster, thereby improving verification security and accuracy to a certain extent.

[0081] It should be noted that in the specific implementation of this application, data related to the object is involved. When the embodiments of this application are applied to specific products or technologies, permission or consent from the object is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0082] The following details the various implementation details of the technical solutions in the embodiments of this application:

[0083] Please see Figure 4 , Figure 4This is a flowchart illustrating a method based on an embodiment of this application. This blockchain-based transaction processing method can be... Figure 3 The transaction processing nodes in the transaction processing node cluster 3021 shown are used for execution. Figure 4 As shown, the blockchain-based transaction processing method includes at least steps S401 to S404, which are described in detail below:

[0084] Step S401: Obtain the transaction group to be executed; wherein the transaction group includes at least two transaction groups with dependencies, and there is an execution order between the at least two transaction groups.

[0085] In this embodiment of the application, a transaction refers to a transaction in which resource data is transferred from a first transaction account to a second transaction account.

[0086] For example, in a transaction A->C, the resource data in transaction account A is transferred to transaction account C. In this transaction, transaction account A is called the first transaction account, and transaction account C is called the second transaction account.

[0087] For example, in the transaction C->B, it represents the transfer of resource data from transaction account C to transaction account B. In this transaction, transaction account C is called the first transaction account, and transaction account B is called the second transaction account.

[0088] In this embodiment of the application, a transaction group refers to a combination of at least two transaction groups that have dependencies and an execution order.

[0089] For example, continuing from the previous example, both transaction A->C and transaction C->B involve transaction account C, and the execution order of the two transactions is that transaction A->C is executed before transaction C->B. Therefore, the transaction group k = {(A->C), (C->B)}. It can be understood that the number of transactions included in transaction group k is at least two. For example, it can also be transaction group k = {(A->C), (C->B), (B->D)}, or transaction group k = {(A->C), (C->B), (B->D)...}. In practical applications, it can be flexibly adjusted according to the specific application scenario.

[0090] In one embodiment of this application, the process of obtaining the transaction group to be executed in step S401 may include the following steps:

[0091] Send a request to retrieve the pending transaction group, so that the business party can return the pending transaction group based on the request; or,

[0092] Receive the transaction group to be executed sent by the business party.

[0093] That is, in the optional embodiment, the transaction transaction group to be executed obtained by the transaction processing node can be passively sent by the business party based on the request sent by the transaction processing node to obtain the transaction transaction group to be executed, or it can be actively sent by the business party.

[0094] Thus, by implementing the optional embodiments, the transaction processing node can proactively trigger the business party to send the transaction transaction group to be executed, or the business party can proactively send the transaction transaction group to be executed, which is more flexible and can be applied to a wider range of application scenarios.

[0095] In one embodiment of this application, the process of obtaining the transaction group to be executed in step S401 may include the following steps:

[0096] Receive the transaction group to be executed and the second signature data for the transaction group to be executed sent by the business party; wherein, the second signature data is obtained by the business party signing the transaction group to be executed based on its own private key;

[0097] If the second signature data is successfully verified based on the business party's own public key, the transaction group to be executed and the second signature data are encapsulated to generate a submission certificate.

[0098] The commit credential is signed using the private key of the transaction processing node, and the signed commit credential is sent to the business party.

[0099] In other words, in the optional embodiment, the transaction processing node receives the transaction group to be executed and the second signature data for the transaction group to be executed from the business party. Then, it can verify the second signature data based on the business party's own public key. If the verification of the second signature data based on the business party's own public key is successful, it indicates that the verification of the business party has passed. At this point, the transaction group to be executed and the second signature data can be encapsulated to generate a submission credential. The submission credential is then signed based on the transaction processing node's own private key, and the signed submission credential is sent to the business party. If the verification of the second signature data based on the business party's own public key fails, it indicates that the verification of the business party has failed, and no further processing is required.

[0100] In one optional embodiment, the public key of the business party is matched with its private key, and can be pre-sent to the transaction processing node so that the transaction processing node can verify the business party based on its public key. Similarly, the public key of the transaction processing node is matched with its private key, and can be pre-sent to the business party so that the business party can verify the transaction processing node based on its public key.

[0101] In one of the optional embodiments, the signed commit credential sent by the transaction processing node to the business party is used to inform the business party that it has received the transaction group to be executed, and that the signature of the business party has been successfully verified. The transaction processing node itself has also signed the credential. In this way, the business party can verify the transaction processing node based on the signed commit credential sent by the transaction processing node. That is, all parties need to verify each other.

[0102] In this way, by implementing the optional embodiment, the transaction processing node sends the signed commit credential to the business party. On the one hand, the business party can know the transaction processing node's acquisition of the transaction group, and on the other hand, it can also verify the transaction processing node, thereby improving the security of transaction data on the blockchain.

[0103] In one embodiment of this application, after receiving the transaction group to be executed and the second signature data for the transaction group to be executed sent by the business party, the following steps may be included:

[0104] Determine the identification information of the transaction group to be executed;

[0105] The identification information is associated with the transaction group to be executed and stored accordingly;

[0106] If a transmission failure is detected during the process of sending a transaction group to be executed to the blockchain network, a transaction group that matches the identification information of the transaction group to be executed is obtained and resent.

[0107] That is, in the optional embodiment, when the transaction processing node receives the transaction transaction group to be executed sent by the business party, it can first determine the identification information of the transaction transaction group to be executed and associate the identification information with the transaction transaction group to be executed. In this way, when a sending failure is detected during the process of sending the transaction transaction group to be executed to the blockchain network, the node can obtain the transaction transaction group to be executed that matches the identification information of the transaction transaction group to be executed and resend it.

[0108] It is understood that a transaction processing node can receive transaction groups to be executed from multiple business parties. Therefore, for ease of management, in an optional embodiment, the transaction processing node can determine the identification information of the transaction group to be executed upon receiving it from a business party. The identification information of the transaction group to be executed is information used to uniquely identify the transaction group, and includes, but is not limited to, a sequence number and a name.

[0109] It is understandable that due to various issues such as network problems, the transaction processing node may fail to send the transaction group to be executed to the blockchain network. Therefore, in order to avoid the failure of the transaction group execution due to the failure of sending, in an optional embodiment, the transaction processing node will also associate the identification information with the transaction group to be executed. In this way, once it is detected that the transaction group to be executed has failed to be sent to the blockchain network, the transaction group to be executed can be retrieved from the pre-associated storage based on the identification information of the transaction group to be executed and resent.

[0110] Thus, by implementing the optional embodiments, on the one hand, by determining the identification information of the transaction groups to be executed, it is easier to manage the transaction groups to be executed; on the other hand, by storing the identification information of the transaction groups to be executed in association with the transaction groups to be executed, the success rate of sending the transaction groups to be executed is improved, thereby ensuring that the transaction groups to be executed can be executed normally.

[0111] Step S402: Send the transaction group to the blockchain network so that the blockchain network executes at least two transaction transactions based on the execution order between at least two transaction transactions and returns the first execution result of at least two transaction transactions.

[0112] In this embodiment, the transaction processing node obtains the transaction transaction group to be executed, and then sends the transaction transaction group to the blockchain network. In this way, the blockchain network can execute at least two transaction transactions based on the execution order between at least two transaction transactions, and return the first execution result of at least two transaction transactions to the transaction processing node.

[0113] In this embodiment of the application, the first execution result is the result of the blockchain network executing a transaction.

[0114] based on Figure 4 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 5 After the process of sending the transaction group to the blockchain network in step S402, the process may further include steps S501 to S502, which are detailed below:

[0115] Step S501: If it is determined from the first execution result that there are failed transaction transactions in the transaction group, then generate a rollback transaction transaction corresponding to the successfully executed transaction transaction.

[0116] Step S502: Send the rollback transaction to the blockchain network so that the blockchain network executes the rollback transaction in the reverse order of execution.

[0117] In other words, in an optional embodiment, the transaction processing node receives the first execution results of at least two transaction transactions returned by the blockchain network. It can then determine whether any transaction transactions in the transaction group have failed to execute. If the first execution result determines that there are failed transaction transactions in the transaction group, a rollback transaction corresponding to the successfully executed transaction can be generated. If the first execution result determines that there are no failed transaction transactions in the transaction group, no further processing is required.

[0118] In this embodiment of the application, a rollback transaction refers to a transaction that is in the opposite direction to the resource data transfer in the transaction.

[0119] For example, the rollback transaction corresponding to transaction A->C is C->A. Transaction A->C represents the transfer of resource data from transaction account A to transaction account C, while the rollback transaction C->A represents the transfer of resource data from transaction account C to transaction account A.

[0120] Thus, by implementing the optional embodiments, the blockchain network can execute rollback transactions based on an execution order that is the reverse of the execution order between at least two transactions, allowing it to return to the state before the execution of the transaction. This ensures the security of the resource data involved in the transaction, avoids the phenomenon of inaccurate transaction data in the blockchain network in related technologies, and improves the security and stability of the blockchain network.

[0121] based on Figure 5 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 6 The process of generating the rollback transaction corresponding to the successfully executed transaction in step S501 may include step S601, which is described in detail below:

[0122] Step S601: Based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account, generate a rollback transaction for the transfer of resource data from the second transaction account to the first transaction account.

[0123] That is, in an optional embodiment, the transaction processing node obtains the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account, and then generates a rollback transaction that transfers resource data from the second transaction account to the first transaction account based on the information indicating the transfer of resource data from the first transaction account to the second transaction account.

[0124] Thus, by implementing the optional embodiment, the rollback transaction corresponding to the successfully executed transaction can be generated quickly and accurately by utilizing the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account.

[0125] In one optional embodiment, if the transaction processing node determines that there are failed transactions in the transaction group based on the first execution result, it generates a rollback transaction corresponding to the successfully executed transaction; wherein the number of rollback transactions matches the number of successfully executed transactions in the transaction group.

[0126] For example, consider a transaction group k = {(A->C), (C->B), (B->D)}. Suppose that the blockchain network fails to execute transaction B->D, meaning that transactions A->C and C->B were both successfully executed. In this case, the transaction processing node can determine that there is a failed transaction B->D in the transaction group. At this time, it generates rollback transactions C->A corresponding to the successfully executed transaction A->C and B->C corresponding to the successfully executed transaction C->B in the transaction group. The process of generating rollback transactions is described in the aforementioned embodiment.

[0127] based on Figure 6 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 7 Step S601, which generates a rollback transaction for transferring resource data from the second transaction account to the first transaction account based on the information contained in the successfully executed transaction indicating the transfer of resource data from the first transaction account to the second transaction account, may include steps S701 to S702, as detailed below:

[0128] Step S701: Check whether the transaction that failed to execute was the first transaction executed in the transaction group;

[0129] Step S702: If not, then based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account, generate a rollback transaction for the transfer of resource data from the second transaction account to the first transaction account.

[0130] That is, in the optional embodiment, the transaction processing node can first detect whether the failed transaction was the first transaction executed in the transaction group. If the failed transaction is not the first transaction executed in the transaction group, a rollback transaction can be generated to transfer the resource data from the second transaction account to the first transaction account, based on the information contained in the successful transaction indicating the transfer of resource data from the first transaction account to the second transaction account. If the failed transaction is the first transaction executed in the transaction group, no processing is required.

[0131] For example, consider a transaction group k = {(A->C), (C->B), (B->D)}. When a transaction processing node receives the first execution result of the transaction group (including the first execution result of any single transaction), it needs to check whether the failed transaction is the first executed transaction A->C in the group. If the detected failed transaction is B->D, then the generated transaction is a rollback transaction C->A corresponding to the successfully executed transaction A->C, and a rollback transaction B->C corresponding to C->B. If the detected failed transaction is A->C, then no processing is needed.

[0132] In one optional embodiment, the first transaction executed in the transaction group is the first transaction in the transaction group. It is understood that if the first transaction in the transaction group fails, it will not affect the final transaction's error, meaning the resource data has not changed, and in this case, a corresponding rollback transaction does not need to be generated. However, if a transaction that is not the first to be executed fails, it will affect the final transaction's error, meaning the resource data has changed. In this case, a corresponding rollback transaction needs to be generated and sent to the blockchain network for execution, so that the changed resource data is transferred to the original transaction account, thereby ensuring the security of the resource data.

[0133] For example, continuing from the previous example, if the first transaction A->C fails, the resource data remains in transaction account A. However, if it is not the first transaction, such as the second transaction C->B failing, the resource data will be in transaction account C. In this case, a rollback transaction C->A needs to be generated to transfer the resource data in transaction account C back to transaction account A, thus returning it to its initial state in transaction account A and ensuring the security of the resource data.

[0134] Thus, by implementing the optional embodiment, when a failed transaction is detected to be not the first transaction executed in the transaction group, a rollback transaction corresponding to the successfully executed transaction is generated. This can save system resources to a certain extent, avoid the phenomenon of generating a rollback transaction corresponding to the successfully executed transaction every time a failed transaction is encountered, and is more flexible and better suited to the needs of application scenarios.

[0135] In one embodiment of this application, the process of generating a rollback transaction corresponding to a successfully executed transaction in step S501 may include the following steps:

[0136] Obtain the address information of the first interface; wherein, the first interface is used to generate a rollback transaction.

[0137] The first interface is invoked based on the address information of the first interface, so as to generate a rollback transaction corresponding to the successfully executed transaction through the first interface.

[0138] That is, in the optional embodiment, the transaction processing node generates a rollback transaction corresponding to the successfully executed transaction. Specifically, it can obtain the address information of the first interface, and then call the first interface based on the address information of the first interface to generate a rollback transaction corresponding to the successfully executed transaction through the first interface.

[0139] In one optional embodiment, the first interface is used to generate a rollback transaction, which can be provided by the business party or a trusted third-party authority. The address information of the first interface is used to uniquely identify the address of the first interface, which can be used to invoke the first interface.

[0140] Thus, by implementing the optional embodiment and calling the first interface using the address information of the first interface, it is possible to easily and quickly generate a rollback transaction corresponding to a successfully executed transaction.

[0141] based on Figure 5 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 8 When there are at least two rollback transactions, the process of sending the rollback transactions to the blockchain network in step S502 may include steps S801 to S802, as detailed below:

[0142] Step S801: Based on the execution order of the successfully executed transactions, the reverse order is used as the execution order between at least two rollback transactions;

[0143] Step S802: Send at least two rollback transaction transactions to the blockchain network so that the blockchain network executes the rollback transaction transactions based on the execution order between the at least two rollback transaction transactions.

[0144] That is, in the optional embodiment, if there are at least two rollback transaction transactions generated, the specific method for determining the execution order between the at least two rollback transaction transactions can be as follows: based on the execution order of the successfully executed transaction transactions, the order that is the reverse of the execution order is taken as the execution order between the at least two rollback transaction transactions, and then the at least two rollback transaction transactions are sent to the blockchain network, so that the blockchain network can execute the rollback transaction transactions based on the execution order between the at least two rollback transaction transactions.

[0145] For example, consider a transaction group k = {(A->C), (C->B), (B->D)}. If the failed transaction is B->D, then the generated transactions are the rollback transactions C->A (corresponding to the successfully executed transaction A->C) and B->C (corresponding to the successfully executed transaction C->B). Since the execution order between transactions A->C and C->B is A->C first, then C->B, the execution order between the determined rollback transactions C->A and B->C is the reverse: B->C is executed first, then C->A. Accordingly, when the blockchain network receives rollback transactions C->A and B->C, it executes B->C first, then C->A.

[0146] Thus, by implementing the optional embodiment, when at least two rollback transaction transactions are generated, the blockchain network can execute the rollback transaction transactions based on the execution order between the at least two rollback transaction transactions, ensuring the normal execution of the rollback transaction transactions and avoiding the phenomenon of low resource data security caused by incorrect execution order when there are at least two rollback transaction transactions.

[0147] In one embodiment of this application, the process of sending the rollback transaction to the blockchain network in step S502 may include the following steps:

[0148] The rollback transaction is signed using the private key of the transaction processing node, generating a signed rollback transaction. The signed rollback transaction is then sent to the business party, enabling the business party to sign the successfully verified rollback transaction using its own private key.

[0149] If the first signature data for the rollback transaction after successful verification is received from the business party, the rollback transaction will be sent to the blockchain network.

[0150] In other words, in the optional embodiment, the transaction processing node can use its own private key to sign the rollback transaction, generating a signed rollback transaction, and then send the signed rollback transaction to the business party. The business party can then sign the verified rollback transaction using its own private key after successfully verifying the transaction processing node's signature. Specifically, if the transaction processing node receives the first signature data from the business party for the successfully verified rollback transaction, it indicates that the rollback transaction has been confirmed or verified by the business party and is problem-free. In this case, the transaction processing node can send the rollback transaction to the blockchain network. If the transaction processing node does not receive the first signature data from the business party for the successfully verified rollback transaction, it indicates that the rollback transaction has not yet been confirmed or verified by the business party and has issues. In this case, the transaction processing node can choose not to process the transaction.

[0151] In this way, by implementing the optional embodiment, both the transaction processing node and the business party use their private keys to sign the rollback transaction before sending it to the blockchain network. The signature data of both parties is retained so that the responsible party can be identified or located based on the signature data in case of any subsequent problems.

[0152] In one embodiment of this application, the process of sending a rollback transaction to a blockchain network may include the following steps:

[0153] Obtain the address information of the second interface; the second interface is used to verify the signed rollback transaction.

[0154] The second interface is invoked based on the address information of the second interface, so as to verify the signed rollback transaction transaction based on the public key of the transaction processing node through the second interface;

[0155] The verified rollback transaction is sent to the business side.

[0156] That is, in the optional embodiment, the transaction processing node sends the rollback transaction to the blockchain network. Specifically, it can obtain the address information of the second interface, and then call the second interface based on the address information of the second interface to verify the signed rollback transaction based on the public key of the transaction processing node, and then send the verified rollback transaction to the business party.

[0157] In one optional embodiment, the second interface is used to verify the signed rollback transaction. This interface can also be provided by the business party or a trusted third-party authority. The address information of the second interface is used to uniquely identify its address, allowing it to be invoked.

[0158] Thus, by implementing the optional embodiment and using the address information of the second interface to call the second interface, it is possible to easily and quickly verify the signed rollback transaction.

[0159] Step S403: Generate a transaction certificate corresponding to the first execution result, generate a verification request based on the transaction certificate, and send the verification request to the verification node so that the verification node can generate a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate.

[0160] In this embodiment, the transaction processing node sends the transaction group to the blockchain network. Then, it can generate a transaction certificate corresponding to the first execution result based on the first execution result returned by the blockchain network, and generate a verification request based on the transaction certificate. The verification request is then sent to the verification node, so that the verification node can generate a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate.

[0161] In this embodiment of the application, the verification request is a request used to instruct the verification node to verify the transaction data related to a certain transaction; wherein, the verification request carries the transaction certificate generated by the transaction processing node for the first execution result of the transaction.

[0162] In one embodiment of this application, before generating the transaction certificate corresponding to the first execution result in step S403, the following steps may be included:

[0163] Based on the obtained transaction processing service identifier, a target transaction processing service that matches the transaction processing service identifier is determined from multiple deployed transaction processing services; wherein, the target transaction processing service is used to sign the first execution result and generate a transaction certificate corresponding to the first execution result.

[0164] That is, in the optional embodiment, the transaction processing node can determine the target transaction processing service that matches the transaction processing service identifier from among the multiple deployed transaction processing services based on the obtained transaction processing service identifier, and then execute the corresponding transaction certificate generation process through the target transaction processing service.

[0165] In one optional embodiment, the corresponding transaction certificate generation process is executed through the target transaction processing service. Specifically, the target transaction processing service can be run to sign the first execution result and generate the transaction certificate corresponding to the first execution result.

[0166] In one optional embodiment, the transaction processing node can deploy multiple transaction processing services. Each transaction processing service can generate transaction credentials for different transactions. The transaction processing service is a service developed by the business party or a third party trusted by the business party to generate transaction credentials for a certain transaction. After development is completed, it is pre-deployed in the transaction processing node. Subsequently, by running the transaction processing service, the transaction credentials for the transaction targeted by the transaction processing service can be generated.

[0167] In one of the optional embodiments, the transaction processing service identifier is an identification information used to uniquely represent the transaction processing service in order to distinguish different transaction processing services; the transaction processing service identifier obtained by the transaction processing node may be sent by the business party or a third party trusted by the business party.

[0168] In one optional embodiment, the target transaction processing service is the transaction processing service that the transaction processing node determines from among the multiple deployed transaction processing services based on the obtained transaction processing service identifier.

[0169] In this way, by implementing the optional embodiment, the transaction processing node determines the target transaction processing service that matches the obtained transaction processing service identifier, so as to realize the corresponding transaction certificate generation process based on the target transaction processing service, which improves the efficiency of transaction certificate generation; and different transaction processing services generate transaction certificates for different transactions, and the various transaction processing services do not affect each other, which makes it easier to maintain in the later stage.

[0170] In one embodiment of this application, before determining the target transaction processing service that matches the transaction processing service identifier from among the deployed multiple transaction processing services based on the obtained transaction processing service identifier, the following steps may be included:

[0171] Receive the transaction processing service deployment request sent by the service producer, which carries the transaction processing service to be deployed.

[0172] Based on the transaction processing service deployment request, the transaction processing service to be deployed is deployed, and the transaction processing service identifier corresponding to the deployed transaction processing service is generated.

[0173] Send the transaction processing service identifier to the service producer.

[0174] That is, in the optional embodiment, the transaction processing node deploys the transaction processing service. Specifically, it may receive a transaction processing service deployment request sent by the service producer. The transaction processing service deployment request carries the transaction processing service to be deployed. Then, based on the transaction processing service deployment request, the transaction processing service to be deployed is deployed, and a transaction processing service identifier corresponding to the deployed transaction processing service is generated. Then, the transaction processing service identifier is sent to the service producer.

[0175] In one of the optional embodiments, the service generator is the party that generates the transaction processing service. For example, the transaction processing service may be developed by the business party or a third party trusted by the business party. Therefore, the business party or a third party trusted by the business party is the service generator.

[0176] In one of the optional embodiments, the transaction processing service deployment request is a request that instructs the transaction processing node to deploy a certain transaction processing service. The transaction processing service deployment request carries the transaction processing service to be deployed, so the transaction processing node can obtain the transaction processing service to be deployed from the transaction processing service deployment request and deploy it.

[0177] In one optional embodiment, the transaction processing node deploys the transaction processing service to be deployed based on the transaction processing service deployment request, and generates a transaction processing service identifier corresponding to the deployed transaction processing service. Then, the transaction processing service identifier needs to be sent to the service generator so that the service generator can know the deployed transaction processing service identifier later. When needed, the business party or a third party trusted by the business party can send the transaction processing service identifier to inform the transaction processing node which transaction processing service to run, thereby realizing the corresponding transaction certificate generation process through the running transaction processing service.

[0178] Thus, by implementing the optional embodiment, the transaction processing node deploys the transaction processing service based on the transaction processing service deployment request sent by the service generator, so as to provide support for the subsequent generation of corresponding transaction certificates based on the transaction processing service.

[0179] based on Figure 4 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 9 The process of sending the verification request to the verification node in step S403 may include steps S901 to S902, which are described in detail below:

[0180] Step S901: Receive a first transaction execution request; wherein the first transaction execution request carries a list of verification nodes, and the list of verification nodes includes at least two specified verification node identifiers;

[0181] Step S902: Send the verification request to the verification node in the verification node cluster that matches at least two specified verification node identifiers.

[0182] That is, in an optional embodiment, the transaction processing node receives a first transaction execution request carrying a list of verification nodes, and then sends the verification request to the verification nodes in the verification node cluster that match at least two specified verification node identifiers.

[0183] In one of the optional embodiments, the first transaction execution request is a request to instruct the transaction processing node to send a verification request to a designated verification node for verification; the first transaction execution request received by the transaction processing node may be sent by the business party or a third party trusted by the business party.

[0184] In one of the optional embodiments, the first transaction execution request carries a list of verification nodes. The list of verification nodes includes at least two specified verification node identifiers. That is, the first transaction execution request has specified which verification nodes will perform the verification. The transaction processing node only needs to send the verification request to those specified verification nodes.

[0185] For example, if the list of verification nodes carried in the first transaction execution request received by the transaction processing node includes verification node identifiers q1-q3, then the transaction processing node sends the verification request to the verification nodes corresponding to the verification node identifiers q1-q3 respectively. Accordingly, the verification nodes corresponding to the verification node identifiers q1-q3 perform the corresponding verification. Please refer to the description of the verification in the foregoing embodiment for relevant verification content.

[0186] Thus, by implementing the optional embodiment, the transaction processing node can easily and quickly send the verification request to the verification node that matches the verification node identifier contained in the verification node list based on the verification node list carried in the first transaction execution request; and since there are at least two verification nodes, the phenomenon of a verification node acting maliciously is avoided, which improves the accuracy of verification to a certain extent.

[0187] based on Figure 4 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 10 The process of sending the verification request to the verification node in step S403 may include steps S1001 to S1002, which are described in detail below:

[0188] Step S1001: Receive a second transaction execution request; wherein the second transaction execution request carries the number of verification nodes, and the number of verification nodes is at least two;

[0189] Step S1002: Determine the verification node that matches the number of verification nodes from the verification node cluster, and send the verification request to the verification node.

[0190] That is, in the optional embodiment, the transaction processing node receives a second transaction execution request carrying the number of verification nodes, then determines the verification node that matches the number of verification nodes from the verification node cluster, and sends the verification request to the verification node that matches the number of verification nodes.

[0191] In one optional embodiment, the second transaction execution request is also a request to instruct the transaction processing node to send the verification request to a designated verification node for verification; the second transaction execution request received by the transaction processing node may be sent by the business party or a third party trusted by the business party.

[0192] In one optional embodiment, the second transaction execution request carries the number of verification nodes, which is at least two. This is the difference between the second and first transaction execution requests. The second transaction execution request only specifies that a certain number of verification nodes will be used for verification, but does not specify which verification nodes will be used. Therefore, the transaction processing node needs to first determine the verification nodes that match the number of verification nodes carried in the second transaction execution request from the verification node cluster, and then send the verification request to the determined verification nodes.

[0193] For example, if the transaction processing node receives a second transaction execution request carrying three verification nodes, and the transaction processing node determines the verification nodes corresponding to verification node identifiers q1-q3 from the verification node cluster, then the transaction processing node sends the verification request to the verification nodes corresponding to verification node identifiers q1-q3 respectively. Accordingly, the verification nodes corresponding to verification node identifiers q1-q3 perform the corresponding verifications. Please refer to the description of the verification in the foregoing embodiment for relevant verification details.

[0194] Thus, by implementing the optional embodiment, the transaction processing node can easily and quickly send the verification request to the verification nodes that match the number of verification nodes carried in the second transaction execution request for verification; and since there are at least two verification nodes, the phenomenon of a single verification node acting maliciously is avoided, which improves the accuracy of verification to a certain extent.

[0195] based on Figure 10 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 11The process of determining the verification node that matches the number of verification nodes from the verification node cluster in step S1002 and sending the verification request to the verification node may include steps S1101 to S1102, which are described in detail below:

[0196] Step S1101: Send a verification node allocation request to the node allocator based on the number of verification nodes, so that the node allocator can determine the verification node matching the number of verification nodes from the verification node cluster based on the verification node allocation request, and return the identifier of the verification node.

[0197] Step S1102: Send the verification request to the verification node that matches the identifier of the verification node.

[0198] That is, in an optional embodiment, the transaction processing node determines the verification node that matches the number of verification nodes from the verification node cluster and sends the verification request to the verification node. Specifically, it can send a verification node allocation request to the node allocator based on the number of verification nodes. In this way, the node allocator determines the verification node that matches the number of verification nodes from the verification node cluster based on the verification node allocation request and returns the identifier of the verification node. Correspondingly, the transaction processing node receives the identifier of the verification node and sends the verification request to the verification node that matches the identifier of the verification node.

[0199] In one of the optional embodiments, the node allocator determines the number of verification nodes that match the number of verification nodes. That is, the node allocator specifies which verification nodes will perform the verification. The transaction processing node only needs to receive the identifier of the verification node returned by the node allocator, and then send the verification request to the specified verification nodes.

[0200] For example, if the transaction processing node receives a second transaction execution request carrying three verification nodes, the transaction processing node then sends a verification node allocation request to the node allocator based on these three verification nodes. Suppose the node allocator determines the verification nodes corresponding to verification node identifiers q1-q3 from the verification node cluster based on the verification node allocation request and returns verification nodes q1-q3 to the transaction processing node. Then, the transaction processing node sends verification requests to the verification nodes corresponding to verification node identifiers q1-q3 respectively. Correspondingly, the verification nodes corresponding to verification node identifiers q1-q3 perform their respective verifications. For details regarding the verification process, please refer to the description in the aforementioned embodiment.

[0201] Thus, by implementing the optional embodiment, the verification node to be verified is determined by the node allocator, which can reduce the processing pressure on the transaction processing node to a certain extent and can be applied to a wider range of application scenarios.

[0202] based on Figure 4The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 12 The process of sending the verification request to the verification node in step S403 may include steps S1201 to S1202, which are described in detail below:

[0203] Step S1201: Receive a second transaction execution request; wherein the second transaction execution request carries the number of verification nodes, and the number of verification nodes is at least two;

[0204] Step S1202: Send the number of verification nodes and the verification request to the node allocator so that the node allocator can determine the verification nodes that match the number of verification nodes from the verification node cluster and forward the verification request to the verification nodes.

[0205] That is, in the optional embodiment, the transaction processing node receives the second transaction execution request carrying the number of verification nodes, and then sends the number of verification nodes and the verification request to the node allocator. In this way, the node allocator can determine the verification nodes that match the number of verification nodes from the verification node cluster and forward the verification request to the verification nodes.

[0206] In the optional embodiment, the relevant content of the second transaction execution request is described in the foregoing embodiment.

[0207] In one optional embodiment, a node allocator is also utilized. This node allocator not only determines the number of verification nodes matching the number of verification nodes, but also forwards the verification requests sent by the transaction processing nodes to these determined verification nodes after they have been identified. In other words, the node allocator specifies which verification nodes will perform the verification and forwards the verification requests sent by the transaction processing nodes to those designated verification nodes.

[0208] For example, if the transaction processing node receives a second transaction execution request carrying three verification nodes, the transaction processing node then sends a verification node allocation request and a verification request to the node allocator based on the three verification nodes. Suppose the node allocator determines the verification nodes corresponding to verification node identifiers q1-q3 from the verification node cluster based on the verification node allocation request, and forwards the verification request to the verification nodes corresponding to verification node identifiers q1-q3 respectively. Accordingly, the verification nodes corresponding to verification node identifiers q1-q3 perform the corresponding verification. Please refer to the description of the verification in the foregoing embodiment for relevant verification content.

[0209] Thus, by implementing the optional embodiment, the node allocator determines the verification node to be verified and forwards the verification request to the verification node, which can further reduce the processing pressure on the transaction processing node and can be applied to a wider range of application scenarios.

[0210] Step S404: Receive the verification credentials from the verification node, and send the transaction credentials and verification credentials to the blockchain network so that the blockchain network can associate and process the transaction credentials and verification credentials on the chain.

[0211] In this embodiment, the transaction processing node sends a verification request to the verification node, and then can receive the verification credentials from the verification node. The transaction credentials and verification credentials are then sent to the blockchain network, so that the blockchain network can associate and process the transaction credentials and verification credentials on the chain.

[0212] In one embodiment of this application, the process of receiving verification credentials from the verification node in step S404 may include the following steps:

[0213] Receive verification credentials sent by the verification node; or,

[0214] The receiving node allocater forwards the verification credentials from the verification node. The verification credentials are forwarded by the node allocater after receiving the verification credentials sent by the verification node.

[0215] In one optional embodiment, the transaction processing node can directly receive the verification credentials sent by the verification node without relying on an intermediate forwarder such as a node allocator. In short, the source and sender of the verification credentials received by the transaction processing node are both the verification node.

[0216] In one optional embodiment, the transaction processing node may indirectly receive the verification credentials sent by the verification node. Specifically, the verification node sends the verification credentials to the node allocator, which then forwards the verification credentials to the transaction processing node. Accordingly, the transaction processing node receives the verification credentials forwarded from the verification node by the node allocator. In short, the source of the verification credentials received by the transaction processing node is the verification node, and the sender is the node allocator.

[0217] Thus, by implementing the optional embodiments, transaction processing nodes can obtain verification credentials from verification nodes in at least two ways, which can be applied to a wider range of application scenarios and provide support for subsequently sending transaction credentials and verification credentials to the blockchain network.

[0218] based on Figure 4 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 13 The process of receiving the verification credential from the verification node and sending the transaction credential and the verification credential to the blockchain network in step S404 may include steps S1301 to S1303, which are detailed below:

[0219] Step S1301: Receive verification credentials from multiple verification nodes for the same transaction.

[0220] Step S1302: If among multiple verification credentials there are more than a preset number threshold verification credentials indicating that the same transaction has been successfully verified, then the same transaction is confirmed to have been successfully verified.

[0221] Step S1303: Encapsulate the transaction certificate and the verification certificate representing the successful verification of the same transaction from among multiple verification certificates to obtain the encapsulated certificate, and send the encapsulated certificate to the blockchain network so that the blockchain network can process the encapsulated certificate on the chain.

[0222] In other words, in an optional embodiment, the transaction processing node receives verification credentials from multiple verification nodes for the same transaction. It then checks whether any of these verification credentials exceed a preset threshold number to indicate successful verification of the same transaction, and determines the verification result for that same transaction based on the detection result. Specifically, if the detection result shows that more than the preset threshold number of verification credentials indicates successful verification of the same transaction, then the verification of that same transaction is considered successful; conversely, if the detection result shows that no more than the preset threshold number of verification credentials indicates successful verification of the same transaction, then the verification of that same transaction is considered unsuccessful.

[0223] For example, suppose we receive verification credentials from verification nodes corresponding to verification node identifiers q1-q10 for the same transaction A->C. Also suppose that verification credentials from verification nodes corresponding to verification node identifiers q1-q8 all indicate successful verification of the same transaction A->C, while verification credentials from verification nodes corresponding to verification node identifiers q9-q10 all indicate failed verification of the same transaction A->C. And suppose the preset threshold is 7. Clearly, if more than 7 out of 10 verification credentials indicate successful verification of the same transaction, then we can determine that the verification of the same transaction A->C was successful.

[0224] In one optional embodiment, the preset quantity threshold can be flexibly set according to the number of multiple verification nodes. For example, if 100 verification nodes generate verification credentials for the same transaction, the preset quantity threshold can be 80, 90, etc. If 10 verification nodes generate verification credentials for the same transaction, the preset quantity threshold can be 8, 9, etc. That is, the preset quantity threshold can be a certain proportion of the number of verification nodes.

[0225] In one optional embodiment, the transaction processing node sends the transaction certificate and the verification certificate to the blockchain network. Specifically, it can encapsulate the transaction certificate and the verification certificate representing the successful verification of the same transaction from among multiple verification certificates to obtain the encapsulated certificate, and then send the encapsulated certificate to the blockchain network, so that the blockchain network can process the encapsulated certificate on the chain.

[0226] In one optional embodiment, the transaction processing node sends the transaction certificate and the verification certificate to the blockchain network. Alternatively, it can encapsulate the transaction certificate and the verification certificate representing the failure of verification of the same transaction among multiple verification certificates to obtain the encapsulated certificate, and send the encapsulated certificate to the blockchain network. In this way, the blockchain network can process the encapsulated certificate on the chain.

[0227] In one optional embodiment, the transaction processing node sends the transaction certificate and the verification certificate to the blockchain network. Alternatively, it can encapsulate the transaction certificate and the verification certificate representing the success and failure of the same transaction from among multiple verification certificates to obtain the encapsulated certificate, and send the encapsulated certificate to the blockchain network, so that the blockchain network can process the encapsulated certificate on the chain.

[0228] Thus, by implementing the optional implementation, the transaction processing node can send the transaction certificate and the verification certificates from multiple verification nodes for the same transaction to the blockchain network for on-chain processing, so as to keep evidence and facilitate the identification or location of the responsible party in the future.

[0229] Figures 4 to 13 The illustrated embodiment is presented from the perspective of a transaction processing node. The following is combined with... Figures 14 to 16 The implementation details of the technical solution in the embodiments of this application are described in detail from the perspective of the verification node:

[0230] Please see Figure 14 , Figure 14 This is a flowchart illustrating a method based on an embodiment of this application. This blockchain-based transaction processing method can be... Figure 3 The verification nodes in the verification node cluster 3022 shown are used to execute the command. Figure 14 As shown, the blockchain-based transaction processing method includes at least steps S1401 to S1404, which are described in detail below:

[0231] Step S1401: Receive a verification request from the transaction processing node; wherein the verification request carries a transaction certificate corresponding to the first execution result of the transaction transaction by the transaction processing node.

[0232] In this embodiment of the application, the transaction processing node receives the first execution results of at least two transaction transactions returned by the blockchain network, then generates a transaction certificate corresponding to the first execution result, and generates a verification request based on the transaction certificate, and sends the verification request to the verification node; correspondingly, the verification node receives the verification request from the transaction processing node, wherein the source of the verification request is the transaction processing node.

[0233] In one embodiment of this application, the process of receiving a verification request from a transaction processing node in step S1401 may include the following steps:

[0234] Receive verification requests sent by transaction processing nodes; or,

[0235] The receiving node allocator forwards the verification request from the transaction processing node. The verification request is forwarded by the node allocator after selecting the corresponding verification node based on the verification request.

[0236] In one optional embodiment, the verification node can directly receive the verification request sent by the transaction processing node, without relying on an intermediate forwarder such as a node allocator. In short, the source and sender of the verification request received by the verification node are both the transaction processing node.

[0237] In one optional embodiment, the verification node may indirectly receive the verification request sent by the transaction processing node. Specifically, the transaction processing node sends the verification request to the node allocator, which then forwards the verification request to the verification node. Accordingly, the verification node receives the verification request forwarded by the node allocator from the transaction processing node. In short, the source of the verification request received by the verification node is the transaction processing node, and the sender is the node allocator.

[0238] Thus, by implementing the optional embodiments, the verification node can obtain verification requests from the transaction processing node in at least two ways, which can be applied to a wider range of application scenarios and provide support for subsequent transaction verification based on verification requests.

[0239] Step S1402: Obtain a second execution result matching the transaction from the blockchain network based on the verification request.

[0240] In this embodiment of the application, the verification node receives a verification request from the transaction processing node, and then can obtain a second execution result matching the transaction from the blockchain network based on the verification request.

[0241] In this embodiment of the application, the second execution result is the execution result that the verification node obtains from the blockchain network based on the verification request, which matches the transaction.

[0242] In one embodiment of this application, before step S1402, which involves obtaining a second execution result matching the transaction from the blockchain network based on a verification request, the following steps may also be included:

[0243] Based on the obtained verification service identifier, a target verification service matching the verification service identifier is determined from multiple deployed verification services. The target verification service is used to obtain a second execution result matching the transaction from the blockchain network based on the verification request, and to verify the first execution result contained in the transaction certificate based on the second execution result, and generate a verification certificate for the verification result.

[0244] That is, in the optional embodiment, the verification node can determine the target verification service that matches the verification service identifier from the multiple deployed verification services based on the obtained verification service identifier, and then perform the corresponding verification process through the target verification service.

[0245] In one of the optional embodiments, the corresponding verification process is executed through the target verification service. Specifically, the target verification service can be run, which can be used to obtain a second execution result matching the transaction from the blockchain network based on the verification request, and to verify the first execution result contained in the transaction certificate based on the second execution result, and generate a verification certificate for the verification result.

[0246] In one of the optional embodiments, the verification node can deploy multiple verification services, each of which can perform verification for different transactions. The verification service is a service developed by the business party or a third party trusted by the business party to perform verification for a certain transaction. After the development is completed, it is pre-deployed in the verification node. Subsequently, by running the verification service, the verification of the transaction targeted by the verification service can be realized.

[0247] In one optional embodiment, the verification service identifier is an identification information used to uniquely represent the verification service and to distinguish different verification services; the verification service identifier obtained by the verification node may be sent by the business party or a third party trusted by the business party.

[0248] In one optional embodiment, the target verification service is the verification service that the verification node determines from among the multiple deployed verification services based on the obtained verification service identifier.

[0249] In this way, by implementing the optional embodiments, the verification node determines the target verification service that matches the obtained verification service identifier, and implements the corresponding verification process based on the target verification service, which is more efficient. Furthermore, different verification services perform verification for different transactions, and the various verification services do not affect each other, which makes it easier to maintain in the future.

[0250] In one embodiment of this application, before determining the target verification service that matches the verification service identifier from among the deployed verification services based on the obtained verification service identifier, the following steps may be included:

[0251] Receive the verification service deployment request sent by the service generator, which carries the verification service to be deployed.

[0252] Based on the verification service deployment request, the verification service to be deployed is deployed, and a verification service identifier corresponding to the deployed verification service is generated.

[0253] Send the verification service identifier to the service provider.

[0254] That is, in the optional embodiment, the verification node deploys the verification service, which specifically can be by receiving a verification service deployment request sent by the service generator. The verification service deployment request carries the verification service to be deployed. Then, the verification service to be deployed is deployed based on the verification service deployment request, and a verification service identifier corresponding to the deployed verification service is generated. Finally, the verification service identifier is sent to the service generator.

[0255] In one of the optional embodiments, the service generator is the party that generates the verification service. For example, the verification service may be developed by the business party or a third party trusted by the business party. Therefore, the business party or a third party trusted by the business party is the service generator.

[0256] In one of the optional embodiments, the verification service deployment request is a request instructing the verification node to deploy a certain verification service. The verification service deployment request carries the verification service to be deployed, so the verification node can obtain the verification service to be deployed from the verification service deployment request and deploy it.

[0257] In one optional embodiment, the verification node deploys the verification service to be deployed based on the verification service deployment request and generates a verification service identifier corresponding to the deployed verification service. Then, the verification service identifier needs to be sent to the service generator so that the service generator can know the deployed verification service identifier later. When needed, the business party or a third party trusted by the business party can send the verification service identifier to inform the verification node which verification service to run, so as to realize the corresponding verification process through the running verification service.

[0258] Thus, by implementing the optional embodiment, the verification node deploys the verification service based on the verification service deployment request sent by the service generator, so as to provide support for subsequent verification based on the verification service.

[0259] Step S1403: Verify the first execution result contained in the transaction voucher based on the second execution result, and generate a verification voucher for the verification result.

[0260] In this embodiment of the application, the verification node obtains the second execution result matching the transaction from the blockchain network based on the verification request. Then, it can verify the first execution result contained in the transaction certificate based on the second execution result and generate a verification certificate for the verification result.

[0261] based on Figure 14 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 15 The process of verifying the first execution result contained in the transaction certificate based on the second execution result in step S1403 may include steps S1501 to S1503, which are described in detail below:

[0262] Step S1501: Detect whether the second execution result matches the first execution result;

[0263] Step S1502: If a match is found, it is determined that the first execution result contained in the transaction certificate has been successfully verified.

[0264] Step S1503: If there is no match, it is determined that the verification of the first execution result contained in the transaction certificate has failed.

[0265] In other words, in the optional embodiment, the verification node verifies the first execution result contained in the transaction certificate based on the second execution result. Specifically, it may detect whether the second execution result matches the first execution result, and then determine the verification result based on the matching result. If the second execution result matches the first execution result, the verification of the first execution result contained in the transaction certificate is successful, and the verification result is successful. If the second execution result does not match the first execution result, the verification of the first execution result contained in the transaction certificate fails, and the verification result is unsuccessful.

[0266] For example, suppose there is a transaction A->C, and the transaction certificate contains a first execution result r1. A second execution result matching the transaction A->C is obtained from the blockchain network. If the second execution result is also r1, then the matching of the second execution result with the first execution result indicates that the verification of the first execution result r1 in the transaction certificate is successful. If the second execution result is r2, then the mismatch between the second execution result and the first execution result indicates that the verification of the first execution result r1 in the transaction certificate fails.

[0267] Thus, by implementing the optional embodiment, the verification node can detect whether the second execution result matches the first execution result, which can quickly and easily verify the first execution result contained in the transaction certificate.

[0268] based on Figure 14 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 16 The process of generating verification credentials for the verification result in step S1403 may include steps S1601 to S1602, which are described in detail below:

[0269] Step S1601: Sign the verification result based on the private key of the verification node to obtain the signature data for the verification result;

[0270] Step S1602: Use the signature data as a verification credential for the verification result.

[0271] That is, in the optional embodiment, the verification node generates a verification credential for the verification result. Specifically, it can sign the verification result based on the verification node's private key to obtain signature data for the verification result, and use the signature data as a verification credential for the verification result.

[0272] In one optional embodiment, the private key of the verification node is matched with the public key of the verification node, and it can be sent to the transaction processing node in advance so that the transaction processing node can verify the verification node based on the public key of the verification node.

[0273] In one of the optional embodiments, regardless of whether the verification result is successful or unsuccessful, the verification node needs to sign the verification result using its own private key. The signed data obtained at this time is the verification credential for the verification result.

[0274] Thus, by implementing the optional embodiment, the verification node uses the signed verification result as a verification credential for the verification result, which facilitates the subsequent identification or location of the responsible party based on the signature data.

[0275] Step S1404: Send the verification credentials to the transaction processing node so that the transaction processing node sends the transaction credentials and verification credentials to the blockchain network for on-chain association processing.

[0276] In this embodiment, the verification node verifies the first execution result contained in the transaction certificate based on the second execution result, generates a verification certificate for the verification result, and then sends the verification certificate to the transaction processing node. In this way, the transaction processing node can send the transaction certificate and the verification certificate to the blockchain network for on-chain association processing.

[0277] Figures 14 to 16The illustrated embodiment is presented from the perspective of the verification node. The following is combined with... Figures 17 to 20 The implementation details of the technical solutions in the embodiments of this application are described in detail from the perspective of blockchain networks:

[0278] Please see Figure 17 , Figure 17 This is a flowchart illustrating a method based on an embodiment of this application. This blockchain-based transaction processing method can be... Figure 3 The blockchain network 303 shown is used for execution. Figure 17 As shown, the blockchain-based transaction processing method includes at least steps S1701 to S1702, which are detailed below:

[0279] Step S1701: Receive a group of transaction transactions to be executed sent by the transaction processing node; wherein the transaction transaction group includes at least two transaction transactions with dependencies, and there is an execution order between the at least two transaction transactions.

[0280] In this embodiment, the blockchain network can receive a group of transactions to be executed sent by the transaction processing node. The relevant content of the transaction group is described in the foregoing embodiment.

[0281] Step S1702: Execute at least two transaction transactions based on the execution order between at least two transaction transactions, and send the first execution result of at least two transaction transactions to the transaction processing node.

[0282] In this embodiment of the application, the blockchain network receives a group of transactions to be executed sent by the transaction processing node. Then, it can execute at least two transactions based on the execution order between at least two transactions and send the execution results of at least two transactions to the transaction processing node. In this way, the transaction processing node can determine whether there are any failed transactions in the transaction group based on the execution results. When it is determined that there are failed transactions in the transaction group, it generates a rollback transaction corresponding to the successfully executed transaction.

[0283] based on Figure 17 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 18 The process of executing at least two transaction transactions based on the execution order between at least two transaction transactions in step S1702 may include steps S1801 to S1802, which are described in detail below:

[0284] Step S1801: When executing a transaction based on the execution order, the resource data transferred from the first transaction account to the second transaction account is locked, and the transfer direction of the locked resource data is determined based on the preset transfer relationship of the resource data.

[0285] Step S1802: If the transfer direction matches the transfer direction of the next transaction of the executed transaction, then the resource data is unlocked to execute the next transaction.

[0286] In other words, in the optional embodiment, when the blockchain network executes a transaction based on the execution order, it locks the resource data transferred from the first transaction account to the second transaction account, and determines the transfer direction of the locked resource data based on a preset transfer relationship of the resource data. Specifically, if the transfer direction matches the transfer direction of the next transaction after the executed transaction, it indicates that the next transaction is correct, and the resource data can be unlocked to execute the next transaction; if the transfer direction does not match the transfer direction of the next transaction after the executed transaction, it indicates that the next transaction is incorrect, and no action is taken, i.e., the resource data remains locked.

[0287] In the optional embodiments, the transfer relationship of the preset resource data is usually pre-set by the business party. It can be that the business party sends the transfer relationship of the preset resource data to the transaction processing node first, and then the transaction processing node forwards it to the blockchain network. Alternatively, the business party can directly send the transfer relationship of the preset resource data to the blockchain network, etc.

[0288] For example, consider transaction group k = {(A->C), (C->B), (B->D)}. Based on the execution order, transaction A->C is executed first. This example uses transaction A->C as an example (the execution process of other transactions can be deduced similarly). The resource data transferred from transaction account A to transaction account C is locked. Although the locked resource data has been transferred to transaction account C, it cannot be arbitrarily transferred or used. The transfer direction of the locked resource data needs to be determined based on the preset transfer relationship of the resource data.

[0289] Suppose that the transfer direction of the locked resource data is determined based on the preset transfer relationship of the resource data, and it is transferred from transaction account C to transaction account B. Obviously, the determined transfer direction matches the transfer direction of the next transaction C->B of the executed transaction A->C. At this time, the resource data can be unlocked, thereby transferring the resource data from transaction account C to transaction account B.

[0290] Suppose that the transfer direction of the locked resource data is determined based on the preset transfer relationship of the resource data, and it is transferred from transaction account C to transaction account E. Obviously, the determined transfer direction does not match the transfer direction of the next transaction C->B of the executed transaction A->C. In this case, the resource data is locked.

[0291] In this way, by implementing the optional embodiment, the security of resource data is ensured by using resource data locking when executing each transaction, thereby further improving the accuracy of transaction data on the blockchain.

[0292] based on Figure 17 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 19 Step S1702, which involves executing at least two transaction transactions based on their execution order and sending the first execution results of the at least two transaction transactions to the transaction processing node, may include steps S1901 to S1902, as detailed below:

[0293] Step S1901: If a transaction failure is detected during the execution of at least two transactions based on the execution order, an execution failure result corresponding to the failed transaction is generated, and the execution failure result is used as the execution failure result of the transaction group, and the execution failure result is sent to the transaction processing node.

[0294] Step S1902: If at least two transaction transactions are detected to have been successfully executed during the execution of at least two transaction transactions based on the execution order, then the execution success result corresponding to the transaction transaction group is generated and sent to the transaction processing node.

[0295] In one optional embodiment, if the blockchain network detects a transaction failure during the execution of at least two transactions in the execution order, it can generate a failure result corresponding to the failed transaction, use this failure result as the failure result for the transaction group, and send the failure result to the transaction processing node. It is understood that as long as one transaction in the transaction group fails, a failure result for that failed transaction is generated, and the next transaction following that failed transaction is not executed. In this case, the failure result of the failed transaction can be used as the failure result for the transaction group.

[0296] In one optional embodiment, if the blockchain network detects that at least two transactions have been successfully executed during the execution of at least two transactions based on the execution order, it generates a successful execution result corresponding to the transaction group and sends the successful execution result to the transaction processing node. It is understood that if each transaction in the transaction group is successfully executed, either a successful execution result for each individual transaction or a successful execution result for the entire transaction group can be generated.

[0297] Thus, by implementing the optional embodiment, the blockchain network generates the first execution result of the transaction group and returns it to the transaction processing node. The transaction processing node can then know the specific execution status of the transaction group and generate a rollback transaction corresponding to the successfully executed transaction when it is determined that there are failed transactions in the transaction group.

[0298] based on Figure 17 The technical solution of the illustrated embodiment is described in one embodiment of this application. Please refer to [link / reference]. Figure 20 After the process of sending the first execution results of at least two transaction transactions to the transaction processing node in step S1702, the process may further include steps S2001 to S2002, which are described in detail below:

[0299] Step S2001: Receive a rollback transaction transaction sent by the transaction processing node; wherein, the rollback transaction transaction is generated and sent by the transaction processing node based on the successfully executed transaction transaction when it determines, according to the first execution result, that there are failed transaction transactions in the transaction transaction group.

[0300] Step S2002: Execute the rollback transaction in the reverse order of execution.

[0301] That is, in the optional embodiment, the blockchain network can also receive rollback transaction transactions sent by the transaction processing node. For details on rollback transaction transactions, please refer to the description of the foregoing embodiments. Then, the rollback transaction transactions are executed in the reverse order of execution, which can transfer the changed resource data to the original transaction account, thereby ensuring the security of the resource data.

[0302] The technical solutions of the embodiments of this application have been described above from the perspectives of verification nodes, transaction processing nodes, and blockchain networks. The following is based on... Figure 3 The implementation environment shown illustrates a specific application scenario of this application embodiment:

[0303] Please see Figure 21 , Figure 21 This is a flowchart illustrating a method according to an embodiment of this application. Figure 21 As shown, the blockchain-based transaction processing method includes at least steps S2101 to S2106, which are detailed below:

[0304] Step S2101: The business party sends a transaction execution request to the transaction processing node.

[0305] Optionally, the transaction execution request carries a specified transaction processing node identifier and a transaction processing service identifier. This allows the transaction execution request to be sent to the transaction processing node that matches the specified transaction processing node identifier, and the transaction processing service deployed on that transaction processing node that matches the transaction processing service identifier to be run (specifically, the transaction processing service can be run in a Docker container).

[0306] Optionally, the transaction execution request may include the number of verification nodes, which must be at least two, and whether a node allocator (i.e., a node distributor) is used.

[0307] Optionally, the transaction execution request carries a list of verification nodes, which includes at least two specified verification node identifiers. This can be done without the node allocator. Please refer to the technical solution in the foregoing embodiments for details.

[0308] In step S2102, the transaction processing node receives the first execution results of at least two transaction transactions in the transaction transaction group sent by the blockchain network, generates transaction credentials corresponding to the first execution results, generates verification requests based on the transaction credentials, and sends the verification requests and transaction execution requests to the node allocator.

[0309] Optionally, running the transaction processing service can yield an execution result (different from the first and second execution results); wherein, running the transaction processing service can sign any one or more of the transaction processing node identifier, transaction processing service identifier, number of verification nodes, list of verification nodes, whether a node allocator is used, and verification request carried in the received transaction execution request, and generate the execution result based on the original data (i.e., any one or more of the transaction processing node identifier, transaction processing service identifier, number of verification nodes, list of verification nodes, whether a node allocator is used, and verification request) and / or the signature data.

[0310] Optionally, if the business party indicates that the transaction processing node needs to be processed by the node allocator, the transaction processing node can send the execution result to the node allocator; if the business party does not indicate that the transaction processing node needs to be processed by the node allocator, the transaction processing node can send the execution result to the verification node.

[0311] In step S2103, the node allocator determines the verification node that matches the number of verification nodes from the verification node cluster and forwards the verification request to the verification node.

[0312] Step S2103 only illustrates a case where the node allocator processes the data and the execution result received by the node allocator contains the corresponding number of verification nodes. In actual application scenarios, the processing should be based on the execution result obtained by the transaction processing node running the transaction processing service.

[0313] Optionally, step S2103 can be found in the technical solution described in the foregoing embodiments.

[0314] In step S2104, the verification node obtains the second execution result matching the transaction from the blockchain network based on the verification request, verifies the first execution result contained in the transaction certificate based on the second execution result, signs the verification result based on the verification node's private key, obtains the signature data for the verification result, and uses the signature data as the verification certificate for the verification result, and sends the verification certificate to the node allocator.

[0315] Optionally, step S2104 can be found in the technical solution described in the foregoing embodiments.

[0316] In step S2105, the node allocator receives verification credentials from multiple verification nodes for the same transaction and returns them to the transaction processing node.

[0317] Optionally, if among multiple verification credentials there are more than a preset threshold number of verification credentials indicating that the same transaction has been successfully verified, then the same transaction is determined to have been successfully verified; if among multiple verification credentials there are no more than a preset threshold number of verification credentials indicating that the same transaction has been successfully verified, then the same transaction is determined to have failed to be verified.

[0318] In step S2106, the transaction processing node sends the transaction certificate and verification certificate to the blockchain network so that the blockchain network can associate and process the transaction certificate and verification certificate on the chain.

[0319] Optionally, the transaction processing node encapsulates the transaction certificate and the verification certificate representing the successful verification of the same transaction from among multiple verification certificates to obtain the encapsulated certificate, and sends the encapsulated certificate to the blockchain network so that the blockchain network can process the encapsulated certificate on the chain.

[0320] This completes the verification of the execution result of the same transaction and the on-chain processing of the corresponding evidence. It's important to understand that this only illustrates the verification process for the execution result of the same transaction; in reality, the verification node needs to verify the execution results of all transactions in the transaction group, and so on.

[0321] Optionally, step Sa1 is also involved, whereby the transaction processing node can send a margin to the margin processing gateway to pledge the margin in the margin processing gateway. Further, step Sa2 is also involved, whereby the margin processing gateway can send the pledged margin, the signature of the margin processing gateway, and the signature of the transaction processing node to the blockchain network, so that the blockchain network can perform on-chain processing.

[0322] Optionally, step Sb1 is also involved, whereby the validator node can send a security deposit to the security deposit processing gateway to pledge the security deposit in the security deposit processing gateway. Further, step Sb2 is also involved, whereby the security deposit processing gateway can send the pledged security deposit, the gateway's signature, and the validator node's signature to the blockchain network to enable the blockchain network to perform on-chain processing.

[0323] Optionally, the transaction processing service deployed in the transaction processing node can call external services and perform external storage according to business needs.

[0324] Optionally, the verification service deployed in the verification node can call external services and perform external storage according to business needs.

[0325] In this embodiment, decentralized verification of transaction execution results is achieved through the interaction between transaction processing nodes in the transaction processing node cluster and verification nodes in the verification node cluster, thereby improving verification security and accuracy.

[0326] Next, the successful execution process of the transaction group will be described.

[0327] Please see Figure 22 , Figure 22 This is a flowchart illustrating a method according to an embodiment of this application. Figure 22 As shown, the blockchain-based transaction processing method includes at least steps S2201 to S2204, which are detailed below:

[0328] In step S2201, the business sends the transaction group to be executed and the signature data for the transaction group to be executed to the transaction processing node.

[0329] Optionally, a transaction group includes at least two transaction groups that have dependencies on each other and that have an execution order among the at least two transaction groups.

[0330] Optionally, the business party may send, simultaneously / after / before sending the transaction group to be executed and the signature data for the transaction group to be executed, the identification information of the blockchain network to be committed, the address information of the first interface, and the address information of the second interface. The identification information of the blockchain network to be committed is used to determine the blockchain network to be executed for the transaction group to be executed; that is, the business party specifies the blockchain network matching the identification information of the blockchain network to be committed to execute the transaction group to be executed. The first interface is used to generate a rollback transaction; the second interface is used to verify the signed rollback transaction.

[0331] In step S2202, if the transaction processing node successfully verifies the signature data based on the business party's own public key, it encapsulates the transaction group to be executed and the business party's signature data, generates a submission credential, signs the submission credential based on the transaction processing node's private key, and returns the signed submission credential to the business party.

[0332] Optionally, when a transaction processing node receives the signature data of a transaction group to be executed from a business party, it verifies the signature data of the business party based on the business party's own public key. If the verification is successful, it can encapsulate the transaction group to be executed and the signature data of the business party to generate a submission credential.

[0333] Optionally, when a transaction processing node receives signature data for a transaction group to be executed from a business party, it verifies the signature data based on the business party's own public key. If the verification is successful, it determines the identification information of the transaction group to be executed and associates the identification information with the transaction group to be executed (which can be stored locally or in the cloud). At the same time, it encapsulates the identification information of the transaction group to be executed, the transaction group to be executed, and the signature data to generate a submission credential.

[0334] Optionally, the transaction processing node can return both the commit credential and the signed commit credential to the business party.

[0335] In step S2203, the transaction processing node sends transaction transactions to the blockchain network sequentially based on the execution order of at least two transaction transactions.

[0336] Optionally, a transaction processing node sends a transaction to the blockchain network. The blockchain network then executes the received transaction and returns the execution result to the transaction processing node. The next transaction is only sent to the blockchain network when the received execution result indicates success.

[0337] Step S2204: If the transaction processing node determines that there are no failed transaction transactions in the transaction transaction group based on the execution result, it encapsulates the commit certificate and the execution success result, generates an execution success certificate, and stores the execution certificate after signing it based on the transaction processing node's private key.

[0338] Optionally, if the transaction processing node determines from the execution result that there are no failed transactions in the transaction group, it encapsulates the successful execution result, generates a successful execution certificate, and signs the successful execution certificate based on the transaction processing node's private key before storing it, so as to facilitate subsequent querying by the business party.

[0339] Finally, the failure execution process of the transaction group is described.

[0340] based on Figure 22 For the technical solutions of the illustrated embodiments, please refer to [link / reference needed]. Figure 23 , Figure 23 This is a flowchart illustrating a method according to an embodiment of this application. Figure 23 As shown, the blockchain-based transaction processing method includes at least steps S2301 to S2306, which are detailed below:

[0341] In step S2301, the business sends the transaction group to be executed and the signature data for the transaction group to be executed to the transaction processing node.

[0342] In step S2302, if the transaction processing node successfully verifies the signature data based on the business party's own public key, it encapsulates the transaction group to be executed and the business party's signature data, generates a submission credential, signs the submission credential based on the transaction processing node's private key, and returns the signed submission credential to the business party.

[0343] In step S2303, the transaction processing node sends transaction transactions to the blockchain network sequentially based on the execution order of at least two transaction transactions.

[0344] Optionally, the specific implementation process of steps S2301 to S2303 is described above. Figure 22 The technical solution of the embodiment shown.

[0345] Step S2304: If the transaction processing node determines that there are failed transaction transactions in the transaction transaction group based on the execution result, then a rollback transaction transaction corresponding to the successfully executed transaction transaction is generated.

[0346] Optionally, the transaction group k = (1, 2, ..., N-2, N-1, N), where when the Nth transaction fails, a rollback transaction corresponding to the successfully executed transaction is generated in the reverse order of the execution order of the transactions (i.e., in reverse order), that is, the generated rollback transaction k' = (N-1, N-2, ..., 2, 1).

[0347] Optionally, generating a rollback transaction corresponding to a successfully executed transaction may include: calling the first interface based on the address information of the first interface to generate a rollback transaction corresponding to a successfully executed transaction through the first interface.

[0348] If the first interface call fails, it can be called a preset number of times. Understandably, if all preset calls fail, a rollback failure certificate can be generated and appended to the execution failure certificate. If the first interface call succeeds, the rollback transaction can be generated.

[0349] Optionally, the submission credentials and execution failure results can be encapsulated to generate execution failure credentials.

[0350] Optionally, the index of the currently failed transaction and the reason for the failure can be recorded for later query by the business party.

[0351] Step S2305: Sign the rollback transaction based on the private key of the transaction processing node, generate a signed rollback transaction, and send the signed rollback transaction to the business party.

[0352] Optionally, sending the signed rollback transaction to the business party may include: calling the second interface based on the address information of the second interface, verifying the signed rollback transaction based on the public key of the transaction processing node through the second interface, and sending the verified rollback transaction to the business party. Optionally, the signed rollback transaction and the execution failure certificate may be used as parameters to call the second interface based on the address information of the second interface.

[0353] If the call to the second interface fails, it can be called a preset number of times. Understandably, if all preset calls fail, a rollback failure certificate can be generated and appended to the execution failure certificate. If the call to the second interface succeeds, it allows for the verification of the rollback transaction signed by the transaction processing node.

[0354] Optionally, the business entity signs the successfully verified rollback transaction based on its own private key and returns the signed rollback transaction to the transaction processing node.

[0355] Step S2306: Send the rollback transaction to the blockchain network.

[0356] Optionally, a transaction processing node sends a rollback transaction to the blockchain network. The blockchain network then executes the received rollback transaction and returns the execution result to the transaction processing node. The transaction processing node sends the rollback transaction to the blockchain network in the reverse order of the execution of the other transactions, thus the blockchain network executes the rollback transaction in the reverse order of the other transactions.

[0357] In this embodiment of the application, when the transaction processing node determines that there is a failed transaction in the transaction group based on the first execution result, it generates a rollback transaction corresponding to the successfully executed transaction and sends the rollback transaction to the blockchain network. In this way, the blockchain network can execute the rollback transaction based on the execution order that is the opposite of the execution order between at least two transactions, so that it can return to the state before the execution of the transaction and ensure the security of resource data.

[0358] Figure 24 This is a block diagram illustrating a blockchain-based transaction processing apparatus, as shown in one embodiment of this application. Figure 24 As shown, the blockchain-based transaction processing device is configured in the transaction processing node, and the blockchain-based transaction processing device includes:

[0359] The first acquisition module 2401 is configured to acquire a group of transactions to be executed; wherein the group of transactions includes at least two transactions with dependencies, and there is an execution order between the at least two transactions;

[0360] The first sending module 2402 is configured to send a transaction group to the blockchain network so that the blockchain network executes at least two transaction groups based on the execution order between at least two transaction groups and returns the first execution result of at least two transaction groups.

[0361] The generation and sending module 2403 is configured to generate a transaction certificate corresponding to the first execution result, generate a verification request based on the transaction certificate, and send the verification request to the verification node so that the verification node generates a verification certificate corresponding to the verification result of the first execution result contained in the transaction certificate based on the verification request.

[0362] The receiving and sending module 2404 is configured to receive verification credentials from the verification node and send the transaction credentials and verification credentials to the blockchain network so that the blockchain network can associate and process the transaction credentials and verification credentials on the chain.

[0363] Figure 25 This is a block diagram illustrating a blockchain-based transaction processing apparatus, as shown in one embodiment of this application. Figure 25 As shown, the blockchain-based transaction processing device is configured in the verification node, and the blockchain-based transaction processing device includes:

[0364] The first receiving module 2501 is configured to receive a verification request from a transaction processing node; wherein the verification request carries a transaction certificate corresponding to the first execution result of the transaction transaction by the transaction processing node.

[0365] The second acquisition module 2502 is configured to acquire a second execution result matching the transaction from the blockchain network based on a verification request;

[0366] The generation module 2503 is configured to verify the first execution result contained in the transaction certificate based on the second execution result, and generate a verification certificate for the verification result;

[0367] The second sending module 2504 is configured to send the verification credential to the transaction processing node, so that the transaction processing node sends the transaction credential and the verification credential to the blockchain network for on-chain association processing.

[0368] Figure 26 This is a block diagram illustrating a blockchain-based transaction processing apparatus, as shown in one embodiment of this application. Figure 26 As shown, the blockchain-based transaction processing device is configured in a blockchain network, and the blockchain-based transaction processing device includes:

[0369] The second receiving module 2601 is configured to receive a group of transaction transactions to be executed sent by the transaction processing node; wherein the transaction transaction group includes at least two transaction transactions with dependencies, and there is an execution order between the at least two transaction transactions;

[0370] The execution and sending module 2602 is configured to execute at least two transaction transactions based on the execution order between at least two transaction transactions, and send the first execution result of at least two transaction transactions to the transaction processing node.

[0371] It should be noted that the apparatus provided in the foregoing embodiments and the method provided in the foregoing embodiments belong to the same concept, and the specific ways in which each module and unit performs operations have been described in detail in the method embodiments, and will not be repeated here.

[0372] Embodiments of this application also provide an electronic device, including: one or more processors; and a storage device for storing one or more programs, which, when executed by one or more processors, enable the electronic device to implement the aforementioned blockchain-based transaction processing method.

[0373] Figure 27This is a schematic diagram of the structure of a computer system suitable for implementing the electronic devices of the present application embodiments.

[0374] It should be noted that, Figure 27 The computer system 2700 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0375] like Figure 27 As shown, the computer system 2700 includes a CPU 2701, which can perform various appropriate actions and processes, such as executing the methods described in the above embodiments, based on a program stored in read-only memory (ROM) 2702 or a program loaded from storage portion 2708 into random access memory (RAM) 2703. The RAM 2703 also stores various programs and data required for system operation. The CPU 2701, ROM 2702, and RAM 2703 are interconnected via a bus 2704. An input / output (I / O) interface 2705 is also connected to the bus 2704.

[0376] The following components are connected to I / O interface 2705: an input section 2706 including a keyboard, mouse, etc.; an output section 2707 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 2708 including a hard disk, etc.; and a communication section 2709 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 2709 performs communication processing via a network such as the Internet. A drive 2710 is also connected to I / O interface 2705 as needed. Removable media 2711, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 2710 as needed so that computer programs read from them can be installed into storage section 2708 as needed.

[0377] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 2709, and / or installed from removable medium 2711. When the computer program is executed by central processing unit (CPU) 2701, it performs various functions defined in the system of this application.

[0378] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. For example, a computer-readable medium can be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0379] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0380] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0381] Another aspect of this application provides a computer-readable medium storing a computer program that, when executed by a processor, implements the aforementioned blockchain-based transaction processing method. This computer-readable medium may be included in the electronic device described in the above embodiments, or it may exist independently and not incorporated into the electronic device.

[0382] Another aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable medium. A processor of a computer device reads the computer instructions from the computer-readable medium and executes the computer instructions, causing the computer device to perform the blockchain-based transaction processing method provided in the various embodiments described above.

[0383] The above content is merely a preferred exemplary embodiment of this application and is not intended to limit the implementation of this application. Those skilled in the art can easily make corresponding modifications or alterations based on the main concept and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of protection claimed in the claims.

Claims

1. A blockchain-based transaction processing method, characterized in that, Applied to a transaction processing network, the transaction processing network including transaction processing nodes and verification nodes, the transaction processing network being an off-chain network different from a blockchain network, the method being executed by the transaction processing nodes, the method comprising: Obtain a group of transactions to be executed; wherein the group of transactions includes at least two transactions that have a dependency relationship and there is an execution order between the at least two transactions; The transaction group is sent to the blockchain network so that the blockchain network executes the at least two transaction groups based on the execution order between them and returns the first execution result of the at least two transaction groups. The first execution result is signed to generate a transaction certificate corresponding to the first execution result. A verification request is generated based on the transaction certificate and sent to the verification node. The verification node obtains a second execution result that matches the transaction group from the blockchain network based on the verification request. It also checks whether the second execution result matches the first execution result. If they match, the verification of the first execution result is determined to be successful. If they do not match, the verification of the first execution result is determined to be unsuccessful. The verification result is then signed to generate a verification certificate for the verification result. The system receives verification credentials from the verification node and sends the transaction credentials and the verification credentials to the blockchain network, so that the blockchain network can associate the transaction credentials and the verification credentials on the blockchain.

2. The method as described in claim 1, characterized in that, After sending the transaction group to the blockchain network, the method further includes: If it is determined from the first execution result that there are failed transactions in the transaction group, then a rollback transaction corresponding to the successfully executed transaction is generated. The rollback transaction is sent to the blockchain network so that the blockchain network executes the rollback transaction in the reverse order of execution.

3. The method as described in claim 2, characterized in that, Each transaction involves the transfer of resource data from the first transaction account to the second transaction account; The rollback transaction corresponding to the successfully executed transaction includes: Based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account, a rollback transaction is generated to transfer the resource data from the second transaction account to the first transaction account.

4. The method as described in claim 3, characterized in that, The step of generating a rollback transaction for the transfer of resource data from the second transaction account to the first transaction account, based on information contained in a successfully executed transaction indicating the transfer of resource data from the first transaction account to the second transaction account, includes: Detect whether the transaction that failed to execute was the first transaction executed in the transaction group; If not, then based on the information contained in the successfully executed transaction that indicates the transfer of resource data from the first transaction account to the second transaction account, a rollback transaction is generated to transfer resource data from the second transaction account to the first transaction account.

5. The method as described in claim 2, characterized in that, When the rollback transaction consists of at least two rollback transaction transactions, sending the rollback transaction transactions to the blockchain network includes: Based on the execution order of the successfully executed transactions, the reverse order shall be used as the execution order between the at least two rollback transactions; The at least two rollback transaction transactions are sent to the blockchain network so that the blockchain network executes the rollback transaction transactions based on the execution order between the at least two rollback transaction transactions.

6. The method according to any one of claims 1 to 5, characterized in that, Sending the verification request to the verification node includes: Receive a first transaction execution request; wherein the first transaction execution request carries a list of verification nodes, and the list of verification nodes includes at least two specified verification node identifiers; The verification request is sent to the verification node in the verification node cluster that matches the at least two specified verification node identifiers.

7. The method according to any one of claims 1 to 5, characterized in that, Sending the verification request to the verification node includes: Receive a second transaction execution request; wherein the second transaction execution request carries the number of verification nodes, and the number of verification nodes is at least two; The verification node that matches the number of verification nodes in the verification node cluster is determined, and the verification request is sent to the verification node.

8. The method as described in claim 7, characterized in that, The step of determining a verification node from the verification node cluster that matches the number of verification nodes, and sending the verification request to the verification node, includes: Based on the number of verification nodes, a verification node allocation request is sent to the node allocator, so that the node allocator determines a verification node from the verification node cluster that matches the number of verification nodes based on the verification node allocation request, and returns the identifier of the verification node. The verification request is sent to the verification node whose identifier matches that of the verification node.

9. The method according to any one of claims 1 to 5, characterized in that, Sending the verification request to the verification node includes: Receive a second transaction execution request; wherein the second transaction execution request carries the number of verification nodes, and the number of verification nodes is at least two; The number of verification nodes and the verification request are sent to the node allocator, so that the node allocator can determine the verification node that matches the number of verification nodes from the verification node cluster, and forward the verification request to the verification node.

10. The method according to any one of claims 1 to 5, characterized in that, Receiving verification credentials from the verification node includes: Receive verification credentials from multiple verification nodes for the same transaction; If among multiple verification credentials there are more than a preset threshold number of verification credentials indicating that the same transaction has been successfully verified, then the same transaction is determined to have been successfully verified. Sending the transaction certificate and the verification certificate to the blockchain network includes: The transaction certificate and the verification certificate representing the successful verification of the same transaction among the multiple verification certificates are encapsulated to obtain an encapsulated certificate, and the encapsulated certificate is sent to the blockchain network so that the blockchain network can process the encapsulated certificate on the chain.

11. A blockchain-based transaction processing method, characterized in that, Applied to a transaction processing network, the transaction processing network including transaction processing nodes and verification nodes, the transaction processing network being an off-chain network different from a blockchain network, the method being executed by the verification nodes, the method comprising: Receive a verification request from the transaction processing node; wherein the verification request carries a transaction certificate corresponding to the first execution result of the transaction processing node for the transaction transaction group, the transaction transaction group includes at least two transaction transactions with dependencies and there is an execution order between the at least two transaction transactions, and the transaction certificate is obtained by signing the first execution result; Based on the verification request, a second execution result matching the transaction group is obtained from the blockchain network; The system checks whether the second execution result matches the first execution result. If they match, it determines that the first execution result has been successfully verified. If they do not match, it determines that the first execution result has failed to be verified. The system then signs the verification result and generates a verification credential for the verification result. The verification credential is sent to the transaction processing node, so that the transaction processing node sends the transaction credential and the verification credential to the blockchain network for on-chain association processing.

12. The method as described in claim 11, characterized in that, The step of signing the verification result and generating a verification credential for the verification result includes: The verification result is signed based on the private key of the verification node to obtain the signature data for the verification result; The signature data is used as a verification credential for the verification result.

13. A blockchain-based transaction processing method, characterized in that, Applied to blockchain networks, the method includes: The system receives a group of transaction transactions to be executed sent by transaction processing nodes in a transaction processing network; wherein the transaction transaction group includes at least two transaction transactions with dependencies, and there is an execution order between the at least two transaction transactions, and the transaction processing network is an off-chain network different from the blockchain network; The at least two transaction transactions are executed according to the execution order between them, and the first execution result of the at least two transaction transactions is sent to the transaction processing node so that the transaction processing node signs the first execution result, generates a transaction certificate corresponding to the first execution result, generates a verification request based on the transaction certificate, and sends the verification request to the verification node included in the transaction processing network so that the verification node obtains a second execution result matching the transaction group from the blockchain network based on the verification request, and checks whether the second execution result matches the first execution result. If they match, the verification of the first execution result is determined to be successful; if they do not match, the verification of the first execution result is determined to be unsuccessful, and the verification result is signed to generate a verification certificate for the verification result. Receive the transaction certificate and verification certificate sent by the transaction processing node, and perform on-chain association processing on the transaction certificate and the verification certificate.

14. A blockchain-based transaction processing device, characterized in that, An application is made in a transaction processing network, which includes transaction processing nodes and verification nodes. This transaction processing network is an off-chain network different from a blockchain network. The device is configured on the transaction processing node and includes: The first acquisition module is configured to acquire a group of transactions to be executed; wherein, the group of transactions includes at least two transactions with dependencies, and there is an execution order between the at least two transactions; The first sending module is configured to send the transaction group to the blockchain network, so that the blockchain network executes the at least two transaction transactions based on the execution order between the at least two transaction transactions, and returns the first execution result of the at least two transaction transactions; The generation and sending module is configured to sign the first execution result, generate a transaction certificate corresponding to the first execution result, generate a verification request based on the transaction certificate, and send the verification request to the verification node, so that the verification node can obtain a second execution result matching the transaction group from the blockchain network based on the verification request, and detect whether the second execution result matches the first execution result. If they match, the first execution result is verified successfully; if they do not match, the first execution result is verified unsuccessfully. The module then signs the verification result and generates a verification certificate for the verification result. The receiving and sending module is configured to receive the verification credentials from the verification node and send the transaction credentials and the verification credentials to the blockchain network, so that the blockchain network can perform on-chain processing of the transaction credentials and the verification credentials.

15. A blockchain-based transaction processing device, characterized in that, Applied to a transaction processing network, the transaction processing network including transaction processing nodes and verification nodes, the transaction processing network being an off-chain network different from a blockchain network, the device being configured on the verification node, the device comprising: The first receiving module is configured to receive a verification request from the transaction processing node; wherein the verification request carries a transaction certificate corresponding to the first execution result of the transaction processing node for a transaction group, the transaction group includes at least two transaction transactions with dependencies and an execution order between the at least two transaction transactions, and the transaction certificate is obtained by signing the first execution result; The second acquisition module is configured to acquire a second execution result matching the transaction group from the blockchain network based on the verification request; The generation module is configured to detect whether the second execution result matches the first execution result. If they match, it is determined that the first execution result has been successfully verified. If they do not match, it is determined that the first execution result has failed to be verified. The module then signs the verification result and generates a verification credential for the verification result. The second sending module is configured to send the verification credential to the transaction processing node, so that the transaction processing node sends the transaction credential and the verification credential to the blockchain network for on-chain association processing.

16. A blockchain-based transaction processing device, characterized in that, The device is configured on a blockchain network, and the device includes: The second receiving module is configured to receive a group of transaction transactions to be executed sent by transaction processing nodes included in the transaction processing network; wherein, the transaction transaction group includes at least two transaction transactions with dependencies, and there is an execution order between the at least two transaction transactions, and the transaction processing network is an off-chain network different from the blockchain network; The execution and sending module is configured to execute the at least two transaction transactions based on the execution order between them, and send the first execution result of the at least two transaction transactions to the transaction processing node, so that the transaction processing node signs the first execution result, generates a transaction certificate corresponding to the first execution result, generates a verification request based on the transaction certificate, and sends the verification request to the verification node included in the transaction processing network, so that the verification node obtains a second execution result matching the transaction transaction from the blockchain network based on the verification request, and detects whether the second execution result matches the first execution result. If they match, the first execution result is verified successfully; if they do not match, the first execution result is verified unsuccessfully. The verification result is then signed to generate a verification certificate for the verification result. Receive the transaction certificate and verification certificate sent by the transaction processing node, and perform on-chain association processing on the transaction certificate and the verification certificate.

17. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by the electronic device, cause the electronic device to implement the blockchain-based transaction processing method as described in any one of claims 1 to 13.

18. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the blockchain-based transaction processing method as described in any one of claims 1 to 13.

19. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the blockchain-based transaction processing method as described in any one of claims 1 to 13.

Citation Information

Patent Citations

  • Data processing method and device, computer device and storage medium

    CN111597077A

  • Data processing method and device based on block chain and readable storage medium

    CN111970129A

  • Transaction processing method of block chain network, node, equipment and storage medium

    CN112232822A