A data chain method, device, terminal and storage medium

By obtaining multi-signature information and executing dependencies, the blockchain transaction verification process is optimized, the problem of low efficiency in data on-chain is solved, and efficient on-chain uploading of batch data and expansion of blockchain application scenarios are achieved.

CN114741446BActive Publication Date: 2025-09-30HANGZHOU QULIAN TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210224265.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-07
Publication Date
2025-09-30
Estimated Expiration
2042-03-07

AI Technical Summary

Technical Problem

The existing technology has an inefficient data on-chain process, a limited amount of data on-chain, and is difficult to apply to scenarios such as multi-party voting, which limits the expansion of blockchain application scenarios.

Method used

By obtaining multi-signature information from N participants, sending a call request to the on-chain smart contract, and putting the transaction on the chain after verification, the frequent calls and verifications of the on-chain smart contract are reduced, and batch transaction data is verified and put on the chain using multi-signature information and execution dependencies.

Benefits of technology

It improves the processing efficiency of the data on-chain process, meets the needs of batch data on-chain, and expands the applicability of blockchain application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114741446B_ABST
    Figure CN114741446B_ABST
Patent Text Reader

Abstract

This application applies to the field of blockchain technology and provides a method, device, terminal, and storage medium for uploading data to a blockchain. The method includes: obtaining multi-signature information from N participants, where N is an integer greater than or equal to 2; sending a first call request for an on-chain smart contract to a blockchain node based on the multi-signature information; after obtaining signature uplink feedback information from the blockchain node based on the first call request, obtaining multiple to-be-uploaded transaction information generated by different combinations of the N participants and the execution dependency relationships between the to-be-uploaded transaction information; and sending a second call request for the on-chain smart contract to the blockchain node based on the to-be-uploaded transaction information and the execution dependency relationships. This solution can improve processing efficiency, meet the demand for uplinking batch data, and expand blockchain application scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of blockchain technology, and in particular relates to a method, device, terminal and storage medium for uploading data to a blockchain. Background Art

[0002] The rapid development of blockchain technology has made it possible for blockchain to be applied in all walks of life. When blockchain is actually applied, data usually needs to be uploaded to the blockchain, and the characteristics of the blockchain are used to ensure that the data cannot be tampered with. This process is called data on-chain.

[0003] In existing technologies, some basic data is uploaded to the blockchain along with each transaction through the blockchain transaction process. This method requires a transaction every time a piece of data is uploaded to the chain, which makes the process very slow and the amount of data uploaded to the chain is very limited.

[0004] This method of uploading data to the chain results in inefficient data uploading and limited data volume. In many practical application scenarios, such as multi-party voting in bankruptcy liquidation meetings, a large amount of voting transaction data will be frequently generated. The existing data uploading method is difficult to apply to such scenarios, and the expansion of blockchain application scenarios is limited. Summary of the Invention

[0005] The embodiments of the present application provide a data chain-up method, device, terminal and storage medium to solve the problems of low efficiency of the data chain-up process, limited amount of chain data, difficulty in application in many practical application scenarios such as multi-party conference voting scenarios, and limited expansion of blockchain application scenarios in the chain-up method in the prior art.

[0006] A first aspect of an embodiment of the present application provides a method for uploading data to a blockchain, including:

[0007] Obtain multi-signature information from N parties, where N is an integer greater than or equal to 2;

[0008] Sending a first call request of the on-chain smart contract to the blockchain node based on the multi-signature information;

[0009] After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining a plurality of to-be-on-chain transaction information generated by different combinations of the N participants and the execution dependency relationships between the to-be-on-chain transaction information;

[0010] Based on the transaction information to be on-chain and the execution dependency, a second call request of the on-chain smart contract is sent to the blockchain node. The second call request is used to enable the on-chain smart contract to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency after execution, and to put the transaction on-chain after the verification is correct.

[0011] A second aspect of an embodiment of the present application provides a data uplink device, including:

[0012] The first acquisition module is used to obtain multi-signature information of N participants, where N is an integer greater than or equal to 2;

[0013] A first sending module, configured to send a first call request of the on-chain smart contract to a blockchain node based on the multi-signature information;

