Data transmission method and device based on blockchain

By using blockchain technology and watermark servers during data transmission, recording transaction data for each data transfer, the problem of difficulty in holding accountable after data is maliciously tampered with, and the data traceability and security are achieved.

CN114493585BActive Publication Date: 2024-12-20HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011157338.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-26
Publication Date
2024-12-20
Estimated Expiration
2040-10-26

AI Technical Summary

Technical Problem

The existing technology is difficult to track and locate the leaker after data is maliciously tampered with during transmission, resulting in difficulty in holding data breaches accountable.

Method used

By using blockchain technology during data transmission, intermediate information is sent to the watermark server, feedback information is generated, and transaction data transferred for each data is recorded on the accounting node, and the data leakage path is tracked using the watermark embedded in the data.

Benefits of technology

It realizes the traceability of the data transmission process and the positioning of data leakers, and improves the security and credibility of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114493585B_ABST
    Figure CN114493585B_ABST
Patent Text Reader

Abstract

The present application provides a data transmission method and device based on blockchain, the method comprising: a data sender sends first intermediate information to a watermark server, the first intermediate information comprises first transmission data and first transaction basic information, the first transmission data is obtained by embedding the first watermark based on the target data; the data sender receives first feedback information generated by the watermark server based on the first intermediate information from the watermark server, the first feedback information comprises the first watermark, the second watermark, and the transmission data hash value corresponding to the second transmission data, the second transmission data is obtained by embedding the second watermark based on the target data; the data sender determines the first transaction association information, generates the first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information, and sends the first transaction data to the accounting node. The present application can solve the problem of being unable to track the data leaker due to data tampering.
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 in particular to a blockchain-based data transmission method and device. Background Art

[0002] With the rapid development of Internet technology, people have now entered the era of big data where everything is connected. The rapid and widespread dissemination of data (such as videos, pictures, audio, and files, etc.) has become a common phenomenon. However, since data itself is a kind of digital information, it is at risk of being leaked and tampered with. Therefore, in order to protect the property rights of data owners, the hash value corresponding to the data can usually be stored in the blockchain.

[0003] However, the inventors of the present application discovered during the research and experiment process that when a malicious user makes certain modifications to the data before disseminating it, since the hash value of the modified data is bound to be different from the hash value of the data previously recorded on the blockchain, it is difficult to hold accountable for the leak and the applicability is poor. Summary of the invention

[0004] The embodiments of the present application provide a blockchain-based data transmission method and device, which can solve the problem that when data is maliciously tampered with during data flow, it is impossible to track down the data leaker.

[0005] In the first aspect, the present application provides a data transmission method based on blockchain, the method comprising: the data sender sends first intermediate information to a watermark server, the first intermediate information includes first transmission data and first transaction basic information corresponding to a first transaction, the first transmission data is obtained by embedding a first watermark based on target data, and the first transaction is a transfer transaction of the target data. The data sender receives first feedback information generated by the watermark server based on the first intermediate information from the watermark server, the first feedback information includes the first watermark, the second watermark corresponding to the first transaction, and the transmission data hash value corresponding to the second transmission data, the second transmission data is obtained by embedding the second watermark based on the target data. The data sender determines the first transaction association information, generates the first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information, and sends the first transaction data to the accounting node, so that the accounting node uploads the first transaction data to the blockchain when determining that the first transaction data is legal transaction data.

[0006] In the present application, the data sender sends the first intermediate information to the watermark server, and then receives the first feedback information generated by the watermark server based on the first intermediate information from the watermark server. According to the first feedback information including the first watermark and the second watermark, the first transaction association information and the first transaction basic information, the first transaction data is generated, and then the first transaction data is sent to the accounting node, so that the accounting node puts the first transaction data on the chain when it determines that the first transaction data is legal transaction data. Obviously, by uploading the transaction data corresponding to each data transfer to the blockchain, the complete transfer or transmission process of the data can be recorded, so that the data can be tracked based on the data on the blockchain later. And because the watermark embedded in the target data corresponds to each data transfer transaction one by one, that is, one transaction corresponds to a new watermark (i.e., the second watermark), therefore, when the target data is leaked after being maliciously tampered with during any transfer process, the leaker can be located based on the watermark included in the leaked data.

[0007] In combination with the first aspect, in a first possible implementation manner, the method further includes:

[0008] The data sender receives the encrypted data generated by the watermark server after encrypting the second transmission data based on the public key of the data receiver from the watermark server, and sends the encrypted data to the data receiver.

[0009] In the present application, the second transmission data is encrypted based on the public key of the data recipient, and it can be controlled that only the designated data recipient (that is, the data recipient who has the private key corresponding to the public key used for encryption) can decrypt the encrypted second transmission data. On the one hand, it can ensure that the data will not be decrypted by other irrelevant persons, and on the other hand, it can realize the subsequent tracking of the data leaker.

[0010] In combination with the first aspect or any one of the first possible implementation modes of the first aspect, in a second possible implementation mode, the first transaction association information includes a digital signature of a data recipient;

[0011] The data sender determines the first transaction association information, including:

[0012] The data sender sends the first basic transaction information to the data receiver;

[0013] The data sender receives from the data receiver a digital signature of the data receiver generated after the data receiver signs the first transaction basic information based on a private key of the data receiver.

[0014] In the present application, by sending the first transaction data including the digital signature of the data recipient to the accounting node, so that the accounting node verifies the digital signature of the data recipient before putting the first transaction data on the chain, the data recipient's recognition of the transaction is increased, making the on-chain data more credible.

[0015] In combination with any one of the first aspect to the second possible implementation manner of the first aspect, in a third possible implementation manner, the first transaction association information further includes a digital signature of the data sender;

[0016] The data sender determines the first transaction association information, including:

[0017] The data sender signs the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the data sender's private key to generate a data sender digital signature.

[0018] In the present application, by sending the first transaction data including the digital signature of the data sender to the accounting node, so that the accounting node verifies the digital signature of the data sender and then puts the first transaction data on the chain, the data sender's recognition of the transaction is increased, making the on-chain data more credible.

[0019] In combination with any one of the first aspect to the third possible implementation manner of the first aspect, in a fourth possible implementation manner, the first transaction association information further includes a first transaction identifier corresponding to the first transaction.

[0020] In combination with any one of the first aspect to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner, the above-mentioned first feedback information also includes a watermark server digital signature, and the above-mentioned watermark server digital signature is generated after the above-mentioned watermark server signs the above-mentioned first watermark, the above-mentioned second watermark, the above-mentioned transmission data hash value and the above-mentioned first transaction basic information based on the watermark server private key.

[0021] In combination with any one of the first aspect to the fifth possible implementation manners of the first aspect, in a sixth possible implementation manner, the above-mentioned first transaction basic information includes one or more of the data sender address of the above-mentioned first transaction, the data recipient address of the above-mentioned first transaction, the parent transaction identifier corresponding to the parent transaction of the above-mentioned first transaction, the first token transfer quantity of the above-mentioned first transaction, the second token transfer quantity of the above-mentioned first transaction, the token identifier of the above-mentioned first transaction and the token recipient address of the above-mentioned first transaction, wherein the above-mentioned first token transfer data quantity is the number of tokens transferred by the above-mentioned data sender to the data recipient of the above-mentioned first transaction, and the above-mentioned second token transfer quantity is the number of tokens transferred by the above-mentioned data sender to the token recipient indicated by the above-mentioned token recipient address.

[0022] In combination with any one of the first aspect to the sixth possible implementation manner of the first aspect, in a seventh possible implementation manner, the first watermark is a preset character string or a watermark corresponding to a parent transaction of the first transaction.

[0023] In a second aspect, the present application provides a data transmission method based on blockchain, the method comprising:

[0024] The accounting node receives first transaction data corresponding to the first transaction from the data sender, wherein the first transaction data includes first transaction basic information, first feedback information and first transaction association information, wherein the first feedback information includes a first watermark, a second watermark corresponding to the first transaction, and a transmission data hash value corresponding to the second transmission data, wherein the second transmission data is obtained by embedding the second watermark based on the target data, and the first watermark is a first preset character string or a watermark corresponding to the parent transaction of the first transaction;

[0025] The accounting node determines whether the first transaction data is legal transaction data based on the first transaction basic information, the first watermark, the second watermark and the first transaction association information. If the first transaction data is determined to be legal transaction data, the first transaction data is uploaded to the blockchain.

[0026] In the present application, the accounting node receives the first transaction data sent by the data sender, and determines the legitimacy of the first transaction data according to the first transaction basic information, the first watermark, the second watermark and the first transaction association information included in the first transaction data, and then puts the first transaction data on the chain when it is determined that the first transaction data is legal transaction data. Obviously, by uploading the transaction data corresponding to each data transfer to the blockchain, the complete data transfer or transmission process can be recorded, so that data tracking can be performed based on the data on the blockchain later. And because each time the target data is transferred, a new watermark (i.e., the second watermark) is re-embedded in the target data, therefore, when the target data is leaked after being maliciously tampered with during any transfer process, the leaker can be located based on the watermark included in the leaked data.

[0027] In combination with the second aspect, in a first possible implementation manner, the first watermark is the first preset character string, and the first transaction association information includes a first transaction identifier corresponding to the first transaction;

[0028] The accounting node determines whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark, the second watermark and the first transaction association information, including:

[0029] The accounting node performs hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data;

[0030] The accounting node obtains a second preset character string;

[0031] If the second watermark matches the first Hash value, the first transaction identifier matches the second Hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data.

[0032] In the present application, when the data sender is the original sender, if the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data, and then the first transaction data is put on the chain, which can improve the credibility of the data on the blockchain.

[0033] In combination with the second aspect, in a second possible implementation manner, the first watermark is a watermark corresponding to a parent transaction of the first transaction, the first transaction association information includes a first transaction identifier corresponding to the first transaction, and the first transaction basic information includes a parent transaction identifier corresponding to the parent transaction;

[0034] The accounting node determines whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark, the second watermark and the first transaction association information, including:

[0035] The accounting node performs hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data;

[0036] The accounting node obtains the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier, wherein the parent transaction data includes the parent transaction basic information;

[0037] The accounting node performs a hash operation on the parent transaction basic information to obtain a third hash value corresponding to the parent transaction basic information;

[0038] If the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0039] In the present application, when the data sender is not the original sender, if the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data, and then the first transaction data is put on the chain, which can improve the credibility of the data on the blockchain.

[0040] In combination with the second possible implementation of the second aspect, in a third possible implementation, the first transaction basic information further includes an address of a data sender of the first transaction, and the parent transaction basic information includes an address of a data receiver of the parent transaction;

[0041] The above method further includes:

[0042] If the data sender address of the first transaction matches the data receiver address of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0043] In combination with the second possible implementation of the second aspect, in a fourth possible implementation, the first transaction basic information further includes a token identifier of the first transaction, and the parent transaction basic information further includes a token identifier of the parent transaction;

[0044] The above method further includes:

[0045] If the token identifier of the above-mentioned first transaction is equal to the token identifier of the above-mentioned parent transaction, the above-mentioned second watermark matches the above-mentioned first hash value, the above-mentioned first transaction identifier matches the above-mentioned second hash value, and the watermark corresponding to the above-mentioned parent transaction matches the above-mentioned third hash value, then the above-mentioned first transaction data is determined to be legal transaction data.

[0046] In combination with the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a fifth possible implementation manner, the first transaction basic information also includes a first token transfer quantity of the first transaction, the first token transfer data volume is the number of tokens transferred from the data sender to the data recipient of the first transaction, and the first token transfer quantity is an integer;

[0047] The above method further includes:

[0048] If the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0049] If the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0050] In this application, by setting and verifying the number of token transfers, the number of data forwarding times can be limited, thereby improving the controllability of data forwarding.

[0051] In combination with the fifth possible implementation of the second aspect, in a sixth possible implementation, the method further includes:

[0052] If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0053] If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0054] In this application, by setting and verifying the number of token transfers, the number of data forwarding times can be limited, thereby improving the controllability of data forwarding.

[0055] In combination with the fifth possible implementation of the second aspect, in a seventh possible implementation, the first transaction is the first transfer transaction of the target data;

[0056] The above method further includes:

[0057] If the above-mentioned token balance is equal to 1, the above-mentioned first token transfer quantity is greater than 0, the above-mentioned first token transfer quantity is less than or equal to the token balance of the above-mentioned data sender, the above-mentioned second watermark matches the above-mentioned first hash value, the above-mentioned first transaction identifier matches the above-mentioned second hash value, and the above-mentioned first preset string matches the above-mentioned second preset string, then the above-mentioned first transaction data is determined to be legal transaction data.

[0058] In this application, by setting and verifying the number of token transfers, the number of data forwarding times can be limited, thereby improving the controllability of data forwarding.

[0059] In combination with the fifth possible implementation of the second aspect, in an eighth possible implementation, the first transaction basic information also includes a token recipient address and a second token transfer amount, and the second token transfer amount is the token amount transferred by the data sender to the token recipient indicated by the token recipient address;

[0060] The above method further includes:

[0061] If the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0062] If the first token transfer quantity is greater than 0, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0063] In this application, by setting and verifying the number of token transfers, the number of data forwarding times can be limited, thereby improving the controllability of data forwarding.

[0064] In combination with the fifth possible implementation of the second aspect, in a ninth possible implementation, the first transaction basic information further includes a token recipient address and a second token transfer amount, and the second token transfer amount is the token amount transferred from the data sender to the token recipient indicated by the token recipient address;

[0065] The above method further includes:

[0066] If the first token transfer quantity is equal to 1, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data.

[0067] In this application, by setting and verifying the number of token transfers, the number of times data is forwarded can be limited, thereby improving the controllability of data forwarding.

[0068] In combination with the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a tenth possible implementation manner, the first transaction association information further includes a digital signature of a data recipient, and the digital signature of the data recipient is generated after the data recipient signs the first transaction basic information based on a private key of the data recipient;

[0069] The above method further includes:

[0070] The above-mentioned accounting node obtains the public key of the data recipient;

[0071] If the accounting node determines that the digital signature of the data recipient is a valid digital signature based on the public key of the data recipient, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or

[0072] If the accounting node determines that the digital signature of the data recipient is a valid digital signature based on the public key of the data recipient, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0073] In the present application, the first transaction data is uploaded to the chain after the digital signature of the data recipient has been verified, thereby increasing the data recipient's recognition of the transaction and making the data on the chain more credible.

[0074] In combination with the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in an eleventh possible implementation manner, the first transaction association information further includes a digital signature of a data sender, and the digital signature of the data sender is generated after the data sender signs the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on a private key of the data sender;

[0075] The above method further includes:

[0076] The above-mentioned accounting node obtains the public key of the data sender;

[0077] If the accounting node determines that the digital signature of the data sender is a valid digital signature based on the public key of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or

[0078] If the accounting node determines that the digital signature of the data sender is a valid digital signature based on the public key of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0079] In this application, the first transaction data is uploaded to the chain after the digital signature of the data sender is verified, which increases the data sender's recognition of the transaction and makes the data on the chain more credible.

