Data processing method, device and storage medium
By using contracts and blockchain technology in digital commodity trading, the problems of resale and abuse of digital commodity trading are solved, and the credibility, traceability and data security of transactions are achieved.
Patent Information
- Application Number
- CN202110441377.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-23
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2041-04-23
AI Technical Summary
The prior art cannot effectively prevent digital goods from being resold or abused after transactions, and lacks credible, traceable and controllable transaction methods.
By receiving the contract confirmed by the user, a file package containing the first key, the second data and the third data is sent. After payment, the second user obtains the second key through the blockchain to decrypt the third data, ensuring the credibility and traceability of the transaction process.
The second user has realized that the sample data is viewed before purchasing, reducing the risk of remorse, ensuring the credibility and traceability of data transactions, and preventing data leakage and abuse.
Smart Images

Figure CN115239333B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing, and in particular to a data processing method, device and storage medium. Background Art
[0002] Since digital goods are different from general goods, they have the special characteristics of being easy to copy and unknowable before transactions. Under current technical means, traditional B2B e-commerce platforms are generally used to trade digital goods. It is impossible to prevent the resale and abuse of digital goods after sales. Therefore, new technical means that are reliable, traceable and controllable are urgently needed. Summary of the invention
[0003] In view of this, the present disclosure proposes a data processing method, device and storage medium.
[0004] According to one aspect of the present disclosure, a data processing method is provided, the method comprising: receiving a contract confirmed by a first user and a second user, the contract being used to confirm the transaction content between the first user and the second user, the transaction content comprising the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, the file comprising a first key, second data and third data encrypted according to the first key and the second key, the first data comprising the second data and the third data; upon receiving the payment sent by the second user that is consistent with the contract, notifying the first user to send the second key; publishing the second key sent by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0005] According to an embodiment of the present application, by receiving a contract confirmed by a first user and a second user, after confirming the contract, the first user sends a file package to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data (second data) in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user regretting after purchase and saving resources for transmitting data. By notifying the first user to send the second key upon receiving the payment sent by the second user that is consistent with the contract, and publishing the second key sent by the first user to the blockchain, the second key can be prevented from being tampered with, and the platform keeps the payment, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale, and abuse.
[0006] In a possible implementation manner, the second key sent by the first user is an encrypted second key, and publishing the second key sent by the first user to the blockchain includes: publishing the encrypted second key sent by the first user to the blockchain.
[0007] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0008] In one possible implementation, when receiving the payment sent by the second user that is consistent with the contract, the method also includes: publishing the transaction information sent by the first user to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
[0009] According to the embodiment of the present application, by publishing the transaction information sent by the first user to the blockchain when receiving the payment sent by the second user that is consistent with the contract, the transaction process can be made credible and traceable. When the first user and the second user encounter a dispute, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0010] In a possible implementation, the method further includes: after publishing the second key sent by the first user to the blockchain, upon receiving confirmation information from the second user or when no confirmation information from the second user is received within a predetermined time, sending the payment to the first user.
[0011] According to an embodiment of the present application, after publishing the second key sent by the first user to the blockchain, the money is sent to the first user when the confirmation information of the second user is received or the confirmation information of the second user is not received within a predetermined time. It can be achieved that the first user can ensure receipt of the money after publishing the second key to the blockchain, avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0012] In a possible implementation, the method further includes: before receiving the contract confirmed by the first user and the second user, receiving a hash value of the first data sent by the first user, wherein the hash value is signed by the first user; and after signing the hash value sent by the first user, publishing it to the blockchain.
[0013] According to the embodiment of the present application, by receiving the hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, and signing the hash value sent by the first user and publishing it to the blockchain, the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data and make the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0014] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0015] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0016] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0017] According to the embodiments of the present application, it can be achieved that data can only be viewed by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0018] In one possible implementation, the method further includes: using the platform's private key to sign the received or forwarded data or the hash value of the data, where the received or forwarded data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0019] According to the embodiments of the present application, by using the platform's private key to sign the received or forwarded data or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the platform or the hash value of the data can be used for evidence collection, saving relevant resources.
[0020] According to another aspect of the present disclosure, a data processing method is provided, the method comprising: in response to a contract confirmed by a first user and a second user, sending a file package to the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, the first data includes the second data and the third data; when it is determined that the first platform has received the payment sent by the second user in accordance with the contract, sending the second key to the second platform, wherein the second key is used to be published to the blockchain, and the third data can be decrypted according to the first key and the second key.
[0021] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package is sent to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data. By sending the second key to the second platform when it is determined that the first platform has received the amount sent by the second user in accordance with the contract, the second key is used to be published to the blockchain, which can prevent the second key from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0022] In a possible implementation manner, the first platform and the second platform are the same platform.
[0023] In one possible implementation, sending the second key to the second platform includes: sending the encrypted second key to the second platform, wherein the encrypted second key is used to be published to the blockchain.
[0024] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0025] In one possible implementation, when it is determined that the first platform has received the amount sent by the second user that is consistent with the contract, the method further includes: sending transaction information to the second platform, the transaction information being used to be published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
[0026] According to the embodiment of the present application, by sending transaction information to the second platform, the transaction information is used to be published on the blockchain, so that the transaction process can be trusted and traceable. When a dispute arises between the first user and the second user, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0027] In a possible implementation, the method further includes: before the first user and the second user confirm the contract, sending a hash value of the first data to the second platform, the hash value being signed by the first user, and the hash value being used to be published to the blockchain.
[0028] According to the embodiment of the present application, before the first user and the second user confirm the contract, the hash value of the first data is sent to the second platform, the hash value is signed by the first user, and the hash value is used to publish to the blockchain, so that the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data, making the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0029] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0030] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0031] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0032] According to the embodiments of the present application, data can be viewed only by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0033] In one possible implementation, the method also includes: using the private key of the first user to sign the data received or sent by the first user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0034] According to the embodiments of the present application, by using the private key of the first user to sign the data received or sent by the first user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the first user or the hash value of the data can be used for evidence collection, making it impossible for the second user to deny, thereby saving relevant resources.
[0035] In a possible implementation, before sending the second key to the second platform, when it is determined that the second user terminates the transaction, transaction information is sent to the first platform, and the transaction information is used to be published to the blockchain.
[0036] According to the embodiment of the present application, the transaction content of the relevant data can be traceable, and the second user can be prevented from leaking the sample data already owned, so that the transaction is credible. According to another aspect of the present disclosure, a data processing method is provided, the method comprising: in response to a contract confirmed by a first user and a second user, receiving a file package sent by the first user, wherein the contract is used to confirm the transaction content of the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, a second data and a third data encrypted according to the first key and the second key, the first data includes the second data and the third data; sending the amount consistent with the contract to the first platform; obtaining the second key, the second key is published by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0037] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package sent by the first user is received, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data, and obtaining the second key by sending the amount consistent with the contract to the first platform, and the second key is published by the first user to the blockchain, so that the second key can be prevented from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable, and at the same time, preventing persons other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0038] In a possible implementation, obtaining the second key includes: obtaining an encrypted second key, where the encrypted second key is published by the first user to the blockchain.
[0039] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0040] In a possible implementation, the method further includes: after obtaining the second key, sending a confirmation message to the first platform, wherein the first platform sends the amount to the first user after receiving the confirmation message.
[0041] According to an embodiment of the present application, after obtaining the second key, a confirmation message is sent to the first platform, wherein the first platform sends the amount to the first user after receiving the confirmation message. This ensures that the first user receives the amount after publishing the second key to the blockchain, thereby avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0042] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0043] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0044] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0045] According to the embodiments of the present application, it can be achieved that data can only be viewed by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0046] In one possible implementation, the method also includes: using the private key of the second user to sign the data received or sent by the second user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0047] According to an embodiment of the present application, by using the private key of the second user to sign the data received or sent by the second user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the second user or the hash value of the data can be used for evidence collection, making it impossible for the first user to deny, thereby saving relevant resources.
[0048] According to one aspect of the present disclosure, a data processing device is provided, which includes: a first receiving module, used to receive a contract confirmed by a first user and a second user, the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; a notification module, used to notify the first user to send the second key when receiving the payment sent by the second user that is consistent with the contract; a first publishing module, used to publish the second key sent by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0049] In a possible implementation, when receiving the payment sent by the second user that is consistent with the contract, the device also includes: a second publishing module, used to publish the transaction information sent by the first user to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, the hash value corresponding to the identity information, the hash value corresponding to the contract, and the hash value corresponding to the file package.
[0050] In a possible implementation, the second key sent by the first user is an encrypted second key, and the first publishing module includes: publishing the encrypted second key sent by the first user to the blockchain.
[0051] In a possible implementation, the device further includes: a third sending module, configured to send the payment to the first user after publishing the second key sent by the first user to the blockchain and upon receiving confirmation information from the second user or failing to receive confirmation information from the second user within a predetermined time.
[0052] In a possible implementation, the device also includes: a second receiving module, used to receive a hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, and the hash value is signed by the first user; a third publishing module, used to sign the hash value sent by the first user and then publish it to the blockchain.
[0053] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0054] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0055] In one possible implementation, the device also includes: a first signature module, used to use the platform's private key to sign the received or forwarded data or the hash value of the data, the received or forwarded data including one or more of contracts, file packages, funds, transaction information, first data, second keys, and fourth keys.
[0056] According to another aspect of the present disclosure, a data processing device is provided, which includes: a first sending module, used to send a file package to the second user in response to a contract confirmed by a first user and a second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; a second sending module, used to send the second key to the second platform when it is determined that the first platform has received the amount sent by the second user in accordance with the contract, wherein the second key is used to be published to the blockchain, and the third data can be decrypted according to the first key and the second key.
[0057] In a possible implementation manner, the first platform and the second platform are the same platform.
[0058] In a possible implementation, the second sending module includes: sending the encrypted second key to the second platform, wherein the encrypted second key is used to be published to the blockchain.
[0059] In one possible implementation, when it is determined that the first platform has received the amount sent by the second user that is consistent with the contract, the device also includes: a fourth sending module, used to send transaction information to the second platform, and the transaction information is used to be published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, the hash value corresponding to the identity information, the hash value corresponding to the contract, and the hash value corresponding to the file package.
[0060] In a possible implementation, the device also includes: a fifth sending module, which sends a hash value of the first data to the second platform before the first user and the second user confirm the contract, wherein the hash value is signed by the first user and is used to be published to the blockchain.
[0061] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0062] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0063] In one possible implementation, the device also includes: a second signature module, used to use the private key of the first user to sign the data received or sent by the first user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0064] In a possible implementation, before sending the second key to the second platform, when it is determined that the second user terminates the transaction, transaction information is sent to the first platform, and the transaction information is used to be published to the blockchain.
[0065] According to another aspect of the present disclosure, a data processing device is provided, which includes: a third receiving module, used to receive a file package sent by the first user in response to a contract confirmed by the first user and the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, the first data includes the second data and the third data; a sixth sending module, used to send the amount consistent with the contract to the first platform; an acquisition module, used to obtain the second key, the second key is published by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0066] In a possible implementation, the acquisition module includes: acquiring an encrypted second key, where the encrypted second key is published by the first user to the blockchain.
[0067] In a possible implementation, the device further includes: a seventh sending module, configured to send a confirmation message to the first platform after acquiring the second key, wherein the first platform sends the amount to the first user after receiving the confirmation message.
[0068] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0069] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0070] In one possible implementation, the device also includes: a third signature module, used to use the private key of the second user to sign the data received or sent by the second user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, the first data, the second key, and the fourth key.
[0071] According to another aspect of the present disclosure, a data processing device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the above method.
[0072] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.
[0073] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] Figure 1 A schematic diagram of an application scenario according to an embodiment of the present application is shown.
[0075] Figure 2 A flow chart of a data processing method according to an embodiment of the present application is shown.
[0076] Figure 3 A flow chart of the negotiation purchase phase of the data processing method according to an embodiment of the present application is shown.
[0077] Figure 4 A flow chart of the purchase confirmation phase of the data processing method according to an embodiment of the present application is shown.
[0078] Figure 5 A flow chart of a data processing method according to an embodiment of the present application is shown.
[0079] Figure 6 A flow chart of a data processing method according to an embodiment of the present application is shown.
[0080] Figure 7 A flow chart of a data processing method according to an embodiment of the present application is shown.
[0081] Figure 8 A structural diagram of a data processing device according to an embodiment of the present application is shown.
[0082] Fig. 9 A structural diagram of a data processing device according to an embodiment of the present application is shown.
[0083] Fig.10is a block diagram showing a data processing device 1900 according to an exemplary embodiment. DETAILED DESCRIPTION
[0084] Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
[0085] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
[0086] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.
[0087] Blockchain technology, also known as distributed ledger technology, is an emerging technology in which several computing devices jointly participate in "bookkeeping" and jointly maintain a complete distributed database. Due to the characteristics of blockchain technology being decentralized, open and transparent, each computing device can participate in database records, and data can be quickly synchronized between computing devices, blockchain technology has been widely used in many fields. The embodiments of the present application can use blockchain technology to realize the transaction of digital goods, realizing a credible, traceable, and controllable digital transaction technology.
[0088] Figure 1 FIG. 1 shows a schematic diagram of an application scenario according to an embodiment of the present application. In a possible implementation, the data processing method provided in the embodiment of the present application can be applied in a scenario where a user conducts data transactions through a data transaction platform and a payment platform. Figure 1As shown, users may include sellers and buyers. The seller may be understood as a party that owns the data and wants to sell the data, and the buyer may be understood as a party that is willing to buy the data. This application does not limit the specific type of data for the transaction, for example, it may be a labeled data set (i.e., a collection of labeled data that can be used for scenarios such as model training), algorithm model code, etc. Buyers and sellers may conduct transactions through the platform, wherein the platform may be operated by a third party other than the buyer and seller, and the platform may include a data trading platform and a payment platform. The data trading platform may have a blockchain and may upload relevant information (or transaction information) in the transaction process to the corresponding blockchain node, and the payment platform may be used to collect and deliver the payment to the buyer and seller according to the contract reached between the buyer and seller. It should be noted that the data trading platform and the payment platform may also be the same platform, operated by the same third party, and the blockchain may also be set on other platforms other than the data trading platform or the payment platform, and operated by another third party, and this application does not limit this.
[0089] In a possible implementation, the seller can declare the rights of the data to be sold on the data trading platform and publish the data to be sold. If the buyer is willing to buy, he can first reach a contract with the seller. After reaching the contract, the seller can first send a file package to the buyer, which can include sample data that can be shown to the buyer, and encrypted remaining data other than the sample data. If the buyer does not intend to purchase all the data, he can terminate the transaction at any time before confirming the purchase; after the buyer confirms the purchase, he can pay the amount agreed in the contract to the payment platform according to the contract content. After the payment, the seller can upload the key that can decrypt the remaining data to the blockchain through the data trading platform for publication, so that the buyer can obtain the key to decrypt and obtain all the data confirmed in the contract. The payment platform can pay the seller to complete the transaction.
[0090] During this process, relevant dispute points in the transaction process, such as whether the buyer actually received the data and whether the data sent by the seller is the data agreed in the contract, can all be traced and verified, and both parties cannot deny this.
[0091] Figure 2A flow chart of a data processing method according to an embodiment of the present application is shown. It should be noted that the data trading platform and the payment platform (hereinafter collectively referred to as the platform) may have a platform public key and a platform private key, wherein the platform's public key may be a public key that has been authenticated (e.g., authenticated by a certificate authority (CA)), which may be published when the data trading platform creates a blockchain, or may be published on the network of the data trading platform. The present application does not limit the specific manner in which the platform publishes the public key. At the same time, the platform's public key may also be protected, and the protection of the platform's public key address may be achieved through private sharing or group signature. The platform may also be composed of a series of sub-platforms, and the sub-platforms may have their own public and private keys. In this case, the protection of the sub-platform's public key address may be achieved through group signature or threshold signature. It should be noted that the present application takes the data trading platform as a single platform as an example for explanation, and the present application does not limit the specific manner in which the platform protects the public key. In one possible implementation, during the transaction between the buyer and the seller, the platform can use the private key to sign the relevant operation content involved in the platform, and record the signed operation content. In case of subsequent disputes, the platform public key can be used to authenticate the record, so that the above record can be used as evidence to prevent both parties from denying it. The relevant operation content may include any operation content that is useful for tracing the transaction process, for example, any information received or sent by the platform (such as the hash value of the data sent by the seller to the platform, the contract confirmed by the buyer and the seller, the shared key exchanged by the two parties, the hash value of the file package sent by the seller to the buyer, the hash value of the transaction information sent by the seller to the platform for chain upload, etc.), and may also include the corresponding timestamp of the information (such as the timestamp of the platform receiving the information), and may also include the operation type identifier and timestamp of any operation performed by the platform (such as the operation type identifier and timestamp of the payment platform receiving the payment, and the operation type identifier and timestamp of delivering the payment to the seller), etc. This application does not impose any restrictions on this.
[0092] Due to the need for sellers and buyers to conduct data transactions, sellers and buyers can also have their own public keys and private keys, where the public keys of the buyer and seller can be used to verify the files signed with the private keys, and the public keys of the seller and buyer can be used on the data trading platform to perform public key authentication using the platform public key (for example, the value of the platform public key is bound to the public keys of the buyer and seller respectively). In a possible implementation, during the transaction, the seller and buyer can also use their own private keys to sign the relevant operation content to prevent tampering by others, and make the buyer and seller unable to deny their own operation content. At the same time, the platform can also verify whether the identity information of the seller and buyer and the legal documents related to the seller and buyer (such as the qualification information of the seller and buyer) are authentic. The above-mentioned buyer and seller authenticated public keys and verified related information (such as the buyer's identity information) can be published on the blockchain by the data trading platform. In a possible implementation, during the transaction, the seller can also publish the relevant information of the buyer corresponding to the transaction (such as identity information) on the blockchain. Figure 2 As shown, the process of data transaction between users including sellers and buyers on a third party including a data transaction platform and a payment platform may include:
[0093] Step S101, purchase negotiation stage.
[0094] Before the negotiation phase, the seller can declare the rights of the data to be sold (which can be called D) on the data trading platform. In this process, the seller can use a hash function to map the data D to obtain the mapped hash value H(D). In a possible case, if the seller wants to sell a subset of the data D, the seller can also map the subset of the data D, for example, a subset D in D i , after mapping, we can get the hash value H(D i ), where i can represent the i-th subset in D, and the hash mapping process is the same for other subsets in D. In this way, the atomicity of the data corresponding to the hash on the chain can be guaranteed (i.e., integrity. Others can verify through the hash value whether the data obtained from the transaction is the data promised to be sold by the seller, so that the seller cannot arbitrarily change or deny the promised data). Then, the seller can use the seller's private key to hash the hash value H(D) or the hash value H(D i ) and the signed hash value H(D) or the hash value H(D i ) is sent to the platform.
[0095] Taking the seller selling data D as an example, in one possible case, the seller can also send the data description of data D, or the hash value of the data description, to the platform after signing with the seller's private key. The data description can indicate the type and profile of the data, etc. For example, if data D is a patient annotated data set, the data description can be, for example, "This annotated data set is the clinical data of two thousand patients in the XX department of XX hospital". The subsequent buyer can further understand the content of data D based on the data description, and can also judge whether the purchased data is consistent with the description based on the data description. This application does not limit the specific content of the data description. After receiving the above information sent by the seller, the data trading platform can use the platform's private key to sign the hash value corresponding to data D, and publish it through the blockchain to implement the above rights declaration. In a possible implementation, the data trading platform can also sign the data description of the data D and publish it on the data trading platform (for example, publish it on the data trading platform chain, or publish it on the data trading platform without blockchain), and the data trading platform can also publish the time when the hash value of the data, data description and other information are received (for example, publish it on the data trading platform chain, or publish it on the data trading platform without blockchain), so that the seller's rights statement to the data D can be realized. In the event of a dispute, the platform's timestamp can be used to prove that the seller does own the data D. In a possible implementation, the data trading platform can also verify the data D that the seller requests to upload to confirm the legitimacy of the data D. After the platform verifies its legitimacy, it can also sign it with the platform's private key so that others can know that the data D is legal after the platform verifies it.
[0096] It should be noted that the data trading platform can have only one blockchain, so when the hash value of the seller's data needs to be uploaded to the chain, it can be published only on this chain. If the seller wants to publish the hash value of data D on multiple chains of multiple platforms, the transaction of the data D can be jointly approved by multiple platforms. The multiple platforms can also establish timestamps for verification so that others cannot tamper with it. Therefore, the seller cannot deny that he sold the data.
[0097] In addition, before each transaction, the hash value of the data that the seller wants to sell is signed by the seller and the platform and then uploaded to the chain. The seller can prove which data he has sold, or how many times the same data has been sold. In this way, if the data is leaked or resold without the seller's consent, the seller can prove that the leaked or resold data was not sold by himself, in order to protect his own rights and interests.
[0098] If the buyer is willing to purchase the data that the seller wants to sell, they can first enter the negotiation purchase stage. In this stage, the buyer and the seller can agree on a contract. The content of the contract may include the description of the data to be traded, the price of the data, and other transaction contents. The content of the contract can be freely agreed upon by the seller and the buyer. This application does not restrict the specific content of the contract, nor does it restrict the negotiation method. After the contract is determined, the contract will be sent to the payment platform or the data trading platform. The seller can first show the buyer a part of the sample data, and the buyer will decide whether to confirm the purchase of all the data after viewing the sample data. If the buyer has no intention of purchasing all the data, he can inform the seller that the transaction can be stopped at any time. If the buyer is sure to purchase all the data, he can enter the next stage.
[0099] Step S102, confirm the purchase stage.
[0100] If the buyer is determined to purchase all the data, he can pay the amount specified in the contract to the payment platform, which will first keep it for safekeeping. Then, the seller can upload the key that can be used to obtain the remaining data except the sample data to the blockchain. After obtaining the key through the blockchain, the buyer can obtain all the data. After the buyer confirms the data (or the buyer is assumed to have confirmed the data), the payment platform can deliver the money to the seller, thereby completing the data transaction.
[0101] Figure 3 FIG. 1 is a flowchart of the negotiation purchase phase of the data processing method according to an embodiment of the present application. Figure 3 As shown, the process of the negotiation purchase stage includes:
[0102] Step S201: The seller and the buyer negotiate and confirm the contract.
[0103] Among them, when the description information of the data is published on the platform, the buyer can see the description information of the data, and the buyer can send a request to the platform to negotiate the purchase with the seller. The buyer can also negotiate the purchase directly with the seller without going through the platform.
[0104] The seller and the buyer can negotiate the content of the contract for this transaction and confirm the contract. Among them, the negotiation process between the seller and the buyer may be through the data trading platform or not, and this application does not limit this. The confirmed contract can be signed by the seller and the buyer using their respective private keys, and the contract may include data description and data price, or data description and hash value corresponding to the data price. After confirming the contract, the seller can send the contract signed by the private keys of both parties to the data trading platform. The data trading platform can sign the contract or the hash value corresponding to the contract with the platform private key, and send the time of confirming the contract or the hash value corresponding to the time to the buyer and seller as the timestamp of the contract. Therefore, when encountering related disputes, the timestamp can be used as proof. The data trading platform can send the signed contract or the hash value corresponding to the contract to the payment platform, and then the payment platform will sign it.
[0105] The seller can also send the contract signed by the buyer and the seller directly to the payment platform, and the payment platform will use its private key to re-sign the contract or the hash value corresponding to the contract. The seller can also send the contract signed by the buyer and the seller to the data trading platform and the payment platform respectively, and the data trading platform and the payment platform will sign the contract or the hash value corresponding to the contract respectively.
[0106] Step S202: The payment platform receives the contract agreed upon by the seller and the buyer.
[0107] Among them, the payment platform can be the same platform as the data trading platform, and this application does not impose any restrictions on this.
[0108] Step S203: The seller and the buyer exchange a shared key K(SB), and the seller and the buyer sign a statement about the shared key K(SB).
[0109] Among them, the shared key K(SB) can be generated by the seller, and the shared key can be used for decryption of subsequent file packages. The statement signed by the seller and buyer's private keys can be used to indicate that the shared key is only used in this transaction. The above process of exchanging shared keys and signed statements can be performed through the data trading platform or not, and this application does not limit this. In one possible implementation, the seller can send the hash value corresponding to the shared key signed by the buyer and the seller respectively and / or the statement signed by the seller and the buyer to the data trading platform, and the platform can use the private key to sign the hash value corresponding to the shared key and / or the statement signed by the seller and the buyer to ensure that the shared key will not be tampered with. After this step is signed by the platform private key, since the hash value of the shared key has been signed by the buyer, the buyer cannot actually deny receiving the shared key.
[0110] Step S204: the seller sends the encrypted file package to the buyer.
[0111] Among them, the seller can first generate a new key K(S), which consists of two keys, K1(S) and K2(S). K(S) cannot be derived from K1(S) or K2(S). K(S) can only be derived when and only when K1(S) and K2(S) are simultaneously possessed. For example, a method for deriving K(S) from K1(S) and K2(S) is K(S)=K1(S)⊕K2(S). The present application does not limit the specific method for deriving K(S) through K1(S) and K2(S). Alternatively, the seller can also directly generate keys K1(S) and K2(S), and can use K2(S) to re-encrypt data encrypted by K1(S) (or vice versa, use K1(S) to re-encrypt data encrypted by K2(S)). The seller can also generate more than three keys K1(S)...K m (S) is used for multi-layer encryption, which is not limited in this application.
[0112] The seller can then use K(S) or the key K1(S)...K m (S) (hereinafter taking K1(S) and K2(S) as examples) in the encrypted data D, except for the sample data (which can be called Sm(D)) ), the encrypted data can be called The file package includes the sample data Sm(D), the encrypted data other than the sample data and the key part K1(S), the seller for the file package The shared key K(SB) is used for encryption, and the encrypted file package can be signed using the seller's private key.
[0113] In a possible implementation, after the seller encrypts the file package using K(SB), he may further encrypt the file package using a symmetric encryption method such as the Advanced Encryption Standard (AES) to obtain the encrypted file package and send it to the buyer.
[0114] The above process of sending the encrypted file package can be carried out through the data trading platform or not, and this application does not limit this. In the case where the above process of sending the encrypted file package is carried out through the data trading platform, the platform can also use the private key to sign the encrypted file package or the hash value corresponding to the encrypted file package.
[0115] Step S205: The buyer decrypts the file package and checks the sample data.
[0116] After receiving the file package, the buyer can use K(SB) to decrypt it and obtain Sm(D), and K1(S), but since the buyer does not yet have K2(S), it cannot be decrypted Get all the data. However, the buyer can now open the sample data Sm(D) and view it, and determine whether to purchase all the data through the sample data. Since the data itself is unknown before the transaction, the buyer can better understand whether the data D sold is the data he wants by viewing part of the sample data first, which also reduces the possibility of the buyer regretting after purchasing all the data, reduces related disputes, and saves the platform's resources for transmitting data.
[0117] After viewing the sample data, if the buyer does not want to purchase the data, he or she can inform the seller and terminate the transaction.
[0118] It should be noted that the contract negotiated and confirmed by the buyer and the seller may also include a confidentiality agreement regarding sample data. Therefore, even if the seller discloses sample data to the buyer, it does not mean that the sample data can be leaked or resold by the buyer.
[0119] If the buyer does not want to purchase the data, the seller can choose to publish the relevant information in the transaction process on the chain according to the content of the contract, or not to publish it on the chain. This application does not restrict this. The relevant information may include the buyer's identity information, the content of the negotiated and confirmed contract, the statement of the shared key signed by both parties, and any other information in the transaction process. The seller can also publish the hash value corresponding to the relevant content in the relevant information on the chain. In this way, the process of this transaction can be recorded for subsequent traceability and verification.
[0120] When the buyer confirms the purchase data and wants to continue the transaction, he can enter the stage of confirming the purchase.
[0121] Figure 4 FIG. 1 is a flow chart showing the purchase confirmation phase of the data processing method according to an embodiment of the present application. Figure 4 As shown, the process of confirming the purchase stage includes:
[0122] Step S301, the buyer confirms the purchase data and pays to the payment platform.
[0123] After the buyer has reviewed the sample data and confirmed to continue the transaction and purchase all the data, the buyer can also use the buyer's private key to The corresponding hash value is signed and the signed hash value is sent to the seller to confirm the purchase, and then the amount agreed in the contract is paid to the payment platform. The buyer can also directly pay the amount agreed in the contract to the payment platform to confirm the purchase. The platform can verify whether the payment made by the buyer is correct according to the content of the contract, and can also record the time when the buyer paid the payment. When the platform verifies that the payment made by the buyer is consistent with the price agreed in the contract, it can notify the seller to send the key K2(S). The above process can also be signed by the platform with a private key to prove that the buyer confirmed the purchase data later.
[0124] It should be noted that before the buyer pays the money to the payment platform, both the seller and the buyer can choose to terminate the transaction according to the contract agreed upon by both parties. After the transaction is terminated, the seller can publish the relevant information of the transaction process on the chain.
[0125] Step S302: The seller publishes the key K2(S) on the chain through the data trading platform.
[0126] Among them, when the seller receives a notification from the platform and learns that the buyer has confirmed the purchase, the key K2(S) can be published on the blockchain through the data trading platform. In a possible implementation, the seller can also encrypt K2(S) using the shared key K(SB) and publish the encrypted K2(S) on the blockchain. This application does not limit the way the seller encrypts K2(S), and the buyer can directly decrypt K2(S) from the blockchain. Optionally, the seller can also publish relevant information during the transaction on the blockchain through the data trading platform. The relevant information during the transaction may include the buyer's identity information, the time when the buyer pays the money, the contract agreed upon by the seller and the buyer, the signed statement on the shared key, and any other information related to the transaction. In the process of the seller publishing the relevant information to the blockchain, the hash value corresponding to the relevant information can be published on the blockchain, and the buyer's identity information can also be published directly on the blockchain, and the hash value corresponding to other relevant information other than the buyer's identity information can be published on the blockchain.
[0127] Therefore, the buyer cannot deny that he has actually received all the data, and the blockchain can record all transactions related to data D. In the event of data leakage or data resale by the buyer, it can prove the subject who has the right to own the data and prevent the data from being abused. If the buyer confirms to continue the transaction, it can be assumed that the buyer has opened the file package through K(SB), but before the seller uploaded the key K2(S) to the chain, due to the Double encryption is performed and the buyer cannot decrypt it yet View all data.
[0128] Even if the seller discloses K2(S) on the chain, since only the buyer owns K1(S), no one except the buyer can view all the data, ensuring that the data is not leaked.
[0129] Step S303: The buyer obtains the remaining key K2(S) to obtain all the data D.
[0130] Among them, the buyer can use the K2(S) publicly available on the chain by the seller (or the encrypted K2(S), which the buyer can decrypt to obtain K2(S)), and combine it with K1(S) to deduce the decryptable The key K(S) is obtained Alternatively, the buyer can use K2(S) publicly available on the chain to decrypt the data that has been decrypted by K1(S) again to obtain all the data. Alternatively, the buyer can use K2(S) to Decryption is performed, and then the decrypted data is decrypted again using the obtained K1(S) to obtain all the data.
[0131] Step S304: the payment platform delivers the funds to the seller.
[0132] Among them, when the seller publishes the key K2(S) on the chain through the data trading platform, the payment platform can deliver the money to the seller when receiving the buyer's confirmation of the key K2(S). A time threshold (for example, 24 hours) can also be set. When the buyer fails to send the confirmation of the key K2(S) within the time threshold, the payment platform can automatically deliver the money to the seller to avoid the situation where the buyer receives the key K2(S) and does not pay after obtaining the data.
[0133] The transaction is considered completed after the payment platform delivers the funds to the seller.
[0134] In one possible scenario, after the buyer confirms receipt of the key K2(S) and uses K2(S) to view all the data in the file package, if the buyer finds that all the data in the file package does not match the data agreed in the contract, the buyer can file a complaint with the seller. At this time, since K2(S) and the hash value corresponding to the data have been uploaded to the chain, it is easy to prove whether the buyer's complaint is true by verifying the hash value. For example, the hash value of all the data obtained by the buyer can be compared with the hash value of the data uploaded to the blockchain by the seller. If the comparison result is inconsistent, it can be proved that the data received by the buyer is not the data agreed to be sold by the seller in the contract. The seller does not need to provide any proof in this process, which saves the process. The above verification process does not require manual operation, is dispute-free, and only requires verification of the hash value. The data will not be viewed by a third party other than the seller and the buyer, preventing data leakage.
[0135] Among them, the buyer can verify by himself whether the hash value corresponding to the received data is consistent with the hash value of the data published on the chain by the seller before the transaction, so as to confirm whether all the data in the file package is consistent with the data agreed in the contract. The buyer can also send the hash value corresponding to the received data to the payment platform or data trading platform, or other third-party platform, and entrust the payment platform or data trading platform or other third-party platform to verify whether the hash value is consistent with the hash value corresponding to the data published on the chain by the seller before the transaction. This application does not impose any restrictions on this.
[0136] In one possible scenario, if a dispute occurs between the buyer and the seller, through the embodiment of this application, the data trading platform can identify the cheating party. If a dispute occurs, the data trading platform can also upload information on the chain to declare the identity information of the cheating party and the cheating method. The punishment record of the cheating party can also be uploaded to the chain, and this application does not limit this. In the above process, only the buyer and the seller may obtain the complete data D, and the third-party data trading platform and payment platform cannot view the data, thereby preventing data leakage.
[0137] Figure 5 The flowchart of the data processing method according to an embodiment of the present application is shown. The method can be executed by the data trading platform and the payment platform mentioned above. For example, steps S503, S601, and S602 below can be executed by the data trading platform, and steps S501 and S502 can be executed by the payment platform. Figure 5 As shown, the method includes:
[0138] Step S501, receiving a contract confirmed by a first user and a second user, wherein the contract is used to confirm the transaction content between the first user and the second user, and the transaction content includes the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, and the file includes a first key, second data, and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data;
[0139] Step S502, upon receiving the payment sent by the second user that is consistent with the contract, informing the first user to send a second key;
[0140] Step S503: Publishing the second key sent by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0141] According to an embodiment of the present application, by receiving a contract confirmed by a first user and a second user, after confirming the contract, the first user sends a file package to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data (second data) in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user regretting after purchase and saving resources for transmitting data. By notifying the first user to send the second key upon receiving the payment sent by the second user that is consistent with the contract, and publishing the second key sent by the first user to the blockchain, the second key can be prevented from being tampered with, and the platform keeps the payment, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale, and abuse.
[0142] Among them, the first user can be the seller of data, and the second user can be the buyer of data. The way for the first user and the second user to confirm the contract can be, for example, the first user and the second user sign the contract with their private keys respectively, and this application does not limit this. The transaction content can also include a data description of the first data (equivalent to the transaction data), and this application does not limit this. The blockchain can be a blockchain built by a platform (such as the data trading platform mentioned above), or a blockchain outside the platform, and this application does not limit this. The first key cannot be derived from the second key, and the second key cannot be derived from the first key. The second user can decrypt the third data by combining the second key published by the blockchain with the first key, and then obtain the purchased first data based on the second data and the third data.
[0143] The first data may be D, the first key may be, for example, K1(S), the second data may be sample data Sm(D), the second key may be, for example, K2(S), and the third data may be other data except the sample data. The third data encrypted according to the first key and the second key can be An example of step S502 can be found in Figure 4 For the relevant contents of step S301, an example of step S503 can be found in Figure 4 The relevant content in step S302.
[0144] In a possible implementation, the second key sent by the first user is an encrypted second key, and publishing the second key sent by the first user to the blockchain includes: publishing the encrypted second key sent by the first user to the blockchain.
[0145] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0146] The second key may be encrypted, for example, by using the shared key K(SB) mentioned above to encrypt the second key. The second key may also be encrypted in other ways, which is not limited in this application.
[0147] In one possible implementation, when receiving the payment sent by the second user that is consistent with the contract, the method also includes: publishing the transaction information sent by the first user to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
[0148] According to the embodiment of the present application, by publishing the transaction information sent by the first user to the blockchain when receiving the payment sent by the second user that is consistent with the contract, the transaction process can be made credible and traceable. When the first user and the second user encounter a dispute, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0149] The identity information of the second user may include the qualification information of the second user. The transaction information may also include other information besides the identity information of the second user, the hash value corresponding to the identity information, the hash value corresponding to the contract, and the hash value corresponding to the file package, which is not limited in this application.
[0150] In a possible implementation, the method further includes: after publishing the second key sent by the first user to the blockchain, upon receiving confirmation information from the second user or when no confirmation information from the second user is received within a predetermined time, sending the payment to the first user.
[0151] According to an embodiment of the present application, after publishing the second key sent by the first user to the blockchain, the money is sent to the first user when the confirmation information of the second user is received or the confirmation information of the second user is not received within a predetermined time. It can be achieved that the first user can ensure receipt of the money after publishing the second key to the blockchain, avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0152] The second user's confirmation information may be information indicating that the second user has confirmed receipt of the second key. The scheduled time may be pre-set by the platform, or may be confirmed by the first user and the second user in the contract, and this application does not limit this.
[0153] Figure 6 FIG. 1 is a flow chart showing a data processing method according to an embodiment of the present application. Figure 6 As shown, the method also includes:
[0154] Step S601, before receiving the contract confirmed by the first user and the second user, receiving the hash value of the first data sent by the first user, the hash value being signed by the first user;
[0155] Step S602: Sign the hash value sent by the first user and publish it to the blockchain.
[0156] According to the embodiment of the present application, by receiving the hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, and signing the hash value sent by the first user and publishing it to the blockchain, the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data and make the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0157] Among them, the method for the first user to sign may be to use the first user's private key to sign, and the method for signing the hash value sent by the first user may be that the platform signs using the platform private key.
[0158] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0159] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0160] Among them, the present application does not limit the method for determining the third key based on the first key and the second key. The third key can be K(S) mentioned above, the first key can be K1(S) mentioned above, and the second key can be K2(S) mentioned above. The third key cannot be determined only by the first key or the second key.
[0161] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0162] According to the embodiments of the present application, data can be viewed only by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0163] Among them, the first user and the second user can jointly declare by signing with their respective private keys. The first user and the second user can also sign the hash value corresponding to the fourth key with their respective private keys. This application does not impose any restrictions on this.
[0164] The fourth key may be a shared key K(SB). An example of the above process may be found in Figure 3 Step S203.
[0165] In one possible implementation, the method further includes: using the platform's private key to sign the received or forwarded data or the hash value of the data, where the received or forwarded data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0166] According to the embodiments of the present application, by using the platform's private key to sign the received or forwarded data or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the platform or the hash value of the data can be used for evidence collection, saving relevant resources.
[0167] Among them, this application does not limit the time when the platform signs data or the hash value of the data, and this application does not limit the type of data received or forwarded. The data received or forwarded may also be data other than contracts, file packages, funds, transaction information, first data, second keys, and fourth keys.
[0168] Figure 7 The flowchart of the data processing method according to an embodiment of the present application is shown. The method can be implemented through a terminal device, which can provide a client operated by a first user to achieve interaction with the first user. The terminal device can also establish a communication connection with the data transaction platform and the payment platform mentioned above. The terminal device can include a smart phone, a netbook, a tablet computer, a laptop computer, a wearable electronic device (such as a smart bracelet, a smart watch, etc.), a TV, a virtual reality device, etc. Figure 7 As shown, the method includes:
[0169] Step S701, in response to a contract confirmed by a first user and a second user, sending a file package to the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data;
[0170] Step S702: When it is determined that the first platform has received the payment sent by the second user that is consistent with the contract, the second key is sent to the second platform, wherein the second key is used to be published to the blockchain, and the third data can be decrypted based on the first key and the second key.
[0171] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package is sent to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data. By sending the second key to the second platform when it is determined that the first platform has received the amount sent by the second user in accordance with the contract, the second key is used to be published to the blockchain, which can prevent the second key from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0172] The blockchain may be a blockchain constructed by the second platform, or a blockchain outside the second platform, and this application does not limit this. The first platform may be a payment platform, and the second platform may be a data trading platform. This application does not limit the way in which the first user determines that the first platform has received the payment sent by the second user that is consistent with the contract, for example, it may be by receiving relevant notifications from the first platform.
[0173] An example of step S701 can be found in Figure 3 For examples of steps S204 and S702, see Figure 4 Step S302.
[0174] In a possible implementation manner, the first platform and the second platform are the same platform.
[0175] In one possible implementation, sending the second key to the second platform includes: sending the encrypted second key to the second platform, wherein the encrypted second key is used to be published to the blockchain.
[0176] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0177] In one possible implementation, when it is determined that the first platform has received the amount sent by the second user that is consistent with the contract, the method further includes: sending transaction information to the second platform, the transaction information being used to be published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
[0178] According to the embodiment of the present application, by sending transaction information to the second platform, the transaction information is used to be published on the blockchain, so that the transaction process can be trusted and traceable. When a dispute arises between the first user and the second user, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0179] In a possible implementation, the method further includes: before the first user and the second user confirm the contract, sending a hash value of the first data to the second platform, the hash value being signed by the first user, and the hash value being used to be published to the blockchain.
[0180] According to the embodiment of the present application, before the first user and the second user confirm the contract, the hash value of the first data is sent to the second platform, the hash value is signed by the first user, and the hash value is used to publish to the blockchain, so that the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data, making the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0181] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0182] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0183] In a possible implementation, the file package is encrypted with a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0184] According to the embodiments of the present application, data can be viewed only by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0185] An example of the above process can be found in Figure 3 The relevant content of step S203 in .
[0186] In one possible implementation, the method also includes: using the private key of the first user to sign the data received or sent by the first user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0187] According to the embodiments of the present application, by using the private key of the first user to sign the data received or sent by the first user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the first user or the hash value of the data can be used for evidence collection, making it impossible for the second user to deny, thereby saving relevant resources.
[0188] Among them, this application does not limit the time when the first user signs the data or the hash value of the data, and this application does not limit the type of data received or sent by the first user. The data received or sent may also be data other than contracts, file packages, funds, transaction information, first data, second keys, and fourth keys.
[0189] In a possible implementation, before sending the second key to the second platform, when it is determined that the second user terminates the transaction, transaction information is sent to the first platform, and the transaction information is used to be published to the blockchain.
[0190] According to the embodiments of the present application, the transaction content of the relevant data can be traced, and the second user can be prevented from leaking the sample data he already owns, making the transaction credible.
[0191] Among them, the second user terminating the transaction may be that the second user refuses to pay the money, or the second user informs the first user to terminate the transaction. This application does not limit the method for determining that the second user terminates the transaction, and this application does not limit the content of the transaction information, which can be any information related to the transaction before the second user terminates the transaction.
[0192] In a possible implementation, a data processing method is proposed. The method can be implemented by a terminal device. The terminal device can provide a client operated by a second user to achieve interaction with the second user. The terminal device can also establish a communication connection with the data trading platform and the payment platform mentioned above. The terminal device may include a smart phone, a netbook, a tablet computer, a laptop computer, a wearable electronic device (such as a smart bracelet, a smart watch, etc.), a TV, a virtual reality device, etc. The method includes: in response to a contract confirmed by a first user and a second user, receiving a file package sent by the first user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, a second data and a third data encrypted according to the first key and the second key, the first data includes the second data and the third data; sending the amount consistent with the contract to the first platform; obtaining the second key, the second key is published by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0193] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package sent by the first user is received, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data, and obtaining the second key by sending the amount consistent with the contract to the first platform, and the second key is published by the first user to the blockchain, so that the second key can be prevented from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable, and at the same time, preventing persons other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0194] In a possible implementation, obtaining the second key includes: obtaining an encrypted second key, where the encrypted second key is published by the first user to the blockchain.
[0195] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0196] In a possible implementation, the method further includes: after obtaining the second key, sending a confirmation message to the first platform, wherein the first platform sends the amount to the first user after receiving the confirmation message.
[0197] According to an embodiment of the present application, after obtaining the second key, a confirmation message is sent to the first platform, wherein the first platform sends the amount to the first user after receiving the confirmation message. This ensures that the first user receives the amount after publishing the second key to the blockchain, thereby avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0198] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0199] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0200] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0201] According to the embodiments of the present application, it can be achieved that data can only be viewed by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0202] In one possible implementation, the method also includes: using the private key of the second user to sign the data received or sent by the second user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0203] According to an embodiment of the present application, by using the private key of the second user to sign the data received or sent by the second user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the second user or the hash value of the data can be used for evidence collection, making it impossible for the first user to deny, thereby saving relevant resources.
[0204] Among them, this application does not limit the time when the second user signs the data or the hash value of the data, and this application does not limit the type of data received or sent by the second user. The data received or sent may also be data other than contracts, file packages, funds, transaction information, first data, second keys, and fourth keys.
[0205] Figure 8 FIG. 2 shows a structural diagram of a data processing device according to an embodiment of the present application. Figure 8 As shown, the device comprises:
[0206] A first receiving module 801 is used to receive a contract confirmed by a first user and a second user, wherein the contract is used to confirm the transaction content between the first user and the second user, and the transaction content includes the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, wherein the file includes a first key, second data, and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data;
[0207] Notification module 802, configured to notify the first user to send a second key upon receiving the payment sent by the second user that is consistent with the contract;
[0208] The first publishing module 803 is used to publish the second key sent by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0209] According to an embodiment of the present application, by receiving a contract confirmed by a first user and a second user, after confirming the contract, the first user sends a file package to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data (second data) in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user regretting after purchase and saving resources for transmitting data. By notifying the first user to send the second key upon receiving the payment sent by the second user that is consistent with the contract, and publishing the second key sent by the first user to the blockchain, the second key can be prevented from being tampered with, and the platform keeps the payment, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale, and abuse.
[0210] In a possible implementation, the second key sent by the first user is an encrypted second key, and the first publishing module includes: publishing the encrypted second key sent by the first user to the blockchain.
[0211] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0212] In a possible implementation, when receiving the payment sent by the second user that is consistent with the contract, the device also includes: a second publishing module, used to publish the transaction information sent by the first user to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, the hash value corresponding to the identity information, the hash value corresponding to the contract, and the hash value corresponding to the file package.
[0213] According to the embodiment of the present application, by publishing the transaction information sent by the first user to the blockchain when receiving the payment sent by the second user that is consistent with the contract, the transaction process can be made credible and traceable. When the first user and the second user encounter a dispute, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0214] In a possible implementation, the device further includes: a third sending module, configured to send the payment to the first user after publishing the second key sent by the first user to the blockchain and upon receiving confirmation information from the second user or failing to receive confirmation information from the second user within a predetermined time.
[0215] According to an embodiment of the present application, after publishing the second key sent by the first user to the blockchain, the money is sent to the first user when the confirmation information of the second user is received or the confirmation information of the second user is not received within a predetermined time. It can be achieved that the first user can ensure receipt of the money after publishing the second key to the blockchain, avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0216] In a possible implementation, the device also includes: a second receiving module, used to receive a hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, and the hash value is signed by the first user; a third publishing module, used to sign the hash value sent by the first user and publish it to the blockchain.
[0217] According to the embodiment of the present application, by receiving the hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, and signing the hash value sent by the first user and publishing it to the blockchain, the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data and make the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0218] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0219] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0220] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0221] According to the embodiments of the present application, it can be achieved that data can only be viewed by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0222] In one possible implementation, the device also includes: a first signature module, used to use the platform's private key to sign the received or forwarded data or the hash value of the data, the received or forwarded data including one or more of contracts, file packages, funds, transaction information, first data, second keys, and fourth keys.
[0223] According to the embodiments of the present application, by using the platform's private key to sign the received or forwarded data or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the platform or the hash value of the data can be used for evidence collection, saving relevant resources.
[0224] Fig. 9 FIG. 4 shows a structural diagram of a data processing device according to an embodiment of the present application. Fig. 9 As shown, the device comprises:
[0225] A first sending module 901 is used to send a file package to the second user in response to a contract confirmed by the first user and the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data;
[0226] The second sending module 902 is used to send the second key to the second platform when it is determined that the first platform has received the amount sent by the second user that is consistent with the contract, wherein the second key is used to be published to the blockchain, and the third data can be decrypted based on the first key and the second key.
[0227] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package is sent to the second user, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data. By sending the second key to the second platform when it is determined that the first platform has received the amount sent by the second user in accordance with the contract, the second key is used to be published to the blockchain, which can prevent the second key from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable. At the same time, it can prevent people other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0228] In a possible implementation manner, the first platform and the second platform are the same platform.
[0229] In a possible implementation, the second sending module includes: sending the encrypted second key to the second platform, wherein the encrypted second key is used to be published to the blockchain.
[0230] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0231] In one possible implementation, when it is determined that the first platform has received the amount sent by the second user that is consistent with the contract, the device also includes: a fourth sending module, used to send transaction information to the second platform, and the transaction information is used to be published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, the hash value corresponding to the identity information, the hash value corresponding to the contract, and the hash value corresponding to the file package.
[0232] According to the embodiment of the present application, by sending transaction information to the second platform, the transaction information is used to be published on the blockchain, so that the transaction process can be trusted and traceable. When a dispute arises between the first user and the second user, the dispute can be resolved without dispute. In the event of resale or leakage of data, the transaction content of the relevant data can also be traced, saving relevant resources.
[0233] In a possible implementation, the device also includes: a fifth sending module, which sends a hash value of the first data to the second platform before the first user and the second user confirm the contract, wherein the hash value is signed by the first user and is used to be published to the blockchain.
[0234] According to the embodiment of the present application, before the first user and the second user confirm the contract, the hash value of the first data is sent to the second platform, the hash value is signed by the first user, and the hash value is used to publish to the blockchain, so that the first user can declare the rights to the first data he owns, so that the first user can prove that he owns the data, making the transaction credible. In addition, the second user can also verify whether the first data he obtains is consistent with the first data promised to sell by the first user based on the hash value of the first data.
[0235] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0236] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0237] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0238] According to the embodiments of the present application, data can be viewed only by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0239] In one possible implementation, the device also includes: a second signature module, used to use the private key of the first user to sign the data received or sent by the first user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
[0240] According to the embodiments of the present application, by using the private key of the first user to sign the data received or sent by the first user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the first user or the hash value of the data can be used for evidence collection, making it impossible for the second user to deny, thereby saving relevant resources.
[0241] In a possible implementation, before sending the second key to the second platform, when it is determined that the second user terminates the transaction, transaction information is sent to the first platform, and the transaction information is used to be published to the blockchain.
[0242] According to the embodiment of the present application, the transaction content of the relevant data can be traceable, and the second user can be prevented from leaking the sample data already owned, so that the transaction is credible. According to another aspect of the present disclosure, a data processing device is provided, which includes: a third receiving module, which is used to respond to the contract confirmed by the first user and the second user, and receive the file package sent by the first user, wherein the contract is used to confirm the transaction content of the first user and the second user, and the transaction content includes the price of the first data traded by the first user and the second user, and the file includes a first key, a second data, and a third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; a sixth sending module, which is used to send the amount consistent with the contract to the first platform; an acquisition module, which is used to obtain the second key, and the second key is published by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key.
[0243] According to an embodiment of the present application, in response to a contract confirmed by a first user and a second user, a file package sent by the first user is received, the file including a first key, second data and third data encrypted according to the first key and the second key, the first data including the second data and the third data, so that the second user can view part of the sample data in advance before purchasing to decide whether to purchase, thereby reducing the possibility of the second user changing his mind after purchase and saving resources for transmitting data, and obtaining the second key by sending the amount consistent with the contract to the first platform, and the second key is published by the first user to the blockchain, so that the second key can be prevented from being tampered with, and the platform keeps the amount, making the data transaction process credible and traceable, and at the same time, preventing persons other than the first user and the second user from obtaining the data, further reducing the possibility of data leakage, resale and abuse.
[0244] In a possible implementation, the acquisition module includes: acquiring an encrypted second key, where the encrypted second key is published by the first user to the blockchain.
[0245] According to the embodiment of the present application, flexible chain-up of the second key can be achieved, the buyer can flexibly obtain the second key, encrypt the second key, and prevent others from obtaining the second key.
[0246] In a possible implementation, the device further includes: a seventh sending module, configured to send a confirmation message to the first platform after acquiring the second key, wherein the first platform sends the amount to the first user after receiving the confirmation message.
[0247] According to an embodiment of the present application, after obtaining the second key, a confirmation message is sent to the first platform, wherein the first platform sends the amount to the first user after receiving the confirmation message. This ensures that the first user receives the amount after publishing the second key to the blockchain, thereby avoiding the situation where the second user does not pay after obtaining all the data. At the same time, it also prevents the second user from leaking or reselling the data.
[0248] In a possible implementation, the third data in the file package is encrypted by a third key, and the third key is determined based on the first key and the second key; or, the third data in the file package is encrypted by the first key and then encrypted again by the second key; or, the third data in the file package is encrypted by the second key and then encrypted again by the first key.
[0249] According to the embodiments of the present application, the second user can view sample data in advance to prevent the second user from regretting the purchase, and the second user can only obtain third data after paying the money, thereby preventing data leakage and making the transaction credible.
[0250] In a possible implementation, the file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
[0251] According to the embodiments of the present application, data can be viewed only by the first user and the second user, thus preventing data leakage and making the transaction credible.
[0252] In one possible implementation, the device also includes: a third signature module, used to use the private key of the second user to sign the data received or sent by the second user or the hash value of the data, where the received or sent data includes one or more of a contract, a file package, a payment, a transaction information, the first data, the second key, and the fourth key.
[0253] According to an embodiment of the present application, by using the private key of the second user to sign the data received or sent by the second user or the hash value of the data, the transaction process can be traceable and trustworthy. When a dispute occurs between the first user and the second user later, the data signed by the second user or the hash value of the data can be used for evidence collection, making it impossible for the first user to deny, thereby saving relevant resources.
[0254] In a possible implementation, a data processing device is provided, including: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the above method.
[0255] In a possible implementation, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.
[0256] Fig.10 1 is a block diagram of a data processing device 1900 according to an exemplary embodiment. For example, the device 1900 may be provided as a server. Fig.10 , the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.
[0257] The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input / output (I / O) interface 1958. The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, MacOS X™, Unix™, Linux™, FreeBSD™, or the like.
[0258] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions, which can be executed by the processing component 1922 of the device 1900 to perform the above method.
[0259] The present disclosure may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.
[0260] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0261] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0262] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0263] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0264] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0265] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0266] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
[0267] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A data processing method, characterized in that: The method comprises: receiving a contract confirmed by a first user and a second user, the contract being used to confirm the transaction content between the first user and the second user, the transaction content including the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, the file including a first key, second data, and third data encrypted according to the first key and the second key, the first data including the second data and the third data; Upon receiving the payment sent by the second user that is consistent with the contract, informing the first user to send the second key; The second key sent by the first user is published to the blockchain, wherein the third data can be decrypted according to the first key and the second key, the first key cannot be derived from the second key, the second key cannot be derived from the first key, and the third key cannot be determined only by the first key or the second key; The method further comprises: Before receiving the contract confirmed by the first user and the second user, receiving a hash value of the first data sent by the first user, wherein the hash value is signed by the first user; After signing the hash value sent by the first user, it is published to the blockchain.
2. The method according to claim 1, characterized in that: In case of receiving the payment sent by the second user and in accordance with the contract, the method further includes: The transaction information sent by the first user is published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: After the second key sent by the first user is published to the blockchain, the payment is sent to the first user when confirmation information from the second user is received or when confirmation information from the second user is not received within a predetermined time.
4. The method according to claim 1, characterized in that The third data in the file package is encrypted by a third key, where the third key is determined based on the first key and the second key, or, The third data in the file package is encrypted according to the first key and then encrypted again according to the second key, or, The third data in the file package is encrypted according to the second key and then encrypted again according to the first key.
5. The method according to claim 1, characterized in that: The file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
6. The method according to claim 1, characterized in that The method further comprises: The platform's private key is used to sign the received or forwarded data or the hash value of the data. The received or forwarded data includes one or more of a contract, a file package, a payment, a transaction information, a first data, a second key, and a fourth key.
7. The method according to claim 1, characterized in that The second key sent by the first user is an encrypted second key, and publishing the second key sent by the first user to the blockchain includes: publishing the encrypted second key sent by the first user to the blockchain.
8. A data processing method, characterized in that: The method comprises: In response to the contract confirmed by the first user and the second user, sending the file package to the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes the first key, the second data and the third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; When it is determined that the first platform has received the payment sent by the second user that is consistent with the contract, the second key is sent to the second platform, wherein the second key is used to be published to the blockchain, the third data can be decrypted according to the first key and the second key, the first key cannot be derived from the second key, the second key cannot be derived from the first key, and the third key cannot be determined only by the first key or the second key; The method further comprises: Before the first user and the second user confirm the contract, a hash value of the first data is sent to the second platform, the hash value is signed by the first user, and the hash value is used to be published to the blockchain.
9. The method according to claim 8, characterized in that In the case where it is determined that the first platform has received the payment sent by the second user that is consistent with the contract, the method further includes: Send transaction information to the second platform, where the transaction information is used to be published to the blockchain, wherein the transaction information includes: one or more of the identity information of the second user, a hash value corresponding to the identity information, a hash value corresponding to the contract, and a hash value corresponding to the file package.
10. The method according to claim 8, characterized in that The third data in the file package is encrypted by a third key, where the third key is determined based on the first key and the second key, or, The third data in the file package is encrypted according to the first key and then encrypted again according to the second key, or, The third data in the file package is encrypted according to the second key and then encrypted again according to the first key.
11. The method according to claim 8, characterized in that The file package is encrypted by a fourth key, where the fourth key is a key jointly declared by the first user and the second user to be used only for transactions corresponding to the contract.
12. The method according to claim 8, characterized in that The method further comprises: The data received or sent by the first user or the hash value of the data is signed using the private key of the first user, where the data received or sent includes one or more of a contract, a file package, a payment, a transaction information, the first data, the second key, and the fourth key.
13. The method according to claim 8, characterized in that Before sending the second key to the second platform, when it is determined that the second user terminates the transaction, transaction information is sent to the first platform, and the transaction information is used to be published to the blockchain.
14. The method according to claim 8, characterized in that Sending the second key to the second platform includes: sending the encrypted second key to the second platform, wherein the encrypted second key is used to be published to the blockchain.
15. The method according to claim 8, characterized in that The first platform and the second platform are the same platform.
16. A data processing device, characterized in that: The device comprises: A first receiving module is used to receive a contract confirmed by a first user and a second user, wherein the contract is used to confirm the transaction content between the first user and the second user, and the transaction content includes the price of the first data traded by the first user and the second user, wherein after confirming the contract, the first user sends a file package to the second user, wherein the file includes a first key, second data, and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; a notification module, configured to notify the first user to send a second key upon receiving the payment sent by the second user that is consistent with the contract; A first publishing module, configured to publish the second key sent by the first user to the blockchain, wherein the third data can be decrypted according to the first key and the second key, the first key cannot be derived from the second key, the second key cannot be derived from the first key, and the third key cannot be determined only by the first key or the second key; The device also includes: A second receiving module, configured to receive a hash value of the first data sent by the first user before receiving the contract confirmed by the first user and the second user, wherein the hash value is signed by the first user; The third publishing module is used to sign the hash value sent by the first user and publish it to the blockchain.
17. A data processing device, characterized in that: The device comprises: A first sending module, configured to send a file package to the second user in response to a contract confirmed by the first user and the second user, wherein the contract is used to confirm the transaction content between the first user and the second user, the transaction content includes the price of the first data traded by the first user and the second user, the file includes a first key, second data and third data encrypted according to the first key and the second key, and the first data includes the second data and the third data; a second sending module, configured to send a second key to the second platform when it is determined that the first platform has received the payment sent by the second user in accordance with the contract, wherein the second key is used to be published to the blockchain, the third data can be decrypted according to the first key and the second key, the first key cannot be derived from the second key, the second key cannot be derived from the first key, and the third key cannot be determined only by the first key or the second key; The device also includes: The fifth sending module is used to send the hash value of the first data to the second platform before the first user and the second user confirm the contract, the hash value is signed by the first user, and the hash value is used to be published to the blockchain.
18. A data processing device, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to implement the method according to any one of claims 1-7, or implement the method according to any one of claims 8-15 when executing the instructions.
19. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method described in any one of claims 1 to 7 is implemented, or the method described in any one of claims 8 to 15 is implemented.
Citation Information
Patent Citations
Decentralized data transaction method and system based on block chain
CN109462588A
Data transaction method and system based on block chain and asymmetric encryption
CN110245948A