[0014] A second acquisition module is configured to, after obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtain a plurality of to-be-on-chain transaction information generated by different combinations of the N participants and execution dependency relationships between the to-be-on-chain transaction information;

[0015] The second sending module is used to send a second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency relationship. The second call request is used to enable the on-chain smart contract to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency relationship after execution, and to upload the transaction to the chain after the verification is correct.

[0016] A third aspect of an embodiment of the present application provides a terminal, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method described in the first aspect when executing the computer program.

[0017] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.

[0018] A fifth aspect of the present application provides a computer program product, which, when executed on a terminal, enables the terminal to execute the steps of the method described in the first aspect.

[0019] As can be seen from the above, in the embodiment of the present application, by obtaining the multi-signature information of N participants, the on-chain smart contract is called. After ensuring that the multi-signature information is on the chain, the multiple transaction information to be on the chain generated by different combinations of the N participants and the execution dependency relationship between the transaction information to be on the chain are obtained, and the on-chain smart contract is called again. After the on-chain smart contract is executed, the transaction information to be on the chain is verified according to the multi-signature information and the execution dependency relationship, and the transaction is on the chain after the verification is correct. This process reduces the frequent calls to the on-chain smart contract and the frequent verification and block entry operations of transaction data performed using the on-chain smart contract, improves the processing efficiency of the data on-chain process in scenarios where a large amount of transaction data is frequently generated, meets the needs of batch data on the chain, and realizes the expansion of blockchain application scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0021] Figure 1 This is a process of a data chain method provided by the embodiment of the present application Figure 1 ;

[0022] Figure 2 This is a process of a data chain method provided by the embodiment of the present application Figure 2 ;

[0023] Figure 3 This is a structural diagram of a data uplink device provided in an embodiment of the present application;

[0024] Figure 4 This is a structural diagram of a terminal provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.

[0026] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0027] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0028] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0029] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0030] In specific implementations, the terminals described in the embodiments of the present application include, but are not limited to, other portable devices such as mobile phones, laptop computers, or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads).

[0031] In the following discussion, a terminal including a display and a touch-sensitive surface is described. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, mouse, and / or joystick.

[0032] The terminal supports various applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk burning application, a spreadsheet application, a game application, a phone application, a video conferencing application, an email application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.

[0033] Various applications that can be executed on the terminal can use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the terminal can be adjusted and / or changed between applications and / or within a corresponding application. In this way, the common physical architecture of the terminal (e.g., the touch-sensitive surface) can support a variety of applications with user interfaces that are intuitive and transparent to the user.

[0034] It should be understood that the size of the serial numbers of each step in this embodiment does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of this application.

[0035] In order to illustrate the technical solution described in this application, specific embodiments are provided below.

[0036] See also Figure 1 , Figure 1 This is a process of a data chain method provided by the embodiment of the present application Figure 1 .like Figure 1 As shown, a method for uploading data to a blockchain comprises the following steps:

[0037] Step 101: Obtain multi-signature information of N participants.

[0038] N is an integer greater than or equal to 2.

[0039] In the embodiment of the present application, a transaction involving several random participants occurs between N participants. When the N participants conduct a transaction, the transaction may be between some of the participants or all of the participants.

[0040] Therefore, it is necessary to obtain the multi-signature information of N participants. Based on this multi-signature information, the multi-signature technology is used to verify the signatures of multiple batches of transactions participated in by random participants among the N participants in the subsequent process, thus realizing the verification of transaction data when the data is uploaded to the chain.

[0041] The multi-signature information specifically includes multiple signatures formed based on the private keys of different participants.

[0042] When receiving a transaction request from N participants to vote on a meeting resolution, the private keys of the N participants can be obtained to generate multi-signature information.

[0043] Step 102: Send a first call request of the on-chain smart contract to the blockchain node based on the multi-signature information.

[0044] The first call request carries the multi-signature information.

[0045] The first call request is used to call the on-chain smart contract to upload the multi-signature information to the blockchain, and to verify the signatures when the batch transaction data between the subsequent N participants is uploaded to the chain.

[0046] Among them, smart contract often refers to a piece of code running on the blockchain network.