[0080] In combination with the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a twelfth possible implementation manner, the first feedback information further includes a watermark server digital signature, where the watermark server digital signature is generated after the watermark server signs the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on a watermark server private key;

[0081] The above method further includes:

[0082] The above-mentioned accounting node obtains the watermark server public key;

[0083] If the accounting node determines that the watermark server digital signature is a valid digital signature based on the watermark server public key, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or

[0084] If the accounting node determines that the watermark server digital signature is a valid digital signature based on the watermark server public key, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0085] In this application, the first transaction data is uploaded to the chain after the digital signature of the watermark server is verified, which increases the watermark server's recognition of the transaction and makes the data on the chain more credible.

[0086] In a third aspect, the present application provides a data transmission method based on blockchain, the method comprising:

[0087] The watermark server receives first intermediate information from the data sender, wherein the first intermediate information includes first transmission data and first transaction basic information corresponding to a first transaction, wherein the first transmission data is obtained by embedding the first watermark based on the target data, and the first transaction is a transfer transaction of the target data;

[0088] The watermark server extracts the first watermark from the first transmission data, and generates a second watermark according to the first transaction basic information;

[0089] The watermark server embeds the second watermark into the target data to generate second transmission data, and performs a hash operation on the second transmission data to obtain a transmission data hash value;

[0090] The watermark server determines first feedback information according to the first watermark, the second watermark and the transmission data hash value, and sends the first feedback information to the data sender.

[0091] In the present application, the watermark server generates first feedback information including a first watermark, a second watermark and a hash value of the transmitted data based on the first intermediate information received from the data sender, and sends the first feedback information to the data sender, so that each time the target data is transferred, a new watermark (i.e., the second watermark) is re-embedded in the target data. Therefore, when the target data is leaked after being maliciously tampered with during any transfer process, the leaker can be located based on the watermark included in the leaked data.

[0092] In combination with the third aspect, in a first possible implementation manner, the first feedback information further includes a watermark server digital signature;

[0093] The watermark server determines the first feedback information according to the first watermark, the second watermark and the hash value of the transmission data, including:

[0094] The watermark server signs the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the watermark server private key to generate a watermark server digital signature;

[0095] The watermark server determines the first feedback information according to the first watermark, the second watermark, the transmission data hash value, and the watermark server digital signature.

[0096] In this application, the watermark server digital signature is used to increase the data recipient's recognition of the transaction, making the data uploaded to the chain more credible after verification.

[0097] In combination with the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner, the method further includes:

[0098] The watermark server obtains the public key of the data receiver;

[0099] The watermark server encrypts the second transmission data based on the data receiver's public key to obtain encrypted data;

[0100] The watermark server sends the encrypted data to the data receiver, or the watermark server forwards the encrypted data to the data receiver through the data sender.

[0101] In the present application, the second transmission data is encrypted based on the public key of the data recipient, and it can be controlled that only the designated data recipient (that is, the data recipient who has the private key corresponding to the public key used for encryption) can decrypt the encrypted second transmission data. On the one hand, it can ensure that the data will not be decrypted by other irrelevant persons, and on the other hand, it can realize the subsequent tracking of the data leaker.

[0102] In a fourth aspect, the present application provides a data transmission method based on blockchain, the method comprising:

[0103] The user sends a watermark extraction request to the watermark server, wherein the watermark extraction request includes transmission data;

[0104] The user receives the first transaction watermark extracted from the transmission data from the watermark server;

[0105] The user party obtains the first transaction data corresponding to the first transaction watermark from the blockchain according to the first transaction watermark, wherein the first transaction data includes the data sender address of the first transaction and the parent transaction identifier of the parent transaction of the first transaction, and the first transaction watermark is the watermark corresponding to the first transaction;

[0106] The user party obtains the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier, wherein the parent transaction data includes the parent transaction watermark corresponding to the parent transaction and the data sender address of the parent transaction;

[0107] If the parent transaction watermark matches the preset character string, the data sender indicated by the data sender address of the parent transaction is determined as the original sender of the target data;

[0108] The user party determines the data transfer record of the target data according to the original sender and the data sender indicated by the data sender address of the first transaction.

[0109] In combination with the fourth aspect, in a first possible implementation manner, the first transaction data further includes an address of a data recipient of the first transaction;

[0110] The above method further includes:

[0111] The user party determines the data recipient indicated by the data recipient address of the first transaction as the data leakage party.

[0112] In a fifth aspect, an embodiment of the present application provides a terminal, which may be a data sender, and includes a unit and / or module for executing the blockchain-based data transmission method provided by the above-mentioned first aspect and / or any possible implementation method of the first aspect, thereby also being able to achieve the beneficial effects (or advantages) of the method provided by the first aspect.

[0113] In the sixth aspect, an embodiment of the present application provides a server, which may be a bookkeeping node, and the server includes a unit and / or module for executing the blockchain-based data transmission method provided by the above-mentioned second aspect and / or any possible implementation method of the second aspect, thereby also being able to achieve the beneficial effects (or advantages) of the method provided by the second aspect.

[0114] In the seventh aspect, an embodiment of the present application provides a server, which may be a watermark server, and the server includes a unit and / or module for executing the blockchain-based data transmission method provided by the above-mentioned third aspect and / or any possible implementation method of the third aspect, thereby also being able to achieve the beneficial effects (or advantages) of the method provided by the third aspect.

[0115] In the eighth aspect, an embodiment of the present application provides a terminal, which may be a user party, and the terminal includes a unit and / or module for executing the blockchain-based data transmission method provided by the above-mentioned fourth aspect and / or any possible implementation method of the fourth aspect, thereby also being able to achieve the beneficial effects (or advantages) of the method provided in the fourth aspect.

[0116] In the ninth aspect, an embodiment of the present application provides a terminal, which includes a memory, a transceiver, and a processor; wherein the memory, the transceiver, and the processor are connected via a communication bus, or the processor and the transceiver are used to couple with the memory. The memory is used to store a set of program codes, and the transceiver and the processor are used to call the program code stored in the memory to execute the blockchain-based data transmission method provided by the first aspect and / or any possible implementation of the first aspect, thereby also achieving the beneficial effects of the method provided by the first aspect.

[0117] In the tenth aspect, an embodiment of the present application provides a server, which includes a memory, a transceiver and a processor; wherein the memory, the transceiver and the processor are connected via a communication bus, or the processor and the transceiver are used to couple with the memory. The memory is used to store a set of program codes, and the transceiver and the processor are used to call the program codes stored in the memory to execute the data transmission method based on blockchain provided by the above-mentioned second aspect and / or any possible implementation of the second aspect, thereby also achieving the beneficial effects of the method provided by the second aspect.

[0118] In the eleventh aspect, an embodiment of the present application provides a server, which includes a memory, a transceiver and a processor; wherein the memory, the transceiver and the processor are connected via a communication bus, or the processor and the transceiver are used to couple with the memory. The memory is used to store a set of program codes, and the transceiver and the processor are used to call the program codes stored in the memory to execute the data transmission method based on blockchain provided by the third aspect and / or any possible implementation of the third aspect, thereby also achieving the beneficial effects of the method provided by the third aspect.

[0119] In the twelfth aspect, an embodiment of the present application provides a terminal, which includes a memory, a transceiver and a processor; wherein the memory, the transceiver and the processor are connected via a communication bus, or the processor and the transceiver are used to couple with the memory. The memory is used to store a set of program codes, and the transceiver and the processor are used to call the program codes stored in the memory to execute the data transmission method based on blockchain provided by the fourth aspect and / or any possible implementation of the fourth aspect, thereby also achieving the beneficial effects of the method provided by the fourth aspect.

[0120] In the thirteenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a terminal, the terminal executes the blockchain-based data transmission method provided by the above-mentioned first aspect and / or any possible implementation method of the first aspect, and can also achieve the beneficial effects of the method provided by the first aspect.

[0121] In the fourteenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a terminal, the terminal executes the blockchain-based data transmission method provided by the above-mentioned second aspect and / or any possible implementation method of the second aspect, and can also achieve the beneficial effects of the method provided by the second aspect.

[0122] In the fifteenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a terminal, the terminal executes the blockchain-based data transmission method provided by the above-mentioned third aspect and / or any possible implementation method of the third aspect, and can also achieve the beneficial effects of the method provided by the third aspect.

[0123] In the sixteenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a terminal, the terminal executes the blockchain-based data transmission method provided by the above-mentioned fourth aspect and / or any possible implementation method of the fourth aspect, and can also achieve the beneficial effects of the method provided by the fourth aspect.

[0124] In the seventeenth aspect, an embodiment of the present application provides a communication device, which may be a chip or multiple chips working in coordination, and the communication device includes an input device coupled to the communication device (e.g., a chip), for executing the technical solution provided in the first aspect of the embodiment of the present application. It should be understood that "coupling" here refers to the direct or indirect combination of two components. This combination may be fixed or movable, and this combination may allow flowing liquid, electricity, electrical signals, or other types of signals to communicate between the two components.

[0125] In the eighteenth aspect, an embodiment of the present application provides a communication device, which may be a chip or multiple chips working in coordination, and the communication device includes an input device coupled to the communication device (e.g., a chip), for executing the technical solution provided in the second aspect of the embodiment of the present application. It should be understood that "coupling" here refers to the direct or indirect combination of two components. This combination may be fixed or movable, and this combination may allow flowing liquid, electricity, electrical signals, or other types of signals to communicate between the two components.

[0126] In the nineteenth aspect, an embodiment of the present application provides a communication device, which may be a chip or multiple chips working in coordination, and the communication device includes an input device coupled to the communication device (e.g., a chip), for executing the technical solution provided in the third aspect of the embodiment of the present application. It should be understood that "coupling" here refers to the direct or indirect combination of two components. This combination may be fixed or movable, and this combination may allow flowing liquid, electricity, electrical signals, or other types of signals to communicate between the two components.

[0127] In the twentieth aspect, an embodiment of the present application provides a communication device, which may be a chip or multiple chips working in coordination, and the communication device includes an input device coupled to the communication device (e.g., a chip), for executing the technical solution provided in the fourth aspect of the embodiment of the present application. It should be understood that "coupling" here refers to the direct or indirect combination of two components. This combination may be fixed or movable, and this combination may allow flowing liquid, electricity, electrical signals, or other types of signals to communicate between the two components.

[0128] In the twenty-first aspect, an embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a terminal, the terminal executes the blockchain-based data transmission method provided in the first aspect, and can also achieve the beneficial effects of the method provided in the first aspect.

[0129] In the twenty-second aspect, an embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a server, the server executes the blockchain-based data transmission method provided in the second aspect, and can also achieve the beneficial effects of the method provided in the second aspect.

[0130] In the twenty-third aspect, an embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a server, the server executes the blockchain-based data transmission method provided in the third aspect, and can also achieve the beneficial effects of the method provided in the third aspect.

[0131] In the twenty-fourth aspect, an embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a terminal, the terminal executes the blockchain-based data transmission method provided in the fourth aspect, and can also achieve the beneficial effects of the method provided in the fourth aspect.

[0132] In the twenty-fifth aspect, an embodiment of the present application provides a data transmission system, which includes one or more of the data sender provided by the fifth aspect, the accounting node provided by the sixth aspect, the watermark server provided by the seventh aspect, and the user provided by the eighth aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0133] Figure 1 It is a structural diagram of the data transmission system provided by this application;

[0134] Figure 2 This is a flowchart of a blockchain-based data transmission method provided by this application;

[0135] Figure 3 It is another flowchart of the blockchain-based data transmission method provided by this application;

[0136] Figure 4 It is another flowchart of the blockchain-based data transmission method provided by this application;

[0137] Figure 5 It is another flowchart of the blockchain-based data transmission method provided by this application;

[0138] Figure 6 This is a schematic diagram of a terminal structure provided in an embodiment of the present application;

[0139] Figure 7 This is a schematic diagram of a server structure provided by an embodiment of the present application;

[0140] Figure 8 This is another structural diagram of a terminal provided in an embodiment of the present application;

[0141] Fig. 9 This is another structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0142] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0143] See also Figure 1 , Figure 1 Schematic diagram of the structure of the data transmission system provided by this application. Figure 1 As shown, the data transmission system includes a user party, a watermark server and an accounting node. The user party may include user party 1 and user party 2, etc., which are not limited here. Figure 1As shown, user party 1, user party 2, watermark server and accounting node are interconnected. Generally speaking, the user party, watermark server and accounting node in the data transmission system can be any form of computing device, such as server, terminal, etc., which are not limited here. Among them, the terminal includes but is not limited to mobile phones, tablet computers, laptops, PDAs and mobile Internet devices (mobile internet device, MID), etc., which are not limited here. It should be understood that the above-mentioned user party, watermark server and accounting node are only examples, and the data transmission system provided in the embodiment of the present application may also include consensus nodes, etc., which are not limited here. Generally speaking, the user party can be the owner of the data, that is, the data right holder, or it can also be called the original sender of the data, which has ownership of the data (for example, the right of possession, the right of use, the right of income and the right of disposal). Optionally, the user party can also be the delivery object of the data, that is, the data delivery object, or it can also be called the data recipient. Generally, the data delivery object can obtain data from the data right holder by purchase or other delivery methods. The data delivery object's ability to transfer data can be determined by the data rights holder, that is, whether the data delivery object can be the data sender can be determined by the original data sender. It should be understood that the data sender in this application can be the data rights holder, or it can also be the data delivery object, etc., without limitation. The watermark server is considered to be a server corresponding to an institution with professional qualifications recognized by legal authorities.

[0144] The embodiment of the present application provides a data transmission method based on blockchain, which is used to protect the relevant rights and interests of data rights holders during the data flow process. Generally, "data flow" includes but is not limited to "transactions" with payment relationships, but for the convenience of description, "data flow" and "transactions" are regarded as synonymous in the embodiment of the present application, and the term "transaction" is used. In addition, transactions can occur multiple times, and each transaction can adopt the method of the embodiment of the present application. For the convenience of description, the embodiment of the present application only takes one transaction (for example, the first transaction) as an example for explanation.

[0145] Embodiment 1

[0146] See also Figure 2 , Figure 2 This is a flowchart of a blockchain-based data transmission method provided by this application. Figure 2 As shown, the method provided by the present application may include the steps of:

[0147] S101. A data sender sends first intermediate information to a watermark server.

[0148] In some feasible implementations, the data sender may generate the first transaction basic information corresponding to the first transaction based on the information related to the first transaction. The first transaction is a transfer transaction of the target data. Generally speaking, the target data is the data transferred in this transaction, wherein the target data may be video data, picture data, audio data or file data, etc., which is not limited here. The first transaction basic information includes one or more of the data sender address of the first transaction, the data receiver address corresponding to the data receiver of the first transaction, the parent transaction identifier corresponding to the parent transaction of the first transaction, the first token transfer quantity of the first transaction, the second token transfer quantity of the first transaction, the token identifier of the first transaction, the token receiver address of the first transaction and the timestamp, which are not limited here. The first token transfer data quantity is the number of tokens transferred from the data sender to the data receiver of the first transaction in this transaction, and the second token transfer quantity is the number of tokens transferred from the data sender to the token receiver indicated by the token receiver address in this transaction. The token identifier is a unique identifier of the data, which can be used to distinguish tokens of different data. Generally speaking, the token associated with the data can only be transferred when the data is transferred, and cannot be transferred when other data is transferred. The parent transaction of the first transaction is the transaction corresponding to the previous receipt of the target data by the data sender, that is, the parent transaction of the first transaction is the transaction when the data sender is the data receiver of the target data. For example, assume that the data rights holder is user 1, and the transfer path of the target data is user 1→user 2→user 3. Among them, assuming that the first transaction is the transaction when user 2 transfers the target data to user 3, the parent transaction of the first transaction is the transaction corresponding to the transfer of the target data from user 1 to user 2. It is not difficult to understand that when the data sender is the data rights holder, the parent transaction of the first transaction is empty, that is, the data rights holder is the original sender of the target data.

