Transaction processing method and device, equipment and medium

By aggregating transaction signature data and using smart contract accounts for verification and execution, the problem of low transaction processing efficiency in blockchain technology is solved, and batch processing and efficient execution of multiple transactions are achieved.

CN119941397APending Publication Date: 2025-05-06TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311465251.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-06
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

During the transaction processing process of existing blockchain technology, the transaction initiator can only initiate one transaction at a time, resulting in low transaction processing efficiency.

Method used

By obtaining the transaction data of the transaction initiator for multiple decentralized applications, aggregating the signature data of multiple transactions generates aggregate signature data, and calling the aggregate verification smart contract through the smart contract account for verification. If the verification is passed, each transaction will be executed.

Benefits of technology

It realizes batch execution of multiple transactions, improves transaction processing efficiency, simplifies processes, and improves system flexibility and scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941397A_ABST
    Figure CN119941397A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a transaction processing method and device, equipment and a medium, which can be applied to various scenes such as intelligent traffic, auxiliary driving, cloud technology and artificial intelligence. The transaction processing method comprises the following steps: acquiring transaction data of transactions initiated by a transaction initiator for a plurality of decentralized applications, wherein the transaction data comprises aggregated signature data obtained by aggregating signature data corresponding to the plurality of transactions respectively; calling an aggregation signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator, and verifying the aggregation signature data; if the verification of the aggregated signature data is passed, calling a decentralized application smart contract of each transaction based on a smart contract corresponding to a smart contract account, executing each transaction, and obtaining an execution result of each transaction; and sending the execution result of each transaction to the transaction initiator. According to the technical scheme, the transaction processing efficiency is improved, and the transaction processing scheme is perfected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and specifically, to a transaction processing method, a transaction processing device, an electronic device, and a computer-readable medium. Background Art

[0002] With the development of blockchain technology, blockchain technology is being applied to more and more fields. In order to improve the security of transactions, transactions are usually conducted based on blockchain technology. Related technologies In the process of conducting transactions based on blockchain technology, the transaction initiator can only initiate one transaction at a time, and the transaction processing efficiency is low.

[0003] Therefore, how to improve transaction processing efficiency and improve transaction processing solutions is an urgent problem to be solved. Summary of the invention

[0004] The embodiments of the present application provide a transaction processing method, device, equipment, and medium, which improve transaction processing efficiency and improve transaction processing solutions.

[0005] In a first aspect, an embodiment of the present application provides a transaction processing method, the method comprising: obtaining transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions respectively; calling an aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data; if the verification of the aggregated signature data is passed, calling the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account, executing each transaction, and obtaining the execution result of each transaction; and sending the execution result of each transaction to the transaction initiator.

[0006] In a second aspect, an embodiment of the present application provides a transaction processing method, the method comprising: obtaining an association request for transactions initiated by a transaction initiator for multiple decentralized applications; aggregating the signature data corresponding to the multiple transactions based on the association request to obtain aggregated signature data; generating transaction data of the multiple transactions based on the aggregated signature data; sending the transaction data to a second blockchain node, so that the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

[0007] In the third aspect, an embodiment of the present application provides a transaction processing device, which includes: an acquisition module, configured to acquire transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions; a verification module, configured to call an aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator, and verify the aggregated signature data; an execution module, configured to call the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account if the verification of the aggregated signature data is passed, execute each transaction, and obtain the execution result of each transaction; a sending module, configured to send the execution result of each transaction to the transaction initiator.

[0008] In a fourth aspect, an embodiment of the present application provides a transaction processing device, comprising: an acquisition module, configured to obtain an association request for transactions initiated by a transaction initiator for multiple decentralized applications; an aggregation module, configured to aggregate signature data corresponding to multiple transactions based on the association request to obtain aggregate signature data; a generation module, configured to generate transaction data of the multiple transactions based on the aggregate signature data; a sending module, configured to send the transaction data to a second blockchain node, so that the second blockchain node calls the aggregation verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregate signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

[0009] In a fifth aspect, an embodiment of the present application provides an electronic device, comprising one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the electronic device implements the transaction processing method as described above.

[0010] In a sixth aspect, an embodiment of the present application provides a computer-readable medium having a computer program stored thereon, and when the computer program is executed by a processor, the transaction processing method as described above is implemented.

[0011] In a seventh aspect, an embodiment of the present application provides a computer program product, comprising computer instructions, which, when executed by a processor, implement the transaction processing method as described above.

[0012] In the technical solution provided in the embodiments of the present application:

[0013] The associated signing party (e.g., the first blockchain node) aggregates the signature data corresponding to the multiple transactions after obtaining the association request from the transaction initiator for the transactions initiated by multiple decentralized applications, and sends the transaction data of the multiple transactions generated based on the aggregated signature data to the signature verification executor.

[0014] Signature verification executor (such as the second blockchain node): After obtaining the transaction data of multiple transactions, the smart contract corresponding to the smart contract account of the transaction initiator is called to verify the aggregated signature data. After the verification of the aggregated signature data is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account of the transaction initiator to execute each transaction, thereby sending the execution result of each transaction to the transaction initiator.

[0015] It can be seen that, on the one hand, through the interaction between the smart contract corresponding to the smart contract account of the transaction initiator and other smart contracts (i.e., the aggregated verification smart contract and the decentralized application smart contract), batch execution of multiple transactions is realized, which improves the efficiency of transaction processing. On the other hand, the smart contract corresponding to the smart contract account is used to call other smart contracts, which simplifies the implementation process and eliminates the need to deploy other smart contracts separately. In addition, the aggregated verification function is integrated into the smart contract, which can be realized through calls between smart contracts, and has high flexibility and scalability.

[0016] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is a schematic diagram of an implementation environment shown in an exemplary embodiment of the present application;

[0018] Figure 2 It is a schematic diagram of the connection relationship between blocks in the blockchain;

[0019] Figure 3 is a flow chart of a transaction processing method shown in an exemplary embodiment of the present application;

[0020] Figure 4 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0021] Figure 5 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0022] Figure 6 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0023] Figure 7 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0024] Figure 8 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0025] Fig. 9 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0026] Fig.10 is a flow chart of a transaction processing method shown in another exemplary embodiment of the present application;

[0027] Fig.11 is a schematic diagram of a transaction processing method shown in another exemplary embodiment of the present application;

[0028] Fig.12 is a block diagram of a transaction processing device shown in an exemplary embodiment of the present application;

[0029] Fig.13 is a block diagram of a transaction processing device shown in another exemplary embodiment of the present application;

[0030] Fig.14 It is a structural diagram of a computer system suitable for implementing an electronic device of an embodiment of the present application. DETAILED DESCRIPTION

[0031] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments that are the same as the present application. Instead, they are only examples of devices and methods that are the same as some aspects of the present application as detailed in the attached claims.

[0032] 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 may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0033] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0034] It should be noted that the "multiple" mentioned in this application refers to two or more than two. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship.

[0035] In the relevant technologies, transactions are usually conducted based on blockchain technology. At present, in the process of conducting transactions based on blockchain technology, the transaction initiator can only initiate one transaction at a time; for example, the transaction initiator can only initiate one transaction for a decentralized application (DApp) at a time, and the transaction processing efficiency is low. In addition, each transaction usually has a fixed handling fee, which increases the handling fee of the transaction initiator, causing trouble for the transaction initiator to a certain extent.

[0036] Therefore, in order to improve transaction processing efficiency, reduce handling fees, and improve transaction processing solutions, this application provides a transaction processing solution. Figure 1 , Figure 1 1 is a schematic diagram of an implementation environment involved in the present application, the implementation environment includes a client 110 and a blockchain network; wherein:

[0037] The client 110 can be deployed on terminal devices such as smart phones, tablet computers, laptops, desktop computers, smart speakers, smart watches, car terminals, flying chess, etc.

[0038] The blockchain network includes multiple blockchain nodes 120 (any form of computing devices connected to the blockchain network, such as servers, user terminals, etc.), and the nodes form a peer-to-peer network. The peer-to-peer protocol is an application layer protocol running on the Transmission Control Protocol (TCP). In the blockchain network, any machine such as a server or terminal can join and become a node. The node includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.

[0039] See also Figure 1 The functions of each node in the blockchain system shown include:

[0040] 1) Routing: a basic function of a node, used to support communication between nodes.

[0041] In addition to the routing function, the node can also have the following functions:

[0042] 2) Applications are deployed in the blockchain to implement specific businesses based on actual business needs, record data related to the implementation of functions to form record data, carry digital signatures in the record data to indicate the source of the task data, and send the record data to other nodes in the blockchain system for other nodes to add the record data to a temporary block when they successfully verify the source and integrity of the record data.

[0043] For example, the services implemented by the application include:

[0044] 2.1) Wallet, used to provide the function of conducting electronic currency transactions, including initiating transactions (i.e., sending the transaction record of the current transaction to other nodes in the blockchain system. After the other nodes successfully verify the transaction, as a response to acknowledge the validity of the transaction, the transaction record data is stored in the temporary block of the blockchain; of course, the wallet also supports querying the remaining electronic currency in the electronic currency address;

[0045] 2.2) Shared ledger, which is used to provide functions such as storage, query and modification of account data. The record data of the operation on the account data is sent to other nodes in the blockchain system. After other nodes verify the validity, as a response to acknowledging the validity of the account data, the record data is stored in a temporary block, and a confirmation can also be sent to the node that initiated the operation.

[0046] 2.3) Smart contracts are computerized protocols that can execute the terms of a smart contract. They are implemented through codes deployed on a shared ledger that are executed when certain conditions are met. According to actual business needs, the codes are used to complete automated transactions, such as querying the logistics status of the goods purchased by the buyer, and transferring the buyer's electronic currency to the merchant's address after the buyer signs for the goods. Of course, smart contracts are not limited to executing smart contracts for transactions, but can also execute smart contracts for processing received information.

[0047] 3) Blockchain, including a series of blocks that are connected to each other in the order of their generation. Once a new block is added to the blockchain, it will not be removed. The block records the record data submitted by the nodes in the blockchain system.

[0048] See also Figure 2 , Figure 2This is an optional schematic diagram of the block structure provided by the embodiment of the present application. Each block includes the hash value of the transaction record stored in this block (the hash value of this block) and the hash value of the previous block. Each block is connected by the hash value to form a blockchain. In addition, the block can also include information such as the timestamp when the block was generated. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains relevant information for verifying the validity of its information (anti-counterfeiting) and generating the next block.

[0049] In one embodiment of the present application, the transaction initiator may initiate association requests corresponding to transactions of multiple decentralized applications in the blockchain network through the client 110 .

[0050] Accordingly, a blockchain node 120 can obtain an association request from a transaction initiator for transactions initiated by multiple decentralized applications; then, based on the association request, the signature data corresponding to the multiple transactions are aggregated to obtain aggregated signature data; then, transaction data of the multiple transactions is generated based on the aggregated signature data; and then, the transaction data is sent to other blockchain nodes 120.

[0051] Correspondingly, other blockchain nodes 120 obtain transaction data of transactions initiated by the transaction initiator for multiple decentralized applications, where the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions; then, the aggregated signature verification smart contract is called based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data; if the verification of the aggregated signature data is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, each transaction is executed, and the execution result of each transaction is obtained; then, the execution result of each transaction is sent to the transaction initiator.

[0052] It is understandable that, for the sake of distinction, the aforementioned certain blockchain node 120 may be referred to as the first blockchain node, and the other blockchain nodes 120 may be referred to as the second blockchain node. In general, the first blockchain node and the second blockchain node are different blockchain nodes. In some cases, the first blockchain node and the second blockchain node may also be the same blockchain node. In practical applications, they may be flexibly adjusted according to specific application scenarios.