[0047] When the first call request of the on-chain smart contract is sent to the blockchain node based on the multi-signature information, the multi-signature information can be packaged into a transaction to generate the corresponding first call request, so as to realize the input of the multi-signature information into the on-chain smart contract. The on-chain smart contract is called and executed to realize the transaction chain verification processing of the multi-signature information. After processing, it triggers the consensus of each node on the blockchain. After consensus, the multi-signature information is blocked, and the conclusion can start the subsequent off-chain batch transaction and the centralized chain processing of batch transactions.

[0048] Step 103: After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtain multiple transaction information to be on-chain generated by different combinations of the N participants and the execution dependency relationships between the transaction information to be on-chain;

[0049] After the first call request is responded to and the multi-signature information is uploaded to the chain, the signature on-chain feedback information of the blockchain node will be obtained. At this time, the off-chain program can perform off-chain logic processing to obtain multiple transaction information to be uploaded to the chain generated by different combinations of participants among the N participants and the execution dependency relationship between the transaction information to be uploaded to the chain.

[0050] Among them, different transaction information to be uploaded to the chain is generated within a participant combination formed by several participants among N participants.

[0051] Different combinations of participants may contain the same participants, or different combinations of participants may contain different participants. However, transactions conducted by different combinations of participants are different transactions. Furthermore, there may be certain dependencies between batch transactions involving some or all of the N participants.

[0052] The transaction information to be uploaded to the chain specifically includes transaction results, transaction processing process, signatures of all transaction participants and other information.

[0053] Specific transactions include transfers, voting, etc.

[0054] During this process, for the off-chain calculation part of the transaction, any number of calculations and transfers can be performed through multi-signatures. After the calculation process is finally completed, the multi-signature is used as a verification mark to verify the offline batch transaction data on the chain through the on-chain smart contract. Finally, the off-chain transaction changes are executed on the chain, realizing the final on-chain processing of the transaction information to be on the chain.

[0055] Step 104: Based on the transaction information to be on-chain and the execution dependency, a second call request of the on-chain smart contract is sent to the blockchain node.

[0056] The second call request is used to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency after the on-chain smart contract is executed, and to put the transaction on-chain after the verification is correct.

[0057] When sending the second call request to the blockchain node, multiple transaction information to be uploaded to the chain and execution dependency relationships generated by different combinations of N participants are packaged and embedded in the call request, providing a one-time on-chain verification process for batch transaction information, reducing the frequent calls to the on-chain smart contract and the frequent verification and block entry operations of transaction data performed using the on-chain smart contract.

[0058] Before a batch transaction, the multi-signature information of N participants is reported to the blockchain through a call to an on-chain smart contract. After the batch transaction is processed off-chain, the on-chain smart contract is called again to use the multi-signature information of the N participants that has been on the chain to verify the signature of the transaction information to be on the chain corresponding to the batch transaction, thereby verifying the transaction information to be on the chain. After the verification is correct, the transaction information is processed on the chain, which improves the processing efficiency of the data chain process in scenarios where a large amount of transaction data is frequently generated, meets the chain requirements of batch data, and realizes the expansion of blockchain application scenarios.

[0059] In an embodiment of the present application, by obtaining the multi-signature information of N participants, the on-chain smart contract is called. After ensuring that the multi-signature information is on the chain, multiple transaction information to be on the chain generated by different combinations of the N participants and the execution dependency relationship between the transaction information to be on the chain are obtained, and the on-chain smart contract is called again. After the on-chain smart contract is executed, the transaction information to be on the chain is verified according to the multi-signature information and the execution dependency relationship, and the transaction is on the chain after the verification is correct. This process reduces the frequent calls to the on-chain smart contract and the frequent verification and block entry operations of transaction data performed using the on-chain smart contract, improves the processing efficiency of the data on-chain process in scenarios where a large amount of transaction data is frequently generated, meets the needs of batch data on the chain, and realizes the expansion of blockchain application scenarios.

[0060] Different implementation methods of the data uplink method are also provided in the embodiments of this application.