[0149] In some feasible implementations, the data sender obtains the first transmission data, and then generates the first intermediate information based on the first transaction basic information and the first transmission data, and sends the first intermediate information to the watermark server. The first transmission data is obtained by embedding the first watermark based on the target data. It is not difficult to understand that when the data sender is the data right holder, the first watermark is a preset string, and the first transaction has no parent transaction, that is, the parent transaction of the first transaction is empty. When the data sender is the data delivery object, the first watermark is the watermark corresponding to the parent transaction of the first transaction. In the present application, the first watermark is the hash value of the parent transaction basic information of the parent transaction, and the second watermark is the hash value of the first transaction basic information.

[0150] Optionally, in some feasible implementations, before the data sender sends the first intermediate information to the watermark server, it may also send the first transaction basic information to the data receiver, so that after receiving the first transaction basic information, the data receiver can sign the first transaction basic information based on the data receiver's private key to generate a data receiver's digital signature. It is not difficult to understand that after the data receiver generates the data receiver's data signature, the data receiver can send the data receiver's digital signature to the data sender, so that the data sender sends the first intermediate information including the first transaction basic information, the first transmission data and the data receiver's digital signature to the watermark server.

[0151] S102: The watermark server sends first feedback information to the data receiver.

[0152] In some feasible implementations, the watermark server can generate first feedback information based on the first intermediate information by receiving the first intermediate information sent by the data sender, and send the generated first feedback information to the data receiver. Specifically, the watermark server can extract the first watermark from the first transmission data included in the first intermediate information, and generate the second watermark based on the first transaction basic information. Among them, by embedding the generated second watermark into the target data, the second transmission data can be generated. By performing a hash operation on the second transmission data, the hash value of the second transmission data, that is, the transmission data hash value, can be obtained. Furthermore, the first feedback information can be generated based on the first watermark, the second watermark and the transmission data hash value, and the first feedback information is sent to the data sender.

[0153] Optionally, the watermark server may also sign the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the watermark server private key to generate a watermark server digital signature. Furthermore, the watermark server may send the first feedback information including the first watermark, the second watermark, the transmission data hash value, and the watermark server digital signature to the data sender.

[0154] Optionally, in some feasible implementations, if the first intermediate information received by the watermark server includes, in addition to the first transaction basic information and the first data to be transmitted, the data recipient's digital signature, then after the watermark server receives the first intermediate information, it can first verify the validity of the data recipient's digital signature included in the first intermediate information. If it is determined that the data recipient's digital signature is an invalid digital signature, the watermark server rejects this service. If it is determined that the data recipient's digital signature is a valid digital signature, the watermark server performs the above-mentioned operation of generating the first feedback information based on the first intermediate information. Specifically, the watermark server can obtain the data recipient's public key corresponding to the data recipient's address from the public key storage block of the blockchain based on the data recipient's address included in the first transaction basic information, and then decrypt the data recipient's digital signature according to the data recipient's public key to obtain a hash value D. Further, the watermark server performs a hash operation on the first transaction basic information to obtain a hash value D' corresponding to the first transaction basic information. If the hash value D is the same as the hash value D', the digital signature of the data recipient is determined to be a valid digital signature; if the hash value D is different from the hash value D', the digital signature of the data recipient is determined to be an invalid digital signature.

[0155] S103: The data sender determines the first transaction associated information, and generates first transaction data according to the first transaction basic information, the first feedback information and the first transaction associated information.

[0156] In some feasible implementations, the data sender can generate the first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information by determining the first transaction association information and receiving the first feedback information generated by the watermark server based on the first intermediate information from the watermark server. Among them, the first transaction association information includes one or more of the digital signature of the data receiver, the digital signature of the data sender and the first transaction identifier corresponding to the first transaction. It is not difficult to understand that the digital signature of the data receiver is a digital signature generated by the data receiver after signing the first transaction basic information received from the data sender based on the data receiver's private key. The digital signature of the data sender is a digital signature generated by the data sender after signing the first watermark, the second watermark, the hash value of the transmitted data and the first transaction basic information based on the data sender's private key. The first transaction identifier is used to uniquely mark the first transaction. In this application, the first transaction identifier is the hash value of other data in the first transaction data except the first transaction identifier.

[0157] S104. The data sending direction sends the first transaction data to the accounting node.

[0158] In some feasible implementations, after the data sender generates the first transaction data, the first transaction data may be sent to the accounting node so that the accounting node verifies the first transaction data.

[0159] S105. If the accounting node determines that the first transaction data is legal transaction data, the first transaction data is uploaded to the blockchain.

[0160] In some feasible implementations, when the accounting node receives the first transaction data including the first transaction basic information, the first feedback information and the first transaction association information from the data sender, it can verify whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark included in the first feedback information, the second watermark and the first transaction association information. Among them, the verification of the first transaction data by the accounting node is divided into two cases. The first case is the verification when the first transaction data is the transaction data generated by the data right holder (that is, the data sender is the data right holder). The second case is the verification when the first transaction data is the transaction data generated by the data delivery object (that is, the data sender is the data delivery object). It is not difficult to understand that when the data sender is the data right holder, since the data right holder is the owner of the target data, it has no parent transaction, that is, the parent transaction of the first transaction is empty. At this time, the first watermark is a special character string (that is, a preset character string) publicly formulated. When the data sender is the data delivery object, the first watermark is the watermark corresponding to the parent transaction of the first transaction.

[0161] Specifically, for the transaction verification of the first case (when the data sender is the data right holder), it is assumed that the first transaction basic information includes the address of the data sender and the address of the data receiver. The first feedback information includes the first preset string (i.e., the first watermark), the second watermark, and the hash value of the transmitted data. The first transaction association information includes the first transaction identifier corresponding to the first transaction. Then, when the accounting node verifies the first transaction data, it can obtain the first hash value corresponding to the first transaction basic information and the second hash value corresponding to the other data by performing hash operations on the first transaction basic information and the other data in the first transaction data except the first transaction identifier. Among them, the accounting node obtains the second preset string. If the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. For the convenience of description, the verification that satisfies "the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string" can be referred to as the first verification passed.

[0162] Optionally, when the first transaction association information includes not only the first transaction identifier but also the digital signature of the data recipient, if the accounting node determines that the digital signature of the data recipient is a valid digital signature based on the public key of the data recipient, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the digital signature of the data recipient is a valid digital signature and the first verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the digital signature of the data recipient is a valid digital signature" can be referred to as the second verification passing.

[0163] Among them, the digital signature of the data recipient is generated after the data recipient signs the first transaction basic information based on the data recipient's private key. Specifically, when verifying the digital signature of the data recipient, the accounting node can obtain the data recipient's public key corresponding to the data recipient's address from the public key storage block of the blockchain according to the data recipient's address included in the first transaction basic information, and then decrypt the data recipient's digital signature according to the data recipient's public key to obtain the hash value D. Furthermore, the accounting node can obtain the hash value D' corresponding to the first transaction basic information by performing a hash operation on the first transaction basic information. Among them, if the hash value D is the same as the hash value D', it can be determined that the digital signature of the data recipient is a valid digital signature. If the hash value D is different from the hash value D', it can be determined that the digital signature of the data recipient is an invalid digital signature.

[0164] Optionally, when the first transaction association information includes not only the first transaction identifier but also the digital signature of the data sender, if the accounting node determines that the digital signature of the data sender is a valid digital signature based on the public key of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the digital signature of the data sender is a valid digital signature and the first verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the digital signature of the data sender is a valid digital signature" can be referred to as the third verification passing.

[0165] Among them, the digital signature of the data sender is generated by the data sender after signing the first watermark, the second watermark, the hash value of the transmission data and the first transaction basic information based on the private key of the data sender. Specifically, when verifying the digital signature of the data sender, the accounting node can obtain the data sender's public key corresponding to the data sender's address from the public key storage block of the blockchain according to the data sender's address included in the first transaction basic information, and then decrypt the data sender's digital signature according to the data sender's public key to obtain the hash value B. Furthermore, the accounting node can obtain the hash value B' corresponding to the packaged data by performing a hash operation on the packaged data including the first watermark, the second watermark, the hash value of the transmission data and the first transaction basic information. Among them, if the hash value B is the same as the hash value B', it can be determined that the digital signature of the data sender is a valid digital signature. If the hash value B is different from the hash value B', it can be determined that the digital signature of the data sender is an invalid digital signature.

[0166] Optionally, when the first feedback information includes not only the first preset character string (i.e., the first watermark), the second watermark, and the hash value of the transmitted data, but also the digital signature of the watermark server, if the accounting node determines that the digital signature of the watermark server is a valid digital signature based on the public key of the watermark server, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the digital signature of the watermark server is a valid digital signature and the first verification passes, it can be determined that the first transaction data is legal transaction data. For the convenience of description, the verification that satisfies "the digital signature of the watermark server is a valid digital signature" can be referred to as the fourth verification passing.

[0167] The watermark server digital signature is generated by the watermark server after signing the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the watermark server private key. Specifically, when verifying the watermark server digital signature, the accounting node can obtain the watermark server public key corresponding to the watermark server address from the public key storage block of the blockchain according to the watermark server address, and then decrypt the watermark server digital signature according to the watermark server public key to obtain the hash value R. Furthermore, the accounting node can obtain the hash value R' corresponding to the packaged data by performing a hash operation on the packaged data including the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information. If the hash value R is the same as the hash value R', it can be determined that the watermark server digital signature is a valid digital signature. If the hash value R is different from the hash value R', it can be determined that the watermark server digital signature is an invalid digital signature.

[0168] Optionally, when the first transaction basic information includes not only the data sender address and the data receiver address but also the first token transfer amount of the first transaction, if the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the first token transfer amount is not greater than the token balance of the data sender and the first verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the first token transfer amount is less than or equal to the token balance of the data sender" can be referred to as the fifth verification passed. Among them, the first token transfer data amount is the number of tokens transferred from the data sender to the data receiver of the first transaction, and the first token transfer amount is an integer.

