CN109886812B - Data transaction system and method based on block chain - Google Patents
Data transaction system and method based on block chain Download PDFInfo
- Publication number
- CN109886812B CN109886812B CN201910118789.3A CN201910118789A CN109886812B CN 109886812 B CN109886812 B CN 109886812B CN 201910118789 A CN201910118789 A CN 201910118789A CN 109886812 B CN109886812 B CN 109886812B
- Authority
- CN
- China
- Prior art keywords
- data
- arbitration
- buyer
- seller
- module
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
The invention provides a data transaction system and a data transaction method based on a block chain. The data transaction comprises a seller module and a buyer module, the seller module divides data into a plurality of data fragments and encrypts each data fragment, and the buyer module selects a data fragment set to be purchased and submits an index, a deposit, a payment and a public key of the buyer of the purchased data fragment to a sales contract; the seller module encrypts the data key by using a buyer public key, submits the data key to the buyer module through a public channel, and uploads the evidence to the block chain; the buyer module obtains the encrypted data key, decrypts the encrypted data key to obtain a data key plaintext, and decrypts the obtained encrypted data by using the data key plaintext; when the buyer module does not agree with the transaction, the buyer module submits a transaction completion application, otherwise, the buyer module submits an arbitration application.
Description
Technical Field
The present invention relates generally to block chaining techniques. More particularly, the present invention relates to a blockchain based data transaction system with privacy arbitration. For example, the present invention may be used for block chain based data transactions, smart contracts, and arbitration of transaction disputes.
Background
The characteristics of disclosing, transparency, verifiability and the like of the blockchain enable the blockchain to obtain the title of a trusted machine, and the blockchain is particularly suitable for trading of copyright data and privacy data because trust is the basis of trading. Based on the characteristics of the blockchain, the copyright/privacy data is generally encrypted and then uploaded to the blockchain or other publicly accessible places such as a public database, a web server, an ftp server, distributed network storage, IPFS, and the like. The data key is mainly transmitted in the transaction process. If the data key is transmitted directly through the smart contract on the blockchain, the key information is at risk of leakage. If the data key is transmitted down the chain, there is a potential for disputes and, therefore, arbitration is required. Conventional arbitration mechanisms are not suitable in blockchain systems, and centralized arbitration does not meet blockchain scenarios.
Disclosure of Invention
The invention aims to provide a data transaction system with privacy arbitration based on a block chain, which can promote the completion of transaction and reduce the occurrence of dishonest behavior in the transaction process through a punishment mechanism.
In one aspect, the present invention provides a blockchain-based data transaction system, including a seller module and a buyer module configured to perform the following operations:
the seller module divides data into a plurality of data fragments, encrypts each data fragment by using different data keys respectively, stores the encrypted data fragments, data fragment description, indexes of the data fragment description and data fragment prices to a publicly available position, and submits deposit to a sales contract;
the buyer module selects a data fragment set to be purchased and submits at least an index, deposit, payment and a buyer public key of the purchased data fragment to the sales contract;
the seller module encrypts the data key by using a buyer public key, submits the data key to the buyer module through a public channel, and uploads the evidence to the block chain;
the buyer module obtains the encrypted data key from the seller module, decrypts the encrypted data key to obtain a data key plaintext, and decrypts the encrypted data obtained by the public channel by using the data key plaintext;
when the buyer module does not agree with the transaction, submitting a transaction completion application, otherwise submitting an arbitration application;
when the sale contract receives the transaction completion application of the buyer module, the payment of the goods is paid to the seller module, the refund operation of the deposit of both parties is executed, and when the arbitration contract receives the arbitration application, the arbitration contract is called to start arbitration and is processed according to the arbitration result.
In one embodiment, in the arbitration contract, an arbitration committee is acted by an odd number of arbitrators, and each arbitrator evaluates at least whether a data key provided by the seller module is encrypted by a public key of the buyer module, whether the data key can correctly decrypt plaintext data, and whether the decrypted plaintext data matches its description, for one data fragment randomly selected by the arbitration contract, to make an arbitration result.
In one embodiment, wherein the arbitrator votes to favor the seller module when the decision of the evaluation is positive, and votes to favor the buyer module otherwise, and the arbitration contract takes the majority vote as the final arbitration result.
In one embodiment, the data segments for which different arbitrators perform arbitration are different.
In one embodiment, wherein the arbitrator is voluntarily undertaken by a mineworker who successfully generated a valid tile.
In one embodiment, when the arbitration result is that the seller module wins, the money of the buyer module is paid to the seller module, the deposit of the buyer module is used as arbitration fee, and the deposit of the seller module is returned, and when the arbitration result is that the buyer module wins, the money of the buyer module and the deposit are returned, and the deposit of the seller module is used as arbitration fee.
In one embodiment, wherein the arbitration fee is divided equally by all arbitrators.
In one embodiment, the arbitration fee is divided equally by the arbitrator voting in line with the final arbitration result.
In another aspect, the present invention provides a method for data transaction between a buyer and a seller based on a blockchain, including:
dividing data into a plurality of data fragments at a seller, respectively encrypting each data fragment by using different data keys, storing at least the encrypted data fragment, data fragment description and index thereof, and data fragment price to a publicly available position, and submitting a deposit to a sales contract;
selecting a data fragment set to be purchased at a buyer, and submitting at least an index of the purchased data fragment, deposit, payment and a buyer public key to the sales contract;
encrypting the data key at the seller with a buyer public key and submitting it to the buyer through a public channel while uploading evidence to the blockchain;
obtaining the encrypted data key from the seller at the buyer, decrypting to obtain a data key plaintext, and decrypting the encrypted data obtained from the public channel by using the data key plaintext;
when the buyer does not agree with the transaction, submitting a transaction completion application, otherwise submitting an arbitration application;
and when the arbitration contract receives the arbitration application, the arbitration contract is called to start arbitration, and the arbitration is processed according to the arbitration result.
In one embodiment, in the arbitration contract, an arbitration committee is assumed by an odd number of arbitrators, and each arbitrator evaluates at least whether a data key provided by the seller is encrypted by a public key of the buyer, whether the data key can correctly decrypt plaintext data, and whether the decrypted plaintext data matches its description, for one data segment randomly selected by the arbitration contract, to make an arbitration result.
The technical scheme of the invention not only realizes arbitration under the condition of protecting privacy, but also can reduce transaction disputes and promote normal transaction.
First, assuming that the seller is fraudulent and either does not submit the correct data (data does not match the description) or does not submit the correct data encryption key, the buyer will ask for arbitration, and the result will be that the seller will not only receive the buyer's payment but will also lose the deposit paid by the seller. Thus, the result of seller fraud is loss only, not harvest. The solution of the invention also enables the seller to describe the data of his sales as accurately as possible, so that the arbitrator can make a vote of his interest, which is advantageous for both parties.
Secondly, it is impossible for the purchaser to commit fraud from the point of view that the data key is only available and the clear text of the purchase data is also available due to their prepaid payment. If the seller is confident that the transaction is proceeding properly, the buyer still requests arbitration, which results in loss of the deposit to the buyer.
Based on the above analysis, when two parties or one party have different opinions about the transaction, in order to avoid deposit loss, the two parties can negotiate as far as possible under the link, which is beneficial to the smooth proceeding of the transaction and the taking back of the respective deposit, thereby reducing the occurrence of transaction disputes.
Finally, the number of data segments used for arbitration is extremely limited, the selection of data segments is also random, and the arbitrator is not a fixed or pre-selected choice. These measures are beneficial for protecting vendor data privacy. The seller can divide the data into small data fragments as much as possible, and the data can be better protected in the arbitration process.
Drawings
The invention and its advantages will be better understood by reading the following description, provided by way of example only, and made with reference to the accompanying drawings, in which:
FIG. 1 is a flow diagram of the operation of a blockchain-based data transaction system according to an embodiment of the present invention;
FIG. 2 is a schematic illustration of a sales contract according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an arbitration contract according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a Merkle tree according to an embodiment of the invention; and
FIG. 5 is a schematic diagram of a verification path of a Merkle tree according to an embodiment of the invention.
Detailed Description
On one hand, under the condition that both parties of the transaction are honest, the transaction can be smoothly carried out, a buyer can obtain data purchased by the buyer, a seller can receive the goods money, and other people cannot obtain the seller data; on the other hand, if a transaction dispute occurs, the arbitration mechanism will cause the dishonest party not only to fail to harvest, but also to pay a price because the deposit is used as an arbitration fee, and the dishonest party will not be lost. Therefore, the invention can promote the completion of the transaction and reduce the occurrence of dishonest behavior in the transaction process through a punishment mechanism.
For convenience of describing the technical scheme of the invention, the following exemplary representation is adopted:
di: representing the plaintext of a piece of data for a transaction;
e (k, x): the expression that x is encrypted by a key k is simply marked, and an encryption algorithm is not distinguished;
d (k, y): meaning that y is decrypted with key k, again without distinguishing the decryption algorithm;
pk: a public key (public key) representing the buyer;
sk: a private key (secret key) representing the purchaser;
{xi}: set of representations (x)1,x2,…,xn) The letter x may be replaced by any letter.
For data transactions, a seller may initially divide data to be sold into a plurality of data segments d1,…,dnAnd different keys k are respectively used for different data segments1,…,knEncrypting to obtain corresponding ciphertext c1,…,cn. These keys k for directly encrypting data1,…,knReferred to as a data key. The seller places the encrypted data, descriptive information about the data that helps the purchaser to understand, the price of the data, etc. at a publicly available location, either on or off the block chain. The seller then submits his or her deposit via a smart contract (i.e., sales contract).
Preferably, the segmentation of the data segments follows the following principle: firstly, each data segment is required to enable a third party arbitrator to judge the authenticity of the segment of data, and the arbitration process can make an arbitration beneficial to a seller on the premise that the seller has no dishonest behavior; and the information of each data segment exposed to the arbitrator needs to be as less as possible so as to reduce information leakage in the arbitration process.
Based on the above-described settings, the data transaction operation of the present invention is described below with reference to fig. 1. Fig. 1 is a flowchart of the operation of a blockchain-based data transaction system according to an embodiment of the present invention. As shown in fig. 1, at step S101, data transaction begins. At step S102, the buyer submits a deposit, a payment, a public key, etc. to the sales contract (as shown in FIG. 2). In one embodiment, the buyer may browse the data information, determine the data to be purchased, and submit a deposit and a payment, a public key pk of the buyer, and a data index to be purchased through a sales contract, wherein the payment refers to the amount of money to be paid by the buyer to purchase the relevant data.
At step S103, it may be determined whether the seller deposit is sufficient. If the seller does not submit a deposit, or the deposit is insufficient, the sales contract will automatically refund the buyer' S deposit and the amount of the good, and the transaction will be cancelled, i.e., the transaction is terminated, at step S104. When it is determined at step S103 that the seller deposit is sufficient, the seller submits the encrypted data key c (i.e., the encrypted ciphertext).
In one embodiment, when the seller receives the contract notice and the buyer's public key pk, the seller encrypts the data key { k } corresponding to the data purchased by the buyer using the buyer's public key pkiGet { E (pk, k) }i) And delivered to the buyer via a common channel, such as a publicly accessible database, website, etc. In one embodiment, the seller may also link the encrypted data key directly. On the one hand, the data key occupies a large space, and on the other hand, the encrypted data key is not needed after the transaction or the arbitration is completed. Therefore, the preferred method is to not link the encrypted data key as long as it is publicly accessible. The encrypted data key may be deleted after the transaction is completed or after arbitration is completed to free up space.
In one embodiment, the seller submits the proof of data key transmission to the chain (i.e., upload to the blockchain) for arbitration. The evidence can be any evidence that can prove that the data key ciphertext is uploaded, such as { E (pk, k) }i) Hash to get the root of the Merkle tree. In one embodiment, the data key is encrypted with the buyer's public keyAs evidence, the Merkle tree root is formed by the hash value of (a). The formation process of the root of the Merkle tree is shown in figure 4. In the Merkle tree, the content in the leaf node of the first lowest layer is the hash value of the data key ciphertext. Next, the intermediate node of the upper layer is formed by hashing the hash value of the next two adjacent nodes once again, and so on. Finally, until a Merkle root node is formed.
In one embodiment, when the buyer obtains the data key cryptogram { E (pk, k) of the data purchased by the buyer uploaded by the seller in the previous stepi) Get the plaintext k of the data key by decrypting with its own private keyi=D(E(pk,ki) ) then with the data key k, respectivelyiDecrypting ciphertext c of purchased dataiGet the plaintext data set for purchase { d }i=D(ki,ci)}。
At step S106, it is determined by the buyer whether the transaction is normal. If the above operation is successful and the buyer is satisfied with the transaction, the buyer submits a transaction completion application to the sales contract within a prescribed time at step S112. Next, at step S113, the sales contract transfers the payment to the seller, the parties refund, and the transaction ends at step S114.
However, when the buyer considers the transaction not to be normal at step S106, the buyer is not satisfied with the transaction. The unsatisfied condition may be, for example, no data key received, a data key mismatch, a data mismatch with a description, etc. At this time, the buyer may submit arbitration to the arbitration contract within a prescribed time at step S107.
Thereafter, at step S108, the seller may submit a plaintext, ciphertext, Merkle tree validation path (as shown in FIG. 5) specifying the data key to enable arbitration via an arbitration contract.
To this end, it is determined at step S109 whether the arbitration result supports the seller. When the arbitrator arbitrates through an arbitration contract (as shown in fig. 3), if the result of arbitration is that the seller wins, the seller obtains the payment, the seller deposit is refunded, the buyer deposit is paid as an arbitration fee to the arbitrator, and the transaction is ended at step S114. On the contrary, if the arbitration result is that the buyer wins, the money and the buyer deposit are returned to the buyer, the seller deposit is not paid, and is used as the arbitrator for arbitrating the payment, and the transaction is ended at step S114.
The arbitration mechanism of the present invention will be described in detail below.
1. Arbitration committee
The arbitration committee consists of k arbiters, k being an odd number greater than 1. In one embodiment, the arbitrator may be voluntarily undertaken by the winning miner, i.e., the miner who generated the correct tile. The arbitrators are generated in a sequence, each arbitrator being generated after the previous arbitrator has completed the vote. First, suppose the buyer purchases J data segments, and suppose a miner receives an arbitration request to become the ith arbitrator AiIt arbitrates the tasks as follows.
2. Arbitration rules
The arbitration steps for each arbitrator are as follows:
(1) arbitrator AiInvoking an arbitration contract (as shown in FIG. 3);
(2) the arbitration contract automatically generates a random number RAND, 0<=RAND<1, the sequence number of the selected data segment is J ═ RAND +1]Here, the term]Directing the rounding-down operation, the arbitration contract sends j to the seller and arbitrator Ai. To improve the quality of the random number, the height of the block, the current time, the total amount of purchased data segments J, etc. can be used as seeds to generate the random number RAND.
(3) Seller to arbitrator AiProviding a data key k for a jth data segmentjPlaintext, buyer's public key pk, encrypt k with the buyer's public keyjThe obtained ciphertext and the Merkle tree verification path; wherein the buyer public key pk can also be provided by a contract, the data key kjThe ciphertext of (a) may also be obtained from a public channel.
(4) Arbitrator AiCarry out arbitration, AiThe purpose of arbitration is to determine whether the seller has misbehavior during the transaction, which requires the following determinations:
i. is the seller's data key cryptogram provided to the buyer consistent with that provided to him? This can be verified by substituting the data key cryptogram submitted to itself by the seller into the Merkle tree (as shown in fig. 4), and if the verification is passed, the conclusion is yes, otherwise the conclusion is no.
is the data key cryptogram provided by the seller to the buyer encrypted with the buyer public key? This can be done by encrypting the data key plaintext with the buyer's public key and then comparing it with the data key ciphertext provided by the seller. If the two are consistent, the result is yes, otherwise, the result is no.
is the data key provided by the seller to the buyer correct? The decision is made by whether the decryption of the data with the plaintext of the data key was successful. If successful, the conclusion is "yes", otherwise the conclusion is "no".
is the seller's description of the data trustworthy, i.e., is the decrypted data consistent with the description? If the two are consistent, the result is yes, otherwise, the result is no.
(5) Only if the four questions of the previous step are concluded "yes", the arbitrator votes for the support of the seller, otherwise votes for the support of the buyer. If the seller does not provide the information needed for arbitration within a period of time, the arbitrator votes for support of the buyer.
3. Generation of arbitration conclusions
Of the k arbitrators, each arbitrator's vote supports either the seller or the buyer, there must be more than half of the votes, with the more than half vote being the final arbitration conclusion of the arbitration committee.
4. Arbitration termination and early termination
When all k arbitrators complete the vote, the vote ends and no new arbitrator is generated.
Preferably, when the number of votes supporting a certain party reaches (k +1)/2, even if the number of arbitrators does not reach k, the voting result is determined, the voting can be terminated in advance, the voting conclusion of the majority is taken as the final arbitration conclusion, and no new arbitrator is generated.
5. Allocation of arbitration fees
The party with the arbitration failure, whose deposit is used as arbitration fee to be returned to arbitration committee, is distributed among the arbitrators. In one embodiment, the allocation may be such that all arbitrators participate in the bisection. Preferably, the arbitration fee can be divided equally by those arbitrators whose votes agree with the arbitration final conclusion. This has the advantage of prompting the arbitrator to make a fair arbitration, since only a fair arbitration has a greater probability of incurring an arbitration fee. With this arbitration fee allocation, in the case of a small arbitration committee, the subsequent arbitrator may be caused to make the most favorable vote for itself instead of making a fair vote according to the existing voting results. For example, in the case where the committee has only 3 arbitrators, the second arbitrator may directly select a vote in line with the first arbitrator for the purpose of obtaining the arbitration fee, in which case the arbitration result is not greatly different from the case where there is only one arbitrator. Therefore, optimally, the number k of arbitrators is preferably greater than 3.
Subsequently, the allocation of the arbitration fee is automatically completed by the arbitration contract, so that the arbitration is terminated.
The arbitration application is typically initiated by the buyer. Since arbitration necessarily results in the deposit of a party being deducted. For the benefit of both parties, when the two parties have different opinions on the transaction, the buyer and the seller negotiate in a private way as much as possible, and the arbitration is only requested when the negotiation is not successful.
In the invention, the selection of the arbitrator, the arbitration process, the issuance of the arbitration result, the processing of the deposit and the like can be automatically executed through an arbitration contract (or intelligent contract). Arbitration candidates may decide themselves whether to participate in arbitration, such as by making a determination based on how much arbitration fee is paid. The number of arbitrators may be agreed upon by the buyer and seller via a smart contract, or may be determined by a smart contract pre-designed by the seller. For arbitration fairness and fairness, the number of arbitrators should be an odd number greater than 3.
During arbitration, the arbitrator needs to substitute the data key ciphertext into the Merkle tree for verification, and fig. 5 shows a schematic diagram of a Merkle tree verification path for the hash value of the data key ciphertext, where the verification path is: hE,HF,HGH,HABCD,HIKLMNOPR。
With respect to the determination of the amount of the deposit, the amount of the deposit should be premised on sufficient payment of the arbitration fee upon the occurrence of the dispute. The seller may submit a deposit for each transaction. Preferably, the seller may pre-submit a certain amount of deposit to his "deposit pool". In each transaction, only the same amount of deposit as that of the buyer is extracted from the deposit pool of the seller as the deposit for the transaction, and the deposit is returned to the deposit pool directly when the deposit is returned. The method has the advantages that on one hand, the deposit of the buyer and the seller is the same, the fairness is reflected, on the other hand, the operation of the seller for each transaction is reduced, and meanwhile, the quantity of data storage on the block chain is also reduced. When the seller decides not to sell any more, the deposit in its deposit pool refunds the seller after a period of lock. The purpose of setting the lock period is to prevent it from having an outstanding transaction.
In the arbitration process, the number of people willing to participate in arbitration is insufficient due to insufficient deposit used as arbitration fee, and the arbitration can not be completed in a long time. At this time, both parties need to add deposit, and if the deposit is overdue, the arbitrating contract automatically judges the failure.
The transaction completion application and the arbitration application are both submitted by the buyer, and if the buyer does not submit the application within the specified time, the intelligent contract automatically executes the transaction completion step. Preferably, the buyer's partial deposit is deducted as a late deposit for payment to the seller. The "stipulated time" here may be specified by a sales contract or a platform contract. In terms of time setting, the processing time of the buyer and the negotiation time when two parties have different opinions about the transaction need to be reserved.
Sales contracts and arbitration contracts (both intelligent contracts) and their interaction steps with sellers and buyers are shown in fig. 2 and 3, respectively. In one embodiment, the sales contract and arbitration contract may be two different portions or branches of an intelligent contract, or may be two separate, interoperable intelligent contracts. Since the specific operations regarding the sales contracts and arbitration contracts have been described above, they will not be described in detail here.
Based on the above description of the present application, those skilled in the art will appreciate that the technical solutions of the present invention may generally include in one embodiment: (1) the seller (or seller module) prepares the data and offers the data for sale; (2) the seller submitting a deposit to the sales contract; (3) realizing privacy-protected transaction and arbitration with a buyer (or a buyer module) through a sales contract and an arbitration contract; (4) when the seller is no longer selling, the sales contract refunds the seller's remaining deposit.
The invention solves the problems of data key transmission and payment of goods payment of the on-chain transaction through the sales contract and solves the problem of dispute of the transaction through the arbitration contract, and can be widely applied to public chains, private chains and alliance chains.
Although the present invention is described in the above embodiments, the description is only for the convenience of understanding the present invention, and is not intended to limit the scope and application of the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (8)
1. A blockchain-based data transaction system comprising a seller module and a buyer module configured to perform the following operations:
the seller module divides data into a plurality of data fragments, encrypts each data fragment by using different data keys respectively, stores the encrypted data fragments, data fragment description, indexes of the data fragment description and data fragment prices to a publicly available position, and submits deposit to a sales contract;
the buyer module selects a data fragment set to be purchased and submits at least an index, deposit, payment and a buyer public key of the purchased data fragment to the sales contract;
the seller module encrypts the data key by using a buyer public key, submits the data key to the buyer module through a public channel, and uploads the evidence to the block chain;
the buyer module obtains the encrypted data key from the seller module, decrypts the encrypted data key to obtain a data key plaintext, and decrypts the encrypted data obtained by the public channel by using the data key plaintext;
when the buyer module does not agree with the transaction, submitting a transaction completion application, otherwise submitting an arbitration application; and
when the sale contract receives the transaction completion application of the buyer module, paying the goods money to the seller module, executing the refund operation of the deposit of both parties, and when the arbitration contract receives the arbitration application, calling the arbitration contract to start arbitration and processing according to the arbitration result;
in the arbitration contract, an arbitration committee is acted by an odd number of arbitrators, and each arbitrator judges at least whether a data key provided by the seller module is encrypted by a public key of the buyer module, whether the data key can be correctly decrypted to obtain plaintext data and whether the decrypted plaintext data is consistent with the description of the data key, aiming at one data segment randomly selected by the arbitration contract, so as to make an arbitration result.
2. The data transaction system of claim 1, wherein the arbitrator votes to favor the seller module when the outcome of the evaluation is positive, and votes to favor the buyer module otherwise, and the arbitration contract takes the majority vote as the final arbitration result.
3. The data transaction system of claim 1, wherein the data segments for which different arbitrators perform arbitration are different.
4. The data transaction system of claim 3, wherein the arbitrator is voluntarily undertaken by a mineworker who successfully generated a valid block.
5. The data transaction system of claim 2, wherein the money of the buyer module is paid to the seller module when the arbitration result is that the seller module wins, the deposit of the buyer module is used as the arbitration fee, and the deposit of the seller module is refunded, and the money of the buyer module and the deposit are refunded when the arbitration result is that the buyer module wins, and the deposit of the seller module is used as the arbitration fee.
6. The data transaction system of claim 5, wherein the arbitration fee is divided equally by all arbitrators.
7. The data transaction system of claim 5, wherein the arbitration fee is divided equally by an arbitrator voting in line with the final arbitration result.
8. A blockchain-based data transaction method between a buyer and a seller, comprising:
dividing data into a plurality of data fragments at a seller, respectively encrypting each data fragment by using different data keys, storing at least the encrypted data fragment, data fragment description and index thereof, and data fragment price to a publicly available position, and submitting a deposit to a sales contract;
selecting a data fragment set to be purchased at a buyer, and submitting at least an index of the purchased data fragment, deposit, payment and a buyer public key to the sales contract;
encrypting the data key at the seller with a buyer public key and submitting it to the buyer through a public channel while uploading evidence to the blockchain;
obtaining the encrypted data key from the seller at the buyer, decrypting to obtain a data key plaintext, and decrypting the encrypted data obtained from the public channel by using the data key plaintext;
when the buyer does not agree with the transaction, submitting a transaction completion application, otherwise submitting an arbitration application; and
when the sales contract receives the transaction completion application of the buyer, paying the payment to the seller, executing the refund operation of the deposit of both parties, and when the arbitration contract receives the arbitration application, calling the arbitration contract to start arbitration and processing according to the arbitration result;
wherein in the arbitration contract, an arbitration committee is acted by an odd number of arbitrators, and each arbitrator evaluates at least whether the data key provided by the seller is encrypted by the public key of the buyer, whether the data key can correctly decrypt the plaintext data, and whether the decrypted plaintext data is consistent with the description thereof, for one data segment randomly selected by the arbitration contract, to make an arbitration result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910118789.3A CN109886812B (en) | 2019-02-15 | 2019-02-15 | Data transaction system and method based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910118789.3A CN109886812B (en) | 2019-02-15 | 2019-02-15 | Data transaction system and method based on block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109886812A CN109886812A (en) | 2019-06-14 |
CN109886812B true CN109886812B (en) | 2021-04-20 |
Family
ID=66928218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910118789.3A Active CN109886812B (en) | 2019-02-15 | 2019-02-15 | Data transaction system and method based on block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109886812B (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110288346A (en) * | 2019-06-28 | 2019-09-27 | 杭州复杂美科技有限公司 | Block chain distributed storage method for down loading, equipment and storage medium |
CN110443609A (en) * | 2019-07-04 | 2019-11-12 | 杭州复杂美科技有限公司 | Multi-signature method of commerce, equipment and storage medium |
CN111177738A (en) * | 2019-10-09 | 2020-05-19 | 北京海益同展信息科技有限公司 | Electronic reading management method and device, electronic equipment and storage medium |
CN111401891B (en) * | 2020-02-19 | 2023-06-16 | 建信金融科技有限责任公司 | Data management method and device applied to blockchain |
CN111369236B (en) * | 2020-02-19 | 2023-07-07 | 建信金融科技有限责任公司 | Data management method and device applied to blockchain |
CN111539723A (en) * | 2020-04-14 | 2020-08-14 | 浙江浙燃能源有限公司 | Block chain transaction recording method, equipment, block chain node and computer medium |
CN111415229A (en) * | 2020-04-21 | 2020-07-14 | 昆明大棒客科技有限公司 | Block chain based e-commerce transaction method, device and equipment |
CN112581132B (en) * | 2020-12-24 | 2024-07-09 | 华南理工大学 | Block chain voting method and system for guaranteeing fairness of rights and interests of voting sponsors |
CN112801785B (en) * | 2021-01-13 | 2023-10-20 | 中央财经大学 | Fair data transaction method and device based on blockchain intelligent contract |
CN112766965B (en) * | 2021-01-25 | 2022-09-02 | 天津理工大学 | Privacy protection data sharing method based on intelligent contracts |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725404B2 (en) * | 2002-02-27 | 2010-05-25 | Imagineer Software, Inc. | Secure electronic commerce using mutating identifiers |
TWI574215B (en) * | 2015-12-03 | 2017-03-11 | Chunghwa Telecom Co Ltd | Point-to-point electronic trading system, method and its computer program products |
CN107169764A (en) * | 2017-05-10 | 2017-09-15 | 山东大学 | Fair data trade method based on block chain |
CN108681898A (en) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | A kind of data trade method and system based on block chain |
CN108924092A (en) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | Based on block chain can open arbitration distribution cloud storage method and system |
-
2019
- 2019-02-15 CN CN201910118789.3A patent/CN109886812B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725404B2 (en) * | 2002-02-27 | 2010-05-25 | Imagineer Software, Inc. | Secure electronic commerce using mutating identifiers |
TWI574215B (en) * | 2015-12-03 | 2017-03-11 | Chunghwa Telecom Co Ltd | Point-to-point electronic trading system, method and its computer program products |
CN107169764A (en) * | 2017-05-10 | 2017-09-15 | 山东大学 | Fair data trade method based on block chain |
CN108681898A (en) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | A kind of data trade method and system based on block chain |
CN108924092A (en) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | Based on block chain can open arbitration distribution cloud storage method and system |
Also Published As
Publication number | Publication date |
---|---|
CN109886812A (en) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886812B (en) | Data transaction system and method based on block chain | |
US11694243B2 (en) | Injecting exchange items into an exchange item marketplace network | |
CN109544160B (en) | Transaction authenticity verification method and system based on block chain and intelligent contract | |
Asgaonkar et al. | Solving the buyer and seller’s dilemma: A dual-deposit escrow smart contract for provably cheat-proof delivery and payment for a digital good without a trusted mediator | |
TWI822653B (en) | Blockchain-based exchange with tokenisation | |
US20190392511A1 (en) | Bid matching for blockchain-based goods/assets systems and methods | |
US20190354945A1 (en) | Real-time buying, selling, and/or trading blockchain-based goods using traditional currency | |
US6260024B1 (en) | Method and apparatus for facilitating buyer-driven purchase orders on a commercial network system | |
KR100717590B1 (en) | Virtual asset trading system in internet and method thereof | |
US5956699A (en) | System for secured credit card transactions on the internet | |
US6119229A (en) | Virtual property system | |
CN107480964B (en) | Directional transfer method for digital asset, central server and storage medium | |
CN112884554A (en) | Auction method of Internet of things data auction system based on alliance chain | |
US20220164791A1 (en) | Method for distributing collectables ownership based on blockchain networks and online transaction server using the same | |
KR102343615B1 (en) | Block chain system for transacting art work and managing information of art work and control method thereof | |
US20150026037A1 (en) | System, method and apparatus to provide a multi-channel retail layaway service using physical retail point-of-sale and on-line virtual payment systems | |
CN111967860A (en) | Transaction system, method and node in transaction system | |
CN111402055A (en) | Decentralized data transaction method based on block chain | |
US20230169553A1 (en) | Determining an automatic acquisition approach for an exchange item request | |
CN113962714A (en) | Auction tracing method based on Etheng privacy protection and implementation system | |
KR102314573B1 (en) | Method of contract management based on block cahin | |
Pop et al. | An Ethereum-based implementation of English, Dutch and First-price sealed-bid auctions | |
CN111445356A (en) | Commodity housing construction project approval and commodity housing transaction method based on block chain intelligent contracts | |
CN113379519A (en) | Credible auction method and system based on block chain | |
CN110428312A (en) | The price of asset auction determines method, apparatus and asset management maintenance platform |
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 |