[0061] See also Figure 2 , Figure 2 This is a process of a data chain method provided by the embodiment of the present application Figure 2 .like Figure 2 As shown, a method for uploading data to a blockchain comprises the following steps:

[0062] Step 201: Obtain multi-signature information of N participants.

[0063] Wherein, N is an integer greater than or equal to 2;

[0064] The implementation process of this step is the same as the implementation process of step 101 in the aforementioned embodiment, and will not be repeated here.

[0065] Step 202: Send a first call request of the on-chain smart contract to the blockchain node based on the multi-signature information.

[0066] The implementation process of this step is the same as the implementation process of step 102 in the aforementioned embodiment, and will not be repeated here.

[0067] Step 203: After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtain transaction information generated by different combinations of the N participants;

[0068] The transaction information may include, for example, the transfer amount, transfer initiator, transfer recipient, transfer time, transaction matters to which the transfer is affiliated, etc., or information such as the voters involved in the vote, the voted options, voting time, matters to which the vote is affiliated, etc.

[0069] Step 204: Obtain signature information of each participant included in each participant combination;

[0070] Step 205: Sign the transaction information based on the signature information to obtain the transaction information to be uploaded to the chain generated by each combination of the participating parties, and determine the execution dependency relationship between the transaction information as the execution dependency relationship between the transaction information to be uploaded to the chain.

[0071] In order to ensure that off-chain transactions are compatible with the on-chain verification mechanism when they are uploaded to the chain, the transaction information generated by each combination of participants needs to be signed in the embodiment of the present application to ensure that each transaction information is marked and to provide verification information for the verification processing of subsequent transactions when they are uploaded to the chain.

[0072] This process also implements an off-chain proof mechanism for batch transaction processing, avoiding the possibility of malicious off-chain computing at a relatively low cost.

[0073] Step 206: Based on the transaction information to be on-chain and the execution dependency, send a second call request of the on-chain smart contract to the blockchain node.

[0074] The second call request is used to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency after the on-chain smart contract is executed, and to put the transaction on-chain after the verification is correct.

[0075] The implementation process of this step is the same as the implementation process of step 104 in the aforementioned embodiment, and will not be repeated here.

[0076] Furthermore, in an optional embodiment, in step 203, obtaining transaction information generated by different combinations of the N participants includes:

[0077] When a transaction is triggered by different combinations of the N participants, the processing process of the transaction is recorded to obtain a transaction record and a transaction status corresponding to the transaction record;

[0078] For each combination of participants, the transaction information including the corresponding transaction record and the transaction status is obtained respectively.

[0079] Among them, the transaction record is a record of the transaction processing actions and corresponding transaction processing information that occur during the transaction processing process. The transaction record can be obtained by recording the transaction processing actions and transaction processing information that occur within a certain time length, or by recording a transaction processing action and transaction processing information for each transaction processing step according to a specific transaction processing matter.

[0080] The transaction status corresponding to the transaction record is one transaction status for each transaction record. The transaction status indicates the transaction processing status at the transaction time point after the transaction processing action corresponding to the transaction record occurs. For example, after the transaction processing action, what is the current balance of the two parties to the transfer transaction? After the voting transaction, what is the current number of votes for each voting option?

[0081] The transaction records serve as status proof of the corresponding transaction status, and the correctness of the transaction status can be verified through these transaction records.

[0082] Correspondingly, step 206 sends a second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency, including:

[0083] Packaging the plurality of transaction information to be uploaded to the chain and the execution dependency relationships between the transaction information to be uploaded to the chain to obtain a transaction data packet to be uploaded to the chain;

[0084] Send a second call request of the on-chain smart contract carrying the transaction data packet to be on-chain to the blockchain node.

[0085] When sending the second call request to the blockchain node for the on-chain smart contract, all the transaction information to be uploaded to the chain generated during the batch transaction process needs to be packaged and entered as parameters.

[0086] At this time, when the transaction information in the transaction information to be uploaded to the chain contains transaction records and transaction status, after the second call request carrying the transaction data packet to be uploaded to the blockchain node is sent, the on-chain smart contract called at this time needs to be executed after the multi-signature information, the execution dependency relationship between the transaction information to be uploaded to the chain, and the transaction records are specifically needed to verify the transaction status in the transaction information to be uploaded to the chain, and the transaction is uploaded to the chain after the verification is correct.