[0053] It should be noted that in the specific implementation of this application, user-related data is involved. When the embodiments of this application are applied to specific products or technologies, it is necessary to obtain the permission or consent of the object, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions.

[0054] The following is a detailed description of various implementation details of the technical solution of the embodiment of the present application:

[0055] See also Figure 3 , Figure 3 FIG. 1 is a flowchart of a task processing method shown in an embodiment of the present application, and the task processing method can be executed by the first blockchain node. Figure 3 As shown, the task processing method at least includes S301 to S304, which are described in detail as follows:

[0056] S301, obtaining a transaction association request from a transaction initiator for transactions initiated by multiple decentralized applications.

[0057] In the embodiment of the present application, when the transaction initiator has a need to associate transactions initiated by multiple decentralized applications (i.e., has a need to initiate transactions in batches), it can generate an association request for transactions initiated by multiple decentralized applications, and send the association request to the first blockchain node. Accordingly, the first blockchain node receives the association request for transactions initiated by multiple decentralized applications sent by the transaction initiator.

[0058] In the embodiment of the present application, the association request refers to a request by the transaction initiator to indicate that transactions initiated by multiple (two or more, the same below) decentralized applications will be associated.

[0059] For example, the transaction initiator initiates transaction TX1 for decentralized application DApp1, initiates transaction TX2 for decentralized application DApp2, and initiates transaction TX3 for decentralized application DApp3; therefore, in order to batch initiate transactions TX1, TX2, and TX3, the transaction initiator can initiate association requests for transactions TX1, TX2, and TX3.

[0060] S302, based on the association request, the signature data corresponding to the multiple transactions are aggregated to obtain aggregate signature data.

[0061] In the embodiment of the present application, the first blockchain node obtains signature data corresponding to multiple transactions respectively, and then can aggregate the signature data corresponding to the multiple transactions respectively based on the association request to obtain aggregated signature data.

[0062] In the embodiment of the present application, the aggregated signature data refers to the signature data obtained by aggregating the signature data corresponding to multiple transactions.

[0063] For example, following the above example, the signature data sig1 of transaction TX1, the signature data sig2 of transaction TX2, and the signature data sig3 of transaction TX3 are aggregated to obtain the aggregated signature data signature group ; That is, (sig1, sig2, sig3) = signature group .

[0064] S303, generating transaction data of multiple transactions based on the aggregated signature data.

[0065] In the embodiment of the present application, the first blockchain node aggregates the signature data corresponding to the multiple transactions respectively to obtain aggregated signature data, and then generates transaction data of the multiple transactions based on the aggregated signature data.

[0066] For example, based on the above example, group Generate transaction data TX' of transaction TX1, transaction TX2, and transaction TX3; that is, (signature group )=TX′.

[0067] S304, sending the transaction data to the second blockchain node, so that the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

[0068] In the embodiment of the present application, the first blockchain node generates transaction data of multiple transactions, and then the transaction data of multiple transactions can be sent to the second blockchain node. Correspondingly, the second blockchain node receives the transaction data of multiple transactions sent by the first blockchain node, and then can call the aggregation verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregate signature data, and after the verification of the aggregate signature data is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, and each transaction is executed, and the execution result of each transaction is sent to the transaction initiator (the specific execution process of the second blockchain node is described below).

[0069] In the embodiment of the present application, after obtaining the association request from the transaction initiator for transactions initiated by multiple decentralized applications, the first blockchain node aggregates the signature data corresponding to the multiple transactions, and sends the transaction data of the multiple transactions generated based on the aggregated signature data to the second blockchain node, thereby providing strong support for the second blockchain node to realize batch execution of multiple transactions through the interaction between the smart contract corresponding to the smart contract account of the transaction initiator and other smart contracts (i.e., the aggregated signature verification smart contract and the decentralized application smart contract), thereby greatly improving the transaction processing efficiency.

[0070] In one embodiment of the present application, another transaction processing method is provided, which can be executed by the first blockchain node. Figure 4 As shown, the transaction processing method may include S401 to S403, S301, and S303 to S304.

[0071] S401 to S403 are described in detail as follows:

[0072] S401, based on the association request, obtaining a first private key pair used for the transaction initiator to communicate with each decentralized application; wherein the first private key pair includes a matching first private key and a first public key.

[0073] In the embodiment of the present application, the first private key pair refers to a private key pair used for the transaction initiator to communicate with the decentralized application, and the first private key pair includes a matching first private key and a first public key. It is understandable that in the embodiment of the present application, there is a corresponding first private key pair for the transaction initiator to communicate with each decentralized application.

[0074] For example, please refer to Table 1, which is an example of obtaining a first private key pair.

[0075] Decentralized Applications First private key pair First public key First private key <![CDATA[DApp1]]> <![CDATA[[Public1,Prikey1]]]> <![CDATA[Public1]]> <![CDATA[Prikey1]]> <![CDATA[DApp2]]> <![CDATA[[Public2,Prikey2]]]> <![CDATA[Public2]]> <![CDATA[Prikey2]]> <![CDATA[DApp3]]> <![CDATA[[Public3,Prikey3]]]> <![CDATA[Public3]]> <![CDATA[Prikey3]]>

[0076] Table 1

[0077] As shown in Table 1, the first private key pair for the transaction initiator to communicate with the decentralized application DApp1 is [Public1, Prikey1], where Public1 is the first public key and Prikey1 is the first private key; the first private key pair for the transaction initiator to communicate with the decentralized application DApp2 is [Public2, Prikey2], where Public2 is the first public key and Prikey2 is the first private key; the first private key pair for the transaction initiator to communicate with the decentralized application DApp3 is [Public3, Prikey3], where Public3 is the first public key and Prikey3 is the first private key.

[0078] S402: For each transaction, the first private key of the transaction is used to encrypt the identification information and calling parameters of the decentralized application smart contract to be called by the transaction, and the first public key corresponding to the decentralized application of the transaction to obtain the signature data of the transaction.

[0079] In the embodiment of the present application, the first blockchain node obtains the first private key pair for the transaction initiator to communicate with each decentralized application, and then can use the first private key of each transaction to encrypt the identification information and call parameters of the decentralized application smart contract to be called, as well as the first public key of each transaction to obtain the signature data of each transaction.

[0080] It can be understood that since the transaction is initiated based on a decentralized application, for the sake of convenience of description, in the embodiment of the present application, the first private key corresponding to the decentralized application of the transaction is referred to as the first private key of the transaction, and the first public key corresponding to the decentralized application of the transaction is referred to as the first public key of the transaction.

[0081] In the embodiments of the present application, the decentralized application smart contract refers to a smart contract that matches the decentralized application of the transaction.

[0082] For example, following the above example, for transaction TX1, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp1; for transaction TX2, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp2; for transaction TX3, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp3.

[0083] In the embodiments of the present application, the identification information of the decentralized application smart contract refers to information used to uniquely identify the decentralized application smart contract, including but not limited to the address of the decentralized application smart contract, the serial number of the decentralized application smart contract, and the name of the decentralized application smart contract.

[0084] In the embodiment of the present application, the calling parameters of the decentralized application smart contract refer to the parameters used to call the decentralized application smart contract.

[0085] For example, please refer to Table 2, which is an example of obtaining signature data of a transaction.

[0086]

[0087]

[0088] Table 2

[0089] As shown in Table 2, where:

[0090] For transaction TX1, the first private key Prikey1 of transaction TX1 is used to encrypt the identification information contract1 of the decentralized application DApp1 smart contract to be called, the call parameter calldata1, and the first public key Public1 of transaction TX1 to obtain the signature data sig1 of transaction TX1; that is, Prikey1(contract1, calldata1, Public1)=sig1.

[0091] For transaction TX2, the first private key Prikey2 of transaction TX2 is used to encrypt the identification information contract2 of the decentralized application DApp2 smart contract to be called, the call parameter calldata2, and the first public key Public2 of transaction TX2 to obtain the signature data sig2 of transaction TX2; that is, Prikey2(contract2, calldata2, Public2)=sig2.

[0092] For transaction TX3, the first private key Prikey3 of transaction TX3 is used to encrypt the identification information contract3 of the decentralized application DApp3 smart contract to be called, the call parameter calldata3, and the first public key Public3 of transaction TX3 to obtain the signature data sig3 of transaction TX3; that is, Prikey3(contract3, calldata3, Public1)=sig3.

[0093] It should be clear that the above is only an example of obtaining the signature data of the transaction. In actual applications, the signature data of the transaction can be flexibly adjusted according to the specific application scenario, such as increasing or decreasing the corresponding parameters to obtain the signature data of the transaction.

[0094] S403, aggregating the signature data corresponding to the multiple transactions to obtain aggregated signature data.

[0095] In the embodiment of the present application, the first blockchain node obtains signature data corresponding to multiple transactions respectively, and then can aggregate the signature data corresponding to the multiple transactions respectively to obtain aggregated signature data.

[0096] In one embodiment of the present application, the process of aggregating signature data corresponding to multiple transactions to obtain aggregate signature data in S403 may include:

[0097] Generate a random number for aggregate signature;

[0098] Use random numbers to aggregate the signature data corresponding to multiple transactions to obtain aggregated signature data.

[0099] That is, in the optional embodiment, the first blockchain node first generates a random number for an aggregate signature, and then uses the generated random number to aggregate the signature data corresponding to multiple transactions, thereby obtaining aggregate signature data.

[0100] Optionally, the process of generating a random number for the aggregate signature may include: generating a random number for the aggregate signature using a random number generation function in the aggregate signature algorithm.

[0101] For example, the random number generation function BLS_RANDOM in the aggregate signature algorithm (Bohen-Lynn-Shacham, BLS) is used to generate the random number Random for the aggregate signature. group ; That is, BLS_RANDOM() = Random group .

[0102] Optionally, using a random number to aggregating signature data corresponding to multiple transactions to obtain aggregate signature data may include: using the generated random number and a signature aggregation function in the aggregate signature algorithm to aggregating signature data corresponding to multiple transactions to obtain aggregate signature data.

[0103] For example, following the above example, using the generated random number Random group The signature aggregation function BLS_AGGRAGET_SIGNATURE in the aggregate signature algorithm aggregates the signature data sig1 of transaction TX1, the signature data sig2 of transaction TX2, and the signature data sig3 of transaction TX3 to obtain the aggregate signature data signature group ;Right now

[0104]

[0105] Exemplarily, the aggregate signature algorithm includes but is not limited to the Herum BLS implementation library, the Chia BLS implementation library, etc. In practical applications, the implementation library of the aggregate signature algorithm can be flexibly adjusted according to the specific application scenario.

[0106] It should be noted that Figure 4 For detailed description of S301, S303 to S304, please refer to Figure 3 S301, S303 to S304 shown are not described in detail here.

[0107] In the embodiment of the present application, the first blockchain node uses the first private key of the transaction to encrypt the identification information and calling parameters of the decentralized application smart contract to be called by the transaction, as well as the first public key corresponding to the decentralized application of the transaction, so as to quickly and accurately obtain the signature data of the transaction, thereby improving the efficiency and accuracy of obtaining the aggregated signature data.

[0108] In one embodiment of the present application, another transaction processing method is provided, which can be executed by the first blockchain node. Figure 5 As shown, the transaction processing method may include S501 to S502, S301 to S302, and S304.

[0109] S501 to S502 are described in detail as follows:

[0110] S501, obtaining a second private key pair used for communication between the transaction initiator and the smart contract account; wherein the second private key pair includes a matching second private key and a second public key.

[0111] In the embodiment of the present application, the second private key pair refers to a private key pair used for communication between the transaction initiator and the smart contract account, and the second private key pair includes a matching second private key and a second public key.

[0112] For example, please refer to Table 3, which is an example of obtaining a second private key pair.