[0169] Optionally, in some feasible implementations, when the first transaction basic information includes not only the data sender address and the data receiver address, but also the first token transfer amount of the first transaction, if the data right holder allows each data receiver to transfer the target data to other receivers unlimited times (for the convenience of description, referred to as the unlimited mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. That is, in the unlimited mode, when the accounting node determines that the first token transfer amount is greater than or equal to 0, and the first verification passes and the fifth verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the first token transfer amount is greater than or equal to 0" can be referred to as the sixth verification pass.

[0170] Optionally, in some feasible implementations, in addition to the data sender address and the data receiver address, the first transaction basic information also includes the first token transfer amount of the first transaction, if the data right holder only allows each data receiver to forward the data to its receiver for a limited number of times, and the final data can only be continuously transmitted along a specified number of single-line paths (for the convenience of description, referred to as multi-line mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. That is to say, in the multi-line mode, when the accounting node determines that the first token transfer amount is greater than 0, and the first verification passes and the fifth verification passes, it can be determined that the first transaction data is legal transaction data. For the convenience of description, the verification that satisfies "the first token transfer amount is greater than 0" can be referred to as the seventh verification pass.

[0171] It is not difficult to understand that the first token transfer amount greater than 0 means that each time data is transferred, the data sender must transfer a number of tokens greater than 0 to the data receiver. Therefore, after a certain number of data transfers, the same data sender will eventually have its token balance become 0, and then it will no longer be able to transfer tokens to other users. In other words, when the token balance of a data sender is equal to 0, it no longer has the ability to transfer the target data.

[0172] Generally speaking, the data right holder (i.e., the original sender of the data) sets the total number of tokens K (K>0) corresponding to the target data, which limits the subsequent data receiver's ability to transmit the target data. In multi-line mode, the data right holder can transfer all K tokens to a certain user, or the data right holder can divide the K tokens into multiple parts and transfer them to multiple users respectively. For the convenience of description, the user who receives the tokens transferred by the data right holder can be called the "first-layer user". According to the rule of token quantity transfer, the sum of the tokens of the first-layer users is equal to K. In this way, the first-layer users have the ability to transmit the target data, or it can be understood that the data right holder transfers his ability to transfer data to the first-layer users. After that, the first-layer users can transfer their tokens to the second-layer users in the subsequent data transmission process. Obviously, the sum of the tokens of the second-layer users is also equal to K. By analogy, the sum of the tokens of each layer of users is K. Among them, when the number of tokens transferred for a certain data transmission is 1, the data receiver can only transmit the received data once. The reason is that once the receiver transmits the data once, it must transfer the 1 token it received previously to the next receiver, so it has no tokens related to the target data, so it cannot transmit the data again. When the number of tokens transferred in a certain data transmission is greater than 1, the receiver can transmit the data at most m times. The reason is that when the receiver transfers only 1 token each time in each subsequent data transmission, the receiver can transmit the target data m times. Correspondingly, when the number of tokens transferred by the receiver in a subsequent data transmission is greater than 1, since there are only m tokens associated with the data in the receiver's hand, this will inevitably lead to the total number of times the data is transmitted being less than m. It should be understood that after the target data has been transmitted through several layers, if each user in the latest layer obtains 1 token associated with the target data, then each user in the latest layer can only transmit the target data once in the future. And, the receiver of each subsequent data transmission can only transmit the target data once. That is to say, when each user in the latest layer obtains 1 token associated with the target data, the subsequent data transmission path will continue along K lines, and there will be no path bifurcation.

[0173] Optionally, in some feasible implementations, if the data right holder needs to limit the ability of each data recipient to forward the data only once, and the final data can only be continuously transmitted along a single-line path (for the convenience of description, referred to as the single-line mode), then when the first transaction is the first transfer transaction of the target data, if it is determined that the token balance is equal to 1, the first token transfer quantity is greater than 0, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. In other words, in the single-line mode, when the accounting node determines that the token balance is equal to 1, and the first verification passes, the fifth verification passes, and the seventh verification passes, it can be determined that the first transaction data is legal transaction data. For the convenience of description, the verification that satisfies "the token balance is equal to 1" can be referred to as the eighth verification passing.

[0174] It is not difficult to understand that the single-line mode is a special case of the multi-line mode. In the single-line mode, the data rights holder can limit the target data to be transmitted to continue to propagate along one transfer path by setting the total number K of tokens corresponding to the target data to 1. Simply put, when K=1, since the number of first token transfers is greater than 0, the data rights holder can only transfer the target data to a first-layer user P1. In other words, when the data rights holder transfers 1 token corresponding to the target data to a first-layer user P1, the data rights holder will no longer be able to transfer the target data. Similarly, when the first-layer user P1 transfers the target data to a second-layer user P2, the second-layer user P2 no longer has the ability to propagate the target data, thereby limiting the target data to continue to propagate along one transfer path.

[0175] Optionally, in some feasible implementations, when the first transaction basic information includes not only the data sender address, the data receiver address and the first token transfer amount, but also the token receiver address and the second token transfer amount, the data right holder can also limit the target data to be forwarded a certain number of times and then cannot be disseminated (for the convenience of description, referred to as limited forwarding mode). Therefore, when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token receiver address is equal to the preset token receiver address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. That is, in the limited forwarding mode, when the accounting node determines that the second token transfer amount is greater than 0, the token receiver address is equal to the preset token receiver address, and the first verification passes and the seventh verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the second token transfer quantity is greater than 0 and the token recipient address is equal to the preset token recipient address" may be referred to as the ninth verification passed.

[0176] Among them, the second token transfer quantity is the number of tokens transferred by the data sender to the token receiver indicated by the token receiver address. That is to say, in the limited forwarding mode, each time data is transmitted, the data sender must transfer a number of tokens greater than 0 to the data receiver, and it also needs to transfer a number of tokens greater than 0 to the token receiver. It should be understood that when the tokens are transferred to the token receiver, it means that these tokens disappear, and no one can use the tokens transferred to the token receiver, that is, the token receiver plays the role of burning tokens. It is not difficult to understand that since a positive integer number of tokens must be transferred to the token receiver each time data is transferred, it means that a certain number of tokens will disappear each time data is transferred. In other words, after a limited number of data transfers, all tokens will be burned out, and the target data will no longer be transferred subsequently.

[0177] Optionally, in some feasible implementations, if the data right holder wishes to restrict the data recipient to only have the right to use the target data, but cannot forward the received target data to other users (i.e., the data recipient does not have the right to forward, for the convenience of description, referred to as the forwarding prohibition mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is equal to 1, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data. That is, in the forwarding prohibition mode, when the accounting node determines that the first token transfer amount is equal to 1, and the first verification passes and the ninth verification passes, the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the first token transfer amount is equal to 1" can be referred to as the tenth verification passing.

[0178] It is not difficult to understand that the prohibited forwarding mode is a special case of the limited forwarding mode. In the prohibited forwarding mode, the data right holder will only transfer the target data to the same data recipient once. Therefore, when the number of first tokens transferred by the data right holder to the data recipient is equal to 1, the data recipient will not be able to transfer the data to other users.

[0179] Specifically, for the transaction verification of the second case (when the data sender is the data delivery object), it is assumed that the first transaction basic information includes the parent transaction identifier corresponding to the parent transaction of the first transaction. The first feedback information includes the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, and the hash value of the transmitted data. The first transaction association information includes the first transaction identifier corresponding to the first transaction. Then, when the accounting node verifies the first transaction data, the accounting node can obtain the first hash value corresponding to the first transaction basic information and the second hash value corresponding to the other data by performing hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier. Further, the accounting node can obtain the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier included in the first transaction basic information, wherein the parent transaction data includes the parent transaction basic information. Furthermore, the accounting node can obtain the third hash value corresponding to the parent transaction basic information by performing hash operations on the parent transaction basic information. Alternatively, the accounting node can also directly obtain the third hash value corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier included in the first transaction basic information. It should be understood that if the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data can be determined to be legal transaction data. For the convenience of description, the verification that satisfies "the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data can be determined to be legal transaction data" can be referred to as the eleventh verification passed.

[0180] Optionally, when the first transaction basic information includes not only the parent transaction identifier corresponding to the parent transaction of the first transaction, but also the data sender address of the first transaction, and the above-mentioned parent transaction basic information includes the data receiver address of the parent transaction, if the data sender address of the first transaction matches the data receiver address of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the data sender address of the first transaction matches the data receiver address of the parent transaction, and the eleventh verification passes, it can be determined that the first transaction data is legal transaction data. For the convenience of description, the verification that satisfies "the data sender address of the first transaction matches the data receiver address of the parent transaction" can be referred to as the twelfth verification passing.

[0181] Optionally, when the first transaction basic information includes not only the parent transaction identifier corresponding to the parent transaction of the first transaction, but also the token identifier of the first transaction, and the above-mentioned parent transaction basic information also includes the token identifier of the parent transaction, if the token identifier of the first transaction is equal to the token identifier of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. Optionally, when the first transaction basic information also includes the first token transfer amount of the first transaction, if the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. That is, when the accounting node determines that the token identifier of the first transaction is equal to the token identifier of the parent transaction, and the eleventh verification is passed, it can be determined that the first transaction data is legal transaction data. For the convenience of description, the verification that satisfies "the token identifier of the first transaction is equal to the token identifier of the parent transaction" can be referred to as the thirteenth verification passed.

[0182] Optionally, when the first transaction association information includes not only the first transaction identifier corresponding to the first transaction but also the digital signature of the data recipient, the accounting node obtains the public key of the data recipient. If the accounting node determines based on the public key of the data recipient that the digital signature of the data recipient is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the eleventh verification is passed and the second verification is passed, it can be determined that the first transaction data is legal transaction data.

[0183] Among them, the digital signature of the data recipient is generated after the data recipient signs the first transaction basic information based on the data recipient's private key. Specifically, when verifying the digital signature of the data recipient, the accounting node can obtain the data recipient's public key corresponding to the data recipient's address from the public key storage block of the blockchain according to the data recipient's address included in the first transaction basic information, and then decrypt the data recipient's digital signature according to the data recipient's public key to obtain the hash value D. Furthermore, the accounting node can obtain the hash value D' corresponding to the first transaction basic information by performing a hash operation on the first transaction basic information. Among them, if the hash value D is the same as the hash value D', it can be determined that the digital signature of the data recipient is a valid digital signature. If the hash value D is different from the hash value D', it can be determined that the digital signature of the data recipient is an invalid digital signature.

[0184] Optionally, when the first transaction association information includes not only the first transaction identifier corresponding to the first transaction but also the digital signature of the data sender, if the accounting node determines based on the public key of the data sender that the digital signature of the data sender is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the eleventh verification is passed and the third verification is passed, it can be determined that the first transaction data is legal transaction data.

[0185] Among them, the digital signature of the data sender is generated by the data sender after signing the first watermark, the second watermark, the hash value of the transmission data and the first transaction basic information based on the private key of the data sender. Specifically, when verifying the digital signature of the data sender, the accounting node can obtain the data sender's public key corresponding to the data sender's address from the public key storage block of the blockchain according to the data sender's address included in the first transaction basic information, and then decrypt the data sender's digital signature according to the data sender's public key to obtain the hash value B. Furthermore, the accounting node can obtain the hash value B' corresponding to the packaged data by performing a hash operation on the packaged data including the first watermark, the second watermark, the hash value of the transmission data and the first transaction basic information. Among them, if the hash value B is the same as the hash value B', it can be determined that the digital signature of the data sender is a valid digital signature. If the hash value B is different from the hash value B', it can be determined that the digital signature of the data sender is an invalid digital signature.

[0186] Optionally, when the first feedback information includes not only the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, and the transmission data hash value, but also the digital signature of the watermark server, the accounting node obtains the public key of the watermark server. If the accounting node determines based on the public key of the watermark server that the digital signature of the watermark server is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. In other words, when the accounting node determines that the eleventh verification is passed and the fourth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0187] The watermark server digital signature is generated by the watermark server after signing the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the watermark server private key. Specifically, when verifying the watermark server digital signature, the accounting node can obtain the watermark server public key corresponding to the watermark server address from the public key storage block of the blockchain according to the watermark server address, and then decrypt the watermark server digital signature according to the watermark server public key to obtain the hash value R. Furthermore, the accounting node can obtain the hash value R' corresponding to the packaged data by performing a hash operation on the packaged data including the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information. If the hash value R is the same as the hash value R', it can be determined that the watermark server digital signature is a valid digital signature. If the hash value R is different from the hash value R', it can be determined that the watermark server digital signature is an invalid digital signature.

[0188] Optionally, when the first transaction basic information includes not only the parent transaction identifier corresponding to the parent transaction of the first transaction, but also the first token transfer amount of the first transaction, if the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. Among them, the first token transfer data amount is the number of tokens transferred from the data sender to the data recipient of the first transaction, and the first token transfer amount is an integer. In other words, when the accounting node determines that the eleventh verification is passed and the fifth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0189] Optionally, in some feasible implementations, in addition to the parent transaction identifier corresponding to the parent transaction of the first transaction, the first transaction basic information also includes the first token transfer amount of the first transaction. If the data right holder allows each data recipient to transfer the target data to other recipients unlimited times (for the convenience of description, referred to as unlimited mode), when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. That is to say, in the unlimited mode, when the accounting node determines that the eleventh verification is passed, the fifth verification is passed, and the sixth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0190] Optionally, in some feasible implementations, in addition to the parent transaction identifier corresponding to the parent transaction of the first transaction, the first transaction basic information also includes the first token transfer amount of the first transaction, if the data right holder only allows each data recipient to forward the data to its recipient a limited number of times, and the final data can only be continuously transmitted along a specified number of single-line paths (for the convenience of description, referred to as multi-line mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. That is to say, in the multi-line mode, when the accounting node determines that the eleventh verification is passed, the fifth verification is passed, and the seventh verification is passed, it can be determined that the first transaction data is legal transaction data.

[0191] It is not difficult to understand that the first token transfer amount greater than 0 means that each time data is transferred, the data sender must transfer a number of tokens greater than 0 to the data receiver. Therefore, after a certain number of data transfers, the same data sender will eventually have its token balance become 0, and then it will no longer be able to transfer tokens to other users. In other words, when the token balance of a data sender is equal to 0, it no longer has the ability to transfer the target data.

[0192] Optionally, in some feasible implementations, when the first transaction basic information includes not only the parent transaction identifier and the first token transfer amount corresponding to the parent transaction of the first transaction, but also the token recipient address and the second token transfer amount, the data right holder can also limit the target data to be forwarded a certain number of times before it can no longer be propagated (for the convenience of description, referred to as limited forwarding mode). Therefore, when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data. That is, in the limited forwarding mode, when the accounting node determines that the eleventh verification is passed, the seventh verification is passed, and the ninth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0193] Among them, the second token transfer quantity is the number of tokens transferred by the data sender to the token receiver indicated by the token receiver address. That is to say, in the limited forwarding mode, each time data is transmitted, the data sender must transfer a number of tokens greater than 0 to the data receiver, and it also needs to transfer a number of tokens greater than 0 to the token receiver. It should be understood that when the tokens are transferred to the token receiver, it means that these tokens disappear, and no one can use the tokens transferred to the token receiver, that is, the token receiver plays the role of burning tokens. It is not difficult to understand that since a positive integer number of tokens must be transferred to the token receiver each time data is transferred, it means that a certain number of tokens will disappear each time data is transferred. In other words, after a limited number of data transfers, all tokens will be burned out, and the target data will no longer be transferred subsequently.

[0194] In some feasible implementations, if the accounting node determines that the first transaction data is legal transaction data, the first transaction data may be uploaded to the blockchain. Specifically, the accounting node may send the first transaction data to each consensus node included in the data transmission system, so that each consensus node verifies the legality of the first transaction data. Among them, the verification process of the first transaction data by each consensus node can refer to the verification process of the first transaction data by the above-mentioned accounting node, which will not be repeated here. Generally speaking, after each consensus node verifies the first transaction data, the verification result may be returned to the accounting node. Among them, when the accounting node determines that each consensus node reaches a consensus on the first transaction data based on the verification result returned by each consensus node, the block including the first transaction data may be uploaded to the blockchain.

[0195] In the present application, the data sender sends the first intermediate information to the watermark server, the first intermediate information includes the first transmission data and the first transaction basic information corresponding to the first transaction, the first transmission data is obtained by embedding the first watermark based on the target data, and the first transaction is a transfer transaction of the target data. The data sender receives the first feedback information generated by the watermark server based on the first intermediate information from the watermark server, the first feedback information includes the first watermark, the second watermark corresponding to the first transaction, and the transmission data hash value corresponding to the second transmission data, and the second transmission data is obtained by embedding the second watermark based on the target data. The data sender determines the first transaction association information, generates the first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information, and sends the first transaction data to the accounting node, so that the accounting node uploads the first transaction data to the blockchain when determining that the first transaction data is legal transaction data. The present application can solve the problem of being unable to track the data leaker due to data tampering.

[0196] Embodiment 2:

[0197] It is not difficult to understand that in order to improve the credibility and verifiability of transaction data stored on the blockchain, transaction data usually needs to undergo certain verification before being uploaded to the chain, and only transaction data that has passed the verification can be uploaded to the chain. Therefore, Example 2 will further explain the complete data transmission process and verification process based on Example 1.

[0198] See also Figure 3 , Figure 3 This is another flowchart of the blockchain-based data transmission method provided by this application. Figure 3 As shown, the method provided by the present application may include the steps of:

[0199] S201. A data sender sends first transaction basic information to a data receiver.

[0200] In some feasible implementations, the data sender may generate the first transaction basic information corresponding to the first transaction based on the information related to the first transaction. The first transaction is a transfer transaction of the target data. Generally speaking, the target data is the data transferred in this transaction, wherein the target data may be video data, picture data, audio data or file data, etc., which is not limited here. The first transaction basic information includes one or more of the data sender address of the first transaction, the data receiver address corresponding to the data receiver of the first transaction, the parent transaction identifier corresponding to the parent transaction of the first transaction, the first token transfer quantity of the first transaction, the second token transfer quantity of the first transaction, the token identifier of the first transaction, the token receiver address of the first transaction, and the timestamp, which are not limited here. The first token transfer data quantity is the number of tokens transferred from the data sender to the data receiver of the first transaction in this transaction, and the second token transfer quantity is the number of tokens transferred from the data sender to the token receiver indicated by the token receiver address in this transaction. The token identifier is a unique identifier of the data, which can be used to distinguish tokens of different data. Generally speaking, the token associated with the data can only be transferred when the data is transferred, and cannot be transferred when other data is transferred. The parent transaction of the first transaction is the transaction corresponding to the previous receipt of the target data by the data sender, that is, the parent transaction of the first transaction is the transaction when the data sender is the data receiver of the target data. It is not difficult to understand that when the data sender is the data rights holder, the parent transaction of the first transaction is empty. In other words, the data rights holder is the original sender of the target data.

[0201] In some feasible implementations, after the data sender generates the first transaction basic information, the data sender may send the first transaction basic information to the data receiver, so that the data receiver confirms the first transaction basic information.

[0202] S202: The data receiver sends the data sender a digital signature.

[0203] In some feasible implementations, after the data recipient receives the first transaction basic information from the data sender, if the data recipient agrees with the transaction, the data recipient may sign the received first transaction basic information to generate a data recipient digital signature. Specifically, the data recipient may sign the first transaction basic information based on the data recipient's private key to obtain the data recipient digital signature, and send the data recipient digital signature to the data sender.