[0087] That is, at this time, the second call request is used to verify the transaction status in the on-chain transaction information according to the multi-signature information, execution dependency and transaction records after the on-chain smart contract is executed, and the transaction is uploaded to the chain after the verification is correct.

[0088] In this process, in order to solve the possible malicious and dispute problems in the off-chain transaction calculation process, a set of on-chain and off-chain interaction modes are designed by introducing off-chain transaction status S, transaction record SP, and off-chain calculation condition execution dependency C (which can be implemented through a directed acyclic graph) to perform off-chain recording of transaction data, on-chain verification and judgment, and on-chain execution.

[0089] The concept of S is similar to the concept of the world state on the chain, which will change instantly with the execution of off-chain transaction actions. It is the off-chain transaction state after the accumulation of off-chain execution actions.

[0090] Among them, execution dependencies include, for example, the expiration time and duration of a transaction, the start time of another transaction that has a sequential execution dependency with the transaction, and other information. These execution dependencies can be used to enable the on-chain smart contract to check whether there are time conflicts between transactions after execution when calling the on-chain smart contract to upload transactions to the chain. For example, it can check whether a voting result is selected before block number n (n is used as an input parameter and the voting result is used as the execution result), thereby realizing the verification of the transaction information to be uploaded to the chain.

[0091] Differently, in an optional embodiment, after obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, step 203 obtains transaction information generated by different combinations of the N participants, including:

[0092] After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, a temporary interaction space is opened;

[0093] Transaction information generated by different combinations of the N participants based on the temporary interaction space is obtained.

[0094] The temporary interaction space is used for different combinations of N participants to execute transactions, and provides the service resources required for the execution of triggered transactions.

[0095] When a temporary interaction space is opened, it prepares the resources required by the off-chain program for N participants to execute batch transactions, ensuring that a large amount of frequently generated transaction data can be executed off-chain.

[0096] In this process, for the off-chain transaction part, a temporary interaction space is opened for multiple parties interacting off-chain through multi-signature. Any number of calculations and transfers can be performed in the interaction space, and after the calculation process is finally completed, the multi-signature is used as an identifier to calculate the final change in the state of the world on the chain, ultimately ensuring that the off-chain transaction data and state changes are finally executed on the chain through smart contracts, thereby realizing data on-chain.

[0097] Furthermore, after sending a second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency, the method further includes:

[0098] After obtaining the transaction on-chain feedback information fed back by the blockchain node based on the second call request, the temporary interaction space is closed.

[0099] After obtaining the transaction on-chain feedback information fed back by the blockchain node based on the second call request, and confirming that the batch transaction data is successfully on-chain, the resources occupied by the off-chain program are released, the temporary interactive space is closed, and the interactive space lifecycle management is realized.

[0100] In an embodiment of the present application, by obtaining the multi-signature information of N participants, the on-chain smart contract is called. After ensuring that the multi-signature information is on the chain, multiple transaction information to be on the chain generated by different combinations of the N participants and the execution dependency relationship between the transaction information to be on the chain are obtained, and the on-chain smart contract is called again. After the on-chain smart contract is executed, the transaction information to be on the chain is verified according to the multi-signature information and the execution dependency relationship, and the transaction is on the chain after the verification is correct. This process reduces the frequent calls to the on-chain smart contract and the frequent verification and block entry operations of transaction data performed using the on-chain smart contract, improves the processing efficiency of the data on-chain process in scenarios where a large amount of transaction data is frequently generated, meets the needs of batch data on the chain, and realizes the expansion of blockchain application scenarios.

[0101] See also Figure 3 , Figure 3 This is a structural diagram of a data uplink device provided in an embodiment of the present application. For the sake of convenience, only the parts related to the embodiment of the present application are shown.

[0102] The data uplink device 300 includes:

[0103] The first acquisition module 301 is used to obtain multi-signature information of N participants, where N is an integer greater than or equal to 2;

[0104] A first sending module 302 is configured to send a first call request of the on-chain smart contract to a blockchain node based on the multi-signature information;