[0113] Smart contract account of the transaction initiator Second private key pair Second public key Second private key <![CDATA[ContractWalet1]]> <![CDATA[[Public U ,Prikey U ]]]> <![CDATA[Public U ]]> <![CDATA[Prikey U ]]>

[0114] Table 3

[0115] As shown in Table 3, the smart contract account of the transaction initiator is ContractWallet1, and the second private key pair for the smart contract account ContractWallet1 is [Public U ,Prikey U ], where Public U is the second public key, Prikey U The second private key.

[0116] It can be understood that an account refers to an address used to characterize the identity of the transaction initiator, which can be used to store the assets of the transaction initiator, similar to a wallet. In a blockchain network, there are usually two types of accounts. One is an externally owned account (EOA), which is an address controlled by a private key. This address can be used to store assets. The transaction initiator can initiate transactions for assets in the account based on the private key; the other is a smart contract account, which is a special smart contract, also known as a contract wallet. The smart contract address can be used to store assets, and the controller of the account can initiate transactions for assets stored in the account.

[0117] S502: Use the second private key to encrypt the aggregate signature data and the second public key to obtain transaction data of multiple transactions.

[0118] In the embodiment of the present application, the first blockchain node obtains the second private key pair that communicates with the smart contract account of the transaction initiator, and then can use the second private key to encrypt the aggregate signature data and the second public key to obtain transaction data of multiple transactions.

[0119] For example, following the above example, using the second private key Prikey U Aggregate signature data signature group and the second public key Public U Encrypt to obtain transaction data TX′ of transaction TX1, transaction TX2, and transaction TX3; namely, Prikey U (signature group , Public U )=TX′.

[0120] In one embodiment of the present application, the process of encrypting the aggregate signature data and the second public key using the second private key in S502 to obtain transaction data of multiple transactions may include:

[0121] Obtaining a first private key pair used for the transaction initiator to communicate with each decentralized application; wherein the first private key pair includes a matching first private key and a first public key;

[0122] Aggregating multiple first public keys to obtain an aggregated public key;

[0123] The aggregate signature data, the second public key, and the aggregate public key are encrypted using the second private key to obtain transaction data of multiple transactions.

[0124] That is, in an optional embodiment, the first blockchain node first obtains a first private key pair for communicating with a decentralized application for each transaction, wherein the first private key pair includes a matching first private key and a first public key, and then aggregates multiple first public keys to obtain an aggregated public key, and uses the second private key to encrypt the aggregated signature data, the second public key, and the aggregated public key, thereby obtaining transaction data for multiple transactions.

[0125] Among them, in the optional embodiment, the aggregated public key refers to a public key obtained by aggregating multiple first public keys.

[0126] For example, following the above example, the first public key of decentralized application DApp1 is Public1, the first public key of decentralized application DApp2 is Public2, and the first public key of decentralized application DApp3 is Public3. Then the first public key Public1 of decentralized application DApp1, the first public key Public2 of decentralized application DApp2, and the first public key Public3 of decentralized application DApp3 are aggregated to obtain the aggregated public key Public1. group .

[0127] Optionally, the process of aggregating multiple first public keys to obtain an aggregated public key may include: aggregating the multiple first public keys using a public key aggregation function in an aggregate signature algorithm to obtain an aggregated public key.

[0128] For example, following the above example, the public key aggregation function BLS_AGGRAGET_KEY in the aggregate signature algorithm is used to aggregate the first public key Public1 of the decentralized application DApp1, the first public key Public2 of the decentralized application DApp2, and the first public key Public3 of the decentralized application DApp3 to obtain the aggregated public key Public group ;Right now

[0129] BLS_AGGRAGET_KEY(Public1,Public2,Public3)=Public group .

[0130] Among them, in an optional embodiment, the second private key is used to encrypt the aggregate signature data, the second public key, and the aggregate public key to obtain transaction data of multiple transactions.

[0131] For example, following the above example, using the second private key Prikey U Aggregate signature data signature group 、Second public key Public U , and the aggregate public key Public group Encrypt to obtain transaction data TX′ of transaction TX1, transaction TX2, and transaction TX3; namely, Prikey U (sigmature group , Public U , Public group )=TX′.

[0132] In one embodiment of the present application, the process of encrypting the aggregate signature data, the second public key, and the aggregate public key using the second private key to obtain transaction data of multiple transactions may include:

[0133] For each transaction, the first private key of the transaction is used to encrypt the identification information, call parameters, and the first public key of the decentralized application smart contract to be called by the transaction to obtain the transaction operation data;

[0134] The second private key is used to encrypt the aggregate signature data, the second public key, the aggregate public key, and the operation data corresponding to the multiple transactions to obtain the transaction data of the multiple transactions.

[0135] That is, in the optional embodiment, the first blockchain node uses the first private key of each transaction to encrypt the identification information, call parameters, and the first public key of the decentralized application smart contract to be called for each transaction, thereby obtaining the operation data of each transaction.

[0136] For example, please refer to Table 4, which is an example of obtaining transaction operation data.

[0137]

[0138] Table 4

[0139] As shown in Table 4, where:

[0140] For transaction TX1, the first private key Orujey1 of transaction TX1 is used to encrypt the identification information contract1, the call parameter calldata1, and the first public key Public1 of the decentralized application DApp1 smart contract to be called by transaction TX1 to obtain the operation data Action1 of transaction TX1; that is, Prikey1(contract1, calldata1, Public1) = Action1.

[0141] For transaction TX2, the first private key Prikey2 of transaction TX2 is used to encrypt the identification information contract2 of the decentralized application DApp2 smart contract to be called by transaction TX2, the call parameter calldata2, and the first public key Public2 of transaction TX2 to obtain the operation data Action2 of transaction TX2; that is, Prikey2(contract2, calldata2, Public2)=Action2.

[0142] For transaction TX3, the first private key Prikey3 of transaction TX3 is used to encrypt the identification information contract3 of the decentralized application DApp3 smart contract to be called by transaction TX3, the call parameter calldata3, and the first public key Public3 of transaction TX3 to obtain the operation data Action3 of transaction TX3; that is, Prikey3(contract3, calldata3, Public3)=Action3.

[0143] Optionally, the process of using the first private key of the transaction to encrypt the identification information, calling parameters, and the first public key of the decentralized application smart contract to be called by the transaction to obtain the operation data of the transaction may include: using the first private key of the transaction to encrypt the identification information, calling parameters, the first public key of the transaction, and the signature data of the transaction to obtain the operation data of the transaction.

[0144] That is, in the optional embodiment, the first blockchain node uses the first private key of each transaction to encrypt the identification information, calling parameters, the first public key of each transaction, and the signature data of each transaction of the decentralized application smart contract to be called for each transaction, thereby obtaining the operation data of each transaction.

[0145] For example, please refer to Table 5, which is an example of obtaining transaction operation data.

[0146]

[0147] Table 5

[0148] As shown in Table 5, where:

[0149] For transaction TX1, the first private key Prikey1 of transaction TX1 is used to encrypt the identification information contract1 of the decentralized application DApp1 smart contract to be called by transaction TX1, the call parameter calldata1, the first public key Public1 of transaction TX1, and the signature data sig1 to obtain the operation data Action1 of transaction TX1; that is, Prikey1(contract1, calldata1, Public1, sig1) = Action1.

[0150] For transaction TX2, the first private key Prikey2 of transaction TX2 is used to encrypt the identification information contract2 of the decentralized application DApp2 smart contract to be called by transaction TX2, the call parameter calldata2, the first public key Public2 of transaction TX2, and the signature data sig2 to obtain the operation data Action2 of transaction TX2; that is, Prikey2(contract2, calldata2, Public2, sig2) = Action2.

[0151] For transaction TX3, the first private key Prikey3 of transaction TX3 is used to encrypt the identification information contract3 of the decentralized application DApp3 smart contract to be called by transaction TX3, the calling parameter calldata3, the first public key Public3 of transaction TX3, and the signature data sig3 to obtain the operation data Action3 of transaction TX3; that is, Prikey3(contract3, calldata3, Public3, sig3) = Action3.

[0152] It should be clear that the above is only an example of obtaining transaction operation data. In actual applications, the transaction operation data can be flexibly adjusted according to specific application scenarios, such as increasing or decreasing corresponding parameters to obtain transaction operation data.

[0153] Among them, in an optional embodiment, the operation data of each transaction is obtained, and then the second private key can be used to encrypt the aggregate signature data, the second public key, the aggregate public key, and the operation data corresponding to multiple transactions to obtain the transaction data of multiple transactions.

[0154] For example, following the above example, using the second private key Prikey U Aggregate signature data signature group 、Second public key Public U , aggregate public key Public group , the operation data Action1 of transaction TX1, the operation data Action2 of transaction TX2, and the operation data Action3 of transaction TX3 are encrypted to obtain the transaction data TX′ of transaction TX1, transaction TX2, and transaction TX3; that is, Prikey U ([Action1, Action2, Action3], signature group , Public U ,Public group )=TX′.

[0155] It should be clear that the above is only an example of obtaining transaction data. In actual applications, the transaction data can be flexibly adjusted according to specific application scenarios, such as increasing or decreasing corresponding parameters to obtain transaction data.

[0156] It should be noted that Figure 5 For detailed description of S301 to S302 and S304, please refer to Figure 3 S301 to S302 and S304 shown are not described in detail here.

[0157] In the embodiment of the present application, the first blockchain node uses the second private key pair used for communication between the transaction initiator and the smart contract account to encrypt the aggregate signature data and the second public key, so as to quickly and accurately obtain the transaction data of multiple transactions.

[0158] In one embodiment of the present application, another transaction processing method is provided, which can be executed by the first blockchain node. Figure 6 As shown, the transaction processing method may further include S601 to S602 before S301.

[0159] S601 to S602 are described in detail as follows:

[0160] S601: If a creation request for a smart contract account is received from the transaction initiator, a smart contract account corresponding to the transaction initiator is created based on the creation request, and a creation result is generated.

[0161] In the embodiment of the present application, when the transaction initiator has a need to create a smart contract account, it can generate a creation request for the smart contract account and send the creation request to the first blockchain node. Correspondingly, the first blockchain node receives the creation request for the smart contract account sent by the transaction initiator, and creates the smart contract account corresponding to the transaction initiator based on the creation request, and generates a creation result.

[0162] In the embodiment of the present application, a creation request refers to a request by a transaction initiator to instruct the creation of a smart contract account of the transaction initiator.

[0163] S602, sending the creation result to the transaction initiator, so that the transaction initiator determines the creation status of the smart contract account based on the creation result.

[0164] In the embodiment of the present application, the first blockchain node creates a smart contract account corresponding to the transaction initiator based on the creation request and generates a creation result, and then the creation result can be sent to the transaction initiator. Accordingly, the transaction initiator receives the creation result sent by the first blockchain node, and can then determine / understand / clarify the creation of the smart contract account based on the creation result.

[0165] In one embodiment of the present application, the process of creating a smart contract account corresponding to the transaction initiator based on the creation request and generating a creation result in S601 may include:

[0166] Registering the transaction initiator in the blockchain network based on the creation request to create a smart contract account of the transaction initiator;

[0167] Generate a first private key pair for the transaction initiator to communicate with each decentralized application, and generate a second private key pair for the transaction initiator to communicate with the created smart contract account;

[0168] The public key in the generated private key pair is stored in the smart contract corresponding to the created smart contract account, and the creation result is generated based on the identification information of the created smart contract account and the private key in the generated private key pair.

[0169] That is, in an optional embodiment, the first blockchain node registers the transaction initiator in the blockchain network based on a creation request to create a smart contract account for the transaction initiator, and generates a first private key pair for the transaction initiator to communicate with each decentralized application, and generates a second private key pair for the transaction initiator to communicate with the created smart contract account, and then stores the public key in the generated private key pair in the smart contract corresponding to the created smart contract account, and generates a creation result based on the identification information of the created smart contract account and the private key in the generated private key pair.