[0204] S203. The data sending direction sends the first intermediate information to the watermark server.

[0205] In some feasible implementations, after the data sender receives the digital signature of the data receiver sent by the data receiver, the first intermediate information including the first transaction basic information, the first transmission data and the digital signature of the data receiver may be sent to the watermark server. The first transmission data is obtained by embedding the first watermark based on the target data, and the first transmission data is stored in the data sender in advance. It is not difficult to understand that when the data sender is the data right holder, the first watermark is a preset string, and the first transaction has no parent transaction, that is, the parent transaction of the first transaction is empty. When the data sender is the data delivery object, the first watermark is the watermark corresponding to the parent transaction of the first transaction. In the present application, the first watermark is the hash value of the parent transaction basic information of the parent transaction, and the second watermark is the hash value of the first transaction basic information.

[0206] S204: The watermark server sends first feedback information to the data receiver.

[0207] In some feasible implementations, the watermark server can generate first feedback information based on the first intermediate information by receiving the first intermediate information sent by the data sender, and send the generated first feedback information to the data receiver. Specifically, the watermark server can first verify the validity of the digital signature of the data receiver included in the first intermediate information. If it is determined that the digital signature of the data receiver is an invalid digital signature, the watermark server rejects this service. If it is determined that the digital signature of the data receiver is a valid digital signature, the watermark server can extract the first watermark from the first transmission data included in the first intermediate information, and generate the second watermark according to the first transaction basic information. Among them, the watermark server can generate the second transmission data by embedding the generated second watermark into the target data. By performing a hash operation on the second transmission data, the hash value of the second transmission data, that is, the transmission data hash value, can be obtained. Furthermore, the watermark server can generate the first feedback information based on the first watermark, the second watermark and the transmission data hash value, and send the first feedback information to the data sender.

[0208] Optionally, the watermark server can also sign the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the watermark server private key to generate a watermark server digital signature. Then, the watermark server sends the first feedback information including the first watermark, the second watermark, the transmission data hash value and the watermark server digital signature to the data sender.

[0209] S205: The data sender determines the first transaction associated information, and generates first transaction data according to the first transaction basic information, the first feedback information and the first transaction associated information.

[0210] In some feasible implementations, the data sender can generate the first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information by determining the first transaction association information and receiving the first feedback information generated by the watermark server based on the first intermediate information from the watermark server. Among them, the first transaction association information includes one or more of the digital signature of the data receiver, the digital signature of the data sender and the first transaction identifier corresponding to the first transaction. It is not difficult to understand that the digital signature of the data receiver is a digital signature generated by the data receiver after signing the first transaction basic information received from the data sender based on the data receiver's private key. The digital signature of the data sender is a digital signature generated by the data sender after signing the first watermark, the second watermark, the hash value of the transmitted data and the first transaction basic information based on the data sender's private key. Among them, the first transaction identifier is used to uniquely mark the first transaction. In the present application, the first transaction identifier is the hash value of other data in the first transaction data except the first transaction identifier.

[0211] S206. The data sending direction sends the first transaction data to the accounting node.

[0212] In some feasible implementations, after the data sender generates the first transaction data, the first transaction data may be sent to the accounting node so that the accounting node verifies the first transaction data.

[0213] S207. If the accounting node determines that the first transaction data is legal transaction data, the first transaction data is uploaded to the blockchain.

[0214] In some feasible implementations, when the accounting node receives the first transaction data including the first transaction basic information, the first feedback information and the first transaction association information from the data sender, it can verify whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark included in the first feedback information, the second watermark and the first transaction association information. Among them, the verification of the first transaction data by the accounting node is divided into two cases. One case is the verification when the first transaction data is the transaction data generated by the data right holder (that is, the data sender is the data right holder), and the other case is the verification when the first transaction data is the transaction data generated by the data delivery object (that is, the data sender is the data delivery object). It is not difficult to understand that when the data sender is the data right holder, since the data right holder is the owner of the target data, it has no parent transaction, that is, the parent transaction of the first transaction is empty. At this time, the first watermark is a special character string (that is, a preset character string) that is publicly formulated. When the data sender is the data delivery object, the first watermark is the watermark corresponding to the parent transaction of the first transaction.

[0215] Specifically, for the transaction verification of the first case (i.e., when the data sender is the data rights holder), it is assumed that the first transaction basic information includes all the information in the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction, and the timestamp. The first feedback information includes all the information in the first preset character string (i.e., the first watermark), the second watermark, the hash value of the transmitted data, and the digital signature of the watermark server. The first transaction association information includes all the information in the digital signature of the data receiver, the digital signature of the data sender, and the first transaction identifier corresponding to the first transaction. Then, when the accounting node verifies the first transaction data, it can obtain the first hash value corresponding to the first transaction basic information and the second hash value corresponding to the other data by performing hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier. It should be understood that the accounting node obtains the second preset string. If the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the digital signature of the data recipient is a valid digital signature, the digital signature of the data sender is a valid digital signature, the digital signature of the watermark server is a valid digital signature, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. Among them, the first token transfer data amount is the number of tokens transferred from the data sender to the data recipient of the first transaction, and the first token transfer amount is an integer. In other words, if and only if the first verification passes to the fifth verification passes (that is, the first verification passes, the second verification passes, the third verification passes, the fourth verification passes, and the fifth verification passes), the first transaction data can be considered to be legal transaction data.

[0216] Optionally, in some feasible implementations, when the first transaction basic information includes part or all of the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction and the timestamp, and the first feedback information includes part or all of the first preset character string (i.e., the first watermark), the second watermark, the transmission data hash value and the watermark server digital signature, or the first transaction associated information includes part or all of the data receiver digital signature, the data sender digital signature and the first transaction identifier corresponding to the first transaction, the first transaction data can be determined to be legal transaction data only when and only when it is determined that the first transaction basic information, the first feedback information, and the information actually included in the first transaction associated information meet the verification conditions.

[0217] For example, assuming that the first transaction basic information includes all the information in the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction and the timestamp, the first feedback information includes the first preset string (i.e., the first watermark), the second watermark and the transmission data hash value, and the first transaction association information includes the data receiver digital signature and the first transaction identifier corresponding to the first transaction, then the first transaction data can be determined to be legal transaction data if and only if the first verification passes, the second verification passes, and the fifth verification passes.

[0218] For another example, assuming that the first transaction basic information includes all the information in the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction and the timestamp, the first feedback information includes all the information in the first preset string (i.e., the first watermark), the second watermark, the transmission data hash value and the watermark server digital signature, and the first transaction association information includes the data receiver digital signature and the first transaction identifier corresponding to the first transaction, then the first transaction data can be determined to be legal transaction data if and only if the first verification passes, the second verification passes, the fourth verification passes, and the fifth verification passes.

[0219] For the convenience of description, the following embodiments of the present application take the first case as an example, in which the first transaction basic information includes all the information in the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction, and the timestamp. The first feedback information includes all the information in the first preset string (i.e., the first watermark), the second watermark, the hash value of the transmitted data, and the digital signature of the watermark server. And the first transaction association information includes all the information in the digital signature of the data receiver, the digital signature of the data sender, and the first transaction identifier corresponding to the first transaction.

[0220] Optionally, in some feasible implementations, if the data right holder allows each data recipient to transfer the target data to other recipients unlimited times (for the convenience of description, referred to as unlimited mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than or equal to 0, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the data recipient's digital signature is a valid digital signature, the data sender's digital signature is a valid digital signature, the watermark server's digital signature is a valid digital signature, and the first token transfer amount is less than or equal to the data sender's token balance, then the first transaction data can be determined to be legal transaction data. That is, in unlimited mode, when the accounting node determines that the first verification is passed to the sixth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0221] Optionally, in some feasible implementations, when the first transaction basic information includes the first token transfer amount of the first transaction, if the data right holder only allows each data recipient to forward the data to its recipient a limited number of times, and the final data can only be continuously transmitted along a specified number of single-line paths (for the convenience of description, referred to as multi-line mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the data recipient's digital signature is a valid digital signature, the data sender's digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is, in multi-line mode, when the accounting node determines that the first verification is passed to the fifth verification is passed, and the seventh verification is passed, it can be determined that the first transaction data is legal transaction data.

[0222] It is not difficult to understand that the first token transfer amount greater than 0 means that each time data is transferred, the data sender must transfer a number of tokens greater than 0 to the data receiver. Therefore, after a certain number of data transfers, the same data sender will eventually have its token balance become 0, and then it will no longer be able to transfer tokens to other users. In other words, when the token balance of a data sender is equal to 0, it no longer has the ability to transfer the target data.

[0223] Generally speaking, the data right holder (i.e., the original sender of the data) sets the total number of tokens K (K>0) corresponding to the target data, which limits the subsequent data receiver's ability to transmit the target data. In multi-line mode, the data right holder can transfer all K tokens to a certain user, or the data right holder can divide the K tokens into multiple parts and transfer them to multiple users respectively. For the convenience of description, the user who receives the tokens transferred by the data right holder can be called the "first-layer user". According to the rule of token quantity transfer, the sum of the tokens of the first-layer users is equal to K. In this way, the first-layer users have the ability to transmit the target data, or it can be understood that the data right holder transfers his ability to transfer data to the first-layer users. After that, the first-layer users can transfer their tokens to the second-layer users in the subsequent data transmission process. Obviously, the sum of the tokens of the second-layer users is also equal to K. By analogy, the sum of the tokens of each layer of users is K. Among them, when the number of tokens transferred for a certain data transmission is 1, the data receiver can only transmit the received data once. The reason is that once the receiver transmits the data once, it must transfer the 1 token it received previously to the next receiver, so it has no tokens related to the target data, so it cannot transmit the data again. When the number of tokens transferred in a certain data transmission is greater than 1, the receiver can transmit the data at most m times. The reason is that when the receiver transfers only 1 token each time in each subsequent data transmission, the receiver can transmit the target data m times. Correspondingly, when the number of tokens transferred by the receiver in a subsequent data transmission is greater than 1, since there are only m tokens associated with the data in the receiver's hand, this will inevitably lead to the total number of times the data is transmitted being less than m. It should be understood that after the target data has been transmitted through several layers, if each user in the latest layer obtains 1 token associated with the target data, then each user in the latest layer can only transmit the target data once in the future. And, the receiver of each subsequent data transmission can only transmit the target data once. That is to say, when each user in the latest layer obtains 1 token associated with the target data, the subsequent data transmission path will continue along K lines, and there will be no path bifurcation.

[0224] Optionally, in some feasible implementations, if the data right holder needs to limit the ability of each data recipient to forward the data only once, and the final data can only be continuously transmitted along a single-line path (for the convenience of description, referred to as single-line mode), then when the first transaction is the first transfer transaction of the target data, if it is determined that the token balance is equal to 1, the first token transfer quantity is greater than 0, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the data receiver's digital signature is a valid digital signature, the data sender's digital signature is a valid digital signature, the watermark server's digital signature is a valid digital signature, and the first token transfer quantity is less than or equal to the data sender's token balance, then the first transaction data can be determined to be legal transaction data. That is to say, in single-line mode, when the accounting node determines that the first verification is passed to the fifth verification is passed, the seventh verification is passed, and the eighth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0225] It is not difficult to understand that the single-line mode is a special case of the multi-line mode. In the single-line mode, the data rights holder can limit the target data to be transmitted to continue to propagate along one transfer path by setting the total number K of tokens corresponding to the target data to 1. Simply put, when K=1, since the number of first token transfers is greater than 0, the data rights holder can only transfer the target data to a first-layer user P1. In other words, when the data rights holder transfers 1 token corresponding to the target data to a first-layer user P1, the data rights holder will no longer be able to transfer the target data. Similarly, when the first-layer user P1 transfers the target data to a second-layer user P2, the second-layer user P2 no longer has the ability to propagate the target data, thereby limiting the target data to continue to propagate along one transfer path.

[0226] Optionally, in some feasible implementations, when the first transaction basic information also includes the token recipient address and the second token transfer amount, the data right holder can also limit the target data to be forwarded a certain number of times before it can no longer be disseminated (for the convenience of description, referred to as limited forwarding mode). Therefore, when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the data recipient digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is, in the limited forwarding mode, when the accounting node determines that the first verification is passed to the fifth verification is passed, the seventh verification is passed, and the ninth verification is passed, it can be determined that the first transaction data is legal transaction data.

[0227] Among them, the second token transfer quantity is the number of tokens transferred by the data sender to the token receiver indicated by the token receiver address. That is to say, in the limited forwarding mode, each time data is transmitted, the data sender must transfer a number of tokens greater than 0 to the data receiver, and it also needs to transfer a number of tokens greater than 0 to the token receiver. It should be understood that when the tokens are transferred to the token receiver, it means that these tokens disappear, and no one can use the tokens transferred to the token receiver, that is, the token receiver plays the role of burning tokens. It is not difficult to understand that since a positive integer number of tokens must be transferred to the token receiver each time data is transferred, it means that a certain number of tokens will disappear each time data is transferred. In other words, after a limited number of data transfers, all tokens will be burned out, and the target data will no longer be transferred subsequently.