[0105] A second acquisition module 303 is configured to, after obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtain multiple to-be-on-chain transaction information generated by different combinations of the N participants and the execution dependency relationships between the to-be-on-chain transaction information;

[0106] The second sending module 304 is used to send a second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency relationship. The second call request is used to enable the on-chain smart contract to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency relationship after execution, and to upload the transaction to the chain after the verification is correct.

[0107] The second acquisition module 303 is specifically configured to:

[0108] After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining transaction information generated by different combinations of the N participants;

[0109] Obtaining signature information of each participant included in each of the participant combinations;

[0110] The transaction information is signed based on the signature information to obtain the transaction information to be put on the chain generated by each combination of the participating parties, and the execution dependency relationship between the transaction information is determined as the execution dependency relationship between the transaction information to be put on the chain.

[0111] The second acquisition module 303 is further specifically configured to:

[0112] When a transaction is triggered by different combinations of the N participants, the processing process of the transaction is recorded to obtain a transaction record and a transaction status corresponding to the transaction record;

[0113] For each combination of participants, the transaction information including the corresponding transaction record and the transaction status is obtained respectively.

[0114] Correspondingly, the second sending module 304 is specifically configured to:

[0115] Packaging the plurality of transaction information to be uploaded to the chain and the execution dependency relationships between the transaction information to be uploaded to the chain to obtain a transaction data packet to be uploaded to the chain;

[0116] Send a second call request of the on-chain smart contract carrying the transaction data packet to be on-chain to the blockchain node.

[0117] The second acquisition module 303 is further configured to:

[0118] After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, a temporary interaction space is opened;

[0119] Transaction information generated by different combinations of the N participants based on the temporary interaction space is obtained.

[0120] Correspondingly, the apparatus 300 further includes:

[0121] The space closing module is used to close the temporary interaction space after obtaining the transaction on-chain feedback information fed back by the blockchain node based on the second call request.

[0122] The data uplink device provided in the embodiment of the present application can implement each process of the embodiment of the above-mentioned data uplink method and can achieve the same technical effect. To avoid repetition, it will not be described here.

[0123] Figure 4 This is a structural diagram of a terminal provided by an embodiment of the present application. As shown in the figure, the terminal 4 of this embodiment includes: at least one processor 40 ( Figure 4 Only one is shown), a memory 41 and a computer program 42 stored in the memory 41 and executable on the at least one processor 40, wherein the processor 40 implements the steps of any of the above-mentioned method embodiments when executing the computer program 42.

[0124] The terminal 4 can be a computing device such as a desktop computer, a notebook, a PDA, or a cloud server. The terminal 4 can include, but is not limited to, a processor 40 and a memory 41. Those skilled in the art will understand that Figure 4 It is only an example of terminal 4 and does not constitute a limitation on terminal 4. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the terminal may also include input and output devices, network access devices, buses, etc.

[0125] The processor 40 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0126] The memory 41 may be an internal storage unit of the terminal 4, such as a hard disk or memory of the terminal 4. The memory 41 may also be an external storage device of the terminal 4, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash memory card, etc. equipped on the terminal 4. Furthermore, the memory 41 may include both an internal storage unit of the terminal 4 and an external storage device. The memory 41 is used to store the computer program and other programs and data required by the terminal. The memory 41 may also be used to temporarily store data that has been output or is about to be output.

[0127] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0128] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0129] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0130] In the embodiments provided in this application, it should be understood that the disclosed devices / terminals and methods can be implemented in other ways. For example, the device / terminal embodiments described above are merely illustrative. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0131] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0132] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0133] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0134] The present application implements all or part of the processes in the above-mentioned embodiment method, and can also be implemented through a computer program product. When the computer program product runs on a terminal, the terminal can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0135] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.

Claims