[0170] Among them, in an optional embodiment, the transaction initiator is registered in the blockchain network, thereby creating a smart contract account corresponding to the transaction initiator.

[0171] Among them, in an optional embodiment, after creating a smart contract account corresponding to the transaction initiator, a first private key pair for communicating with each decentralized application can be generated for the transaction initiator, and a second private key pair for communicating with the created smart contract account can be generated for the transaction initiator.

[0172] For example, see Table 6, which is an example of generating a private key pair for a transaction initiator.

[0173]

[0174] Table 6

[0175] Following the above example, the transaction initiator generates a first private key pair [Public1, Prikey1] for communicating with the decentralized application DApp1, a first private key pair [Public2, Prikey2] for communicating with the decentralized application DApp2, a first private key pair [Public3, Prikey3] for communicating with the decentralized application DApp3, and a second private key pair [Public1, Prikey1] for communicating with the created smart contract account. U ,Prikey U ].

[0176] Among them, the private key pair generated in the optional embodiment refers to the first private key pair and the second private key pair. In the optional embodiment, the public key in the generated private key pair is stored in the smart contract corresponding to the created smart contract account, that is, the first public key in the first private key pair and the second public key in the second private key pair are stored in the smart contract corresponding to the created smart contract account.

[0177] Optionally, the process of storing the public key of the generated private key pair in the smart contract corresponding to the created smart contract account may include: storing the first public key of the first private key pair in the first state variable of the smart contract corresponding to the created smart contract account, and storing the second public key of the second private key pair in the second state variable of the smart contract corresponding to the created smart contract account.

[0178] For example, following the above example, the first public key Public1 in the first private key pair [Public1, Prikey1], the first public key Public2 in the first private key pair [Public2, Prikey2], and the first public key Public3 in the first private key pair [Public3, Prikey3] are stored in the first state variable Value wallet and the second private key pair [Public U ,Prikey U The second public key in ] U Stored in the second state variable PubKeys.

[0179] Among them, the identification information of the smart contract account created in the optional embodiment refers to the information used to uniquely identify the created smart contract account, which includes but is not limited to the address of the created smart contract account, the serial number of the created smart contract account, and the name of the created smart contract account, etc.

[0180] Optionally, after the process of generating a creation result based on the identification information of the created smart contract account and the private key in the generated private key pair, it may also include: receiving a new request sent by the transaction initiator; wherein the new request includes the identification information corresponding to the decentralized application to be added; based on the new request, generating a first private key pair for the transaction initiator that matches the identification information corresponding to the decentralized application to be added; storing the first public key in the generated first private key pair in the smart contract corresponding to the smart contract account, and sending the first private key in the first private key pair to the transaction initiator.

[0181] That is, in an optional embodiment, after creating a smart contract account corresponding to the transaction initiator, if the transaction initiator needs to initiate a transaction for a newly added decentralized application, it can first send a new request to the first blockchain node. Accordingly, after receiving the new request, the first blockchain node generates a first private key pair that matches the decentralized application to be added for the transaction initiator, stores the first public key in the first private key pair in the smart contract corresponding to the smart contract account, and sends the first private key in the first private key pair to the transaction initiator.

[0182] In other words, the first private key pair used for the transaction initiator to communicate with the decentralized application needs to be allocated to the transaction initiator first. Then, when the transaction initiator initiates a transaction for the decentralized application, the first private key of the allocated first private key pair needs to be used as a transaction credential to facilitate the second blockchain node to perform verification based on the first public key of the first private key pair.

[0183] For example, see Table 7, which is an example of generating a private key pair for a transaction initiator.

[0184]

[0185] Table 7

[0186] Continuing with the above example, a first private key pair [Public4, Prikey4] is generated for the transaction initiator to communicate with the decentralized application DApp4, a first private key pair [Public5, Prikey5] is generated for the transaction initiator to communicate with the decentralized application DApp5, and a first private key pair [Public6, Prikey6] is generated for the transaction initiator to communicate with the decentralized application DApp6.

[0187] It should be noted that Figure 6 For detailed description of S301 to S304, please refer to Figure 3 S301 to S304 shown are not described in detail here.

[0188] In the embodiment of the present application, the first blockchain node can easily and quickly create a smart contract account corresponding to the transaction initiator, providing strong support for calling other smart contracts (i.e., aggregated signature verification smart contracts and decentralized application smart contracts) through the smart contract of the smart contract account.

[0189] It should be noted that Figures 2 to 6 The illustrated embodiment is described from the perspective of the first blockchain node. Figures 7 to 9 The implementation details of the technical solution of the embodiment of the present application are elaborated in detail from the perspective of the second blockchain node:

[0190] See also Figure 7 , Figure 7 FIG. 1 is a flow chart of a transaction processing method shown in an embodiment of the present application, and the transaction processing method can be executed by a second blockchain node. Figure 7 As shown, the transaction processing method at least includes S701 to S704, which are described in detail as follows:

[0191] S701, obtaining transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions.

[0192] As described in the above embodiment, the first blockchain node generates transaction data of transactions initiated by the transaction initiator for multiple decentralized applications, and sends the transaction data to the second blockchain node (for the specific execution process of the first blockchain node, please refer to the above description). Correspondingly, the second blockchain node can receive the transaction data sent by the first blockchain node.

[0193] In the embodiment of the present application, the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions.

[0194] For example, following the above example, transaction data TX′ includes the aggregated signature data signature obtained by aggregating the signature data sig1 of transaction TX1, the signature data sig2 of transaction TX2, and the signature data sig3 of transaction TX3. group ; That is, TX′=(signature group ).

[0195] In one embodiment of the present application, the process of obtaining transaction data of transactions initiated by the transaction initiator for multiple decentralized applications in S701 may include:

[0196] Sending a transaction data acquisition request to the first blockchain node, so that the first blockchain node acquires the generated transaction data based on the transaction data acquisition request;

[0197] Receive transaction data sent by the first blockchain node.

[0198] That is, in an optional embodiment, the second blockchain node sends a transaction data acquisition request to the first blockchain node. Accordingly, the first blockchain node receives the transaction data acquisition request sent by the second blockchain node, and then obtains the generated transaction data based on the transaction data acquisition request, and sends the transaction data to the second blockchain node. Accordingly, the second blockchain node receives the transaction data sent by the first blockchain node.

[0199] Among them, in the optional embodiment, the transaction data acquisition request is used to instruct to obtain transaction data.

[0200] It can be understood that the aforementioned embodiments introduce that the first blockchain node passively sends transaction data to the second blockchain node. In other embodiments, the first blockchain node can actively send transaction data to the second blockchain node, that is, the first blockchain node generates transaction data, and then can send the transaction data to the second blockchain node according to preset sending rules / strategies (such as timed sending or transaction data reaches a preset amount, etc.). Accordingly, the second blockchain node receives the transaction data sent by the first blockchain node.

[0201] S702, based on the smart contract corresponding to the smart contract account of the transaction initiator, the aggregated signature verification smart contract is called to verify the aggregated signature data.

[0202] In the embodiment of the present application, the second blockchain node obtains transaction data containing aggregated signature data, and then can call the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data.

[0203] The smart contract corresponding to the smart contract account in the embodiment of the present application refers to the smart contract that matches the smart contract account, where the smart contract account has been introduced above and will not be repeated here.

[0204] In the embodiment of the present application, the aggregated signature verification smart contract refers to an aggregated signature verification in the form of a smart contract. When it is called, it can realize the function of aggregated signature verification. Aggregate signature verification is a variant signature scheme used to aggregate any multiple signatures into one signature. It can merge the signatures of each participant in a multi-signature transaction into one signature. The entire merging process is invisible, and the signature before the merger cannot be derived from the merged signature. Only one verification is required during verification.

[0205] That is, in the embodiment of the present application, by implementing the aggregated signature verification in the form of a smart contract, the smart contract corresponding to the smart contract account can call the aggregated signature verification smart contract, thereby completing the verification of the aggregated signature data simply and accurately. In addition, the implementation of the aggregated signature verification in the form of a smart contract has high flexibility and scalability. For example, according to business needs, it involves the use of different aggregated signature verifications. At this time, it is only necessary to generate multiple aggregated signature verification smart contracts corresponding to the aggregated signature verification algorithms, and make corresponding calls during business processing.

[0206] In one embodiment of the present application, the process of calling the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator in S702 to verify the aggregated signature data may include:

[0207] Obtain a smart contract account that matches the identification information of the transaction initiator;

[0208] Call the smart contract corresponding to the obtained smart contract account, and call the aggregated signature verification smart contract through the smart contract corresponding to the called smart contract account to verify the aggregated signature data.

[0209] That is, in the optional embodiment, the second blockchain node obtains a smart contract account that matches the identification information of the transaction initiator, and then calls the smart contract corresponding to the obtained smart contract account, and calls the aggregate signature verification smart contract through the smart contract corresponding to the called smart contract account, thereby realizing the verification of the aggregate signature data.

[0210] S703: If the verification of the aggregate signature data is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, each transaction is executed, and the execution result of each transaction is obtained.

[0211] In the embodiment of the present application, if the second blockchain node detects that the verification of the aggregated signature data has passed, the decentralized application smart contract of each transaction can be called based on the smart contract corresponding to the smart contract account, each transaction can be executed, and the execution result of each transaction can be obtained.

[0212] In the embodiments of the present application, the decentralized application smart contract refers to a smart contract that matches the decentralized application of the transaction.

[0213] For example, following the above example, for transaction TX1, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp1; for transaction TX2, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp2; for transaction TX3, the decentralized application smart contract to be called is the smart contract that matches the decentralized application DApp3.

[0214] In the embodiment of the present application, if the second blockchain node detects that the verification of the aggregated signature data has passed, it indicates that the transactions initiated by the transaction initiator for multiple decentralized applications (i.e., multiple transactions) are trustworthy and there is no malicious behavior; therefore, at this time, the decentralized application smart contract of each transaction can be called based on the smart contract corresponding to the smart contract account, and each transaction can be executed to obtain the execution result of each transaction.

[0215] In one embodiment of the present application, the process of calling the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account in S703, executing each transaction, and obtaining the execution result of each transaction may include:

[0216] Call the smart contract corresponding to the smart contract account, and call the decentralized application smart contract of each transaction through the smart contract corresponding to the called smart contract account, execute each transaction, and obtain the execution result of each transaction.

[0217] That is, in the optional embodiment, the second blockchain node executes each transaction by calling the smart contract corresponding to the smart contract account, and uses the smart contract corresponding to the called smart contract account to execute the decentralized application smart contract of each transaction to obtain the execution result of each transaction.

[0218] For example, please refer to Table 8 for an example of the execution result of a transaction.

[0219]

[0220] Table 8

[0221] As shown in Table 8, the smart contract corresponding to the smart contract account is called first, and then the decentralized application DApp1 smart contract of transaction TX1 is called through the smart contract corresponding to the smart contract account, and transaction TX1 is executed to obtain the execution result result1 of transaction TX1; the decentralized application DApp2 smart contract of transaction TX2 is called through the smart contract corresponding to the smart contract account, and transaction TX2 is executed to obtain the execution result result2 of transaction TX2; the decentralized application DApp3 smart contract of transaction TX3 is called through the smart contract corresponding to the smart contract account, and transaction TX3 is executed to obtain the execution result result3 of transaction TX3.

[0222] S704, sending the execution result of each transaction to the transaction initiator.

[0223] In the embodiment of the present application, the second blockchain node obtains the execution result of each transaction, and then can send the execution result of each transaction to the transaction initiator. Accordingly, the transaction initiator receives the execution result of each transaction sent by the second blockchain node, and can then determine / understand / clarify the execution status of each transaction based on the execution result of each transaction.