[0228] Optionally, in some feasible implementations, if the data right holder wishes to restrict the data recipient to only have the right to use the target data, but cannot forward the received target data to other users (i.e., the data recipient does not have the right to forward, for the convenience of description, referred to as the forwarding prohibition mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is equal to 1, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the first preset string matches the second preset string, the data recipient digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is, in the forwarding prohibition mode, when the accounting node determines that the first verification is passed to the fifth verification is passed, the ninth verification is passed, and the tenth verification is passed, the first transaction data can be determined to be legal transaction data.

[0229] It is not difficult to understand that the prohibited forwarding mode is a special case of the limited forwarding mode. In the prohibited forwarding mode, the data right holder will only transfer the target data to the same data recipient once. Therefore, when the number of first tokens transferred by the data right holder to the data recipient is equal to 1, the data recipient will not be able to transfer the data to other users.

[0230] For the transaction verification of the second case (i.e., when the data sender is the data delivery object), it is assumed that the first transaction basic information includes all the information in the data sender address, data receiver address, parent transaction identifier, first token transfer quantity, first transaction token identifier and timestamp. The first feedback information includes all the information in the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, the hash value of the transmitted data, and the digital signature of the watermark server. The first transaction association information includes all the information in the digital signature of the data receiver, the digital signature of the data sender, and the first transaction identifier corresponding to the first transaction. Then, when the accounting node verifies the first transaction data, it can obtain the first hash value corresponding to the first transaction basic information and the second hash value corresponding to the other data by performing hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier. Furthermore, the accounting node can obtain the parent transaction data corresponding to the parent transaction identifier from the blockchain based on the parent transaction identifier included in the first transaction basic information, wherein the parent transaction data includes the parent transaction basic information, and the parent transaction basic information includes the data recipient address and the data recipient address of the parent transaction, as well as the token identifier of the parent transaction. Furthermore, the accounting node can obtain the third hash value corresponding to the parent transaction basic information by performing a hash operation on the parent transaction basic information. Alternatively, the accounting node can also directly obtain the third hash value corresponding to the parent transaction identifier from the blockchain based on the parent transaction identifier included in the first transaction basic information. It should be understood that if the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the watermark corresponding to the parent transaction matches the third hash value, the data sender address of the first transaction matches the data receiver address of the parent transaction (i.e., the same), the data receiver digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, the token identifier of the first transaction is equal to the token identifier of the parent transaction, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. Among them, the first token transfer data amount is the number of tokens transferred from the data sender to the data receiver of the first transaction, and the first token transfer amount is an integer. That is to say, if and only if the eleventh verification passes to the thirteenth verification passes (i.e., the eleventh verification passes, the twelfth verification passes, and the thirteenth verification passes), and the second verification passes to the fifth verification passes (i.e., the second verification passes, the third verification passes, the fourth verification passes, and the fifth verification passes), the first transaction data can be considered to be legal transaction data.

[0231] Optionally, in some feasible implementations, when the first transaction basic information includes part or all of the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction and the timestamp, and the first feedback information includes part or all of the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, the transmission data hash value and the watermark server digital signature, or the first transaction associated information includes part or all of the data receiver digital signature, the data sender digital signature and the first transaction identifier corresponding to the first transaction, the first transaction data can be determined to be legal transaction data only when and only when it is determined that the first transaction basic information, the first feedback information, and the information actually included in the first transaction associated information meet the verification conditions.

[0232] For example, assuming that the first transaction basic information includes all the information in the data sender address, data receiver address, parent transaction identifier, first token transfer quantity, token identifier of the first transaction and timestamp, the first feedback information includes the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark and the transmission data hash value, and the first transaction association information includes the digital signature of the data receiver and the first transaction identifier corresponding to the first transaction, then the first transaction data can be determined to be legal transaction data if and only if the eleventh verification passes to the thirteenth verification passes and the second verification passes.

[0233] For another example, assuming that the first transaction basic information includes all the information in the data sender address, the data receiver address, the parent transaction identifier, the first token transfer quantity, the token identifier of the first transaction and the timestamp, the first feedback information includes all the information in the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, the transmission data hash value and the digital signature of the watermark server, and the first transaction association information includes the digital signature of the data receiver and the first transaction identifier corresponding to the first transaction, then the first transaction data can be determined to be legal transaction data if and only if the eleventh verification passes to the thirteenth verification passes, the second verification passes, the fourth verification passes, and the fifth verification passes.

[0234] For the convenience of description, the following embodiment of the present application takes the first transaction basic information including all the information in the data sender address, data receiver address, parent transaction identifier, first token transfer quantity, first transaction token identifier and timestamp for the second case. The first feedback information includes all the information in the watermark corresponding to the parent transaction (i.e., the first watermark), the second watermark, the hash value of the transmitted data and the digital signature of the watermark server. And the first transaction association information includes all the information in the digital signature of the data receiver, the digital signature of the data sender and the first transaction identifier corresponding to the first transaction as an example for explanation.

[0235] Optionally, in some feasible implementations, if the data right holder allows each data recipient to transfer the target data to other recipients unlimited times (for the convenience of description, referred to as unlimited mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than or equal to 0, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the watermark corresponding to the parent transaction matches the third hash value, the data sender address of the first transaction matches the data receiver address of the parent transaction (i.e., the same), the data receiver digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, the token identifier of the first transaction is equal to the token identifier of the parent transaction, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is, in the unlimited mode, when the accounting node determines that the eleventh verification is passed to the thirteenth verification, and the second verification is passed to the sixth verification, the first transaction data can be determined to be legal transaction data.

[0236] Optionally, in some feasible implementations, if the data right holder only allows each data recipient to forward the data to its recipient a limited number of times, and the final data can only be continuously transmitted along a specified number of single-line paths (for the convenience of description, referred to as multi-line mode), then when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the watermark corresponding to the parent transaction matches the third hash value, the data sender address of the first transaction matches the data receiver address of the parent transaction (i.e., the same), the data receiver digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, the token identifier of the first transaction is equal to the token identifier of the parent transaction, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is, in multi-line mode, when the accounting node determines that the eleventh verification is passed to the thirteenth verification, the second verification is passed to the fifth verification, and the seventh verification is passed, the first transaction data can be determined to be legal transaction data.

[0237] It is not difficult to understand that the first token transfer amount greater than 0 means that each time data is transferred, the data sender must transfer a number of tokens greater than 0 to the data receiver. Therefore, after a certain number of data transfers, the same data sender will eventually have its token balance become 0, and then it will no longer be able to transfer tokens to other users. In other words, when the token balance of a data sender is equal to 0, it no longer has the ability to transfer the target data.

[0238] Optionally, in some feasible implementations, when the first transaction basic information also includes the token recipient address and the second token transfer amount, the data right holder can also limit the target data to be forwarded a certain number of times before it can no longer be disseminated (for the convenience of description, referred to as limited forwarding mode). Therefore, when the accounting node verifies the legitimacy of the first transaction data, if it is determined that the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, the watermark corresponding to the parent transaction matches the third hash value, the data sender address of the first transaction matches the data recipient address of the parent transaction (i.e., the same), the data recipient digital signature is a valid digital signature, the data sender digital signature is a valid digital signature, the watermark server digital signature is a valid digital signature, the token identifier of the first transaction is equal to the token identifier of the parent transaction, and the first token transfer amount is less than or equal to the token balance of the data sender, then the first transaction data can be determined to be legal transaction data. That is to say, in the single-line mode, when the accounting node determines that the eleventh verification has passed to the thirteenth verification has passed, and the second verification has passed to the fifth verification has passed, the seventh verification has passed, and the eighth verification has passed, it can be determined that the first transaction data is legal transaction data.

[0239] Among them, the second token transfer quantity is the number of tokens transferred by the data sender to the token receiver indicated by the token receiver address. That is to say, in the limited forwarding mode, each time data is transmitted, the data sender must transfer a number of tokens greater than 0 to the data receiver, and it also needs to transfer a number of tokens greater than 0 to the token receiver. It should be understood that when the tokens are transferred to the token receiver, it means that these tokens disappear, and no one can use the tokens transferred to the token receiver, that is, the token receiver plays the role of burning tokens. It is not difficult to understand that since a positive integer number of tokens must be transferred to the token receiver each time data is transferred, it means that a certain number of tokens will disappear each time data is transferred. In other words, after a limited number of data transfers, all tokens will be burned out, and the target data will no longer be transferred subsequently.

[0240] In some feasible implementations, if the accounting node determines that the first transaction data is legal transaction data, the first transaction data may be uploaded to the blockchain. Specifically, the accounting node may send the first transaction data to each consensus node included in the data transmission system, so that each consensus node verifies the legality of the first transaction data. Among them, the verification process of the first transaction data by each consensus node can refer to the verification process of the first transaction data by the above-mentioned accounting node, which will not be repeated here. Generally speaking, after each consensus node verifies the first transaction data, the verification result may be returned to the accounting node. Among them, when the accounting node determines that each consensus node reaches a consensus on the first transaction data based on the verification result returned by each consensus node, the block including the first transaction data may be uploaded to the blockchain.

[0241] S208. The watermark server obtains the public key of the data recipient, and encrypts the second transmission data based on the public key of the data recipient to obtain encrypted data.

[0242] In some feasible implementations, after the accounting node uploads the first transaction data to the blockchain, the accounting node may update the token balance of the token associated with the target data in the data sender and the data receiver, that is, the token balance of the data sender minus the total number of tokens transferred corresponding to this transaction, and the token balance of the data receiver plus the total number of tokens transferred corresponding to this transaction. It should be understood that the total number of tokens transferred is equal to the sum of the first token transfer number and the second token transfer number.

[0243] Furthermore, in some feasible implementations, the watermark server may obtain the public key of the data recipient, and encrypt the second transmission data (i.e., the transmission data obtained by embedding the second watermark based on the target data) based on the public key of the data recipient to obtain encrypted data. Specifically, the watermark server may obtain the public key of the data recipient corresponding to the address of the data recipient from the public key storage block of the blockchain according to the address of the data recipient of the first transaction, and then encrypt the second transmission data according to the obtained public key of the data recipient to obtain encrypted data. It should be understood that data encrypted based on the public key of the data recipient can only be decrypted by the user (i.e., the data recipient) who has the private key corresponding to the public key of the data recipient.

[0244] S209: The watermark server sends the encrypted data to the data sender.

[0245] In some feasible implementations, after the watermark server encrypts the second transmission data based on the public key of the data receiver and obtains the encrypted data, the watermark server may send the generated encrypted data to the data sender.

[0246] S210. The data sender sends encrypted data to the data receiver.

[0247] In some feasible implementations, after the data sender receives the encrypted data from the watermark server, the data sender may further send the encrypted data to the data receiver. It is not difficult to understand that after the data receiver receives the encrypted data, the data receiver uses its own private key (i.e., the data receiver's private key) to decrypt the encrypted data to obtain the second transmission data. At the same time, the data receiver may further calculate the hash value of the second transmission data, and determine whether the second transmission data it receives is correct by checking whether the hash value of the transmission data included in the first transaction data in the blockchain is equal to the calculated hash value of the second transmission data.

[0248] Optionally, in some feasible implementations, after generating the encrypted data, the watermark server can not only forward the encrypted data to the data receiver via the data sender, but also directly send the encrypted data to the data receiver. For example, see Figure 4 , Figure 4 This is another flowchart of the blockchain-based data transmission method provided by this application. Figure 4 As shown, after step S208, the following steps may also be included:

[0249] S211. The watermark server sends encrypted data to the data receiver.

[0250] In some feasible implementations, after the watermark server encrypts the second transmission data based on the data recipient's public key and obtains the encrypted data, the watermark server can also directly send the generated encrypted data to the data recipient. It is not difficult to understand that after the data recipient receives the encrypted data, the data recipient uses its own private key (i.e., the data recipient's private key) to decrypt the encrypted data to obtain the second transmission data. In addition, the data recipient can calculate the hash value of the second transmission data, and by checking whether the hash value of the transmission data included in the first transaction data in the blockchain is equal to the calculated hash value of the second transmission data, it can determine whether the second transmission data it received is correct.

[0251] In this application, the transaction records on the blockchain are verifiable, that is, the past transfer records on the chain can prove the correctness of the current transfer records. Any user or accounting node can use the previous blockchain transaction records to verify the correctness of the data in the current transaction. In addition, the data needs to undergo certain verification before being put on the chain, and only the verified transactions can be put on the chain. In this way, it is guaranteed that the data on the chain is verifiable and credible to a certain extent. Secondly, this application uses tokens as a tool to control the receiver's ability to forward data, so that in the case of decentralized nodes, the sender can flexibly control the number of times the receiver forwards in the system, and the original sender can control the forwarding mode of the data in the system, that is, unlimited mode, multi-line mode, single-line mode, limited forwarding mode and prohibited forwarding mode. At the same time, since each data transfer embeds the basic transaction information related to the data transfer as a watermark into the target data, and the relevant information about the data transfer is recorded on the blockchain, even if the data is damaged to a certain extent during the transfer process, the correct watermark can still be extracted from the data, and then the source and leakage point of the data can be found according to the extracted watermark.

[0252] Embodiment 3

[0253] It is not difficult to understand that, since each data transfer embeds the basic transaction information related to the data transfer as a watermark into the target data, and records the detailed transaction data on the blockchain, the data tracking function can be realized. For ease of understanding, the following Example 3 will elaborate on the data tracking process in detail.

[0254] See also Figure 5 , Figure 5 This is another flowchart of the blockchain-based data transmission method provided by this application. Figure 5 As shown, the method provided by the present application may include the steps of:

[0255] S301. The user sends a watermark extraction request to a watermark server.

[0256] In some feasible implementations, the user sends a watermark extraction request to the watermark server, wherein the watermark extraction request includes transmission data. Generally speaking, the transmission data includes target data and an embedded watermark (for ease of description, the first transaction watermark is used as an example for explanation).

[0257] S302, the watermark server sends the first transaction watermark extracted from the transmission data to the user;

[0258] In some feasible implementations, the watermark server can parse the transmission data included in the watermark extraction request by receiving the watermark extraction request sent by the user. Furthermore, the watermark server can extract the first transaction watermark embedded in the transmission data from the transmission data, and send the extracted first transaction watermark to the user.

[0259] S303: The user performs data tracing and / or data accountability based on the first transaction watermark and in combination with the data in the blockchain.

[0260] In some feasible implementations, the user receives the first transaction watermark from the watermark server, and then obtains the transaction data corresponding to the first transaction watermark from the blockchain according to the first transaction watermark (for the convenience of description, the first transaction data is used as an example for explanation). The first transaction data may include the data sender address of the first transaction, the data receiver address of the first transaction, and the parent transaction identifier of the parent transaction of the first transaction.

[0261] Among them, in the data traceability scenario, the user can obtain the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier. Among them, the parent transaction data includes the parent transaction watermark corresponding to the parent transaction and the data sender address of the parent transaction. It should be understood that if the parent transaction watermark matches the preset string, the data sender indicated by the data sender address of the parent transaction can be determined as the original sender of the target data. Therefore, the user can determine the data transfer record of the target data according to the original sender, the data sender indicated by the data sender address of the first transaction. That is to say, after the user receives the first transaction watermark from the watermark server, the user can find on the blockchain which transaction corresponds to the transaction data whose hash value of the transaction basic information included in the transaction data is equal to the first transaction watermark. Among them, once the hash value of the transaction basic information of a transaction is found to be equal to the first transaction watermark, the parent transaction identifier included in the transaction data corresponding to this transaction can be used to find the previous transaction that transmitted this target data, and then the parent transaction identifier included in the transaction data corresponding to the newly found transaction can be used to find the transaction that transmitted this target data the last time. By analogy, the transactions are traced back one by one until the parent transaction watermark included in the transaction data corresponding to a certain transaction is found to be equal to the preset string. The sender of this transaction can be identified as the original sender of the target data (i.e., the data rights holder), and the data transfer record of the target data can be obtained.

[0262] Optionally, in a data accountability scenario, after the user receives the first transaction watermark from the watermark server, the user can search for transactions on the blockchain that use the first transaction watermark as the basic transaction information. Once the basic transaction information of a transaction is found to be consistent with the first transaction watermark, the recipient of the transaction is the leaker of the target data. For example, assuming that the first transaction watermark is the watermark corresponding to the first transaction, the user can determine the data recipient indicated by the data recipient address of the first transaction in the first transaction data as the data leaker.

[0263] In this application, since each data transfer embeds the basic transaction information related to the data transfer as a watermark into the target data, and records the relevant information (i.e., transaction data) related to the data transfer on the blockchain, the function of tracking the data propagation path is realized. Secondly, since the digital watermark has a certain robustness, the correct watermark can still be extracted from the data after the data is modified to a certain extent. Therefore, this application can resist a certain degree of damage to the data, that is, even if the data is damaged to a certain extent, the user can still find the corresponding transfer record on the blockchain through the watermark information in the data. In other words, when it is necessary to find the source of a piece of data or the leaker of a piece of leaked data, the watermark can be extracted from the data, and then the transaction in which the data was recently forwarded can be found on the blockchain to determine the identity of the leaker. At the same time, it is also possible to trace back one by one according to the locked transactions, and then trace back to the original sender of the data.

[0264] See also Figure 6 , Figure 6 is a schematic diagram of a structure of a terminal provided in an embodiment of the present application. For ease of explanation, Figure 6 Only the main components of the terminal are shown. Figure 6 It can be seen that the terminal 400 includes a transceiver unit 410 and a processing unit 420. Optionally, the terminal 400 may also include a storage unit 430 ( Figure 6 ), which is not shown in the figure yet, and is used to store program codes and data of the terminal 400.

[0265] It should be understood that the terminal may be the data sender described in the above embodiment 1 or embodiment 2, and the terminal may be used to perform the functions of the data sender described in the above embodiment 1 or embodiment 2. In a specific implementation, the above transceiver unit 410 is used to send the first intermediate information to the watermark server, receive the first feedback information from the watermark server, and send the first transaction data to the accounting node. The specific process can refer to the process described in step S101, step S102 and step S104 in embodiment 1, or the process described in step S201 to step 204, step S206 and step 210 in embodiment 2, which will not be repeated here. The above processing unit 420 is used to determine the first transaction association information, generate the first transaction data according to the above first transaction basic information, the above first feedback information and the above first transaction association information. The specific process can refer to the process described in step S103 in embodiment 1, or the process described in step S205 in embodiment 2, which will not be repeated here.

[0266] In an optional implementation, the transceiver unit 410 is used to:

[0267] The encrypted data generated by the watermark server encrypting the second transmission data based on the public key of the data recipient is received from the watermark server, and the encrypted data is sent to the data recipient.

[0268] In an optional implementation, the first transaction association information includes a digital signature of the data recipient;

[0269] The processing unit 420 is configured to send the first basic transaction information to a data receiver via the transceiver unit 410;

[0270] The processing unit 420 is further configured to receive from the data recipient through the transceiver unit 410 a digital signature of the data recipient generated after the data recipient signs the first transaction basic information based on a private key of the data recipient.

[0271] In an optional implementation, the first transaction association information further includes a digital signature of the data sender;

[0272] The processing unit 420 is used for:

[0273] The first watermark, the second watermark, the transmission data hash value and the first transaction basic information are signed based on the data sender's private key to generate a data sender digital signature.

[0274] In an optional implementation, the first transaction association information further includes a first transaction identifier corresponding to the first transaction.

[0275] In an optional implementation, the first feedback information also includes a watermark server digital signature, which is generated by the watermark server signing the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the watermark server private key.

[0276] In an optional implementation, the above-mentioned first transaction basic information includes one or more of the data sender address of the above-mentioned first transaction, the data recipient address of the above-mentioned first transaction, the parent transaction identifier corresponding to the parent transaction of the above-mentioned first transaction, the first token transfer quantity of the above-mentioned first transaction, the second token transfer quantity of the above-mentioned first transaction, the token identifier of the above-mentioned first transaction and the token recipient address of the above-mentioned first transaction, wherein the above-mentioned first token transfer data quantity is the number of tokens transferred from the above-mentioned data sender to the data recipient of the above-mentioned first transaction, and the above-mentioned second token transfer quantity is the number of tokens transferred from the above-mentioned user to the token recipient indicated by the above-mentioned token recipient address.

[0277] In an optional implementation, the first watermark is a preset character string or a watermark corresponding to a parent transaction of the first transaction.

[0278] Optionally, the terminal may also be the user party described in the preceding embodiment 3, and the terminal may be used to execute the functions of the user party described in the above embodiment 3. In a specific implementation, the transceiver unit 410 is used to send a watermark extraction request to the watermark server, receive the first transaction watermark sent by the watermark server, and the like. The specific process may refer to the implementation process described in step S301 and step S302 in embodiment 3, which will not be described in detail here. The processing unit 420 is used to perform data tracing and / or data accountability based on the first transaction watermark and in combination with the data in the blockchain. The specific process may refer to the implementation process described in step S303 in embodiment 3, which will not be described in detail here.

[0279] In an optional implementation, the first transaction data further includes an address of a data recipient of the first transaction;

[0280] The processing unit 420 is used for:

[0281] The data recipient indicated by the data recipient address of the first transaction is determined as the data leakage party.

[0282] See also Figure 7 , Figure 7 1 is a schematic diagram of a server structure provided in an embodiment of the present application. For ease of explanation, Figure 7 Only the main components of the server are shown. Figure 7It can be seen that the server 500 includes a transceiver unit 510 and a processing unit 520. Optionally, the server 500 may also include a storage unit 530 ( Figure 7 ), which is not shown in the figure yet, is used to store program codes and data of the server 500.

[0283] It should be understood that the server may be the accounting node described in the preceding embodiment 1 or embodiment 2, and the server may be used to perform the functions of the accounting node described in the above embodiment 1 or embodiment 2. In a specific implementation, the above transceiver unit 510 is used to receive the first transaction data sent by the data sender. The specific process may be implemented in step S104 described in embodiment 1, or the process described in step S206 in embodiment 2, which will not be described in detail here. The above processing unit 520 is used to determine whether the above first transaction data is legal transaction data based on the above first transaction basic information, the above first watermark, the above second watermark and the above first transaction association information. If the above first transaction data is determined to be legal transaction data, the above first transaction data is uploaded to the blockchain. The specific process may be implemented in step S105 described in embodiment 1, or the process described in step S207 in embodiment 2, which will not be described in detail here.

[0284] In an optional implementation, the first watermark is the first preset character string, and the first transaction association information includes a first transaction identifier corresponding to the first transaction;

[0285] The processing unit 520 is used for:

[0286] Performing hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data;

[0287] Get a second preset string;

[0288] If the second watermark matches the first Hash value, the first transaction identifier matches the second Hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data.

[0289] In an optional implementation, the first watermark is a watermark corresponding to a parent transaction of the first transaction, the first transaction association information includes a first transaction identifier corresponding to the first transaction, and the first transaction basic information includes a parent transaction identifier corresponding to the parent transaction;

[0290] The processing unit 520 is used for:

[0291] Performing hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data;

[0292] According to the parent transaction identifier, obtaining the parent transaction data corresponding to the parent transaction identifier from the blockchain, wherein the parent transaction data includes the parent transaction basic information;

[0293] Performing a hash operation on the parent transaction basic information to obtain a third hash value corresponding to the parent transaction basic information;

[0294] If the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0295] In an optional implementation, the first transaction basic information further includes the data sender address of the first transaction, and the parent transaction basic information includes the data receiver address of the parent transaction;

[0296] The processing unit 520 is further configured to:

[0297] If the data sender address of the first transaction matches the data receiver address of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0298] In an optional implementation, the first transaction basic information further includes a token identifier of the first transaction, and the parent transaction basic information further includes a token identifier of the parent transaction;