1. A data uploading method, characterized in that: include: Obtain multi-signature information from N participants, where N is an integer greater than or equal to 2; randomly initiate a transaction between the N participants, with some or all of the participants participating; the multi-signature information is used to subsequently verify the signatures of multiple batches of transactions involving random participants from the N participants, thereby verifying the transaction data when it is uploaded to the blockchain; Sending a first call request of the on-chain smart contract to the blockchain node based on the multi-signature information; The first call request carries the multi-signature information, so as to call the on-chain smart contract through the first call request and upload the multi-signature information to the blockchain; After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining a plurality of transaction information to be on-chain generated by different combinations of the N participants and the execution dependency relationships between the transaction information to be on-chain; the transaction information to be on-chain is obtained by signing the transaction information generated by each combination of the participants; Based on the transaction information to be on-chain and the execution dependency, a second call request of the on-chain smart contract is sent to the blockchain node. The second call request is used to enable the on-chain smart contract to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency after execution, and to put the transaction on-chain after the verification is correct.

2. The method according to claim 1, characterized in that After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining a plurality of to-be-on-chain transaction information generated by different combinations of the N participants and the execution dependency relationship between the to-be-on-chain transaction information, including: After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining transaction information generated by different combinations of the N participants; Obtaining signature information of each participant included in each of the participant combinations; The transaction information is signed based on the signature information to obtain the transaction information to be put on the chain generated by each combination of the participating parties, and the execution dependency relationship between the transaction information is determined as the execution dependency relationship between the transaction information to be put on the chain.

3. The method according to claim 2, characterized in that The obtaining of transaction information generated by different combinations of the N parties includes: When a transaction is triggered by different combinations of the N participants, the processing process of the transaction is recorded to obtain a transaction record and a transaction status corresponding to the transaction record; For each combination of participants, the transaction information including the corresponding transaction record and the transaction status is obtained respectively.

4. The method according to claim 1 or 3, characterized in that The sending, based on the transaction information to be on-chain and the execution dependency, a second call request of the on-chain smart contract to the blockchain node, includes: Packaging the plurality of transaction information to be uploaded to the chain and the execution dependency relationships between the transaction information to be uploaded to the chain to obtain a transaction data packet to be uploaded to the chain; Send a second call request of the on-chain smart contract carrying the transaction data packet to be on-chain to the blockchain node.

5. The method according to claim 2, characterized in that After obtaining the signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining transaction information generated by different combinations of the N participants, including: After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, a temporary interaction space is opened; Transaction information generated by different combinations of the N participants based on the temporary interaction space is obtained.

6. The method according to claim 5, characterized in that After sending the second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency, the method further includes: After obtaining the transaction on-chain feedback information fed back by the blockchain node based on the second call request, the temporary interaction space is closed.

7. A data uplink device, characterized in that: include: The first acquisition module is configured to obtain multi-signature information from N parties, where N is an integer greater than or equal to 2; a transaction randomly occurs between the N parties, with some or all of the parties participating; the multi-signature information is subsequently used to verify the signatures of multiple batches of transactions involving random parties among the N parties, thereby authenticating the transaction data when it is uploaded to the blockchain; A first sending module, configured to send a first call request of the on-chain smart contract to a blockchain node based on the multi-signature information; The first call request carries the multi-signature information, so as to call the on-chain smart contract through the first call request and upload the multi-signature information to the blockchain; A second acquisition module is configured to, after obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtain a plurality of to-be-on-chain transaction information generated by different combinations of the N participants and execution dependency relationships between the to-be-on-chain transaction information; The transaction information to be uploaded to the chain is obtained by signing the transaction information generated by each combination of participants; The second sending module is used to send a second call request of the on-chain smart contract to the blockchain node based on the transaction information to be on-chain and the execution dependency relationship. The second call request is used to enable the on-chain smart contract to verify the transaction information to be on-chain according to the multi-signature information and the execution dependency relationship after execution, and to upload the transaction to the chain after the verification is correct.

8. The device according to claim 7, characterized in that The second acquisition module is specifically configured to: After obtaining signature on-chain feedback information fed back by the blockchain node based on the first call request, obtaining transaction information generated by different combinations of the N participants; Obtaining signature information of each participant included in each of the participant combinations; The transaction information is signed based on the signature information to obtain the transaction information to be put on the chain generated by each combination of the participating parties, and the execution dependency relationship between the transaction information is determined as the execution dependency relationship between the transaction information to be put on the chain.

9. A terminal comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.