[0224] For example, following the above example, the second blockchain node obtains the execution result result1 of transaction TX1, the execution result result2 of transaction TX2, and the execution result result3 of transaction TX3. At this time, the execution result result1 of transaction TX1, the execution result result2 of transaction TX2, and the execution result result3 of transaction TX3 can be sent to the transaction initiator; accordingly, the transaction initiator receives the execution result result1 of transaction TX1, the execution result result2 of transaction TX2, and the execution result result3 of transaction TX3 sent by the second blockchain node.

[0225] In one embodiment of the present application, the process of sending the execution result of each transaction to the transaction initiator in S704 may include: combining the execution results of multiple transactions to obtain combined data, and sending the combined data to the transaction initiator.

[0226] That is, in the optional embodiment, the second blockchain node combines the execution results of multiple transactions and sends them to the transaction initiator. In this way, by packaging the execution results of multiple transactions and sending them to the transaction initiator, the failure / error in sending the execution results of a certain transaction / some transactions due to network or other reasons can be avoided, thereby improving the accuracy of sending the execution results of multiple transactions.

[0227] In one embodiment of the present application, the process of sending the execution result of each transaction to the transaction initiator in S704 may include: sending the execution results of multiple transactions to the transaction initiator respectively.

[0228] That is, in the optional embodiment, the second blockchain node sends the execution results of the multiple transactions to the transaction initiator respectively. In this way, by sending the execution results of the multiple transactions to the transaction initiator respectively, the execution results of the multiple transactions can be sent to the transaction initiator quickly, thereby improving the sending efficiency of the execution results of the multiple transactions.

[0229] In the embodiment of the present application, the second blockchain node realizes batch execution of multiple transactions and improves transaction processing efficiency through the interaction between the smart contract corresponding to the smart contract account of the transaction initiator and other smart contracts (i.e., the aggregated signature verification smart contract and the decentralized application smart contract); at the same time, the smart contract corresponding to the smart contract account is used to call other smart contracts, which simplifies the implementation process and eliminates the need to deploy other smart contracts separately. The aggregated signature verification function is integrated into the smart contract, and the aggregated signature verification can be achieved through calls between smart contracts, which has high flexibility and scalability.

[0230] In one embodiment of the present application, another transaction processing method is provided, which can be executed by a second blockchain node. Figure 8 As shown, the transaction processing method includes S801, S701, S703 to S704.

[0231] In the embodiment of the present application, the transaction data also includes an aggregated public key obtained by aggregating the first public keys in multiple first private key pairs. As described in the above embodiment, the first private key pair is used for the transaction initiator to communicate with the decentralized application, and the first private key pair includes a matching first private key and a first public key.

[0232] For example, following the above example, the transaction data TX′ also includes the aggregated public key Public1 obtained by aggregating the first public key Public1 of the decentralized application DApp1, the first public key Public2 of the decentralized application DApp2, and the first public key Public3 of the decentralized application DApp3. group ; That is, TX′=(signature group , Pubic group ).

[0233] S801 is described in detail as follows:

[0234] S801, calling the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator, so as to verify the aggregated signature data using the aggregated public key through the aggregated signature verification smart contract.

[0235] In the embodiment of the present application, the second blockchain node obtains the transaction data, and then can call the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator, so as to verify the aggregated signature data using the aggregated public key through the aggregated signature verification smart contract.

[0236] For example, following the above example, the aggregated public key Public group Aggregate signature data signature group to verify.

[0237] In one embodiment of the present application, the transaction data also includes the operation data of each transaction. As described in the above embodiment, the operation data of each transaction is obtained by encrypting the identification information, call parameters, and the first public key of each transaction of the decentralized application smart contract to be called by each transaction using the first private key of each transaction.

[0238] For example, following the above example, the transaction data TX′ also includes the operation data Action1 of transaction TX1, the operation data Action2 of transaction TX2, and the operation data Action3 of transaction TX3; that is, TX′=([Action1, Action2, Action3], signature group ,Public grpup ).

[0239] Accordingly, the process of verifying the aggregated signature data using the aggregated public key through the aggregated signature verification smart contract in S801 may include:

[0240] For each transaction, obtain the first public key of the transaction from the smart contract of the smart contract account, and use the obtained first public key to decrypt the operation data of the transaction to obtain the first public key contained in the operation data of the transaction;

[0241] If the first public key decrypted by each transaction matches the first public key obtained, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

[0242] That is, in the optional embodiment, the second blockchain node obtains the first public key of each transaction from the smart contract of the smart contract account, and uses the first public key of each transaction obtained to decrypt the operation data of the transaction to obtain the first public key contained in the operation data of the transaction. If the first public key decrypted for each transaction matches the first public key obtained, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

[0243] In other words, the prerequisite for verifying the aggregate signature data using the aggregate public key through the aggregate signature verification smart contract is that the first public key decrypted for each transaction matches the first public key obtained.

[0244] For example, following the above example:

[0245] For transaction TX1, the first public key Public1 of transaction TX1 is obtained from the smart contract of the smart contract account, and the operation data Action1 of transaction TX1 is decrypted using the obtained first public key Public1 to obtain the first public key Public1 contained in the operation data Action1 of transaction TX1.

[0246] For transaction TX2, the first public key Public2 of transaction TX2 is obtained from the smart contract of the smart contract account, and the operation data Action2 of transaction TX2 is decrypted using the obtained first public key Public2 to obtain the first public key Public2 contained in the operation data Action2 of transaction TX2.

[0247] For transaction TX3, the first public key Public3 of transaction TX3 is obtained from the smart contract of the smart contract account, and the operation data Action3 of transaction TX3 is decrypted using the obtained first public key Public3 to obtain the first public key Public3 contained in the operation data Action3 of transaction TX3.

[0248] If the first public key Public1 decrypted for transaction TX1 matches the first public key Public1 obtained, the first public key Public2 decrypted for transaction TX2 matches the first public key Public2 obtained, and the first public key Public3 decrypted for transaction TX3 matches the first public key Public3 obtained, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

[0249] In one embodiment of the present application, the transaction data also includes the second public key in the second private key pair. As described in the above embodiment, the transaction data is encrypted using the second private key in the second private key pair of the transaction initiator, the second private key pair is used for the transaction initiator to communicate with the smart contract account, and the second private key pair includes the matching second private key and the second public key.

[0250] For example, following the above example, the transaction data TX′ also includes the second public key Public in the second private key pair. U , and the transaction data TX′ is the second private key Prikey sent by the first blockchain node based on the transaction initiator U Encrypted; that is, TX′=Prikey U ([Action1, Action2, Action3], signature group ,Public U ,Public group ).

[0251] Accordingly, for each transaction, the process of obtaining the first public key of the transaction from the smart contract of the smart contract account may include:

[0252] Obtain the second public key of the transaction initiator from the smart contract of the smart contract account;

[0253] Decrypting the transaction data using the acquired second public key to obtain the second public key contained in the transaction data;

[0254] If the decrypted second public key matches the obtained second public key, for each transaction, the first public key of the transaction is obtained from the smart contract of the smart contract account.

[0255] That is, in an optional embodiment, the first blockchain node obtains the second public key of the transaction initiator from the smart contract of the smart contract account; then uses the obtained second public key to decrypt the transaction data to obtain the second public key contained in the transaction data; then the decrypted second public key is matched with the obtained second public key, and for each transaction, the first public key of the transaction is obtained from the smart contract of the smart contract account.

[0256] In short, for each transaction, the prerequisite for obtaining the first public key of the transaction from the smart contract of the smart contract account is that the decrypted second public key matches the obtained second public key.

[0257] For example, following the previous example, obtain the second public key Public from the smart contract of the smart contract account U , and based on the obtained second public key Public U The transaction data TX′ is decrypted to obtain the second public key public U , if the obtained second public key public U and the decrypted second public key public U If they match, then for each transaction, the first public key can be extracted from the transaction operation data, and the first public key corresponding to the decentralized application of the transaction can be obtained from the smart contract of the smart contract account.

[0258] It can be understood that since the transaction initiator communicates with the smart contract account using a second private key pair, for the sake of convenience of description, in the embodiment of the present application, the second private key for communication between the transaction initiator and the smart contract account is referred to as the second private key of the transaction initiator, and the second public key for communication between the transaction initiator and the smart contract account is referred to as the second public key of the transaction initiator.

[0259] It should be noted that Figure 8 For detailed description of S701, S703 to S704, please refer to Figure 7 S701, S703 to S704 shown are not described in detail here.

[0260] In the embodiment of the present application, the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator, and can easily and quickly verify the aggregated signature data using the aggregated public key through the aggregated signature verification smart contract.

[0261] In one embodiment of the present application, another transaction processing method is provided, which can be executed by a second blockchain node. Fig. 9 As shown, the transaction processing method may further include S901 to S903 after S702.

[0262] S901 to S903 are described in detail as follows:

[0263] S901, if the verification of the aggregated signature data fails, the single experience signature smart contract is called based on the smart contract corresponding to the smart contract account to verify the signature data of each transaction.

[0264] In the embodiment of the present application, if the second blockchain node detects that the verification of the aggregated signature data fails, it indicates that the transactions initiated by the transaction initiator for multiple decentralized applications (i.e., multiple transactions) are unreliable, that is, there is a malicious situation; therefore, at this time, the single experience signature smart contract can be called based on the smart contract corresponding to the smart contract account to verify the signature data of each transaction.

[0265] In the embodiment of the present application, the single experience signature smart contract refers to a single experience signature in the form of a smart contract, which can realize the function of the single experience signature when it is called. The single experience signature is a single signature scheme, which can only verify one signature at a time, that is, there are as many verification times as there are signatures.

[0266] That is, in the embodiment of the present application, by implementing the single experience signature in the form of a smart contract, the smart contract corresponding to the smart contract account can call the single experience signature smart contract, thereby completing the verification of the signature data corresponding to each transaction simply and accurately. In addition, the single experience signature is implemented in the form of a smart contract, which has high flexibility and scalability. For example, according to business needs, it involves the use of different single experience signatures. At this time, it is only necessary to generate multiple single experience signature smart contracts corresponding to the single experience signature algorithms, and make corresponding calls during business processing.

[0267] In one embodiment of the present application, the process of calling the single experience signing smart contract based on the smart contract corresponding to the smart contract account in S901 and verifying the signature data of each transaction may include:

[0268] Obtain a smart contract account that matches the identification information of the transaction initiator;

[0269] Call the smart contract corresponding to the obtained smart contract account, and call the single experience signing smart contract through the smart contract corresponding to the called smart contract account to verify the signature data of each transaction.

[0270] That is, in the optional embodiment, the second blockchain node obtains a smart contract account that matches the identification information of the transaction initiator, and then calls the smart contract corresponding to the obtained smart contract account, and calls the single experience signature smart contract through the smart contract corresponding to the called smart contract account, thereby realizing the verification of the signature data corresponding to each transaction.

[0271] For example, following the previous example, the smart contract corresponding to the smart contract account calls the single experience signature smart contract to verify the signature data sig1 corresponding to the transaction TX1 to obtain the verification result Vr1; the smart contract corresponding to the smart contract account calls the single experience signature smart contract to verify the signature data sig2 corresponding to the transaction TX2 to obtain the verification result Vr2; and the smart contract corresponding to the smart contract account calls the single experience signature smart contract to verify the signature data sig3 corresponding to the transaction TX3 to obtain the verification result Vr3.

[0272] S902: If there is a verified target transaction among the multiple transactions, the decentralized application smart contract of the target transaction is called based on the smart contract corresponding to the smart contract account, the target transaction is executed, and the execution result of the target transaction is obtained.

[0273] In the embodiment of the present application, if the second blockchain node detects that there is a verified target transaction among multiple transactions, the decentralized application smart contract of the target transaction can be called based on the smart contract corresponding to the smart contract account, the target transaction can be executed, and the execution result of the target transaction can be obtained.

[0274] In the embodiment of the present application, the target transaction refers to a transaction that has passed verification among multiple transactions.

[0275] For example, following the above example, if there is a verification result indicating that the verification has passed among the verification results Vr1, Vr2, and Vr3, then the transaction corresponding to the verification result indicating that the verification has passed is the target transaction.

[0276] In the embodiment of the present application, the second blockchain node calls the decentralized application smart contract of the target transaction based on the smart contract corresponding to the smart contract account, executes the target transaction, and obtains the execution result of the target transaction.

[0277] For example, continuing with the previous example, assuming that the target transaction is TX1, the smart contract corresponding to the smart contract account calls the smart contract corresponding to the decentralized application DApp1 of TX1, executes transaction TX1, and obtains the execution result result1 of transaction TX1.

[0278] S903, sending the execution result of the target transaction to the transaction initiator.

[0279] In the embodiment of the present application, the second blockchain node obtains the execution result of the target transaction, and then can send the execution result of the target transaction to the transaction initiator. Accordingly, the transaction initiator receives the execution result of the target transaction sent by the second blockchain node, and can then determine / understand / clarify the execution status of the target transaction based on the execution result of the target transaction.

[0280] For example, following the above example, the second blockchain node obtains the execution result result1 of the transaction TX1, and can send the execution result result1 of the transaction TX1 to the transaction initiator. Correspondingly, the transaction initiator receives the execution result result1 of the transaction TX1 sent by the second blockchain node.

[0281] In one embodiment of the present application, there are multiple target transactions; accordingly, the process of sending the execution results of the target transactions to the transaction initiator in S903 may include: combining the execution results of the multiple target transactions to obtain combined data, and sending the combined data to the transaction initiator.

[0282] That is, in the optional embodiment, the second blockchain node combines the execution results of multiple target transactions and sends them to the transaction initiator. In this way, by packaging the execution results of multiple target transactions and sending them to the transaction initiator, the failure / error in sending the execution results of one or some target transactions due to network or other reasons can be avoided, thereby improving the accuracy of sending the execution results of multiple target transactions.

[0283] In one embodiment of the present application, there are multiple target transactions; accordingly, the process of sending the execution results of the target transactions to the transaction initiator in S903 may include: sending the execution results of the multiple target transactions to the transaction initiator respectively.

[0284] That is, in the optional embodiment, the second blockchain node sends the execution results of the multiple target transactions to the transaction initiator respectively. In this way, by sending the execution results of the multiple target transactions to the transaction initiator respectively, the execution results of the multiple target transactions can be quickly sent to the transaction initiator, thereby improving the sending efficiency of the execution results of the multiple target transactions.

[0285] It should be noted that Fig. 9For detailed description of S701 to S704, please refer to Figure 7 S701 to S704 shown are not described in detail here.

[0286] In the embodiment of the present application, when the second blockchain node fails to verify the aggregated verification smart contract, it realizes individual verification of each transaction by calling the single-transaction verification smart contract, and executes the trusted transaction, thereby avoiding the failure of trusted transaction execution, improving the accuracy and success rate of transaction execution, and thus improving the user experience of the transaction initiator.

[0287] The following is a detailed description of a specific scenario of an embodiment of the present application:

[0288] In the embodiment of the present application, it is taken as an example that the transaction initiator (for example, user U) has the need to interact with three decentralized applications at the same time to realize three transactions. Specifically, the three transactions are: user U initiates transaction TX1 for decentralized application DApp1, initiates transaction TX2 for decentralized application DApp2, and initiates transaction TX3 for decentralized application DApp3.

[0289] See also Fig.10 , Fig.10 FIG. 1 is a flow chart of a transaction processing method according to an embodiment of the present application. Fig.10 As shown, the transaction processing method at least includes S1001 to S1018, which are described in detail as follows:

[0290] S1001: If a creation request for a smart contract account is received from the transaction initiator, a smart contract account corresponding to the transaction initiator is created based on the creation request, and a creation result is generated.

[0291] In an embodiment of the present application, if the first blockchain node receives a creation request from the transaction initiator for a smart contract account, it can create a smart contract account corresponding to the transaction initiator based on the creation request and generate a creation result.

[0292] In an embodiment of the present application, the process of creating a smart contract account corresponding to the transaction initiator based on a creation request and generating a creation result may include: registering the transaction initiator in the blockchain network based on the creation request to create a smart contract account for the transaction initiator; then generating a first private key pair for the transaction initiator to communicate with each decentralized application, the first private key pair including a matching first private key and a first public key, and generating a second private key pair for the transaction initiator to communicate with the created smart contract account, the second private key pair including a matching second private key and a second public key; then storing the public key in the generated private key pair in the smart contract corresponding to the created smart contract account, and generating a creation result based on the identification information of the created smart contract account and the private key in the generated private key pair.

[0293] For example:

[0294] First, create a smart contract account for user U in the blockchain network.

[0295] Afterwards, three first private key pairs [Public1, Prikey1], [Public2, Prikey2], and [Public3, Prikey3] are allocated to user U, where [Public1, Prikey1] is used for user U to communicate with decentralized application DAPP1, [Public2, Prikey2] is used for user U to communicate with decentralized application DAP2, and [Public3, Prikey3] is used for user U to communicate with decentralized application DAPP3. At the same time, a second private key pair [Public U ,Prikey U ], where [Public U ,Prikey U ]Used for user U to communicate with the smart contract account.

[0296] After that, [[Public1, Public2, Public3], Public U ] is stored in the smart contract corresponding to the created smart contract account; the three first public keys [Public1, Public2, public3] are stored in the first state variable Value of the smart contract corresponding to the created smart contract account wallet Specifically, public1 is set to true (i.e. public1→true), public2 is set to true (i.e. public2→true), public3 is set to true (i.e. Public3→true), and a second public key Public U Stored in the second state variable PubKeys of the smart contract corresponding to the created smart contract account. And, based on [[Prikey1,Prikey2,Prikey3],Prikey U ], and the address of the smart contract account Contract wallet Generate creation results.

[0297] S1002, sending the creation result to the transaction initiator, so that the transaction initiator determines the creation status of the smart contract account based on the creation result.

[0298] In the embodiment of the present application, the first blockchain node generates a creation result, and then can send the creation result to the transaction initiator; accordingly, the transaction initiator receives the creation result sent by the first blockchain node, and determines the creation status of the smart contract account based on the creation result.

[0299] For example, continuing with the previous example, we will create the result

[0300] [[Prikey1,Prikey2,Prikey3],Prikey U ], and the address of the smart contract account Contract wallet Sent to user U.

[0301] S1003, if an association request is received from a transaction initiator for transactions initiated by multiple decentralized applications, a first private key pair used for communication between the transaction initiator and each decentralized application is obtained based on the association request; wherein the first private key pair includes a matching first private key and a first public key.

[0302] In an embodiment of the present application, if the first blockchain node receives an association request from a transaction initiator for transactions initiated by multiple decentralized applications, a first private key pair used for communication between the transaction initiator and each decentralized application is obtained based on the association request, and the first private key pair includes a matching first private key and a first public key.

[0303] For example, following the above example, we obtain three first private key pairs [Public1, Prikey1], [Public2, Prikey2], [Public3, Prikey3], and one second private key pair [Public U , U ].

[0304] S1004, for each transaction, use the first private key of the transaction to encrypt the identification information, calling parameters, and the first public key of the decentralized application smart contract to be called by the transaction to obtain the signature data of the transaction.

[0305] For example, following the above example,

[0306] For transaction TX1, Prikey1(calldata1, calldata1, Public1)=sig1.

[0307] For transaction TX2, Prikey2(contract2, calldata2, Public2)=sig2.

[0308] For transaction TX3, Prikey3(contract3, calldata3, Public1)=sig3.

[0309] S1005, for each transaction, use the first private key of the transaction to encrypt the identification information of the decentralized application smart contract to be called by the transaction, the calling parameters, the first public key of the transaction, and the signature data of the transaction to obtain the operation data of the transaction.

[0310] For example, following the above example,

[0311] For transaction TX1, Prikey1(contract1, calldata1, public1, sig1) = Action1.

[0312] For transaction TX2, Prikey2(contract2, calldata2, Public2, sig2) = Action2.

[0313] For transaction TX3, Prikey3(contract3, calldata3, Public3, sig3) = Action3.

[0314] S1006, aggregate multiple first public keys to obtain an aggregated public key.

[0315] For example, following the above example,

[0316] BLS_AGGRAGET_KEY(Public1,Public2,Public3)=Public group .

[0317] S1007, aggregate the signature data corresponding to the multiple transactions to obtain aggregate signature data.

[0318] For example, following the above example,

[0319] BLS_RANDOM()=Random group ;

[0320]

[0321] S1008, using the second private key to encrypt the aggregate signature data, the second public key, the aggregate public key, and the operation data corresponding to the multiple transactions, to obtain the transaction data of the multiple transactions.

[0322] For example, following the previous example, Prikey U([Action1, Action2, Action3], signature group , Public U , Public group )=TX′.

[0323] S1009, sending the transaction data to the second blockchain node.

[0324] In the embodiment of the present application, the first blockchain node obtains transaction data, and then can send the transaction data to the second blockchain node.

[0325] S1010, the second blockchain node receives the transaction data sent by the first blockchain node, and obtains the second public key of the transaction initiator from the smart contract of the smart contract account.

[0326] For example, following the above example, transaction data TX′ = Prikey U ([Action1, Action2, Action3], signature group , Public U , Public group ).

[0327] As mentioned above, a second public key Public U Stored in the second state variable PubKeys of the smart contract corresponding to the smart contract account.

[0328] For example, following the above example, obtain the second public key Public of user U from the second state variable Pubkeys of the smart contract corresponding to the smart contract account. U .

[0329] S1011, using the acquired second public key to decrypt the transaction data, obtain the second public key, aggregate signature data, aggregate public key, and operation data corresponding to the multiple transactions contained in the transaction data.

[0330] For example, following the above example,

[0331] Public U (TX′)=

[0332] ([Action1, Action2, Action3], signature group , Public U , Public group ). That is, using the acquired second public key Public UBy decrypting the transaction data TX′, we can obtain the Public U , signature group , Public group , [Action1, Action2, Action3].

[0333] S1012: If the decrypted second public key matches the obtained second public key, then for each transaction, the first public key of the transaction is obtained from the smart contract of the smart contract account, and the operation data of the transaction is decrypted using the obtained first public key to obtain the first public key contained in the operation data of the transaction.

[0334] As mentioned above, the three first public keys [Public1, Public2, Public3] are stored in the first state variable Value of the smart contract corresponding to the smart contract account. wallet middle.

[0335] For example, following the above example, if the decrypted second public key Public U and the obtained second public key Public U Match, then:

[0336] From the first state variable Value of the smart contract of the smart contract account wallet The first public key Public1 of transaction TX1 is obtained, Public1(Action1) = (contract1, cakkdata1, Public1, sig1), that is, the operation data Action1 of transaction TX1 is decrypted using the obtained first public key Public1 to obtain the first public key Public1 contained in the operation data Action1 of transaction TX1.

[0337] From the first state variable Value of the smart contract of the smart contract account wallet The first public key Public2 of transaction TX2 is obtained, Public2(Action2) = (contract2, calldata2, Public2, sig2), that is, the operation data Action2 of transaction TX2 is decrypted using the obtained first public key Public2 to obtain the first public key Public2 contained in the operation data Action2 of transaction TX2.