[0299] The processing unit 520 is further configured to:

[0300] If the token identifier of the above-mentioned first transaction is equal to the token identifier of the above-mentioned parent transaction, the above-mentioned second watermark matches the above-mentioned first hash value, the above-mentioned first transaction identifier matches the above-mentioned second hash value, and the watermark corresponding to the above-mentioned parent transaction matches the above-mentioned third hash value, then the above-mentioned first transaction data is determined to be legal transaction data.

[0301] In an optional implementation, the first transaction basic information also includes the first token transfer amount of the first transaction, the first token transfer data amount is the token amount transferred from the data sender to the data recipient of the first transaction, and the first token transfer amount is an integer;

[0302] The processing unit 520 is further configured to:

[0303] If the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0304] If the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0305] In an optional implementation, the processing unit 520 is further configured to:

[0306] If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0307] If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0308] In an optional implementation, the first transaction is the first transfer transaction of the target data;

[0309] The processing unit 520 is further configured to:

[0310] If the above-mentioned token balance is equal to 1, the above-mentioned first token transfer quantity is greater than 0, the above-mentioned first token transfer quantity is less than or equal to the token balance of the above-mentioned data sender, the above-mentioned second watermark matches the above-mentioned first hash value, the above-mentioned first transaction identifier matches the above-mentioned second hash value, and the above-mentioned first preset string matches the above-mentioned second preset string, then the above-mentioned first transaction data is determined to be legal transaction data.

[0311] In an optional implementation, the first transaction basic information further includes a token recipient address and a second token transfer amount, where the second token transfer amount is the token amount transferred by the data sender to the token recipient indicated by the token recipient address;

[0312] The processing unit 520 is further configured to:

[0313] If the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or

[0314] If the first token transfer quantity is greater than 0, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0315] In an optional implementation, the first transaction basic information further includes a token recipient address and a second token transfer amount, where the second token transfer amount is the token amount transferred by the data sender to the token recipient indicated by the token recipient address;

[0316] The processing unit 520 is further configured to:

[0317] If the first token transfer quantity is equal to 1, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data.

[0318] In an optional implementation, the first transaction association information further includes a digital signature of the data recipient, and the digital signature of the data recipient is generated by the data recipient signing the first transaction basic information based on the data recipient's private key;

[0319] The processing unit 520 is further configured to:

[0320] Obtain the public key of the data recipient;

[0321] If it is determined based on the data recipient's public key that the data recipient's digital signature is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or

[0322] If, based on the public key of the data recipient, it is determined that the digital signature of the data recipient is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0323] In an optional implementation, the first transaction association information further includes a digital signature of the data sender, and the digital signature of the data sender is generated by the data sender signing the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the data sender's private key;

[0324] The processing unit 520 is further configured to:

[0325] Get the public key of the data sender;

[0326] If it is determined based on the public key of the data sender that the digital signature of the data sender is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then it is determined that the first transaction data is legal transaction data; or

[0327] If, based on the public key of the data sender, the digital signature of the data sender is determined to be a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0328] In an optional implementation, the first feedback information further includes a watermark server digital signature, which is generated by the watermark server signing the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on a watermark server private key;

[0329] The processing unit 520 is further configured to:

[0330] Get the watermark server public key;

[0331] If it is determined based on the watermark server public key that the watermark server digital signature is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then it is determined that the first transaction data is legal transaction data; or

[0332] If the watermark server digital signature is determined to be a valid digital signature based on the watermark server public key, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

[0333] Optionally, the server may also be the watermark server described in the above embodiment 1 or embodiment 2, and the server may be used to perform the functions of the watermark server described in the above embodiment 1 or embodiment 2. In a specific implementation, the above transceiver unit 510 is used to receive the first intermediate information sent by the data sender, send the first feedback information to the data sender, etc. The specific process may refer to the implementation process described in step S101 and step S102 in embodiment 1, which will not be described in detail here. The above processing unit 520 is used to generate the first feedback information according to the first intermediate information, which will not be described in detail here.

[0334] In an optional implementation, the first feedback information further includes a digital signature of a watermark server;

[0335] The processing unit 520 is used for:

[0336] Signing the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the watermark server private key to generate a watermark server digital signature;

[0337] The first feedback information is determined according to the first watermark, the second watermark, the transmission data hash value, and the watermark server digital signature.

[0338] In an optional implementation, the processing unit 520 is used to obtain a public key of a data receiver;

[0339] The processing unit 520 is configured to encrypt the second transmission data based on the public key of the data receiver to obtain encrypted data;

[0340] The transceiver unit 510 is used to send the encrypted data to the data receiver, or forward the encrypted data to the data receiver through the data sender.

[0341] See also Figure 8 , Figure 8 1 is another structural diagram of a terminal provided in an embodiment of the present application. The terminal may be the data sender in the above embodiment 1 or embodiment 2, and the terminal may be used to implement the method implemented by the data sender. Optionally, the terminal may also be the user in the above embodiment, and the terminal may be used to implement the method implemented by the user in the above embodiment.

[0342] like Figure 8 As shown, the terminal provided in the embodiment of the present application includes functional modules such as a processor 601, a memory 602, a user interface 603, a communication interface 604, a coupler 605, and an antenna 606. The above-mentioned memory 602 may correspond to Figure 6 The storage unit 430 of the terminal 400 shown in FIG. 6 is used to store programs. Specifically, the program may include program code, and the program code includes computer operation instructions. The memory 602 includes but is not limited to RAM, ROM, EPROM, or CD-ROM, etc., which are not limited here. In addition, the memory 602 may also be a memory in the processor 601, which is not limited here.

[0343] The memory 602 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:

[0344] Operation instructions: include various operation instructions, used to implement various operations.

[0345] Operating system: includes various system programs used to implement various basic businesses and handle hardware-based tasks.

[0346] The processor 601 controls the operation of the terminal, and the processor 601 may be one or more CPUs. Figures 2 to 5The methods disclosed by the data sender or user in each embodiment can be applied to the processor 601, or implemented by the processor 601. The processor 601 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 601 or the instructions in the form of software. The above-mentioned processor 601 can be a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to be executed, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 602, and the processor 601 reads the information in the memory 602 and executes it in combination with its hardware. Figures 2 to 5 The method steps of the data sender or user described in each embodiment.

[0347] The user interface 603 of the above-mentioned terminal is mainly used to provide an input interface for the user and obtain the data input by the user. The user interface 603 may include a multimedia input and / or output device 6031, a camera 6032, a display 6033, etc., which are not limited here. The user interface 603 may be an information input and / or output module for interacting with the user of the terminal, such as a microphone and / or speaker, a front and / or rear camera, and a touch screen, etc. of a terminal such as a mobile phone, which are not limited here. Optionally, the user interface 603 may also include a standard wired interface, a wireless interface, etc., which are not limited here.

[0348] The processor 601 of the terminal can be coupled with the antenna 606 and other devices through one or more communication interfaces 604 and coupler 605, and combined with other functional modules to execute Figures 2 to 5 The implementation methods performed by the data sender or user described in each embodiment may refer to the implementation methods provided in the above embodiments for details, and are not limited here. Here, "coupling" refers to the direct or indirect combination of two components. This combination can be fixed or movable, and this combination can allow flowing liquid, electricity, electrical signals or other types of signals to communicate between the two components.

[0349] See also Fig. 9 , Fig. 9is another structural diagram of the server provided in the embodiment of the present application. The server may be the accounting node in the above embodiment, and the server may be used to implement the method implemented by the accounting node in the above embodiment. Optionally, the server may also be the watermark server in the above embodiment, and the server may be used to implement the method implemented by the watermark server in the above embodiment. Fig. 9 As shown, the server provided in the embodiment of the present application includes a processor 701, a memory 702, a reflector 703, a receiver 704, a network interface 707, etc. Among them, the functional modules such as the processor 701, the transmitter 703 and the receiver 704 (the transmitter 703 and the receiver 704 can also be integrated into a transceiver) can be coupled with devices such as an antenna 706 through a coupler 705. The processor 701 can execute in combination with the coupled functional modules Figures 2 to 5 The implementations performed by the accounting nodes or watermark servers described in the various embodiments may refer to the implementations provided in the above embodiments for details, and are not limited here. Here, "coupling" refers to the direct or indirect combination of two components. This combination may be fixed or movable, and this combination may allow flowing liquid, electricity, electrical signals or other types of signals to communicate between the two components.

