CN108681898B - Data transaction method and system based on block chain - Google Patents
Data transaction method and system based on block chain Download PDFInfo
- Publication number
- CN108681898B CN108681898B CN201810461735.2A CN201810461735A CN108681898B CN 108681898 B CN108681898 B CN 108681898B CN 201810461735 A CN201810461735 A CN 201810461735A CN 108681898 B CN108681898 B CN 108681898B
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- terminal
- block chain
- network
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
The application discloses a data transaction method based on a block chain, which solves the defect of centralized storage by utilizing the decentralized characteristic of the block chain, each user is a node in the block chain network, a data transaction channel between a data generator and data purchase is established by deploying an intelligent transaction contract to the block chain network, a distributed storage network with lower storage cost and higher safety performance is selected for data storage, transactable data is stored in a ciphertext mode and is generated into a data index with extremely small data volume so as to locate a corresponding ciphertext, the data transaction method is different from the method of directly storing the data to the block chain network, and the data storage cost can be effectively reduced. Meanwhile, the blockchain network can store all transaction records and synchronize to all nodes, so that the possibility of tampering is greatly avoided, and all transaction records are public and transparent. The application also discloses a data transaction system based on the block chain, and the data transaction system has the beneficial effects.
Description
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a data transaction method and system based on a blockchain.
Background
Under the big data age, data has immeasurable value no matter for individuals or enterprises, so the application of the data transaction industry is generated. Personal data, which is of great commercial value, is continuously generated while a user uses services provided by a service (application) provider.
The trading right of the personal data can be obtained as a data generating method for generating the personal data, in the actual situation, due to the inherent advantages brought by the centralized data storage mode adopted by the service provider, the authority of processing the personal data according to personal wishes is easily obtained, and the users lose the capability of collecting and processing the personal data, so that the phenomenon that the service provider monopolizes the personal data generated by the users in the process of using the services and possibly uses the data privately to earn benefits for the users is caused. The user cannot only rely on the personal data transaction to bring the income to the user, but also needs to bear the security risk brought to the personal data of the user by the private transaction of the enterprise. Therefore, the data transaction in the current mode is unfair to the users of the data producer.
Therefore, it is a technical problem to be urgently solved by those skilled in the art how to overcome the defects of undisclosed, opaque and unfair existing in the existing data transaction, and provide a data transaction mechanism which is more open, more transparent and more fair, and in which both the service provider and the user can participate in the data transaction process.
Disclosure of Invention
The application aims to provide a data transaction method based on a block chain, the defect of centralized storage is overcome by using the decentralized characteristic of the block chain, each user is a node in a block chain network, a data transaction channel between a data generator and a data purchaser is built by deploying an intelligent transaction contract to the block chain network, a distributed storage network with low storage cost and high safety performance is selected for data storage, transactable data is stored in a ciphertext mode and a data index with extremely small data volume is generated so as to locate a corresponding ciphertext, the data transaction method is different from the method of directly storing data to the block chain network, and the data storage cost can be effectively reduced. Meanwhile, the blockchain network can store all transaction records and synchronize to all nodes, so that the possibility of tampering is greatly avoided, and all transaction records are public and transparent.
Another object of the present application is to provide a data transaction system based on a blockchain.
In order to achieve the above object, the present application provides a data transaction method based on a blockchain, including:
an application issuing terminal generates an intelligent trading contract corresponding to an issued application, and deploys the intelligent trading contract to a blockchain network; the intelligent trading contract is used for establishing a trading channel between two parties with data trading requirements;
the first data terminal classifies the tradable data generated by the application in use, and establishes a data description table by using the description information of various tradable data and the address corresponding to the intelligent trading contract;
the first data terminal encrypts the tradable data generated in each preset period by using the unique key and stores the obtained ciphertext into the distributed storage network;
the distributed storage network generates corresponding data indexes for the ciphertext stored in the distributed storage network;
the second data terminal obtains the address of the target variety data corresponding to the intelligent trading contract by checking the description information in the data description table, and calls the intelligent trading contract under the address to initiate a trading request of the target variety data to the blockchain network;
when the first data terminal receives and agrees with the transaction request, returning a data index and a decryption key corresponding to the target variety data to the second data terminal through the intelligent transaction contract, and receiving transaction data contained in the transaction request;
the second data terminal finds out a corresponding ciphertext on the distributed storage network according to the received data index and the decryption key and decrypts the ciphertext to obtain readable original data; and each terminal is a constituent node in the block chain network.
Optionally, the encrypting, by the first data terminal, the tradable data generated in each preset period by using the unique key includes:
the first data terminal acquires the self identity identification information and the cycle starting time of each preset cycle;
generating a public key and a private key uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm;
and the first data terminal encrypts the tradable data generated in the corresponding preset period by using the public key uniquely corresponding to each preset period.
Optionally, after the first data terminal encrypts the tradable data generated in the corresponding preset period by using the public key uniquely corresponding to each preset period, the method further includes:
and establishing a key storage queue on the first data terminal, and storing each pair of public key and private key in pairs by using the key storage queue.
Optionally, before invoking the intelligent trading contract under the address to initiate the trading request of the target kind of data to the blockchain network, the method further includes:
and the second data terminal broadcasts the public key of the second data terminal to all nodes in the block chain network, so that the first data terminal encrypts the data index and the decryption key corresponding to the target variety data by using the public key of the second data terminal.
Optionally, the data transaction method further includes:
and setting different transaction data dividing proportions for an application issuing terminal issuing the application and a first data terminal generating the target category data in the intelligent transaction contract.
Optionally, the data transaction method further includes:
and the block chain network records all calling and using information of the intelligent trading contract deployed on the block chain network.
In order to achieve the above object, the present application further provides a data transaction system based on a blockchain, including:
the system comprises an application issuing terminal, a block chain network and a block chain network, wherein the application issuing terminal is used for generating an intelligent trading contract corresponding to an issued application and deploying the intelligent trading contract to the block chain network; the intelligent trading contract is used for establishing a trading channel between two parties with data trading requirements;
the first data terminal is used for classifying the tradable data generated by the application in use and establishing a data description table by using the description information of various kinds of tradable data and the address corresponding to the intelligent trading contract; encrypting the tradable data generated in each preset period by using the unique key, and storing the obtained ciphertext into a distributed storage network; when the transaction request is received and agreed, returning a data index and a decryption key corresponding to the target variety data to the first data terminal through the intelligent transaction contract, and receiving transaction data contained in the transaction request;
the distributed storage network is used for generating a corresponding data index for the ciphertext stored in the distributed storage network;
the second data terminal is used for obtaining an address of the target variety data corresponding to the intelligent trading contract by checking the description information in the data description table, and calling the intelligent trading contract under the address to initiate a trading request of the target variety data to the blockchain network; finding out a corresponding ciphertext on the distributed storage network according to the received data index and the decryption key, and decrypting to obtain readable original data;
and each terminal is a constituent node in the block chain network.
Optionally, the first data terminal specifically acquires identity identification information of the first data terminal and a cycle start time of each preset cycle; generating a public key and a private key uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm; and encrypting the data terminal of the tradable data generated in the corresponding preset period by using the public key uniquely corresponding to each preset period.
Optionally, the first data terminal is further configured to: and establishing a key storage queue, and storing each pair of public key and private key in a paired manner by using the key storage queue.
Optionally, the second data terminal is further configured to: broadcasting own public key to all nodes in the block chain network so that the first data terminal encrypts the data index and the decryption key corresponding to the target category data by using the public key of the second data terminal.
Obviously, the block chain-based data transaction method provided by the application utilizes the decentralized characteristic of the block chain to overcome the defect of centralized storage, each user is a node in the block chain network, a data transaction channel between a data generator and a data purchaser is established by deploying an intelligent transaction contract to the block chain network, a distributed storage network with low storage cost and high safety performance is selected for data storage, transactable data is stored in a ciphertext form and a data index with extremely small data volume is generated so as to locate a corresponding ciphertext, and the block chain-based data transaction method is different from the method of directly storing data to the block chain network, so that the data storage cost can be effectively reduced. Meanwhile, the blockchain network can store all transaction records and synchronize to all nodes, so that the possibility of tampering is greatly avoided, and all transaction records are public and transparent. The application also provides a data transaction system based on the block chain, which has the beneficial effects and is not repeated herein.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a data transaction method based on a blockchain according to the present application;
FIG. 2 is a flow chart of a method for encrypting transactable data and locating a data purchaser in the blockchain-based data transaction method provided herein;
fig. 3 is a block diagram illustrating a block chain-based data transaction system according to the present application;
fig. 4 is a schematic diagram illustrating logic trends among execution entities in the data transaction system based on the blockchain according to the present application.
Detailed Description
The core of the application is to provide a data transaction method and a system based on a block chain, the defect of centralized storage is overcome by using the decentralized characteristic of the block chain, each user is a node in the block chain network, a data transaction channel between a data generator and a data purchaser is built by deploying an intelligent transaction contract to the block chain network, a distributed storage network with low storage cost and high safety performance is selected for data storage, transactable data is stored in a ciphertext mode and a data index with extremely small data volume is generated so as to locate a corresponding ciphertext, the data transaction method and the system are different from the method of directly storing data to the block chain network, and the data storage cost can be effectively reduced. Meanwhile, the blockchain network can store all transaction records and synchronize all the transaction records to all the nodes, so that the possibility of tampering is greatly avoided, and all the transaction records are public and transparent.
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a flowchart illustrating a data transaction method based on a blockchain according to the present invention.
The method specifically comprises the following steps:
s101: the application issuing terminal generates an intelligent trading contract corresponding to the issued application, and deploys the intelligent trading contract to the blockchain network;
in the prior art, application providers only publish Applications (APPs) developed by themselves to the public, and users can only use the APPs, so that whether or not some personal data are generated or what personal data are generated in the process of using the APPs are generally opaque to the users, and the application providers who develop the APPs know that the APPs are clear, the APPs have channels for acquiring the data, and even the APPs are sold privately to profit.
In order to solve the opaque problem, while an application provider develops an application, the application provider simultaneously provides an intelligent trading contract for trading data which is generated by a user in the application process, and the intelligent trading contract is deployed to a block chain network, so that a trading channel is established between two parties with data trading requirements through the intelligent trading contract, and the phenomenon that the application provider carries out personal data trading privately in the traditional mode is avoided.
It should be noted that the application issuing terminal described herein may be a mobile phone, a high-performance server, or the like, for a data terminal corresponding to when an application provider issues an application and an intelligent trading contract. At this time, the application issuing terminal is already used as a node in the blockchain network, and the blockchain network is formed by the application issuing terminal, the subsequent first data terminal and the subsequent second data terminal, and the intelligent trading contract is actually deployed to all the nodes by deploying the intelligent trading contract to the blockchain network, so that any node can complete trading based on the same intelligent trading contract.
The block chain technology is a novel decentralized distributed safe storage technology, is essentially a shared distributed database, is recorded and verified by all participants of a block chain network together, generates transaction information into blocks according to a time sequence, and forms a chain data structure in a sequential connection mode, and the data cannot be falsified or forged by using a cryptology mode, so that the block chain technology has high safety and high reliability.
On the basis, intelligent contracts can be integrated to realize transparent data access control, wherein the intelligent contracts are transparent program codes running in an decentralized computer network and are contracts realized through the codes, the contracts are visible to all nodes in the network, and the contracts are difficult to tamper after being generated. The code forming the intelligent contract has no difference with the conventional functional code, and can execute specific functions according to the programmed code logic rule in advance, thereby being beneficial to the operations of calculation, modification, encryption and the like. The intelligent contract is not only a computer program which can be automatically executed, but also is more like a system participant, is absolutely credible and absolutely neutral, is responsible for temporarily protecting your assets, and executes operation strictly according to the rules with good commodity in advance, so that the whole system can operate according to the preset program, and simultaneously all nodes forming the block chain network are witnessed, no matter who can not prevent and interfere with the block chain network.
The intelligent transaction contract described in the present application is a kind of intelligent contract, i.e. it is mainly used for transaction, and is like an absolutely neutral, fair third-party executing mechanism, which is used to help the data generator and the data buyer to implement data transaction, and ensure that the data buyer can receive the desired personal data while paying a certain purchase cost, and the data generator can receive the purchase cost paid by the data buyer while transmitting the desired personal data, and is like the position of the payment treasure relative to the buyer and the seller.
Of course, in order to actually establish a data transaction channel between a data generator and a data buyer and implement data transaction, many other parameters are also needed, such as description information of various kinds of transactable data, identity information of each party, and the like, and a large number of published descriptions of intelligent contracts can be referred to in this respect.
S102: the first data terminal classifies the tradable data generated by the application in use and establishes a data description table by using the description information of various tradable data and the address corresponding to the intelligent trading contract;
for the purpose of data transaction of intelligent trading contracts, it is also necessary for the data purchaser to be able to determine which data is desired by the data purchaser among all generated personal data, and even which data is what the data generator (user) is willing to sell, etc., so this step aims to classify all generated tradable data to obtain various kinds of tradable data and to obtain description information of various kinds of tradable data according to the classification criteria, and to establish a data description table using the description information and the address of the corresponding intelligent trading contract deployed in the blockchain network.
The data description table is mainly used for determining which data buyers want to buy according to the contained description information, and obtaining the addresses of the intelligent trading contracts corresponding to the data buyers, so as to call the corresponding intelligent trading contracts from the addresses.
It should be noted that the first data terminal described in this step corresponds to a user who uses an application issued by an application provider through an application issuing terminal, that is, the data terminal corresponding to the data generator is also a node in the block chain network, and a smartphone used by each user can also become a node.
Table 1 data description table example
Table 1 above is a specific implementation manner given by taking a mail application as an example in the present application, that is, the data description table includes: service IDs (one-to-one correspondence to applications published by an application provider), smart trade contract addresses, tradable data category identifier lists [ k1, k2, k3, …, kn ], data description information [ d1, d2, d3, …, dn ] of each category corresponding, and data trading rules [ r1, r2, r3, …, rn ]. The data transaction rules are set according to different modes, such as different data types, different data generation time periods, and the like of users, and are not particularly limited and can be flexibly set according to specific conditions.
S103: the first data terminal encrypts the tradable data generated in each preset period by using the unique key and stores the obtained ciphertext into the distributed storage network;
during the process that the data generator uses the application, the application encrypts the generated tradable data by using the unique key and sends the obtained ciphertext to the distributed storage network for storage. Generally, the operation of this step can be performed cyclically for a period at the same time interval, that is, all tradable data generated in the period are encrypted periodically. Specifically, the time interval of each period may be set to 1 day, 3 days or other suitable time, which is not specifically limited herein and can be flexibly adjusted according to the actual situation.
The unique key has the function of firmly holding the ownership of the generated tradable data in the hands of the user who belongs to the data generator, and other people cannot restore the ciphertext back to the readable original data unless the user agrees or authorizes to give the corresponding decryption key. To achieve this, the unique key should correspond uniquely to the user, or the unique key is generated based on the unique identification information of the user. Specifically, when the possibility that different data buyers can mutually transmit the decryption key of the same user is eliminated, the tradable data generated in each period can be encrypted by using the same unique key, and if the possibility cannot be eliminated, the transformed unique key can be generated along with the period transformation, so that the selection can be flexibly realized.
The traditional storage system adopts a centralized storage server to store all data, the storage server becomes the bottleneck of system performance, and the requirement of large-scale storage application cannot be met, so that a distributed storage network which adopts an expandable system structure, utilizes a plurality of storage servers to share storage load and utilizes a position server to position storage information appears, the reliability, the availability and the access efficiency of the system are improved, and the expansion is easy. Specifically, the Distributed storage network has multiple options, for example, a Distributed Hash Table (DHT) storage network is a Distributed storage method, and each client is responsible for a small-range route and storing a small part of data without a server, so that addressing and storage of the whole DHT storage network are realized; IPFS (internet File System) is a network transport protocol aimed at creating persistent and distributed storage and shared files, and this technology is a content addressable peer-to-peer hypermedia distribution protocol, and a storage network obtained based on this technology can also achieve the same data storage purpose as a DHT storage network.
It is emphasized that the first data terminal used by each user who is subordinate to the data generator will generate and store all personal data generated by the application locally at each first data terminal, and encrypt the generated personal data in real time or according to a preset period as required, and finally upload the ciphertext to a distributed storage network to finish storage, instead of storing the opaque data in clear text form as in the conventional mode, the opaque data can be directly obtained and stored in a centralized server provided by an application provider, even if the application provider obtains the ciphertext from a third party that provides the distributed storage network, decryption cannot be accomplished using the key held only by the user, in this way, the user who generates the part of personal data can realize complete control on the part of data, and is not restricted by the application provider without disclosure and non-transparency.
S104: the distributed storage network generates corresponding data indexes for the ciphertext stored in the distributed storage network;
because the generated data index is uniquely obtained based on the corresponding ciphertext, a common way to obtain the data index is to calculate and obtain summary information (feature code) uniquely corresponding to the ciphertext by using a hash algorithm, including various specific algorithms belonging to the hash algorithm.
S105: the second data terminal obtains the address of the target variety data corresponding to the intelligent trading contract by checking the description information in the data description table, and calls the intelligent trading contract under the address to initiate a trading request of the target variety data to the blockchain network;
when the data buyer determines the target kind data according to the description information contained in the data description table, the address of the intelligent transaction contract corresponding to the target kind data recorded in the data description table is also utilized, so that the corresponding intelligent transaction contract is called from the address to initiate a transaction request of the target kind data to the blockchain network.
It should be noted that, corresponding to the first data terminal used by the data generator, the second data terminal corresponds to the data purchaser, so that the data purchaser can obtain the description information of various kinds of tradable data and the address of the corresponding intelligent trading contract by looking up the open data description table through the data purchaser, and call the corresponding intelligent trading contract from the address.
When the intelligent trading contract initiates a trading request to the blockchain network, the intelligent trading contract can also determine who the corresponding data generator is according to the related information, and correspondingly, can also complete the operation of transferring the data index and the decryption key given by the data generator to the data buyer when the data generator agrees with the trading request.
In order to prevent the data index and the decryption key forwarded to the data purchaser from being intercepted or obtained by other people by unknown means, the readable original data cannot be obtained from the distributed storage network, and the data generator is also required to encrypt the data index and the decryption key by using the encryption key uniquely corresponding to the data purchaser, so that only the real data purchaser can finish decryption by using the decryption key stored by the data purchaser, and the data index and the decryption key given by the data generator are obtained.
Thus, one method for a data producer to obtain an encryption key for a data purchaser is: the data purchaser broadcasts its own encryption key to all nodes in the blockchain network.
S106: when the first data terminal receives and agrees with the transaction request, a data index and a decryption key corresponding to the target category data are returned to the second data terminal through the intelligent transaction contract, and meanwhile, the transaction data contained in the transaction request are received;
the transaction data described in this step can be simply understood as the cost paid by the purchaser for realizing this transaction data, and the specific representation forms are various, and may be currency data, some exchanged document data, and so on.
Furthermore, a share proportion can be set for the application provider in the intelligent transaction contract due to the contribution of the application provider in the process, that is, the purchase cost paid by the data purchaser is simultaneously benefited by the application provider and the data generator, so that the application provider brings better use experience for the user under the excitation of the mechanism and continuously improves the market competitiveness of the product of the application provider, and the specific share proportion can be determined by the data generator and the application provider through negotiation, which is not specifically limited herein.
S107: and the second data terminal finds out the corresponding ciphertext on the distributed storage network according to the received data index and the decryption key and decrypts the ciphertext to obtain the readable original data.
Based on the technical scheme, the block chain-based data transaction method provided by the embodiment utilizes the decentralized characteristic of the block chain to overcome the defect of centralized storage, each user is a node in the block chain network, a data transaction channel between a data generator and a data buyer is established by deploying an intelligent transaction contract to the block chain network, a distributed storage network with low storage cost and high safety performance is selected for data storage, transactable data is stored in a ciphertext form and a data index with extremely small data volume is generated to locate a corresponding ciphertext, the data transaction method is different from the method of directly storing data to the block chain network, and the data storage cost can be effectively reduced. Meanwhile, the blockchain network can store all transaction records and synchronize to all nodes, so that the possibility of tampering is greatly avoided, and all transaction records are public and transparent.
Referring to fig. 2, fig. 2 is a flowchart illustrating a method for encrypting transactable data and locating a data purchaser in the blockchain-based data transaction method provided in the present application.
S201: the method comprises the steps that a first data terminal obtains identity identification information of the first data terminal and cycle starting time of each preset cycle;
s202: generating a public key and a private key which are uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm;
s203: the first data terminal encrypts tradable data generated in the corresponding preset period by using a public key uniquely corresponding to each preset period;
in this embodiment, S201, S202 and S203 provide a method for generating a unique key transformed with a period transformation, that is, using the identity information of the data generator that is not changed and the start time of each period transformed with time, a transformed public key and a transformed private key are obtained by using an asymmetric encryption algorithm together dynamically.
The asymmetric encryption algorithm is an algorithm capable of obtaining a pair of different keys based on some information, the pair of different keys are generally called a public key and a private key according to different use purposes, it needs to be noted that the content encrypted by the public key can be decrypted only by the private key generated at the same time, the same content encrypted by the private key can be decrypted only by the public key generated at the same time, the public key can be obtained easily, and the private key is generally held by a person, so that the file encrypted by the public key can be decrypted only by the private key held by the user, and the data can be firmly mastered in the hand of the user.
S204: establishing a key storage queue on the first data terminal, and storing each pair of public key and private key in pairs by using the key storage queue;
because the mode of encrypting the transactable data by using the transformed public key in different periods is adopted, the private key generated each time needs to be stored, so that the correct private key can be fed back to the data purchaser. This step provides a way to store the generated private key each time by establishing a key storage queue, and since the generation of each pair of asymmetric keys is proportional to the time, the asymmetric keys in the queue should be arranged according to the order of generation.
S205: storing the obtained ciphertext to a distributed storage network, wherein the distributed storage network generates a corresponding data index for the ciphertext stored in the distributed storage network;
s206: the second data terminal broadcasts the public key of the second data terminal to all nodes in the block chain network, so that the first data terminal encrypts the data index and the decryption key corresponding to the target type data by using the public key of the second data terminal.
On the basis of the previous embodiment, the embodiment provides a method for generating a unique key which is transformed along with cycle transformation, which can eliminate the hidden danger that different data buyers mutually transmit the same user decryption key, and well store a plurality of pairs of generated asymmetric keys in a way of establishing a key storage queue for subsequent searching, and finally adopt a broadcast way to inform the public key of the data buyers, thereby ensuring that only the real data buyers can finish decryption by using the decryption key stored by themselves.
Because the situation is complicated and cannot be illustrated by a list, a person skilled in the art can realize that many examples exist according to the basic method principle provided by the application and the practical situation, and the protection scope of the application should be protected without enough inventive work.
With reference to fig. 3, fig. 3 is a block diagram of a data transaction system based on a blockchain according to the present application, and specifically, the data transaction system may include:
the application issuing terminal 100 is configured to generate an intelligent trading contract corresponding to an issued application, and deploy the intelligent trading contract to the blockchain network; the intelligent trading contract is used for establishing a trading channel between two parties with data trading requirements;
a first data terminal 200 for classifying the tradable data generated by the application in use and establishing a data description table using description information of various kinds of tradable data and an address corresponding to an intelligent trading contract; encrypting the tradable data generated in each preset period by using the unique key, and storing the obtained ciphertext into a distributed storage network; when a transaction request is received and agreed, returning a data index and a decryption key corresponding to the target category data to the first data terminal through the intelligent transaction contract, and receiving transaction data contained in the transaction request;
the distributed storage network 300 is used for generating a corresponding data index for the ciphertext stored in the distributed storage network;
the second data terminal 400 is configured to obtain an address of the target variety data corresponding to the intelligent trading contract by looking up the description information in the data description table, and invoke the intelligent trading contract under the address to initiate a trading request for the target variety data to the blockchain network; finding out a corresponding ciphertext on the distributed storage network according to the received data index and the decryption key, and decrypting to obtain readable original data; wherein, each terminal is a component node in the block chain network.
The first data terminal may specifically acquire the identification information of the first data terminal and the cycle start time of each preset cycle; generating a public key and a private key which are uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm; and encrypting the data terminal corresponding to the tradable data generated in the preset period by using the public key uniquely corresponding to each preset period.
Further, the first data terminal may be further configured to: establishing a key storage queue, and storing each pair of public key and private key in pairs by using the key storage queue;
the second data terminal may be further configured to: broadcasting own public key to all nodes in the block chain network so that the first data terminal encrypts the data index and the decryption key corresponding to the target category data by using the public key of the second data terminal.
Furthermore, different transaction data dividing proportions can be set for the application issuing terminal issuing the application and the first data terminal generating the target category data in the intelligent transaction contract;
and the block chain network records all calling and using information of the intelligent trading contract deployed on the block chain network.
Fig. 4 is a schematic diagram illustrating logic trends among execution entities in the data transaction system based on the blockchain according to the present application.
The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The principles and embodiments of the present application are explained herein using specific examples, which are provided only to help understand the method and the core idea of the present application. It will be apparent to those skilled in the art that various changes and modifications can be made in the present invention without departing from the principles of the invention, and these changes and modifications also fall within the scope of the claims of the present application.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Claims (10)
1. A data transaction method based on a block chain is characterized by comprising the following steps:
an application issuing terminal generates an intelligent trading contract corresponding to an issued application, and deploys the intelligent trading contract to a blockchain network; the intelligent trading contract is used for establishing a trading channel between two parties with data trading requirements;
the first data terminal classifies the tradable data generated by the application in use, and establishes a data description table by using the description information of various tradable data and the address corresponding to the intelligent trading contract;
the first data terminal encrypts the tradable data generated in each preset period by using the unique key and stores the obtained ciphertext into the distributed storage network;
the distributed storage network generates corresponding data indexes for the ciphertext stored in the distributed storage network;
the second data terminal obtains the address of the target variety data corresponding to the intelligent trading contract by checking the description information in the data description table, and calls the intelligent trading contract under the address to initiate a trading request of the target variety data to the blockchain network;
when the first data terminal receives and agrees with the transaction request, returning a data index and a decryption key corresponding to the target variety data to the second data terminal through the intelligent transaction contract, and receiving transaction data contained in the transaction request;
the second data terminal finds out a corresponding ciphertext on the distributed storage network according to the received data index and the decryption key and decrypts the ciphertext to obtain readable original data; and each terminal is a constituent node in the block chain network.
2. The data transaction method of claim 1, wherein the first data terminal encrypts the tradable data generated in each preset period by using a unique key, and comprises:
the first data terminal acquires the self identity identification information and the cycle starting time of each preset cycle;
generating a public key and a private key uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm;
and the first data terminal encrypts the tradable data generated in the corresponding preset period by using the public key uniquely corresponding to each preset period.
3. The data transaction method according to claim 2, wherein after the first data terminal encrypts the tradable data generated in the corresponding preset period using the public key uniquely corresponding to each of the preset periods, the method further comprises:
and establishing a key storage queue on the first data terminal, and storing each pair of public key and private key in pairs by using the key storage queue.
4. The data transaction method of claim 3, prior to invoking the smart transaction contract under the address to initiate a transaction request for the target species of data to the blockchain network, further comprising:
and the second data terminal broadcasts the public key of the second data terminal to all nodes in the block chain network, so that the first data terminal encrypts the data index and the decryption key corresponding to the target variety data by using the public key of the second data terminal.
5. The data transaction method of claim 1, further comprising:
and setting different transaction data dividing proportions for an application issuing terminal issuing the application and a first data terminal generating the target category data in the intelligent transaction contract.
6. The data transaction method according to any one of claims 1 to 5, further comprising:
and the block chain network records all calling and using information of the intelligent trading contract deployed on the block chain network.
7. A blockchain-based data transaction system, comprising:
the system comprises an application issuing terminal, a block chain network and a block chain network, wherein the application issuing terminal is used for generating an intelligent trading contract corresponding to an issued application and deploying the intelligent trading contract to the block chain network; the intelligent trading contract is used for establishing a trading channel between two parties with data trading requirements;
the first data terminal is used for classifying the tradable data generated by the application in use and establishing a data description table by using the description information of various kinds of tradable data and the address corresponding to the intelligent trading contract; encrypting the tradable data generated in each preset period by using the unique key, and storing the obtained ciphertext into a distributed storage network; when the transaction request is received and agreed, returning a data index and a decryption key corresponding to the target variety data to the first data terminal through the intelligent transaction contract, and receiving the transaction data contained in the transaction request;
the distributed storage network is used for generating a corresponding data index for the ciphertext stored in the distributed storage network;
the second data terminal is used for obtaining an address of the target variety data corresponding to the intelligent trading contract by checking the description information in the data description table, and calling the intelligent trading contract under the address to initiate a trading request of the target variety data to the blockchain network; finding out a corresponding ciphertext on the distributed storage network according to the received data index and the decryption key, and decrypting to obtain readable original data;
and each terminal is a constituent node in the block chain network.
8. The data transaction system of claim 7, wherein the first data terminal is specifically configured to obtain identification information of itself and a cycle start time of each of the preset cycles; generating a public key and a private key uniquely corresponding to each preset period by the identity identification information and the period starting time through an asymmetric encryption algorithm; and encrypting the data terminal of the tradable data generated in the corresponding preset period by using the public key uniquely corresponding to each preset period.
9. The data transaction system of claim 8, wherein the first data terminal is further configured to: and establishing a key storage queue, and storing each pair of public key and private key in a paired manner by using the key storage queue.
10. The data transaction system of claim 9, wherein the second data terminal is further configured to: broadcasting own public key to all nodes in the block chain network so that the first data terminal encrypts the data index and the decryption key corresponding to the target category data by using the public key of the second data terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810461735.2A CN108681898B (en) | 2018-05-15 | 2018-05-15 | Data transaction method and system based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810461735.2A CN108681898B (en) | 2018-05-15 | 2018-05-15 | Data transaction method and system based on block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108681898A CN108681898A (en) | 2018-10-19 |
CN108681898B true CN108681898B (en) | 2021-09-17 |
Family
ID=63806345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810461735.2A Active CN108681898B (en) | 2018-05-15 | 2018-05-15 | Data transaction method and system based on block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681898B (en) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111357023A (en) * | 2018-10-23 | 2020-06-30 | 北京嘀嘀无限科技发展有限公司 | Method and system for transferring data in a blockchain system |
CN109377227A (en) * | 2018-11-01 | 2019-02-22 | 杭州珞珈数据科技有限公司 | A kind of private data method of commerce on common data platform |
CN109472699B (en) * | 2018-11-05 | 2021-11-09 | 陕西优米数据技术有限公司 | Automatic artificial intelligence data sharing method and device based on block chain |
CN109462588B (en) * | 2018-11-13 | 2021-04-16 | 上海物融智能科技有限公司 | Decentralized data transaction method and system based on block chain |
CN109658240A (en) * | 2018-11-20 | 2019-04-19 | 深圳变设龙信息科技有限公司 | A kind of data trade method, apparatus and terminal device based on block chain |
CN109493055B (en) * | 2018-11-28 | 2022-09-13 | 深圳力维智联技术有限公司 | Network access block chain equipment based on block chain, data processing method and device |
CN109587132B (en) * | 2018-11-29 | 2021-03-26 | 南京苏宁软件技术有限公司 | Data transmission method and device based on alliance chain |
CN109347878B (en) * | 2018-11-30 | 2020-06-05 | 西安电子科技大学 | Decentralized data verification and data security transaction system and method |
CN111027971B (en) | 2018-12-07 | 2023-08-22 | 深圳市智税链科技有限公司 | Method, proxy node and medium for determining accounting node in blockchain network |
CN109657501B (en) * | 2018-12-12 | 2020-07-03 | 杭州基尔区块链科技有限公司 | Traceable anti-tampering chip research and development transaction data storage method and system |
CN109726201B (en) * | 2018-12-12 | 2020-05-05 | 杭州基尔区块链科技有限公司 | Chip research and development transaction data storage method and system based on intelligent contract |
CN110059495B (en) * | 2018-12-14 | 2020-11-17 | 创新先进技术有限公司 | Data sharing method, device and system and electronic equipment |
CN111429134A (en) * | 2018-12-21 | 2020-07-17 | 北京京东尚科信息技术有限公司 | Data transaction method and device based on block chain |
CN109727033B (en) * | 2018-12-29 | 2020-12-11 | 杭州趣链科技有限公司 | Block chain-based data security access control method |
CN109636610B (en) * | 2019-02-01 | 2022-10-04 | 安徽中科晶格技术有限公司 | Decentralized data transaction system and method |
CN109886812B (en) * | 2019-02-15 | 2021-04-20 | 航天恒星科技有限公司 | Data transaction system and method based on block chain |
CN109889522B (en) * | 2019-02-25 | 2022-02-11 | 重庆邮电大学 | Block chain-based Internet of things information security protection method |
CN109934000B (en) * | 2019-03-12 | 2021-06-29 | 黑龙江世纪精彩科技有限公司 | Entertainment industry cooperative intention matching method based on block chain technology and storage medium |
CN109831527B (en) * | 2019-03-13 | 2021-12-28 | 试金石信用服务有限公司 | File processing method, user side, server and readable storage medium |
CN111726318A (en) * | 2019-03-18 | 2020-09-29 | 苏宁易购集团股份有限公司 | Sensitive data transaction method and system based on block chain |
CN109981416B (en) * | 2019-04-04 | 2022-07-12 | 中山大学 | Block chain performance detection method and system |
CN110084062A (en) * | 2019-04-18 | 2019-08-02 | 卓尔购电子商务(武汉)有限公司 | A kind of file storage identification method, system, medium and device based on block chain |
WO2020211073A1 (en) * | 2019-04-19 | 2020-10-22 | 云图有限公司 | Blockchain and secure multi-party computation-based transaction method and apparatus, and storage medium |
CN110245489B (en) * | 2019-05-20 | 2021-04-27 | 创新先进技术有限公司 | Receipt storage method, node and system based on plaintext log |
CN110264197B (en) * | 2019-05-20 | 2021-05-18 | 创新先进技术有限公司 | Receipt storage method and node combining event function type and judgment condition |
CN110245948A (en) * | 2019-05-27 | 2019-09-17 | 清华大学 | Data trade method and system based on block chain and asymmetric encryption |
CN110298661B (en) * | 2019-07-01 | 2023-06-23 | 贵州大学 | Intelligent contract-based big data security fair exchange method |
CN112243047B (en) * | 2019-07-19 | 2022-04-01 | 傲为有限公司 | Public chain based block chain network addressing method |
US11251963B2 (en) | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
CN110430186B (en) * | 2019-07-31 | 2020-07-21 | 国网电子商务有限公司 | Block chain data transaction system and method based on agent re-encryption and intelligent contract |
US11252166B2 (en) | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Providing data authorization based on blockchain |
US11057189B2 (en) | 2019-07-31 | 2021-07-06 | Advanced New Technologies Co., Ltd. | Providing data authorization based on blockchain |
CN110457875B (en) * | 2019-07-31 | 2021-04-27 | 创新先进技术有限公司 | Data authorization method and device based on block chain |
CN110400144A (en) * | 2019-08-05 | 2019-11-01 | 国网电子商务有限公司 | A kind of electricity transaction method and device based on block chain |
CN111080299B (en) * | 2019-12-27 | 2020-12-15 | 广州骏伯网络科技有限公司 | Anti-repudiation method for transaction information, client and server |
CN113065951A (en) * | 2020-01-02 | 2021-07-02 | 苏州同济区块链研究院有限公司 | Transaction method, system, device, equipment and medium based on block chain |
US11310051B2 (en) | 2020-01-15 | 2022-04-19 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
CN111402055B (en) * | 2020-03-19 | 2022-08-30 | 合肥工业大学 | Decentralized data transaction method based on block chain |
CN111585764A (en) * | 2020-04-28 | 2020-08-25 | 浙江大学宁波理工学院 | System for block chain on terminal equipment data |
CN111414434B (en) * | 2020-05-20 | 2021-09-03 | 华北电力大学 | Block chain-based data transaction management network, transaction device and storage medium |
CN113051596A (en) * | 2021-04-20 | 2021-06-29 | 普华云创科技(北京)有限公司 | Block chain and distributed storage based hierarchical encryption method and system |
CN113268773A (en) * | 2021-06-09 | 2021-08-17 | 广东工业大学 | Personal data transaction system and method |
CN113570461A (en) * | 2021-07-23 | 2021-10-29 | 北京芯安微电子技术有限公司 | User data transaction system based on block chain |
CN115225258B (en) * | 2022-09-19 | 2023-01-06 | 中电科新型智慧城市研究院有限公司 | Block chain-based cross-domain trusted data security management method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956923A (en) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | Asset transaction platform and digital certification and transaction method for assets |
CN106534097A (en) * | 2016-10-27 | 2017-03-22 | 上海亿账通区块链科技有限公司 | Block chain trading based authority control method and system |
CN106941487A (en) * | 2017-02-24 | 2017-07-11 | 阿里巴巴集团控股有限公司 | A kind of data transmission method for uplink and device |
CN107273410A (en) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | Distributed storage based on block chain |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346406B2 (en) * | 2016-03-28 | 2019-07-09 | International Business Machines Corporation | Decentralized autonomous edge compute coordinated by smart contract on a blockchain |
-
2018
- 2018-05-15 CN CN201810461735.2A patent/CN108681898B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956923A (en) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | Asset transaction platform and digital certification and transaction method for assets |
CN106534097A (en) * | 2016-10-27 | 2017-03-22 | 上海亿账通区块链科技有限公司 | Block chain trading based authority control method and system |
CN106941487A (en) * | 2017-02-24 | 2017-07-11 | 阿里巴巴集团控股有限公司 | A kind of data transmission method for uplink and device |
CN107273410A (en) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | Distributed storage based on block chain |
Non-Patent Citations (1)
Title |
---|
一种高效安全的去中心化数据共享模型;董祥千;《计算机学报》;20180305;第41卷(第5期);第1021-1036页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108681898A (en) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681898B (en) | Data transaction method and system based on block chain | |
CN109544160B (en) | Transaction authenticity verification method and system based on block chain and intelligent contract | |
US11074650B1 (en) | Method and system for blockchain-based gemstone ownership, identity, custody, supply-chain transfer, trading, and secure payments | |
CN108256859B (en) | Financial product transaction consensus method, node and system based on block chain | |
CN109544331B (en) | Supply chain financial application method and device based on block chain, terminal equipment and storage medium | |
WO2020211462A1 (en) | Blockchain-based service data chaining method and system | |
US8627508B2 (en) | Cloud key directory for federating data exchanges | |
WO2020053647A2 (en) | System, method, and apparatus for online content platform and related cryptocurrency | |
TW202016853A (en) | Data storage and acquisition method and device based on block chain | |
CN107967416A (en) | The methods, devices and systems of copyright right-safeguarding detection | |
CN106101258A (en) | A kind of interface interchange method of mixed cloud, Apparatus and system | |
JP7508521B2 (en) | Blockchain-based system and method for communicating, storing, and processing data over a blockchain network | |
KR20190059491A (en) | System and method for e-commerce with shared and distributed ledger coupled with outer storage devices | |
JP2003526858A (en) | Easier trading in e-commerce | |
CN113127916A (en) | Data set processing method, data processing device and storage medium | |
US20200058091A1 (en) | Address management system | |
CN110839029A (en) | Micro-service registration method and device | |
CN109377220B (en) | Block chain-based media data transaction method and system and computer storage medium | |
CN108537047B (en) | Method and device for generating information based on block chain | |
WO2020140672A1 (en) | Blockchain-based asset data processing method, system and storage medium | |
US20180196948A1 (en) | Distributed and decentralized clound storage system and method thereof | |
CN112613956A (en) | Bidding processing method and device | |
CN110490640A (en) | Method, apparatus and system for object distribution processor | |
JP5084746B2 (en) | Method and apparatus for establishing peer-to-peer karma and trust | |
CN116204923A (en) | Data management and data query methods and devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |