WO2024094075A1 - 基于区块链的数据交易方法及装置、计算设备及存储介质 - Google Patents

基于区块链的数据交易方法及装置、计算设备及存储介质 Download PDF

Info

Publication number
WO2024094075A1
WO2024094075A1 PCT/CN2023/129122 CN2023129122W WO2024094075A1 WO 2024094075 A1 WO2024094075 A1 WO 2024094075A1 CN 2023129122 W CN2023129122 W CN 2023129122W WO 2024094075 A1 WO2024094075 A1 WO 2024094075A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
blockchain
data processing
demander
processing program
Prior art date
Application number
PCT/CN2023/129122
Other languages
English (en)
French (fr)
Inventor
张晨
杜雪涛
赵刚
温暖
常潇
李文琦
杜刚
张高山
常嘉岳
Original Assignee
中国移动通信集团设计院有限公司
中国移动通信集团有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国移动通信集团设计院有限公司, 中国移动通信集团有限公司 filed Critical 中国移动通信集团设计院有限公司
Publication of WO2024094075A1 publication Critical patent/WO2024094075A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the field of data security technology, and specifically to a data transaction method and apparatus based on blockchain, a computing device, and a computer storage medium.
  • the existing data transaction method based on blockchain technology mainly uses the tamper-proof characteristics of blockchain technology to ensure the legitimacy and security of data transactions.
  • the parties involved in the data transaction jointly join the transaction blockchain, and then upload the data, summary and other contents to be traded to the blockchain through different encryption methods.
  • the data decryption method or the data that can only be decrypted by the data demander will be obtained by the data demander, and then decrypted and used.
  • the present application is proposed to provide a blockchain-based data transaction method and apparatus, computing device and computer storage medium that overcome the problems of transaction data leakage and abuse in the above data transactions.
  • a data transaction method based on blockchain comprising:
  • the first data is processed by the data processing program to obtain a data processing result, and the data processing result is uploaded to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the second data includes at least one of the following:
  • the method further includes:
  • the data supervisor reviews the second data, so that the data demander can download the reviewed second data
  • the method further includes:
  • the method further includes:
  • the data processing results are reviewed by the data supervisor.
  • the method before downloading the data processing program from the blockchain, the method further includes:
  • the data processing program adds a publishing permission via the data supervisor before being uploaded to the blockchain by the data demander;
  • the method further includes:
  • the method further includes: adding a publishing permission to the data processing result via a data supervisor.
  • the method further includes:
  • the review process includes:
  • the review is completed in an automatic or semi-automatic manner, and a complete code contract is generated after confirmation by multiple parties, including data providers, data demanders and data regulators in the blockchain.
  • the blockchain includes: an identity chain, a sample chain, and a contract chain;
  • the identity chain is used to authenticate the data providers, data demanders and data supervisors in the blockchain;
  • the sample chain is used to store the second data and the data processing program
  • the contract chain is used to perform contract transactions on the data processing program and the data processing results.
  • a data transaction device based on blockchain comprising:
  • a data uploading module used to upload second data corresponding to the first data to the blockchain, so that the data demander can download the second data; wherein the first data is original data;
  • a download module used to download a data processing program from the blockchain, wherein the data processing program is uploaded to the blockchain by the data demander;
  • a data processing module is used to process the first data using the data processing program to obtain The data processing result is obtained and the data processing result is uploaded to the blockchain so as to return the data processing result to the data demander through the blockchain.
  • a computing device comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;
  • the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the above-mentioned blockchain-based data transaction method.
  • a computer storage medium wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned blockchain-based data transaction method.
  • the second data corresponding to the first data is uploaded to the blockchain for the data demander to download the second data; wherein the first data is the original data; the data processing program is downloaded from the blockchain, and the data processing program is uploaded to the blockchain by the data demander; the first data is processed by the data processing program to obtain the data processing result, and the data processing result is uploaded to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the data provider of this application no longer uploads the first data (i.e., the original data) to the blockchain, but uploads the second data (i.e., the pseudo data and desensitized data corresponding to the original data) to the blockchain, and the data provider replaces the data demander to complete the calculation of the demand data, and returns the data processing result to the data demander.
  • the data supply and demand parties do not trade the original data, and the original data transaction is converted into a transaction between the data processing program and the data processing result, which ensures that the original data does not leave the network, effectively avoiding the risk of transaction data not being used for the agreed purpose, and avoiding the security issues of transaction data leakage and abuse.
  • FIG1 is a schematic diagram showing a flow chart of a data transaction method based on blockchain according to an embodiment of the present application
  • FIG2 shows a schematic diagram of a blockchain network according to an embodiment of the present application
  • FIG3 shows a schematic diagram of data provider participation based on blockchain in an embodiment of the present application
  • FIG4 shows a schematic diagram of data demander participation based on blockchain in an embodiment of the present application
  • FIG5 shows a schematic diagram of data supervisor participation based on blockchain in an embodiment of the present application
  • FIG6 shows a schematic diagram of data transaction steps based on blockchain in an embodiment of the present application
  • FIG7 shows a schematic diagram of the structure of a data transaction device based on blockchain according to an embodiment of the present application
  • FIG8 shows a schematic diagram of the structure of a computing device according to an embodiment of the present application.
  • the existing data transaction method based on blockchain technology mainly uses the tamper-proof characteristics of blockchain technology to ensure the legality and security of data transactions.
  • the participants in the data transaction jointly join the transaction blockchain, and then upload the data, summary and other contents to be traded to the blockchain through different encryption methods.
  • the data decryption method or the data that can only be decrypted by the data demander will be obtained by the data demander, and then decrypted and used.
  • whether the data acquirer uses the data beyond the purpose of the transaction is no longer controlled by the transaction, and there is a certain risk of data abuse.
  • the data processing method based on fully homomorphic encryption can process data without accessing the data itself, but due to the limitation of the encryption method, the data analysis speed is slow.
  • the data transaction essentially involves the target data, and there is no guarantee that the encrypted data will not be cracked.
  • the technical solutions for data transactions are all trading original data, but the encryption method of the data is slightly different during the transaction.
  • the existing blockchain-based data transaction methods have the following problems that need to be further optimized: First, the risk of data leakage still exists. Regardless of whether hash algorithms, symmetric encryption technology or asymmetric encryption technology are used, the final result is that the demander obtains a complete set of original data, but it is impossible to trace whether the original data is properly protected in the hands of the demander; second, the risk of data abuse still exists. After obtaining the target data, it is impossible to trace whether the demander processes the target data as agreed, and it cannot be guaranteed that the transaction data is used legally; third, there is the problem of lagging supervision. Although the tamper-proof nature of blockchain is used to ensure the traceability of data transactions, the rationality, compliance and legality of data transactions cannot be guaranteed. Unreasonable data transactions can only be traced after the fact, but the circulation of important transaction data cannot be prevented in advance.
  • Blockchain In this article, it refers to the consortium blockchain, which is a blockchain jointly managed by several organizations or institutions. Each of these organizations or institutions controls one or more nodes and jointly records transaction data. Only these organizations or institutions can read, write and send transactions to the data in the consortium chain.
  • Data provider the data production unit, the owner of the data.
  • the data demand unit uses data to perform various calculations to meet corresponding business needs.
  • Data Supervisor also referred to as Supervisor: The management unit of the data production unit, responsible for the data Calculate the requirements to determine their rationality, compliance, and legality.
  • Sample data desensitized data uploaded to the blockchain by the data provider (desensitization refers to the deformation of certain sensitive information through desensitization rules to achieve reliable protection of sensitive privacy data) and pseudo data.
  • Data attributes of data also known as attribute data, including nominal attributes, binary attributes, ordinal attributes, numerical attributes, discrete attributes and continuous attributes.
  • Nominal attributes The values of nominal attributes are some symbols or names of physical objects. Each value represents a certain category, code or state, so nominal attributes are also regarded as categorical attributes. These values do not have to have a meaningful order and are not quantitative.
  • Binary attribute is a nominal attribute with only two categories or states: 0 or 1, where 0 usually indicates absence and 1 indicates presence. If 0 and 1 correspond to false and true, the binary attribute is a Boolean attribute.
  • ordinal attributes There is a meaningful order or rank between the possible values of ordinal attributes, but the difference between successive values is unknown. For example, the attribute of student performance can be divided into four levels: excellent, good, medium, and poor. The beverage cups of a fast food restaurant have three possible values: large, medium, and small. However, it is unknown how much larger "large” is than "medium”.
  • Numerical attributes are measurable quantities, represented by integer or real values.
  • Discrete vs Continuous Attributes Has a finite or infinite countable number, can be represented by integers or not, if a property is not discrete, then it is continuous.
  • FIG2 shows a schematic diagram of a blockchain network of an embodiment of the present application.
  • a trusted blockchain network is composed of three parties: a data provider, a data demander, and a regulator.
  • the data provider and the data demander upload their own public keys, and the regulator, as a trust center, confirms the identity of the participants on the blockchain, increasing the credibility of the participants in the blockchain.
  • the data provider no longer uploads the original data (also referred to as the first data herein) to the blockchain, but uploads pseudo data and desensitized data (also referred to as the second data herein) to the blockchain, and uploads the data attributes of the second data to the blockchain synchronously, and multiple participants and regulators verify and verify it to ensure the true availability of the data.
  • FIG1 shows a flow diagram of a data transaction method based on a blockchain in an embodiment of the present application.
  • the execution subject of this method can be the data provider shown in Figure 2.
  • the data provider completes the calculation of the required data on behalf of the data demander, returns the data processing results to the data demander, and converts the transaction of the original data into the transaction of the data processing program and the data processing results. Specifically, as shown in Figure 1, the following steps are included:
  • Step S101 upload the second data corresponding to the first data to the blockchain to meet data needs
  • the second data is downloaded by the party; wherein the first data is the original data.
  • uploading raw data to the blockchain will not only put pressure on the storage capacity of the blockchain, but also pose the risk of data leakage. Therefore, the data provider no longer uploads the raw data to the blockchain, but instead desensitizes the raw data and uploads representative data samples. Data forgery can also be performed with reference to the original data, and pseudo data that retains the characteristics of the original data can be uploaded to the blockchain for other users on the blockchain to view. In order to maintain the integrity of the data, when uploading desensitized data and pseudo data, the data attribute information such as the scope and scale of this part of the data is also uploaded.
  • the data provider participating in the blockchain does not upload the original data, that is, the original data is not saved on the blockchain, and only the sample data, attribute data, desensitized data, and pseudo data corresponding to the original data are uploaded to the blockchain for viewing and downloading by the data demander.
  • the sample data, attribute data, desensitized data, and pseudo data corresponding to the original data are called second data.
  • the second data includes at least one of the following: sample data, attribute data, desensitized data, and pseudo data.
  • a data supervision role is added to the data transaction process or link to solve the problems of lack of credibility and difficulty in obtaining data in the data transaction process.
  • the data supervisor can be a third-party organization trusted by both parties to the transaction or an organization designated by the government. Transaction data can only be transferred to the next process if it is approved by the data supervisor.
  • the blockchain is divided into the following vertical blockchains or industry chains according to the application scenarios of data transactions: identity chain, sample chain and contract chain.
  • identity chain is used to authenticate the data provider, data demander and data regulator in the blockchain.
  • the data provider, data demander and data regulator form a trusted blockchain network, which not only clarifies the identity of the participants, but also determines the ownership of assets in the blockchain;
  • the sample chain is used to store the second data and data processing program;
  • the contract chain is used to conduct contract transactions on the data processing program and data processing results.
  • the contract chain includes the contract interaction criteria, legal provisions, business logic rules and contract terms agreed upon by both parties to the transaction, and can be executed according to the preset rules.
  • the data provider uploads the sample data to the sample chain after signing and authenticating through the identity chain, so that the data demander can download the sample data.
  • the method further includes: reviewing the second data through a supervisor.
  • the transaction parties encrypt their transaction data with public keys respectively, wherein the data demander encrypts the data processing program with the data provider's public key, and the data provider encrypts the data processing result with the data demander's public key; and the supervisor adds a release permission to the transaction data, and the transaction parties obtain the corresponding transaction data after decrypting with their own private keys.
  • Step S102 Download the data processing program from the blockchain.
  • the data processing program is provided by the data demander. Upload to blockchain.
  • the data demander participating in the blockchain consults the data demand data (i.e., the second data), he designs a data processing program based on the second data according to the business needs, uploads the data processing program to the blockchain, and then the data provider downloads the data processing program from the blockchain.
  • the data provider downloads the transaction program (i.e., the data processing program) uploaded by the data demander based on the sample data from the sample chain.
  • the method before downloading the data processing program from the blockchain, the method further includes: reviewing the data processing program by a regulator, and after the review is passed, the regulator adds a publishing permission to the data processing program.
  • the data processing program and code analysis results involved in data transactions can only be circulated after being approved by the regulator.
  • the data demander first uploads the data processing program, sample data, and sample calculation results to the blockchain, and then the regulator checks and reviews them.
  • the regulator audits the security risks of the data processing program, mainly in three parts: the code itself, input parameters, and return values for rationality, compliance, and legality. After passing the regulator's audit, the data processing program is traded to the data provider.
  • the data provider uses the data processing program to process the results of the data processing program and code analysis, in order to ensure the security and compliance of the data or program, the source code of the data processing program is completely open and the range of changes of the program parameters is strictly defined.
  • Step S103 Process the first data using a data processing program to obtain a data processing result, and upload the data processing result to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the method before uploading the data processing results to the blockchain, the method also includes: reviewing the data processing results by a regulator.
  • the data supply and demand parties do not trade original data, but use the power of blockchain to complete the calculation of the demand data on behalf of the data demander by the data provider, and return the calculation results to the data demander through the blockchain. Since the demand for original data by the data demander is converted into the demand for data processing results by the data demander, the data processing process needs to be completed by the data provider, thereby converting the data transaction into a transaction between the data processing program and the data processing results, ensuring that the original data does not leave the network, while also avoiding the security issues of transaction data leakage and abuse. At the same time, since the processed data processing results are only valid for the analysis of the demand data for this time for the data demander, and no longer have the value of further analysis and processing, the risk of transaction data not being used in accordance with the agreed purpose is effectively avoided.
  • the data provider processes the first data using a data processing program to obtain a data processing result, and uploads the data processing result to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the data provider processes the sample data or the second data in the first data using a data processing program to obtain a test data processing result, and the data processing result obtained by processing the first data is the formal data processing result.
  • the data provider downloads the transaction program uploaded by the data demander based on the sample data from the sample chain, it uploads the transaction program based on the transaction program.
  • the data provider generates a test contract through the contract chain, and then uploads the test results to the contract chain. After the test results are reviewed by the data supervisor and agreed by the data demander, a formal transaction contract is generated, and then the formal data processing results are uploaded to the blockchain for data trading.
  • a test contract is generated through the blockchain, and the test results obtained by the data processing program are uploaded to the blockchain; after the test results are reviewed by the regulator and agreed by the data demander, a formal transaction contract is generated.
  • FIG. 3 The process of data providers uploading sample data to the blockchain is shown in Figure 3.
  • data providers upload desensitized raw data, representative data samples, and pseudo data to the blockchain for other users to view.
  • the data provider downloads the data processing program audited by the data regulator, and uploads the test results through the test contract generated by the blockchain. After the test results are reviewed by the regulator and unanimously agreed by the data demander, a formal transaction contract is generated, and then the formal data processing results are uploaded to the blockchain for data trading.
  • Data demanders download sample data that can be traded, design data processing programs based on the sample data, and then upload the data processing programs to the blockchain. After review by the regulator, a test contract is generated. Then, the test results reviewed and approved by the data regulator and fed back by the data provider are downloaded. After confirmation, a formal data transaction contract is initiated, and finally the data processing results are traded through the blockchain.
  • the process of the regulator confirming the legality and compliance of the transaction is shown in Figure 5.
  • the data regulator confirms that the data processing request of the data demander is reasonable
  • the data regulator confirms the legality and compliance of the data provided by the data provider and the data processing program provided by the data demander.
  • the authenticated contract is published to the blockchain, and then the formal data processing results uploaded by the data provider are verified.
  • the code, input parameters, and return values of the data processing program involved in the data transaction also have certain security risks.
  • the regulator and the data provider need to jointly confirm the security and compliance of the program before the data processing program can be used to process the target data and trade the processing results to the data demander.
  • the results of the data processing program and code analysis can only be circulated under the premise of approval by the regulator, that is, the data demander first uploads the data processing program, the required sample data, and the sample calculation results to the blockchain, and strictly defines the range of parameter changes, and then the regulator checks and reviews.
  • the regulator audits the security risks of the data processing program, mainly auditing the rationality, compliance, and legality of the code itself, input parameters, and return values.
  • the data processing program is traded to the data provider.
  • the data provider agrees with the reasonable computing requirements of the data processing program, it uses the data processing program to process the original data and returns the calculation results to the regulator.
  • the regulator trades the calculation results to the data demander.
  • FIG. 6 shows a schematic diagram of the data transaction steps based on blockchain in an embodiment of the present application.
  • the transaction parties encrypt their transaction data with public keys respectively, and the regulatory party adds a release permission to the transaction data, further enhancing the security of the transaction data. Specifically, the following steps are included:
  • Step 1 The data demander uses the data provider's public key to encrypt the data processing program and sample results, and trades them to the regulator.
  • Step 2 The regulator adds publishing permission to the data processing program and then publishes it to the blockchain.
  • Step 3 The data provider obtains the published data processing program from the blockchain, decrypts it with its own private key, uses its own real data (first data) to process the data, and then encrypts the data processing result with the public key of the data demander, and then trades it to the regulator.
  • Step 4 The regulator adds publishing permission to the data processing results and then publishes them to the blockchain.
  • Step 5 The data demander obtains the published data processing results from the blockchain, decrypts them using his own private key, and obtains the expected data processing results, and the transaction ends.
  • the solution provided by the above embodiment of the present application is to upload the second data corresponding to the first data to the blockchain for the data demander to download the second data; wherein the first data is the original data; download the data processing program from the blockchain, and the data processing program is uploaded to the blockchain by the data demander; use the data processing program to process the first data to obtain the data processing result, and upload the data processing result to the blockchain to return the data processing result to the data demander through the blockchain.
  • the data supply and demand parties of this application do not trade original data, and convert the original data transaction into a transaction between the data processing program and the data processing result, ensuring that the original data does not leave the network, effectively avoiding the risk of transaction data not being used for the agreed purpose, and avoiding the security issues of transaction data leakage and abuse.
  • the credibility and reliability of the transaction data are further enhanced, the legality and compliance of the data transaction are guaranteed, and the credibility of the data transaction is increased. Since the original data is not retained in the blockchain, the risk of insufficient blockchain capacity is avoided, and the possibility of data leakage is also reduced.
  • the security of the transaction data is further enhanced.
  • the data transaction device based on blockchain 700 includes: a data upload module 710, a download module 720 and a data processing module 730.
  • the data uploading module 710 is used to upload the second data corresponding to the first data to the blockchain, so that the data demander can download the second data; wherein the first data is the original data;
  • the download module 720 is used to download the data processing program from the blockchain, and the data processing program is uploaded to the blockchain by the data demander;
  • the data processing module 730 is used to process the first data using the data processing program to obtain a data processing result, upload the data processing result to the blockchain, and return the data processing result to the data demander through the blockchain.
  • the second data includes at least one of the following:
  • the second data is reviewed by the supervisor;
  • the download module 720 reviews the data processing program through a supervisor before downloading the data processing program from the blockchain;
  • the data processing module 730 reviews the data processing results through a supervisor before uploading the data processing results to the blockchain.
  • the data processing program is added with a publishing permission by a regulator before being uploaded to the blockchain by the data demander;
  • the data processing module 730 performs public key encryption on the data processing result before uploading the data processing result to the blockchain; after uploading the data processing result to the blockchain, the regulator adds a publishing permission to the data processing result.
  • the method further includes:
  • the review process includes:
  • the review is completed in an automatic or semi-automatic manner, and a complete code contract is generated after confirmation by multiple parties, including data providers, data demanders and data regulators in the blockchain.
  • the blockchain includes: an identity chain, a sample chain, and a contract chain;
  • the identity chain is used to authenticate the data providers, data demanders and data supervisors in the blockchain;
  • the sample chain is used to store the second data and the data processing program
  • the contract chain is used to perform contract transactions on the data processing program and the data processing results.
  • the solution provided by the above embodiment of the present application is to upload the second data corresponding to the first data to the blockchain, so that the data demander can download the second data; wherein the first data is the original data; download the data processing program from the blockchain, and the data processing program is uploaded to the blockchain by the data demander; use the data processing program to process the first data to obtain the data processing result, and upload the data processing result to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the data supply and demand parties of the present application do not trade original data, and convert the original data transaction into a transaction between the data processing program and the data processing result, ensuring that the original data does not leave the network, effectively avoiding the risk of transaction data not being used for the agreed purpose, and avoiding Security issues of transaction data leakage and abuse.
  • the credibility and reliability of transaction data are further enhanced, the legality and compliance of data transactions are guaranteed, and the credibility of data transactions is increased. Since the original data is not retained in the blockchain, the risk of insufficient blockchain capacity is avoided, and the possibility of data leakage is also reduced.
  • the security of transaction data is further enhanced by encrypting the transaction data with public keys and adding publishing permissions to the transaction data through regulators.
  • FIG8 shows a schematic diagram of the structure of an embodiment of a computing device of the present application.
  • the specific embodiment of the present application does not limit the specific implementation of the computing device.
  • the computing device may include: a processor (processor) 802, a communication interface (Communications Interface) 804, a memory (memory) 806, and a communication bus 808.
  • processor processor
  • Communication interface Communication Interface
  • memory memory
  • the processor 802, the communication interface 804, and the memory 806 communicate with each other via a communication bus 808.
  • the communication interface 804 is used to communicate with other devices such as a client or other server network elements.
  • the processor 802 is used to execute a program 810, which can specifically execute the relevant steps in the above-mentioned blockchain-based data transaction method embodiment.
  • the program 810 may include program codes, which include computer operation instructions.
  • the processor 802 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
  • the one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or may be processors of different types, such as one or more CPUs and one or more ASICs.
  • the memory 806 is used to store the program 810.
  • the memory 806 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage.
  • the program 810 may be specifically configured to enable the processor 802 to perform the following operations:
  • the first data is processed by the data processing program to obtain a data processing result, and the data processing result is uploaded to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the second data includes at least one of the following:
  • the program 810 enables the processor to perform the following operations:
  • the program 810 enables the processor to perform the following operations:
  • the data processing program is given a publishing permission by the regulator before being uploaded to the blockchain by the data demander;
  • a publishing permission is added to the data processing result by a supervisor.
  • the program 810 enables the processor to perform the following operations:
  • the review process includes:
  • the review is completed in an automatic or semi-automatic manner, and a complete code contract is generated after confirmation by multiple parties, including data providers, data demanders and data regulators in the blockchain.
  • the blockchain includes: an identity chain, a sample chain, and a contract chain;
  • the identity chain is used to authenticate the data providers, data demanders and data supervisors in the blockchain;
  • the sample chain is used to store the second data and the data processing program
  • the contract chain is used to perform contract transactions on the data processing program and the data processing results.
  • the solution provided by the above-mentioned embodiment of the present application uploads the second data corresponding to the first data to the blockchain, so that the data demander can download the second data; wherein the first data is the original data; downloads the data processing program from the blockchain, and the data processing program is uploaded to the blockchain by the data demander; uses the data processing program to process the first data to obtain the data processing result, and uploads the data processing result to the blockchain, so as to return the data processing result to the data demander through the blockchain.
  • the data supply and demand parties of the present application do not trade original data, and convert the original data transaction into a transaction between the data processing program and the data processing result, ensuring that the original data does not leave the network, effectively avoiding the risk of transaction data not being used for the agreed purpose, and avoiding the security issues of transaction data leakage and abuse.
  • By adding the role of data regulator it further enhances The credibility and reliability of transaction data ensure the legality and compliance of data transactions and increase the credibility of data transactions. Since the original data is not retained in the blockchain, the risk of insufficient blockchain capacity is avoided and the possibility of data leakage is reduced.
  • the security of transaction data is further enhanced by encrypting the transaction data with public keys and adding publishing permissions to the transaction data through regulators.
  • An embodiment of the present application provides a non-volatile computer storage medium, wherein the computer storage medium stores at least one executable instruction, and the computer executable instruction can execute the blockchain-based data transaction method in any of the above method embodiments.
  • modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments.
  • the modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and/or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
  • the various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components according to the embodiments of the present application.
  • DSP digital signal processor
  • the application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing a part or all of the methods described herein.
  • Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于区块链的数据交易方法及装置、计算设备及计算机存储介质,其中基于区块链的数据交易方法包括:将与第一数据对应的第二数据上传至区块链,以供数据需求方下载第二数据;其中,第一数据为原始数据;从区块链中下载数据处理程序,数据处理程序由数据需求方上传至区块链;利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。本申请通过数据提供方代替数据需求方完成对需求数据的计算,将数据处理结果返回给数据需求方,将数据交易转化为数据处理程序与数据处理结果的交易,确保了原始数据不出网,避免了交易数据泄露和被滥用的安全问题。

Description

基于区块链的数据交易方法及装置、计算设备及存储介质 技术领域
本申请涉及数据安全技术领域,具体涉及一种基于区块链的数据交易方法及装置、计算设备及计算机存储介质。
背景技术
现有基于区块链技术的数据交易方法主要是运用区块链技术的不可篡改特性来保障数据交易的合法性、安全性。首先由数据交易的参与方共同加入交易区块链,然后将要交易的数据、摘要等内容,通过不同的加密方式上传至区块链,交易双方协定好交易后,数据的解密方法或者仅数据需求方能解密的数据才会被数据需求方获取,然后解密后使用。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述数据交易存在的交易数据泄露和被滥用问题的基于区块链的数据交易方法及装置、计算设备及计算机存储介质。
根据本申请的一个方面,提供了一种基于区块链的数据交易方法,包括:
将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
从区块链中下载数据处理程序,所述数据处理程序由数据需求方上传至区块链;
利用所述数据处理程序对所述第一数据进行处理,得到数据处理结果,将所述数据处理结果上传至区块链,以通过区块链将所述数据处理结果返回给所述数据需求方。
在一种可选的方式中,所述第二数据包括以下多者中的至少一者:
样例数据、属性数据、脱敏数据、伪数据。
在一种可选的方式中,在将与第一数据对应的第二数据上传至区块链之后,所述方法还包括:
经由数据监管方对所述第二数据进行审核,以供所述数据需求方下载经审核后的第二数据;
在所述从区块链中下载数据处理程序之前,所述方法还包括:
经由数据监管方对所述数据处理程序进行审核;
在所述将所述数据处理结果上传至区块链之前,所述方法还包括:
经由数据监管方对所述数据处理结果进行审核。
在一种可选的方式中,在所述从区块链中下载数据处理程序之前,所述方法还包括:
所述数据处理程序在由所述数据需求方上传至所述区块链之前经由数据监管方增加发布许可;
在所述将所述数据处理结果上传至区块链之前,所述方法还包括:
对所述数据处理结果进行公钥加密;
在所述将所述数据处理结果上传至区块链之前,所述方法还包括:经由数据监管方给所述数据处理结果增加发布许可。
在一种可选的方式中,在所述从区块链中下载数据处理程序之后,所述方法还包括:
通过区块链生成测试合约,将所述数据处理程序处理得到的测试结果上传至区块链;
基于所述测试结果通过数据监管方审核以及数据需求方同意之后,生成正式的交易合约。
在一种可选的方式中,所述审核的过程包括:
所述审核以自动或半自动的方式完成,并经过多方确认后生成完整的代码合约,所述多方包括所述区块链中的数据提供方、数据需求方和数据监管方。
在一种可选的方式中,所述区块链包括:身份链、样例链和合约链;
所述身份链,用于对所述区块链中的数据提供方、数据需求方和数据监管方进行身份认证;
所述样例链,用于对所述第二数据、所述数据处理程序进行存储;
所述合约链,用于对所述数据处理程序和所述数据处理结果进行合约交易。
根据本申请的另一方面,提供了一种基于区块链的数据交易装置,包括:
数据上传模块,用于将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
下载模块,用于从区块链中下载数据处理程序,所述数据处理程序由数据需求方上传至区块链;
数据处理模块,用于利用所述数据处理程序对所述第一数据进行处理,得 到数据处理结果,将所述数据处理结果上传至区块链,以通过区块链将所述数据处理结果返回给所述数据需求方。
根据本申请的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于区块链的数据交易方法对应的操作。
根据本申请的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于区块链的数据交易方法对应的操作。
根据本申请提供的方案,将与第一数据对应的第二数据上传至区块链,以供数据需求方下载第二数据;其中,第一数据为原始数据;从区块链中下载数据处理程序,数据处理程序由数据需求方上传至区块链;利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。本申请数据提供方不再将第一数据(即原始数据)上传区块链,而是将第二数据(即与原始数据对应的伪数据、脱敏数据)上传至区块链,通过数据提供方代替数据需求方完成对需求数据的计算,将数据处理结果返回给数据需求方,数据供求双方不交易原始数据,将原始数据交易转化为数据处理程序与数据处理结果的交易,确保了原始数据不出网,有效避免了交易数据未按约定目的使用的风险,避免了交易数据泄露和被滥用的安全问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例的基于区块链的数据交易方法的流程示意图;
图2示出了本申请实施例的区块链网络示意图;
图3示出了本申请实施例的基于区块链的数据提供方参与示意图;
图4示出了本申请实施例的基于区块链的数据需求方参与示意图;
图5示出了本申请实施例的基于区块链的数据监管方参与示意图;
图6示出了本申请实施例的基于区块链的数据交易步骤示意图;
图7示出了本申请实施例的基于区块链的数据交易装置的结构示意图;
图8示出了本申请实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
现有基于区块链技术的数据交易方法主要是运用区块链技术的不可篡改特性来保障数据交易的合法性、安全性。首先由数据交易的参与方共同加入交易区块链,然后将要交易的数据、摘要等内容,通过不同的加密方式上传至区块链,交易双方协定好交易后,数据的解密方法或者仅数据需求方能解密的数据才会被数据需求方获取,然后解密后使用,但数据交易后,数据获得者是否超出交易目的使用数据已然不受交易控制,存在一定的数据滥用风险。基于全同态加密的数据处理方式不需要访问数据本身就可以加工数据,但受加密方式限制,数据分析速度缓慢,数据交易本质上涉及的仍是目标数据,无法保证加密后的数据不会被破解。目前数据交易的技术方案均是交易原始数据,只是在交易时对数据的加密方式略有差异。
现有基于区块链的数据交易方法存在以下问题需要进一步优化:一是数据泄露风险仍然存在的问题,无论是用哈希算法、对称加密技术还是非对称加密技术,最终结果都是需求方获取到一份完整的原始数据,但是这份原始数据在需求方手中是否被妥善保护无法追踪;二是数据滥用风险仍然存在的问题,需求方在获取到目标数据后,是否按约定对目标数据进行加工处理无法追踪,不能保证交易的数据被合法的使用;三是监管滞后的问题,虽然利用了区块链的不可篡改特性保证了数据交易的可追溯性,但对于数据交易的合理性、合规性、合法性无法保证,对于不合理的数据交易仅能通过事后追溯,而不能在事前阻止重要交易数据的流通。
在实施本申请实施例之前,对下文中涉及的技术术语在此进行统一解释:
区块链:本文中指联盟区块链,是由若干组织或机构共同参与管理的区块链,其中的每个组织或机构控制一个或多个节点,共同记录交易数据,并且只有这些组织或机构能够对联盟链中的数据进行读写和发送交易。
数据提供方:数据生产单位,为数据归属者。
数据需求方:数据需求单位,利用数据做各种计算以满足相应的业务需求。
数据监管方(也简称为监管方):数据生产单位的管理单位,负责对数据 计算需求进行合理性、合规性、合法性判断。
样例数据:数据提供方上传至区块链的脱敏数据(其中脱敏是指对某些敏感信息通过脱敏规则对数据变形,以实现对敏感隐私数据的可靠性保护)、伪数据。
数据的数据属性:也称为属性数据,包括标称属性(nominal attribute)、二元属性(binary attribute)、序数属性(ordinal attribute)、数值属性(numerical attribute)、离散属性与连续属性。
标称属性:标称属性的值是一些符号或实物的名称,每个值代表某种类别、编码或状态,所以标称属性又被看做是分类型的属性(categorical),这些值不必具有有意义的序,并且不是定量的。
二元属性:二元属性是一种标称属性,只有两个类别或状态:0或1,其中,0常表示不出现,1表示出现,如果将0和1对应于false和true,二元属性则为布尔属性。
序数属性:序数属性可能的取值之间具有有意义的序或秩评定,但相继值之间的差是未知的,例如,学生的成绩属性可以分为优、良、中、差四个等级,某快餐店的饮料杯具有大、中、小三个可能值,然而,具体“大”比“中”大多少是未知的。
数值属性:数值属性是可度量的量,用整数或实数值表示。
离散属性与连续属性:具有有限个或无限个可数个数,可以用或不用整数表示,如果一个属性不是离散的,则它是连续的。
图2示出了本申请实施例的区块链网络示意图。如图2所示,可信区块链网络由数据提供方、数据需求方、监管方三方共同组成。数据提供方和数据需求方将自己的公钥上传,监管方作为信任中心对区块链上参与者的身份进行确认,增加区块链中参与者的可信度。同时数据提供方不再将原始数据(本文也称第一数据)上传区块链,而是将伪数据、脱敏数据(本文也称第二数据)上传至区块链,并且将第二数据的数据属性同步上传至区块链,由多个参与者、监管者对其进行校验和验证,保证数据的真实可用性。数据需求者根据业务需求,在区块链上查看数据提供者上传的数据属性,而后上传数据处理程序,经监管方确认后公开在区块链上。即每一个的环节的审计方法可以自动、半自动或者全人工的方式完成,但数据处理结果上链,需要多方达成一致意见,否则退回或者修改后重来。图1示出了本申请实施例的基于区块链的数据交易方法的流程示意图。本方法的执行主体可以为图2中所示的数据提供方,通过数据提供方代替数据需求方完成对需求数据的计算,将数据处理结果返回给数据需求方,将对原始数据的交易转化为对数据处理程序与数据处理结果的交易。具体地,如图1所示,包括以下步骤:
步骤S101,将与第一数据对应的第二数据上传至区块链,以供数据需求 方下载第二数据;其中,第一数据为原始数据。
在大数据的业务场景下,将原始数据上传至区块链,不仅会给区块链的存储容量造成压力,还存在数据泄露的风险。因此,数据提供方不再将原始数据上传至区块链,而是将原始数据脱敏,上传具有代表性的数据样例。也可以参照原始数据进行数据伪造,将保留有原数据特征的伪数据上传至区块链,以供区块链上的其他用户查看。为保持数据的完整性,在上传脱敏数据、伪数据的同时,将该部分数据的范围、规模等数据属性信息一并上传。
本实施例中,参与区块链的数据提供方不上传原始数据,即,在区块链上不保存原始数据,仅将与原始数据对应的样例数据、属性数据、脱敏数据、伪数据上传至区块链中,供数据需求方查看和下载。其中,与原始数据对应的样例数据、属性数据、脱敏数据与伪数据称为第二数据。可选地,第二数据包括以下多者中的至少一者:样例数据、属性数据、脱敏数据、伪数据。
进一步地,为了增强交易数据(例如第二数据、数据处理程序、数据处理结果)的可信性、可靠性,保障数据交易的合法性、合规性,在数据交易过程或环节中增加数据监管角色,解决在数据交易过程中存在的缺乏公信力、数据获取困难的问题。数据监管方可由交易双方共同信任的第三方机构、政府指定的组织担任。交易数据只有在通过数据监管方认可的前提下才可以进行下一个流程的流转。
进一步地,为了对交易数据进行交易处理、存储与管理,按照数据交易的应用场景将区块链分为以下垂直领域的区块链或行业链:身份链、样例链和合约链。其中,身份链,用于对区块链中的数据提供方、数据需求方和数据监管方进行身份认证,通过身份链将数据提供方、数据需求方、数据监管方三方共同组成可信区块链网络,不仅明确了参与者的身份,还确定了区块链中的资产归属;样例链,用于对第二数据、数据处理程序进行存储;合约链,用于对数据处理程序和数据处理结果进行合约交易,合约链包括合约的交互准则、法律条文、业务逻辑规则以及交易双方协商一致的合约条款,并可按照预置的规则执行。如图3所示,以数据提供方将样例数据上传至样例链为例,数据提供方通过身份链进行签名认证之后,将样例数据上传至样例链中,供数据需求方下载样例数据。
在一种可选的方式中,在数据需求方下载第二数据之前,所述方法还包括:经由监管方对所述第二数据进行审核。为了进一步增强交易数据的安全性,交易双方分别对自己的交易数据进行公钥加密,其中数据需求方使用数据提供方公钥对数据处理程序进行加密,数据提供方使用数据需求方公钥对数据处理结果进行加密;并经由监管方给交易数据增加发布许可,交易双方使用自己的私钥解密后获得相应的交易数据。
步骤S102,从区块链中下载数据处理程序,数据处理程序由数据需求方 上传至区块链。
参与区块链的数据需求方查阅到数据需求数据(即第二数据)之后,根据业务需求,依据第二数据设计数据处理程序,将数据处理程序上传至区块链中,再由数据提供方从区块链中下载数据处理程序。如图3所示,数据提供方从样例链中下载由数据需求方根据样例数据上传的交易程序(即数据处理程序)。
在一种可选的方式中,在从区块链中下载数据处理程序之前,方法还包括:经由监管方对所述数据处理程序进行审核,在审核通过后,监管方给数据处理程序增加发布许可。
数据交易中涉及的数据处理程序、代码分析的结果在通过监管方认可的前提下才可以进行流转,例如,数据需求方首先把数据处理程序、需求样例数据、样例计算结果上传至区块链中,然后由监管方检查审核,监管方对数据处理程序的安全风险进行审计,主要在于三个部分:代码本身、输入参数、返回值进行合理性、合规性、合法性进行审计。在通过监管方审计之后,再将数据处理程序交易给数据提供方。
进一步地,在数据提供方使用数据处理程序对数据处理程序、代码分析的结果进行处理时,为确保数据或程序的安全性与合规性,数据处理程序的源码完全开放,并且严格明确程序参数的变化范围。
步骤S103,利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。
在一种可选的方式中,在将数据处理结果上传至区块链之前,方法还包括:经由监管方对所述数据处理结果进行审核。
本实施例中,数据供求双方不交易原始数据,而是利用区块链的能力,由数据提供方代替数据需求方完成对需求数据的计算,通过区块链将计算结果返回数据需求方,由于数据需求方对原始数据的需求被转化为数据需求方对数据处理结果的需求,数据处理这一过程需要由数据提供方完成,从而将数据交易转化为数据处理程序与数据处理结果的交易,确保了原始数据不出网,同时也避免了交易数据泄露和被滥用的安全问题。同时,由于处理后的数据处理结果对数据需求方而言,仅对本次需求数据的分析有效,不再具有进一步分析处理的价值,有效避免了交易数据不按照约定目的使用的风险。
具体地,数据提供方利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。数据提供方利用数据处理程序对第一数据中的样例数据或第二数据进行处理得到的数据处理结果为测试数据处理结果,对第一数据进行处理得到的数据处理结果为正式的数据处理结果。如图3所示,数据提供方从样例链中下载由数据需求方根据样例数据上传的交易程序之后,根据交易程 序对样例数据进行处理得到测试结果。数据提供方通过合约链生成测试合约,然后将测试结果上传至合约链。测试结果通过数据监管方审核以及数据需求方一致同意后,再生成正式的交易合约,然后将正式的数据处理结果上传至区块链进行数据交易。
在一种可选的方式中,在经由监管方对数据处理程序进行审核之后,通过区块链生成测试合约,将数据处理程序处理得到的测试结果上传至区块链;测试结果通过监管方审核以及数据需求方同意之后,生成正式的交易合约。
在一种可选的方式中,审核以自动或半自动的方式完成,并经过多方确认后生成完整的代码合约。以下结合图3、图4、图5对图2中本申请实施例的基于区块链的数据交易参与者的数据交易步骤或过程作具体描述:
数据提供方将样例数据上传至区块链的过程,如图3所示,例如,数据提供方将脱敏后的原始数据、具有代表性的数据样例、伪数据上传至区块链,供其他用户查看。数据提供方下载经过数据监管方审计后的数据处理程序,通过区块链生成的测试合约,将测试结果上传。测试结果通过监管方审核以及数据需求方一致同意后,生成正式的交易合约,然后将正式的数据处理结果上传至区块链进行数据交易。
数据需求方将数据处理程序上传区块链的过程,如图4所示,数据需求方下载可以交易的样例数据,根据样例数据设计数据处理程序,然后将数据处理程序上传至区块链,经由监管方审核后,生成测试合约。然后下载经由数据监管方审核通过的由数据提供方反馈的测试结果,在确认无误之后发起正式数据交易合约,最后通过区块链进行数据处理结果的交易。
监管方确认交易的合法性与合规性的过程,如图5所示,当数据监管方确认数据需求方的数据处理请求合理之后,数据监管方对数据提供方提供的数据、数据需求方提供的数据处理程序进行合法性与合规性确认,当确认无误后将认证后的合约发布到区块链中,然后对数据提供方上传的正式数据处理结果进行验证。其中,数据交易涉及的数据处理程序的本身代码、输入参数、返回值也具有一定的安全风险,需要监管方与数据提供方共同确认程序的安全性与合规性,才能使用数据处理程序对目标数据进行处理,将处理结果交易给数据需求方。例如,对于数据处理程序与代码分析的结果,在通过监管方认可的前提下才可以进行流转,即数据需求方首先把数据处理程序、需求样例数据、样例计算结果上传区块链中,并严格明确参数的变化范围,然后由监管方检查审核,监管方对数据处理程序的安全风险进行审计,主要对代码本身、输入参数与返回值进行合理性、合规性、合法性审计。通过监管方审计之后,再将数据处理程序交易至数据提供方,数据提供方认同该数据处理程序的合理计算需求之后,利用该数据处理程序对原始数据进行处理,并将计算结果返回至监管方,最后再由监管方将计算结果交易给数据需求方。通过在区块链中增加监管角色,保护了交易过程中进行数据交易的双方主体,对数据交易提前治 理,将不合规的数据交易在流通之前进行有效阻断。
图6示出了本申请实施例的基于区块链的数据交易步骤示意图。交易双方分别对自己的交易数据进行公钥加密,并经由监管方给交易数据增加发布许可,进一步增强了交易数据的安全性。具体包括以下步骤:
步骤1,数据需求方使用数据提供方的公钥加密数据处理程序和样例结果,并交易至监管方。
步骤2,监管方对数据处理程序增加发布许可,然后发布到区块链中。
步骤3,数据提供方从区块链中获取已发布的数据处理程序,使用自己的私钥解密后,利用自己的真实数据(第一数据)进行数据处理,然后将数据处理结果使用数据需求方的公钥加密,然后交易至监管方。
步骤4,监管方对数据处理结果增加发布许可,然后发布到区块链中。
步骤5,数据需求方从区块链中获取已发布的数据处理结果,使用自己的私钥解密后,获取期望的数据处理结果,交易结束。
本申请上述实施例提供的方案,将与第一数据对应的第二数据上传至区块链,以供数据需求方下载第二数据;其中,第一数据为原始数据;从区块链中下载数据处理程序,数据处理程序由数据需求方上传至区块链;利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。本申请数据供求双方不交易原始数据,将原始数据交易转化为数据处理程序与数据处理结果的交易,确保原始数据不出网,有效避免了交易数据未按约定目的使用的风险,避免了交易数据泄露和被滥用的安全问题。通过增加数据监管方角色,进一步增强了交易数据的可信性、可靠性,保障了数据交易的合法性、合规性,增加了数据交易的公信力。由于区块链中不保留原始数据,规避了区块链容量不足的风险,同时也降低了数据被泄露的可能性。通过对交易数据进行公钥加密并经由监管方给交易数据增加发布许可的方式,进一步增强了交易数据的安全性。
图7示出了本申请实施例的基于区块链的数据交易装置的结构示意图。基于区块链的数据交易装置700包括:数据上传模块710、下载模块720和数据处理模块730。
所述数据上传模块710,用于将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
所述下载模块720,用于从区块链中下载数据处理程序,所述数据处理程序由数据需求方上传至区块链;
所述数据处理模块730,用于利用所述数据处理程序对所述第一数据进行处理,得到数据处理结果,将所述数据处理结果上传至区块链,以通过区块链将所述数据处理结果返回给所述数据需求方。
在一种可选的方式中,所述第二数据包括以下多者中的至少一者:
样例数据、属性数据、脱敏数据、伪数据。
在一种可选的方式中,在将与第一数据对应的第二数据上传至区块链之后,经由监管方对所述第二数据进行审核;
所述下载模块720在所述从区块链中下载数据处理程序之前,经由监管方对所述数据处理程序进行审核;
所述数据处理模块730在所述将所述数据处理结果上传至区块链之前,经由监管方对所述数据处理结果进行审核。
在一种可选的方式中,所述数据处理程序在由所述数据需求方上传至所述区块链之前经由监管方增加发布许可;
所述数据处理模块730在所述将所述数据处理结果上传至区块链之前,对所述数据处理结果进行公钥加密;在所述将所述数据处理结果上传至区块链之后,经由监管方给所述数据处理结果增加发布许可。
在一种可选的方式中,在所述从区块链中下载数据处理程序之后,还包括:
通过区块链生成测试合约,将所述数据处理程序处理得到的测试结果上传至区块链;
所述测试结果通过监管方审核以及数据需求方同意之后,生成正式的交易合约。
在一种可选的方式中,所述审核的过程包括:
所述审核以自动或半自动的方式完成,并经过多方确认后生成完整的代码合约,所述多方包括所述区块链中的数据提供方、数据需求方和数据监管方。
在一种可选的方式中,所述区块链包括:身份链、样例链和合约链;
所述身份链,用于对所述区块链中的数据提供方、数据需求方和数据监管方进行身份认证;
所述样例链,用于对所述第二数据、所述数据处理程序进行存储;
所述合约链,用于对所述数据处理程序和所述数据处理结果进行合约交易。
本申请上述实施例提供的方案,将与第一数据对应的第二数据上传至区块链,以供数据需求方下载第二数据;其中,第一数据为原始数据;从区块链中下载数据处理程序,数据处理程序由数据需求方上传至区块链;利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。本申请数据供求双方不交易原始数据,将原始数据交易转化为数据处理程序与数据处理结果的交易,确保原始数据不出网,有效避免了交易数据未按约定目的使用的风险,避免了 交易数据泄露和被滥用的安全问题。通过增加数据监管方角色,进一步增强了交易数据的可信性、可靠性,保障了数据交易的合法性、合规性,增加了数据交易的公信力。由于区块链中不保留原始数据,规避了区块链容量不足的风险,同时也降低了数据被泄露的可能性。通过对交易数据进行公钥加密并经由监管方给交易数据增加发布许可的方式,进一步增强了交易数据的安全性。
图8示出了本申请计算设备实施例的结构示意图,本申请具体实施例并不对计算设备的具体实现做限定。
如图8所示,该计算设备可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。处理器802,用于执行程序810,具体可以执行上述基于区块链的数据交易方法实施例中的相关步骤。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序810具体可以用于使得处理器802执行以下操作:
将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
从区块链中下载数据处理程序,所述数据处理程序由数据需求方上传至区块链;
利用所述数据处理程序对所述第一数据进行处理,得到数据处理结果,将所述数据处理结果上传至区块链,以通过区块链将所述数据处理结果返回给所述数据需求方。
在一种可选的方式中,所述第二数据包括以下多者中的至少一者:
样例数据、属性数据、脱敏数据、伪数据。
在一种可选的方式中,所述程序810使所述处理器执行以下操作:
在将与第一数据对应的第二数据上传至区块链之后,经由监管方对所述 第二数据进行审核;
在所述从区块链中下载数据处理程序之前,经由监管方对所述数据处理程序进行审核;
在所述将所述数据处理结果上传至区块链之前,经由监管方对所述数据处理结果进行审核。
在一种可选的方式中,所述程序810使所述处理器执行以下操作:
所述数据处理程序在由所述数据需求方上传至所述区块链之前经由监管方给所述数据处理程序增加发布许可;
在所述将所述数据处理结果上传至区块链之前,对所述数据处理结果进行公钥加密;
在所述将所述数据处理结果上传至区块链之前,经由监管方给所述数据处理结果增加发布许可。
在一种可选的方式中,所述程序810使所述处理器执行以下操作:
在所述从区块链中下载数据处理程序之后,通过区块链生成测试合约,将所述数据处理程序处理得到的测试结果上传至区块链;
所述测试结果通过监管方审核以及数据需求方同意之后,生成正式的交易合约。
在一种可选的方式中,所述审核的过程包括:
所述审核以自动或半自动的方式完成,并经过多方确认后生成完整的代码合约,所述多方包括所述区块链中的数据提供方、数据需求方和数据监管方。
在一种可选的方式中,所述区块链包括:身份链、样例链和合约链;
所述身份链,用于对所述区块链中的数据提供方、数据需求方和数据监管方进行身份认证;
所述样例链,用于对所述第二数据、所述数据处理程序进行存储;
所述合约链,用于对所述数据处理程序和所述数据处理结果进行合约交易。
本申请上述实施例提供的方案,将与第一数据对应的第二数据上传至区块链,以供数据需求方下载第二数据;其中,第一数据为原始数据;从区块链中下载数据处理程序,数据处理程序由数据需求方上传至区块链;利用数据处理程序对第一数据进行处理,得到数据处理结果,将数据处理结果上传至区块链,以通过区块链将数据处理结果返回给数据需求方。本申请数据供求双方不交易原始数据,将原始数据交易转化为数据处理程序与数据处理结果的交易,确保原始数据不出网,有效避免了交易数据未按约定目的使用的风险,避免了交易数据泄露和被滥用的安全问题。通过增加数据监管方角色,进一步增强了 交易数据的可信性、可靠性,保障了数据交易的合法性、合规性,增加了数据交易的公信力。由于区块链中不保留原始数据,规避了区块链容量不足的风险,同时也降低了数据被泄露的可能性。通过对交易数据进行公钥加密并经由监管方给交易数据增加发布许可的方式,进一步增强了交易数据的安全性。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于区块链的数据交易方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (10)

  1. 一种基于区块链的数据交易方法,其特征在于,所述方法包括:
    将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
    从所述区块链中下载数据处理程序,所述数据处理程序由所述数据需求方根据所述第二数据设计并由所述数据需求方上传至所述区块链;
    利用所述数据处理程序对所述第一数据进行处理,得到数据处理结果,将所述数据处理结果上传至所述区块链,以通过所述区块链将所述数据处理结果返回给所述数据需求方。
  2. 根据权利要求1所述的方法,其特征在于,所述第二数据包括以下多者中的至少一者:
    样例数据、属性数据、脱敏数据、伪数据。
  3. 根据权利要求1所述的方法,其特征在于,在将与第一数据对应的第二数据上传至区块链之后,所述方法还包括:
    经由数据监管方对所述第二数据进行审核,以供所述数据需求方下载经审核后的第二数据;
    在所述从区块链中下载数据处理程序之前,所述方法还包括:
    经由数据监管方对所述数据处理程序进行审核;
    在所述将所述数据处理结果上传至区块链之前,所述方法还包括:
    经由数据监管方对所述数据处理结果进行审核。
  4. 根据权利要求1所述的方法,其特征在于,
    所述数据处理程序在由所述数据需求方上传至所述区块链之前经由数据监管方增加发布许可;
    在所述将所述数据处理结果上传至区块链之前,所述方法还包括:对所述数据处理结果进行公钥加密;
    在所述将所述数据处理结果上传至区块链之前,所述方法还包括:
    经由数据监管方给所述数据处理结果增加发布许可。
  5. 根据权利要求3所述的方法,其特征在于,在所述从区块链中下载数据处理程序之后,所述方法还包括:
    通过区块链生成测试合约,将所述数据处理程序处理得到的测试结果上传至区块链;
    基于所述测试结果通过所述数据监管方审核以及所述数据需求方同意,生成正式的交易合约。
  6. 根据权利要求3所述的方法,其特征在于,所述审核的过程包括:
    所述审核以自动或半自动的方式完成,并经过多方确认后生成完整的代码合约,所述多方包括所述区块链中的数据提供方、数据需求方和数据监管方。
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述区块链包括:身份链、样例链和合约链;
    所述身份链,用于对所述区块链中的数据提供方、数据需求方和数据监管方进行身份认证;
    所述样例链,用于对所述第二数据、所述数据处理程序进行存储;
    所述合约链,用于对所述数据处理程序和所述数据处理结果进行合约交易。
  8. 一种基于区块链的数据交易装置,其特征在于,包括:
    数据上传模块,用于将与第一数据对应的第二数据上传至区块链,以供数据需求方下载所述第二数据;其中,所述第一数据为原始数据;
    下载模块,用于从区块链中下载数据处理程序,所述数据处理程序由数据需求方上传至区块链;
    数据处理模块,用于利用所述数据处理程序对所述第一数据进行处理,得到数据处理结果,将所述数据处理结果上传至区块链,以通过区块链将所述数据处理结果返回给所述数据需求方。
  9. 一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
    所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的基于区块链的数据交易方法对应的操作。
  10. 一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的基于区块链的数据交易方法对应的操作。
PCT/CN2023/129122 2022-11-01 2023-11-01 基于区块链的数据交易方法及装置、计算设备及存储介质 WO2024094075A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211354659.8A CN116956335A (zh) 2022-11-01 2022-11-01 基于区块链的数据交易方法及装置
CN202211354659.8 2022-11-01

Publications (1)

Publication Number Publication Date
WO2024094075A1 true WO2024094075A1 (zh) 2024-05-10

Family

ID=88450039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/129122 WO2024094075A1 (zh) 2022-11-01 2023-11-01 基于区块链的数据交易方法及装置、计算设备及存储介质

Country Status (2)

Country Link
CN (1) CN116956335A (zh)
WO (1) WO2024094075A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116956335A (zh) * 2022-11-01 2023-10-27 中国移动通信集团设计院有限公司 基于区块链的数据交易方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446704A (zh) * 2015-08-10 2017-02-22 阿里巴巴集团控股有限公司 一种用于数据处理的方法和设备
US20190165949A1 (en) * 2017-11-24 2019-05-30 International Business Machines Corporation Data anonymizing blockchain system
CN110807207A (zh) * 2019-10-30 2020-02-18 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
KR20200121583A (ko) * 2019-04-16 2020-10-26 주식회사 바스랩 데이터 비식별화처리를 이용한 데이터 분산처리 장치 및 방법
CN112487486A (zh) * 2020-12-18 2021-03-12 平安普惠企业管理有限公司 基于区块链的数据获取方法、装置以及计算机设备
CN112883425A (zh) * 2021-03-26 2021-06-01 重庆度小满优扬科技有限公司 基于区块链的数据处理方法以及区块链节点
CN114595481A (zh) * 2022-03-09 2022-06-07 江苏保旺达软件技术有限公司 一种应答数据的处理方法、装置、设备和存储介质
CN116956335A (zh) * 2022-11-01 2023-10-27 中国移动通信集团设计院有限公司 基于区块链的数据交易方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446704A (zh) * 2015-08-10 2017-02-22 阿里巴巴集团控股有限公司 一种用于数据处理的方法和设备
US20190165949A1 (en) * 2017-11-24 2019-05-30 International Business Machines Corporation Data anonymizing blockchain system
KR20200121583A (ko) * 2019-04-16 2020-10-26 주식회사 바스랩 데이터 비식별화처리를 이용한 데이터 분산처리 장치 및 방법
CN110807207A (zh) * 2019-10-30 2020-02-18 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN112487486A (zh) * 2020-12-18 2021-03-12 平安普惠企业管理有限公司 基于区块链的数据获取方法、装置以及计算机设备
CN112883425A (zh) * 2021-03-26 2021-06-01 重庆度小满优扬科技有限公司 基于区块链的数据处理方法以及区块链节点
CN114595481A (zh) * 2022-03-09 2022-06-07 江苏保旺达软件技术有限公司 一种应答数据的处理方法、装置、设备和存储介质
CN116956335A (zh) * 2022-11-01 2023-10-27 中国移动通信集团设计院有限公司 基于区块链的数据交易方法及装置

Also Published As

Publication number Publication date
CN116956335A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
US11676132B2 (en) Smart contracts in blockchain environments
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
US11687486B2 (en) System and method for secure management of digital contracts
US11386405B2 (en) Dynamic blockchain transactional policy management
US11257073B2 (en) Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US20200242595A1 (en) Systems, methods, and apparatuses utilizing a blended blockchain ledger in a cloud service to address local storage
CN110166442B (zh) 一种基于区块链的数据处理方法和装置
CN113255005B (zh) 一种基于区块链的数据资产流转方法、装置及设备
US11488156B2 (en) Confidential asset transaction system
WO2024094075A1 (zh) 基于区块链的数据交易方法及装置、计算设备及存储介质
WO2021169767A1 (zh) 一种数据处理方法、装置、设备及介质
US20230370275A1 (en) Verification system for proving authenticity and ownership of digital assets
CN111683082A (zh) 一种基于区块链的数据共享方法、系统及电子设备
CN115705571A (zh) 保护可审计的帐户的隐私
CN112861102A (zh) 基于区块链对电子文件的处理方法和系统
US20220191034A1 (en) Technologies for trust protocol with immutable chain storage and invocation tracking
KR102283635B1 (ko) 복수 개의 노드 간 트랜잭션 정보의 상호 공유를 통한 디지털 콘텐츠 거래 중개 시스템
US11842287B1 (en) Systems and methods for conducting blockchain actions based on network mappings of self-executing program characteristics
US11956377B1 (en) Systems and methods for conducting cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs
CN110287254B (zh) 一种基于联盟链的数据交易方法、装置及计算机设备
Vagadia et al. Data integrity, control and tokenization
Reddy et al. An Intelligent Tender Management System using Block Chain and IPFS
Truong et al. Trust-Free Blockchain Framework for AI-Generated Content Trading and Management in Metaverse
US12063303B2 (en) Computer systems and computer-implemented methods utilizing blockchain agnostic connection tools for blockchain-based data structures
Gupta et al. Enhanced Security in e-Tendering System Using Blockchain with Efficient Smart Contracts and Hybrid Cryptography

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23885001

Country of ref document: EP

Kind code of ref document: A1