[0338] From the first state variable Value of the smart contract of the smart contract account walletThe first public key Public3 of transaction TX3 is obtained, Public3(Action3) = (contract3, calldata3, Public3, sig3), that is, the operation data Action3 of transaction TX3 is decrypted using the obtained first public key Public3 to obtain the first public key Public3 contained in the operation data Action3 of transaction TX3.

[0339] S1013: If the first public key decrypted from each transaction matches the first public key obtained, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

[0340] For example, if the first public key Public1 decrypted from transaction TX1 matches the first public key Public1 obtained, the first public key Public2 decrypted from transaction TX2 matches the first public key Public2 obtained, and the first public key Public3 decrypted from transaction TX3 matches the first public key Public3 obtained, then the aggregated public key Public1 is used to verify the signature of the transaction. group Aggregate signature data signature group to verify.

[0341] S1014: If the verification of the aggregate signature data is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, each transaction is executed, and the execution result of each transaction is obtained.

[0342] For example, if we continue with the previous example, if we aggregate the signature data signature group If the verification is passed, then:

[0343] The smart contract corresponding to the smart contract account calls the decentralized application DApp1 smart contract of transaction TX1, executes transaction TX1, and obtains the execution result result1 of transaction TX1.

[0344] The smart contract corresponding to the smart contract account calls the decentralized application DApp2 smart contract of transaction TX2, executes transaction TX2, and obtains the execution result result2 of transaction TX2.

[0345] The smart contract corresponding to the smart contract account calls the decentralized application DApp3 smart contract of transaction TX3, executes transaction TX3, and obtains the execution result result3 of transaction TX3.

[0346] Optionally, the decentralized application smart contract that calls the transaction executes the transaction, and the return value may be [success, result, error]; where success is a bool value, indicating whether the call is successful, result is the return value of the call (i.e., the execution result of the transaction, which may be empty), and error is the error returned by the call.

[0347] S1015, sending the execution result of each transaction to the transaction initiator and ending the process.

[0348] For example, continuing with the above example, the execution result result1 of transaction TX1, the execution result result2 of transaction TX2, and the execution result result3 of transaction TX3 are sent to user U.

[0349] Optionally, sending the execution result of each transaction to the transaction initiator may include: combining the execution results of the multiple transactions to obtain combined data, and sending the combined data to the transaction initiator.

[0350] This is the end of the process.

[0351] S1016: If the verification of the aggregated signature data fails, the single experience signature smart contract is called based on the smart contract corresponding to the smart contract account to verify the signature data of each transaction.

[0352] For example, if we continue with the previous example, if we aggregate the signature data signature group If the verification fails, then:

[0353] Based on the smart contract corresponding to the smart contract account, the single experience signature smart contract is called to verify the signature data sig1 corresponding to the transaction TX1 to obtain the verification result Vr1.

[0354] Based on the smart contract corresponding to the smart contract account, the single experience signature smart contract is called to verify the signature data sig2 corresponding to the transaction TX2 to obtain the verification result Vr2.

[0355] Based on the smart contract corresponding to the smart contract account, the single experience signature smart contract is called to verify the signature data sig3 corresponding to the transaction TX3 to obtain the verification result Vr3.

[0356] S1017, if there is a target transaction that has passed the verification among the multiple transactions, the decentralized application smart contract of the target transaction is called based on the smart contract corresponding to the smart contract account, the target transaction is executed, and the execution result of the target transaction is obtained.

[0357] For example, following the previous example, if there is a verification result indicating that the verification is passed among the verification results Vr1, Vr2, and Vr3, and the verification result Vr1 indicates that the verification is passed, then transaction TX1 is the target transaction, and the smart contract corresponding to the smart contract account calls the smart contract corresponding to the decentralized application DApp1 of TX1, executes transaction TX1, and obtains the execution result result1 of transaction TX1.

[0358] S1018, sending the execution result of the target transaction to the transaction initiator.

[0359] For example, continuing with the previous example, the execution result result1 of transaction TX1 is sent to user U.

[0360] Optionally, when there are multiple target transactions, sending the execution results of the target transactions to the transaction initiator may include: combining the execution results of the multiple target transactions to obtain combined data, and sending the combined data to the transaction initiator.

[0361] This is the end of the process.

[0362] It should be noted that Fig.10 As shown, S1004 to S1005, S1006, and S1007 can be executed in advance or in parallel; meanwhile, the detailed description of S1001 to S1018 can be referred to the aforementioned embodiment, which will not be repeated here.

[0363] See also Fig.11 , is a schematic diagram of a transaction processing method. Fig.11 As shown, user U can create a contract wallet (i.e., a smart contract account). At the same time, when user U has the need to initiate multiple transactions for multiple decentralized applications (such as DApp1, DApp2, and DApp3), it can generate an association request (also called operation bundling or transaction bundling) and generate transaction data for multiple transactions, where the transaction data includes aggregated signature data obtained by aggregating the signature data corresponding to the multiple transactions.

[0364] Afterwards, through the interaction between the contract wallet and the signature verification entry smart contract (referred to as the signature verification entry contract), the call of the aggregated signature verification smart contract (referred to as the aggregated signature verification contract) is realized, so as to verify the aggregated signature data through the aggregated signature verification smart contract. Accordingly, the aggregated signature verification smart contract returns the verification result to the contract wallet through the signature verification entry smart contract.

[0365] Among them, when the verification result indicates that the verification is passed, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, each transaction is executed, and the execution result of each transaction is obtained. Correspondingly, the decentralized application smart contract of each transaction returns the execution result of each transaction to the contract wallet to return it to user U.

[0366] Among them, when the verification result indicates that the verification has not passed, the single experience signing smart contract (referred to as the single experience signing contract) is called through the interaction between the contract wallet and the verification entry smart contract, so as to verify the signature data of each transaction through the single experience signing smart contract. Correspondingly, the single experience signing smart contract returns the verification result of each transaction to the contract wallet through the verification entry smart contract. If there is a target transaction that has passed the verification, the decentralized application smart contract of the target transaction is called based on the smart contract corresponding to the smart contract account, the target transaction is executed, and the execution result of the target transaction is obtained. Correspondingly, the decentralized application smart contract of the target transaction returns the execution result of the target transaction to the contract wallet to return it to user U.

[0367] The beneficial effects of the embodiments of the present application are as follows:

[0368] (1) Through the interaction between the smart contract corresponding to the smart contract account of the transaction initiator and other smart contracts (i.e., the aggregated signature verification smart contract and the decentralized application smart contract), batch execution of multiple transactions is realized, thereby improving transaction processing efficiency; and because batch execution of multiple transactions is realized, the transaction fees required can be reduced, thereby improving the user experience of the transaction initiator.

[0369] (2) Using the smart contract corresponding to the smart contract account to call other smart contracts has a simple implementation process and no need to deploy other smart contracts separately. It has high flexibility and scalability.

[0370] (3) The signature verification function (i.e., aggregated signature verification and single-transaction signature verification) is integrated into the smart contract. The signature data of the transaction can be verified through calls between smart contracts, which improves the verification efficiency during the transaction execution process and further improves the transaction processing efficiency. In addition, aggregated signature verification can be achieved by calling the aggregated signature verification smart contract, eliminating the need to verify the signature data of multiple transactions one by one, further improving the verification efficiency during the transaction execution process.

[0371] (4) Private keys for communicating with multiple decentralized applications are allocated to the transaction initiator, so that different private keys can be used when initiating transactions for different decentralized applications, avoiding security issues caused by using the same private key and improving the security of transactions. In addition, private keys for communicating with smart contract accounts are allocated to the transaction initiator, thereby isolating different transaction initiators and further improving the security of transactions.

[0372] Fig.12 FIG. 1 is a block diagram of a transaction processing device according to an embodiment of the present application. Fig.12 As shown, the device is configured in the first blockchain node, and the device includes:

[0373] The acquisition module 1201 is configured to acquire association requests of transactions initiated by a transaction initiator for multiple decentralized applications;

[0374] Aggregation module 1202, configured to aggregate signature data corresponding to multiple transactions respectively based on the association request to obtain aggregate signature data;

[0375] A generating module 1203, configured to generate transaction data of the plurality of transactions based on the aggregate signature data;

[0376] The first sending module 1204 is configured to send the transaction data to the second blockchain node, so that the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

[0377] In one embodiment of the present application, the aggregation module 1202 is specifically configured as follows:

[0378] Acquire a first private key pair for the transaction initiator to communicate with each decentralized application based on the association request; wherein the first private key pair includes a matching first private key and a first public key;

[0379] For each transaction, the identification information and calling parameters of the decentralized application smart contract to be called by the transaction and the first public key of the transaction are encrypted using the first private key of the transaction to obtain the signature data of the transaction;

[0380] The signature data corresponding to the multiple transactions are aggregated to obtain aggregate signature data.

[0381] In one embodiment of the present application, the generating module 1203 is specifically configured as follows:

[0382] Obtaining a second private key pair used for communication between the transaction initiator and the smart contract account; wherein the second private key pair includes a matching second private key and a second public key;

[0383] The aggregate signature data and the second public key are encrypted using the second private key to obtain transaction data of the multiple transactions.

[0384] In one embodiment of the present application, the generating module 1203 is further specifically configured as follows:

[0385] Obtaining a first private key pair used for the transaction initiator to communicate with each decentralized application; wherein the first private key pair includes a matching first private key and a first public key;

[0386] Aggregating multiple first public keys to obtain an aggregated public key;

[0387] The aggregate signature data, the second public key, and the aggregate public key are encrypted using the second private key to obtain transaction data of the multiple transactions.

[0388] In one embodiment of the present application, the generating module 1203 is further specifically configured as follows:

[0389] For each transaction, the identification information and calling parameters of the decentralized application smart contract to be called by the transaction and the first public key of the transaction are encrypted using the first private key of the transaction to obtain the operation data of the transaction;

[0390] The aggregate signature data, the second public key, the aggregate public key, and the operation data corresponding to the multiple transactions are encrypted using the second private key to obtain transaction data of the multiple transactions.

[0391] In one embodiment of the present application, the device further includes:

[0392] A creation module, configured to, if receiving a creation request for a smart contract account from the transaction initiator, create a smart contract account corresponding to the transaction initiator based on the creation request, and generate a creation result;

[0393] The second sending module is configured to send the creation result to the transaction initiator, so that the transaction initiator determines the creation status of the smart contract account based on the creation result.

[0394] In one embodiment of the present application, the creation module is specifically configured as follows:

[0395] Registering the transaction initiator in the blockchain network based on the creation request to create a smart contract account of the transaction initiator;

[0396] Generate a first private key pair for the transaction initiator to communicate with each decentralized application, and generate a second private key pair for the transaction initiator to communicate with the created smart contract account;

[0397] The public key in the generated private key pair is stored in the smart contract corresponding to the created smart contract account, and the creation result is generated based on the identification information of the created smart contract account and the private key in the generated private key pair.

[0398] Fig.13 FIG. 1 is a block diagram of a transaction processing device according to an embodiment of the present application. Fig.13 As shown, the device is configured on the second blockchain node, and the device includes:

[0399] The acquisition module 1301 is configured to acquire transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions;

[0400] The first verification module 1302 is configured to call the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data;

[0401] The first execution module 1303 is configured to call the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account if the verification of the aggregate signature data is passed, execute each transaction, and obtain the execution result of each transaction;

[0402] The first sending module 1304 is configured to send the execution result of each transaction to the transaction initiator.

[0403] In one embodiment of the present application, the transaction data further includes an aggregated public key obtained by aggregating first public keys in a plurality of first private key pairs, wherein the first private key pair is used for the transaction initiator to communicate with the decentralized application; the first verification module 1302 is specifically configured as follows:

[0404] The smart contract corresponding to the smart contract account of the transaction initiator is called to verify the aggregate signature data using the aggregate public key through the aggregate signature verification smart contract.