[0350] The memory 702 may correspond to Figure 7 The storage unit 530 in the server 500 shown. The above-mentioned memory 702 is used to store programs. Specifically, the program may include program code, and the program code includes computer operation instructions. The memory 702 includes but is not limited to RAM, ROM, EPROM, or CD-ROM, etc., which is not limited here. In addition, the above-mentioned memory 702 can also be a memory in the processor 701, which is not limited here.

[0351] The memory 702 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:

[0352] Operation instructions: include various operation instructions, used to implement various operations.

[0353] Operating system: includes various system programs used to implement various basic businesses and handle hardware-based tasks.

[0354] The processor 701 controls the operation of the server, and the processor 701 may be one or more CPUs. Figures 2 to 5The methods of accounting nodes or watermark servers disclosed in various embodiments can be applied to processor 701, or implemented by processor 701. Processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in processor 701 or the instructions in software form. The above-mentioned processor 701 can be a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of this application can be directly embodied as a hardware decoding processor to be executed, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register, etc. The storage medium is located in memory 702, and processor 701 reads the information in memory 102 and executes it in combination with its hardware. Figures 2 to 5 The method steps of the accounting node or watermark server described in each embodiment. The network interface 707 may optionally include a standard wired interface, a wireless interface (such as a WI-FI interface), etc., which is not limited here.

[0355] The embodiment of the present application provides a computer-readable storage medium in which instructions are stored. When the instructions are executed on a terminal, the terminal executes the above-mentioned Figures 2 to 5 The implementation methods performed by the terminal (ie, the data sender or user) described in each embodiment can be specifically referred to the implementation methods provided in the above embodiments, which will not be repeated here.

[0356] The embodiment of the present application provides a computer-readable storage medium in which instructions are stored. When the instructions are executed on a server, the server executes the above Figures 2 to 5 The implementation methods performed by the server (i.e., the accounting node or the watermark server) described in each embodiment can be specifically referred to the implementation methods provided in the above embodiments, which will not be repeated here.

[0357] The embodiment of the present application also provides a computer program product including instructions, which, when executed on a terminal, enables the terminal to execute the above Figures 2 to 5 The implementation method performed by the terminal (ie, the data sender or user) described in each embodiment.

[0358] The present application also provides a computer program product including instructions, which, when executed on a server, enables the server to execute the above Figures 2 to 5 The implementation method performed by the server (i.e., accounting node or watermark server) described in each embodiment.

[0359] It should be noted that the present application also provides a data transmission system, which includes the aforementioned one or more data senders, and one or more accounting nodes, and one or more watermark servers, and one or more user parties.

[0360] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A data transmission method based on blockchain, characterized in that: The method comprises: The data sender sends first intermediate information to the watermark server, wherein the first intermediate information includes first transmission data and first transaction basic information corresponding to the first transaction, the first transmission data is obtained by embedding the first watermark based on the target data, the first transaction is a transfer transaction of the target data, and the first transaction basic information includes one or more of the following information: the data sender address of the first transaction, the data recipient address of the first transaction, the parent transaction identifier corresponding to the parent transaction of the first transaction, the first token transfer quantity of the first transaction, the second token transfer quantity of the first transaction, the token identifier of the first transaction, or the token recipient address of the first transaction; wherein the first token transfer data quantity is the token quantity transferred by the data sender to the data recipient of the first transaction, and the second token transfer quantity is the token quantity transferred by the data sender to the token recipient indicated by the token recipient address; The data sender receives, from the watermark server, first feedback information generated by the watermark server based on the first intermediate information, the first feedback information including the first watermark, a second watermark corresponding to the first transaction, and a transmission data hash value corresponding to second transmission data, the second transmission data being obtained by embedding the second watermark in the target data; The data sender determines first transaction association information, generates first transaction data according to the first transaction basic information, the first feedback information and the first transaction association information, and sends the first transaction data to the accounting node, so that when the accounting node determines that the first transaction data is legal transaction data, it uploads the first transaction data to the blockchain, and the first transaction association information includes one or more of the following information: a digital signature of a data recipient, a digital signature of a data sender, or a first transaction identifier corresponding to the first transaction.

2. The method according to claim 1, characterized in that The method further comprises: The data sender receives from the watermark server the encrypted data generated by the watermark server encrypting the second transmission data based on the public key of the data receiver, and sends the encrypted data to the data receiver.

3. The method according to claim 1, characterized in that The first transaction association information includes a digital signature of the data recipient; The data sender determines the first transaction association information, including: The data sending party sends the first transaction basic information to the data receiving party; The data sender receives from the data receiver a digital signature of the data receiver generated after the data receiver signs the first transaction basic information based on a private key of the data receiver.

4. The method according to any one of claims 1 to 3, characterized in that: The first transaction association information also includes a digital signature of the data sender; The data sender determines the first transaction association information, including: The data sender signs the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the data sender's private key to generate a data sender digital signature.

5. The method according to any one of claims 1 to 3, characterized in that: The first feedback information also includes a watermark server digital signature, which is generated by the watermark server signing the first watermark, the second watermark, the transmission data hash value and the first transaction basic information based on the watermark server private key.

6. The method according to any one of claims 1 to 3, characterized in that: The first watermark is a preset character string or a watermark corresponding to a parent transaction of the first transaction.

7. A data transmission method based on blockchain, characterized in that: The method comprises: The accounting node receives first transaction data corresponding to a first transaction from a data sender, wherein the first transaction data includes first transaction basic information, first feedback information, and first transaction association information, wherein the first feedback information includes a first watermark, a second watermark corresponding to the first transaction, and a transmission data hash value corresponding to second transmission data, wherein the second transmission data is obtained by embedding the second watermark based on target data, wherein the first watermark is a first preset character string or a watermark corresponding to a parent transaction of the first transaction, and wherein the first transaction basic information includes one or more of the following information: an address of a data sender of the first transaction, an address of a data receiver of the first transaction, a parent transaction identifier corresponding to a parent transaction of the first transaction, a first token transfer amount of the first transaction, a second token transfer amount of the first transaction, a token identifier of the first transaction, or an address of a token receiver of the first transaction; wherein the first token transfer data amount is the number of tokens transferred by the data sender to the data receiver of the first transaction, and the second token transfer amount is the number of tokens transferred by the data sender to the token receiver indicated by the token receiver address; The accounting node determines whether the first transaction data is legal transaction data based on the first transaction basic information, the first watermark, the second watermark and the first transaction association information. If the first transaction data is determined to be legal transaction data, the first transaction data is uploaded to the blockchain. The first transaction association information includes one or more of the following information: a digital signature of a data recipient, a digital signature of a data sender, or a first transaction identifier corresponding to the first transaction.

8. The method according to claim 7, characterized in that The first watermark is the first preset character string, and the first transaction association information includes a first transaction identifier corresponding to the first transaction; The accounting node determines whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark, the second watermark, and the first transaction association information, including: The accounting node performs hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data; The accounting node obtains a second preset character string; If the second watermark matches the first Hash value, the first transaction identifier matches the second Hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data.

9. The method according to claim 7, characterized in that: The first watermark is a watermark corresponding to a parent transaction of the first transaction, the first transaction association information includes a first transaction identifier corresponding to the first transaction, and the first transaction basic information includes a parent transaction identifier corresponding to the parent transaction; The accounting node determines whether the first transaction data is legal transaction data according to the first transaction basic information, the first watermark, the second watermark, and the first transaction association information, including: The accounting node performs hash operations on the first transaction basic information and other data in the first transaction data except the first transaction identifier, respectively, to obtain a first hash value corresponding to the first transaction basic information and a second hash value corresponding to the other data; The accounting node obtains the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier, wherein the parent transaction data includes the parent transaction basic information; The accounting node performs a hash operation on the parent transaction basic information to obtain a third hash value corresponding to the parent transaction basic information; If the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

10. The method according to claim 9, characterized in that The first transaction basic information also includes the data sender address of the first transaction, and the parent transaction basic information includes the data receiver address of the parent transaction; The method further comprises: If the data sender address of the first transaction matches the data receiver address of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

11. The method according to claim 9, characterized in that The first transaction basic information also includes a token identifier of the first transaction, and the parent transaction basic information also includes a token identifier of the parent transaction; The method further comprises: If the token identifier of the first transaction is equal to the token identifier of the parent transaction, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

12. The method according to claim 8 or 9, characterized in that: The first transaction basic information also includes a first token transfer amount for the first transaction, where the first token transfer amount is the number of tokens transferred from the data sender to the data receiver of the first transaction, and the first token transfer amount is an integer; The method further comprises: If the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or If the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

13. The method according to claim 12, characterized in that The method further comprises: If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or If the first token transfer amount is greater than or equal to 0, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

14. The method according to claim 12, characterized in that The first transaction is the first transfer transaction of the target data; The method further comprises: If the token balance is equal to 1, the first token transfer quantity is greater than 0, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data.

15. The method according to claim 12, characterized in that The first transaction basic information also includes a token recipient address and a second token transfer amount, where the second token transfer amount is the token amount transferred by the data sender to the token recipient indicated by the token recipient address; The method further comprises: If the first token transfer amount is greater than 0, the second token transfer amount is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer amount is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data; or If the first token transfer quantity is greater than 0, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

16. The method according to claim 12, characterized in that The first transaction basic information also includes a token recipient address and a second token transfer amount, where the second token transfer amount is the token amount transferred by the data sender to the token recipient indicated by the token recipient address; The method further comprises: If the first token transfer quantity is equal to 1, the second token transfer quantity is greater than 0, the token recipient address is equal to the preset token recipient address, the first token transfer quantity is less than or equal to the token balance of the data sender, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset string matches the second preset string, then the first transaction data is determined to be legal transaction data.

17. The method according to claim 8 or 9, characterized in that The first transaction association information also includes a digital signature of the data recipient, and the digital signature of the data recipient is generated by the data recipient signing the first transaction basic information based on the data recipient's private key; The method further comprises: The accounting node obtains the public key of the data recipient; If the accounting node determines, based on the public key of the data recipient, that the digital signature of the data recipient is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or If the accounting node determines, based on the public key of the data recipient, that the digital signature of the data recipient is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

18. The method according to claim 8 or 9, characterized in that The first transaction association information also includes a digital signature of the data sender, which is generated by the data sender signing the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the data sender's private key; The method further comprises: The accounting node obtains the public key of the data sender; If the accounting node determines, based on the public key of the data sender, that the digital signature of the data sender is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or If the accounting node determines based on the public key of the data sender that the digital signature of the data sender is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

19. The method according to claim 8 or 9, characterized in that The first feedback information also includes a watermark server digital signature, which is generated by the watermark server signing the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the watermark server private key; The method further comprises: The accounting node obtains the watermark server public key; If the accounting node determines, based on the watermark server public key, that the watermark server digital signature is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the first preset character string matches the second preset character string, then the first transaction data is determined to be legal transaction data; or If the accounting node determines based on the watermark server public key that the watermark server digital signature is a valid digital signature, the second watermark matches the first hash value, the first transaction identifier matches the second hash value, and the watermark corresponding to the parent transaction matches the third hash value, then the first transaction data is determined to be legal transaction data.

20. A data transmission method based on blockchain, characterized in that: The method comprises: The watermark server receives first intermediate information from a data sender, wherein the first intermediate information includes first transmission data and first transaction basic information corresponding to a first transaction, the first transmission data is obtained by embedding a first watermark based on target data, the first transaction is a transfer transaction of the target data, and the first transaction basic information includes one or more of the following information: an address of a data sender of the first transaction, an address of a data receiver of the first transaction, a parent transaction identifier corresponding to a parent transaction of the first transaction, a first token transfer amount of the first transaction, a second token transfer amount of the first transaction, a token identifier of the first transaction, or an address of a token receiver of the first transaction; wherein the first token transfer data amount is the token amount transferred by the data sender to the data receiver of the first transaction, and the second token transfer amount is the token amount transferred by the data sender to the token receiver indicated by the token receiver address; The watermark server extracts the first watermark from the first transmission data, and generates a second watermark according to the first transaction basic information; The watermark server embeds the second watermark into the target data to generate second transmission data, and performs a hash operation on the second transmission data to obtain a transmission data hash value; The watermark server determines first feedback information according to the first watermark, the second watermark and the transmission data hash value, and sends the first feedback information to the data sender.

21. The method according to claim 20, characterized in that The first feedback information also includes a watermark server digital signature; The watermark server determines first feedback information according to the first watermark, the second watermark and the transmission data hash value, including: The watermark server signs the first watermark, the second watermark, the transmission data hash value, and the first transaction basic information based on the watermark server private key to generate a watermark server digital signature; The watermark server determines first feedback information according to the first watermark, the second watermark, the transmission data hash value, and the watermark server digital signature.

22. The method according to claim 20 or 21, characterized in that The method further comprises: The watermark server obtains the public key of the data receiver; The watermark server encrypts the second transmission data based on the public key of the data receiver to obtain encrypted data; The watermark server sends the encrypted data to the data receiver, or the watermark server forwards the encrypted data to the data receiver through the data sender.

23. A data transmission method based on blockchain, characterized in that: The method comprises: The user sends a watermark extraction request to the watermark server, wherein the watermark extraction request includes transmission data; The user receives, from the watermark server, a first transaction watermark extracted from the transmission data; The user party obtains first transaction data corresponding to the first transaction watermark from the blockchain according to the first transaction watermark, wherein the first transaction data includes the data sender address of the first transaction and the parent transaction identifier of the parent transaction of the first transaction, and the first transaction watermark is the watermark corresponding to the first transaction; The user party obtains the parent transaction data corresponding to the parent transaction identifier from the blockchain according to the parent transaction identifier, wherein the parent transaction data includes the parent transaction watermark corresponding to the parent transaction and the data sender address of the parent transaction; If the parent transaction watermark matches the preset character string, the data sender indicated by the data sender address of the parent transaction is determined as the original sender of the target data; The user party determines the data transfer record of the target data according to the original sender, the data sender indicated by the data sender address of the first transaction.

24. The method according to claim 23, characterized in that The first transaction data also includes the data recipient address of the first transaction; The method further comprises: The user party determines the data recipient indicated by the data recipient address of the first transaction as the data leakage party.

25. A terminal, characterized in that: The terminal includes: a processor, a transceiver and a memory; The processor and the transceiver are used to couple with the memory, read and execute instructions in the memory, so as to implement the method according to any one of claims 1 to 6 or any one of claims 23 to 24.

26. A server, characterized in that: The server includes: a processor, a transceiver and a memory; The processor and the transceiver are used to couple with the memory, read and execute instructions in the memory, so as to implement the method according to any one of claims 7 to 19 or any one of claims 20 to 22.

27. A computer program product comprising instructions, characterized in that When the computer program product is executed on a terminal, the terminal executes the method according to any one of claims 1 to 6 or any one of claims 23 to 24.

28. A computer program product comprising instructions, characterized in that When the computer program product runs on a server, the server is caused to execute the method according to any one of claims 7 to 22.

Citation Information

Patent Citations

  • Data processing system based on block chain

    CN109002725A

  • Data encryption method based on block chain

    CN109146479A