[0405] In one embodiment of the present application, the transaction data also includes the operation data of each transaction, and the operation data of the transaction is obtained by encrypting the identification information, call parameters, and the first public key of the decentralized application smart contract to be called by the transaction using the first private key of the transaction, and the first private key matches the first public key; the first verification module 1302 is also specifically configured as follows:

[0406] For each transaction, obtaining a first public key of the transaction from the smart contract of the smart contract account, and using the obtained first public key to decrypt the operation data of the transaction to obtain the first public key contained in the operation data of the transaction;

[0407] If the first public key decrypted from each transaction matches the acquired first public key, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

[0408] In one embodiment of the present application, the transaction data also includes the second public key in the second private key pair, and the transaction data is encrypted using the second private key in the second private key pair of the transaction initiator, and the second private key pair is used for the transaction initiator to communicate with the smart contract account; the first verification module 1302 is further specifically configured as follows:

[0409] Obtaining the second public key of the transaction initiator from the smart contract of the smart contract account;

[0410] Decrypting the transaction data using the acquired second public key to obtain the second public key contained in the transaction data;

[0411] If the decrypted second public key matches the obtained second public key, then for each transaction, the first public key of the transaction is obtained from the smart contract of the smart contract account.

[0412] In one embodiment of the present application, the first sending module 1304 is specifically configured as follows:

[0413] Combining the execution results of the multiple transactions to obtain combined data, and sending the combined data to the transaction initiator;

[0414] Alternatively, the execution results of the multiple transactions are sent to the transaction initiator respectively.

[0415] In one embodiment of the present application, the device further includes:

[0416] A second verification module is configured to call a single experience signing smart contract based on the smart contract corresponding to the smart contract account to verify the signature data of each transaction if the verification of the aggregate signature data fails;

[0417] A second execution module is configured to call the decentralized application smart contract of the target transaction based on the smart contract corresponding to the smart contract account if there is a target transaction that has passed the verification among the multiple transactions, execute the target transaction, and obtain the execution result of the target transaction;

[0418] The second sending module is configured to send the execution result of the target transaction to the transaction initiator.

[0419] It should be noted that the apparatus provided in the aforementioned embodiment and the method provided in the aforementioned embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment.

[0420] An embodiment of the present application also provides an electronic device, comprising: one or more processors; a memory for storing one or more programs, when the one or more programs are executed by the one or more processors, the electronic device implements the transaction processing method as described above.

[0421] Fig.14 It is a structural diagram of a computer system suitable for implementing an electronic device of an embodiment of the present application.

[0422] It should be noted that Fig.14 The computer system 1400 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0423] like Fig.14 As shown, the computer system 1400 includes a central processing unit (CPU) 1401, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1402 or the program loaded from the storage part 1408 to the random access memory (RAM) 1403, such as executing the method in the above embodiment. In the RAM 1403, various programs and data required for system operation are also stored. The CPU 1401, the ROM 1402 and the RAM 1403 are connected to each other through the bus 1404. The input / output (I / O) interface 1405 is also connected to the bus 1404.

[0424] The following components are connected to the I / O interface 1405: an input section 1406 including a keyboard, a mouse, etc.; an output section 1407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1408 including a hard disk, etc.; and a communication section 1409 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1409 performs communication processing via a network such as the Internet. A drive 1410 is also connected to the I / O interface 1405 as needed. A removable medium 1411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1410 as needed so that a computer program read therefrom is installed into the storage section 1408 as needed.

[0425] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 1409, and / or installed from a removable medium 1411. When the computer program is executed by a central processing unit (CPU) 1401, various functions defined in the system of the present application are executed.

[0426] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. Computer-readable media may be, for example, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples of computer-readable media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. A computer program contained on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0427] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0428] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0429] Another aspect of the present application also provides a computer readable medium on which a computer program is stored, and when the computer program is executed by a processor, the transaction processing method as described above is implemented. The computer readable medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.

[0430] Another aspect of the present application also provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable medium. A processor of a computer device reads the computer instructions from the computer-readable medium, and the processor executes the computer instructions, so that the computer device executes the transaction processing method provided in each of the above embodiments.

[0431] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person skilled in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims

1. A transaction processing method, characterized in that: include: Obtaining transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions; The smart contract corresponding to the smart contract account of the transaction initiator calls the aggregated signature verification smart contract to verify the aggregated signature data; If the verification of the aggregate signature data is successful, the decentralized application smart contract of each transaction is called based on the smart contract corresponding to the smart contract account, each transaction is executed, and the execution result of each transaction is obtained; The execution result of each transaction is sent to the transaction initiator.

2. The method according to claim 1, characterized in that The transaction data also includes an aggregated public key obtained by aggregating first public keys in a plurality of first private key pairs, wherein the first private key pair is used for the transaction initiator to communicate with the decentralized application; The smart contract corresponding to the smart contract account of the transaction initiator calls the aggregated signature verification smart contract to verify the aggregated signature data, including: The smart contract corresponding to the smart contract account of the transaction initiator is called to verify the aggregate signature data using the aggregate public key through the aggregate signature verification smart contract.

3. The method according to claim 2, characterized in that The transaction data also includes operation data of each transaction, where the operation data of the transaction is obtained by encrypting the identification information and call parameters of the decentralized application smart contract to be called by the transaction and the first public key of the transaction using the first private key of the transaction, where the first private key matches the first public key; The verifying the aggregated signature data using the aggregated public key through the aggregated signature verification smart contract includes: For each transaction, obtaining a first public key of the transaction from the smart contract of the smart contract account, and using the obtained first public key to decrypt the operation data of the transaction to obtain the first public key contained in the operation data of the transaction; If the first public key decrypted from each transaction matches the acquired first public key, the aggregate signature data is verified using the aggregate public key through the aggregate signature verification smart contract.

4. The method according to claim 3, characterized in that The transaction data also includes the second public key in the second private key pair, the transaction data is encrypted using the second private key in the second private key pair of the transaction initiator, and the second private key pair is used for the transaction initiator to communicate with the smart contract account; For each of the transactions, obtaining the first public key of the transaction from the smart contract of the smart contract account includes: Obtaining the second public key of the transaction initiator from the smart contract of the smart contract account; Decrypting the transaction data using the acquired second public key to obtain the second public key contained in the transaction data; If the decrypted second public key matches the obtained second public key, then for each transaction, the first public key of the transaction is obtained from the smart contract of the smart contract account.

5. The method according to claim 1, characterized in that The sending the execution result of each transaction to the transaction initiator includes: Combining the execution results of the multiple transactions to obtain combined data, and sending the combined data to the transaction initiator; Alternatively, the execution results of the multiple transactions are sent to the transaction initiator respectively.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: If the verification of the aggregated signature data fails, the single experience signature smart contract is called based on the smart contract corresponding to the smart contract account to verify the signature data of each transaction; If there is a target transaction that has passed the verification among the multiple transactions, calling the decentralized application smart contract of the target transaction based on the smart contract corresponding to the smart contract account, executing the target transaction, and obtaining the execution result of the target transaction; The execution result of the target transaction is sent to the transaction initiator.

7. A transaction processing method, characterized in that: include: Obtain the association request of transactions initiated by the transaction initiator for multiple decentralized applications; Aggregating signature data corresponding to the multiple transactions based on the association request to obtain aggregate signature data; Generate transaction data of the multiple transactions based on the aggregate signature data; The transaction data is sent to the second blockchain node, so that the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

8. The method according to claim 7, characterized in that The aggregating the signature data corresponding to the multiple transactions respectively based on the association request to obtain aggregated signature data includes: Acquire a first private key pair for the transaction initiator to communicate with each decentralized application based on the association request; wherein the first private key pair includes a matching first private key and a first public key; For each transaction, the identification information and calling parameters of the decentralized application smart contract to be called by the transaction and the first public key of the transaction are encrypted using the first private key of the transaction to obtain the signature data of the transaction; The signature data corresponding to the multiple transactions are aggregated to obtain aggregate signature data.

9. The method according to claim 7, characterized in that: The generating the transaction data of the plurality of transactions based on the aggregate signature data includes: Obtaining a second private key pair used for communication between the transaction initiator and the smart contract account; wherein the second private key pair includes a matching second private key and a second public key; The aggregate signature data and the second public key are encrypted using the second private key to obtain transaction data of the multiple transactions.

10. The method according to claim 9, characterized in that The using the second private key to encrypt the aggregate signature data and the second public key to obtain the transaction data of the multiple transactions includes: Obtaining a first private key pair used for the transaction initiator to communicate with each decentralized application; wherein the first private key pair includes a matching first private key and a first public key; Aggregating multiple first public keys to obtain an aggregated public key; The aggregate signature data, the second public key, and the aggregate public key are encrypted using the second private key to obtain transaction data of the multiple transactions.

11. The method according to claim 10, characterized in that The using the second private key to encrypt the aggregate signature data, the second public key, and the aggregate public key to obtain the transaction data of the multiple transactions includes: For each transaction, the identification information and calling parameters of the decentralized application smart contract to be called by the transaction and the first public key of the transaction are encrypted using the first private key of the transaction to obtain the operation data of the transaction; The aggregate signature data, the second public key, the aggregate public key, and the operation data corresponding to the multiple transactions are encrypted using the second private key to obtain transaction data of the multiple transactions.

12. The method according to any one of claims 7 to 11, characterized in that Before aggregating the signature data corresponding to the plurality of transactions based on the association request to obtain aggregate signature data, the method further includes: If a creation request for a smart contract account is received from the transaction initiator, a smart contract account corresponding to the transaction initiator is created based on the creation request, and a creation result is generated; The creation result is sent to the transaction initiator, so that the transaction initiator determines the creation status of the smart contract account based on the creation result.

13. The method according to claim 12, characterized in that The creating a smart contract account corresponding to the transaction initiator based on the creation request and generating a creation result includes: Registering the transaction initiator in the blockchain network based on the creation request to create a smart contract account of the transaction initiator; Generate a first private key pair for the transaction initiator to communicate with each decentralized application, and generate a second private key pair for the transaction initiator to communicate with the created smart contract account; The public key in the generated private key pair is stored in the smart contract corresponding to the created smart contract account, and the creation result is generated based on the identification information of the created smart contract account and the private key in the generated private key pair.

14. A transaction processing device, characterized in that: include: An acquisition module configured to acquire transaction data of transactions initiated by a transaction initiator for multiple decentralized applications; wherein the transaction data includes aggregated signature data obtained by aggregating signature data corresponding to multiple transactions; A verification module is configured to call the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data; An execution module, configured to call the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account if the verification of the aggregate signature data is passed, execute each transaction, and obtain the execution result of each transaction; The sending module is configured to send the execution result of each transaction to the transaction initiator.

15. A transaction processing device, characterized in that: include: An acquisition module configured to acquire association requests for transactions initiated by a transaction initiator for multiple decentralized applications; an aggregation module, configured to aggregate signature data corresponding to the plurality of transactions respectively based on the association request to obtain aggregate signature data; A generating module, configured to generate transaction data of the plurality of transactions based on the aggregate signature data; The sending module is configured to send the transaction data to the second blockchain node, so that the second blockchain node calls the aggregated signature verification smart contract based on the smart contract corresponding to the smart contract account of the transaction initiator to verify the aggregated signature data, and after the verification is passed, calls the decentralized application smart contract of each transaction based on the smart contract corresponding to the smart contract account to execute each transaction.

16. An electronic device, characterized in that: include: one or more processors; A memory for storing one or more programs, which, when executed by the electronic device, enables the electronic device to implement the transaction processing method as described in any one of claims 1 to 13.

17. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the transaction processing method according to any one of claims 1 to 13 is implemented.

18. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, a transaction processing method according to any one of claims 1 to 13 is implemented.