CN111402055A - Decentralized data transaction method based on block chain - Google Patents
Decentralized data transaction method based on block chain Download PDFInfo
- Publication number
- CN111402055A CN111402055A CN202010195676.6A CN202010195676A CN111402055A CN 111402055 A CN111402055 A CN 111402055A CN 202010195676 A CN202010195676 A CN 202010195676A CN 111402055 A CN111402055 A CN 111402055A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- nth
- demand
- provider
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
技术领域technical field
本发明涉及信息安全技术领域,具体涉及一种基于区块链与智能合约的大数据平台交易方法。The invention relates to the technical field of information security, in particular to a big data platform transaction method based on a block chain and a smart contract.
背景技术Background technique
区块链是一种去中心化的技术,其信息的不可篡改特性、数据的分布式存储等一系列特点使得正在逐渐应用于更多的领域。随着大数据时代的到来,一些服务商为了提高更精准的客户服务,更需要对海量的大数据进行挖掘和分析。数据的拥有者也更加认识到数据的价值,对于数据的隐私也更加重视。目前大数据交易市场提供了数据交易的市场环境,但在用户的数据的隐私保护和数据的价值奖励等方面都存在诸多缺陷,因此,在这种情况下,提供一个安全可靠的交易平台,让大数据的价值得到更好的利用是一个重要的方向。Blockchain is a decentralised technology, and its non-tampering properties of information, distributed storage of data and a series of features make it gradually applied in more fields. With the advent of the era of big data, some service providers need to mine and analyze massive amounts of big data in order to improve more accurate customer service. Data owners are also more aware of the value of data and pay more attention to data privacy. At present, the big data trading market provides a market environment for data trading, but there are many defects in the privacy protection of user data and the value reward of data. Therefore, in this case, a safe and reliable trading platform is provided to allow Better utilization of the value of big data is an important direction.
智能合约是一种用算法和程序来编制合同条款、部署在区块链上且可按照规则自动执行的数字化协议。在区块链应用到更多领域时,需要更高实用性的合约满足系统的需要。A smart contract is a digital agreement that uses algorithms and programs to formulate contract terms, deploys on the blockchain, and executes automatically according to the rules. When the blockchain is applied to more fields, more practical contracts are required to meet the needs of the system.
目前大数据交易平台采用的是第三方交易的模式,数据提供者将数据上传到第三方平台上,并拟定一个初始价格,当数据需求商想要使用此数据时,支付给数据提供者对应价格的奖励,即可以访问该数据,在这一交易模式下,存在着如下缺陷:At present, the big data trading platform adopts a third-party transaction mode. The data provider uploads the data to the third-party platform and formulates an initial price. When the data demander wants to use the data, it pays the data provider the corresponding price The reward of , that is, the data can be accessed. In this transaction mode, there are the following defects:
1.第三方数据交易平台中,数据交易会收取昂贵的手续费,同时第三方中心也存在着不可信问题,其可能会不经数据提供商的允许篡改提供商的数据,甚至转卖提供商的数据。1. In the third-party data trading platform, the data transaction will charge an expensive handling fee. At the same time, the third-party center also has the problem of untrustworthiness. It may tamper with the provider's data without the permission of the data provider, or even resell the provider's data. data.
2.一旦第三方交易中心遭遇网络攻击,其很容易面临单点故障的问题,造成数据的大量泄漏,在这个过程中,很容易造成用户的数据和身份隐私问题。2. Once a third-party trading center encounters a network attack, it is easy to face the problem of a single point of failure, resulting in a large amount of data leakage. In this process, it is easy to cause user data and identity privacy issues.
3.数据需求商需要在海量的数据中检索自己的数据,数据质量良莠不齐,缺乏较完善的大数据评价机制,数据匹配和筛选智能化程度较低,因此效率比较低,而且数据主要来自于比较单一的数据提供商。3. Data demanders need to retrieve their own data from a large amount of data. The quality of data is mixed, and there is a lack of a relatively complete evaluation mechanism for big data. The degree of intelligence in data matching and screening is low, so the efficiency is relatively low, and the data mainly comes from comparison. single data provider.
4.在对数据交易中,数据提供商将数据提交到第三方交易平台,并委托第三方平台负责数据的交易,因此在一定程度上,数据提供商的数据所有权和知情权更多依赖交易中心的可信度。4. In the data transaction, the data provider submits the data to the third-party trading platform, and entrusts the third-party platform to be responsible for the data transaction. Therefore, to a certain extent, the data ownership and the right to know of the data provider rely more on the trading center. reliability.
5.在数据的价值奖励中,第三方数据交易的奖励模型较为单一,数据提供商预设数据集初始价格,数据需求商支付价格对应的奖励,不能够很好的根据数据的质量反映数据的价值。5. In the value reward of data, the reward model for third-party data transactions is relatively simple. The data provider presets the initial price of the data set, and the data demander pays the price corresponding to the reward, which cannot reflect the data quality according to the data. value.
发明内容SUMMARY OF THE INVENTION
本发明旨在针对现有大数据交易平台过程数据良莠不齐、第三方数据中心不可信、容易造成数据和身份隐私安全问题等缺陷和不足,提供一种基于区块链的去中心化数据交易方法,以期能解决数据中心不可信的问题,保证数据提供者对于个人数据在交易中的所有权和知情权,提高数据交易过程的智能化和高效性,从而为交易双方提供一个安全公平的大数据交易模式。The present invention aims to provide a blockchain-based decentralized data transaction method, aiming at the defects and deficiencies of the existing big data transaction platform, such as uneven quality of process data, untrustworthy third-party data centers, and easy data and identity privacy security issues. In order to solve the problem of untrustworthy data centers, ensure data providers' ownership and right to know personal data in transactions, improve the intelligence and efficiency of the data transaction process, and provide a safe and fair big data transaction model for both parties. .
本发明是通过采用下述技术方案实现的:The present invention is achieved by adopting the following technical solutions:
本发明一种基于区块链的去中心化数据交易方法的特点是应用于由密钥生成中心、区块链和智能合约所构成的交易环境中,并在所述交易环境中按如下步骤实现若干个数据提供商、一个数据需求商以及若干个数据代理商节点之间的点对点交易方法:The feature of a blockchain-based decentralized data transaction method of the present invention is that it is applied in a transaction environment composed of a key generation center, a blockchain and a smart contract, and is implemented in the transaction environment according to the following steps A peer-to-peer transaction method between several data providers, one data demander, and several data broker nodes:
步骤1、任意一个数据提供商i通过注册方式获得匿名身份公私钥对(PKi,SKi)和账户地址αi,并向所述密钥生成中心申请用于加解密的公私钥对(pki,ski);
步骤2、所述数据提供商i将自身数据Di进行加密后得到数据密文Epki(Di),其中,Di是所述数据提供商i用于大数据交易的明文数据,Epki(·)表示使用数据提供商i的公钥pki来执行加密操作;Step 2, the data provider i obtains the data ciphertext Epk i (D i ) after encrypting its own data Di, wherein, D i is the plaintext data that the data provider i is used for the big data transaction, Epk i ( ) indicates that the encryption operation is performed using the public key pk i of the data provider i;
所述数据提供商i提供关于所述明文数据Di的一份数据摘要,包含:所述明文数据Di的描述Des(Di),明文数据Di的Hash值Hash(Di),数据类型Type(Di),数据条目数DTi(Di),签名信息SigSki,以及接收数据奖励的账户地址αi;The data provider i provides a data digest about the plaintext data D i , including: a description Des(D i ) of the plaintext data D i , a Hash value Hash(D i ) of the plaintext data D i , data Type Type(D i ), number of data entries DT i (D i ), signature information Sig Ski , and account address α i for receiving data rewards;
步骤3、所述数据提供商i选择任意一个代理商节点B,并将所述数据密文Epki(Di)及数据摘要发送给所述代理商节点B;Step 3, the data provider i selects any agent node B, and sends the data ciphertext Epk i (D i ) and the data digest to the agent node B;
步骤4、所述代理商节点B接收到所述数据提供商i的数据密文Epki(Di)和数据摘要后,分别利用式(1)和式(2)生成唯一标识UIDi和存储证明SP(UIDi):Step 4. After the agent node B receives the data ciphertext Epk i (D i ) and the data digest of the data provider i, it uses formula (1) and formula (2) to generate the unique identifier UID i and store it respectively. Prove SP(UID i ):
UIDi=Hash(αi,Hash(Di)) (1)UID i =Hash(α i ,Hash(D i )) (1)
式(1)中,Hash(·)表示哈希计算;In formula (1), Hash( ) represents hash calculation;
式(2)中,是代理商节点B利用自身公私钥对(SKB,PKB)对存储证明SP(UIDi)的签名,ALUIDi是所述数据提供商i的唯一标识UIDi的数据密文Epki(Di)的存储位置;In formula (2), is the signature of the storage proof SP ( UID i ) by the agent node B using its own public and private key pair (SK B , PK B ) . i ) the storage location;
步骤5、所述代理商节点B利用式(3)生成数据摘要信息Tbrief(UIDi):Step 5. The agent node B uses formula (3) to generate data summary information T brief (UID i ):
步骤6、所述代理商节点B在第N个时间段内获取所有代理商节点生成的数据摘要信息,将获取的数据摘要信息作为区块主体部分,并添加区块头后打包作为第N个摘要区块,所述第N个摘要区块中的区块头的信息包括:时间戳、数据摘要信息的Merkle Tree以及第N-1个摘要区块的Hash值;Step 6. The agent node B obtains the data summary information generated by all agent nodes in the Nth time period, uses the obtained data summary information as the main part of the block, and adds the block header and packages it as the Nth summary. block, the information of the block header in the Nth digest block includes: timestamp, the Merkle Tree of the data digest information and the Hash value of the N-1th digest block;
代理商节点B同其他代理商节点达成共识后,将第N个摘要区块链接在第N-1个摘要区块上,从而形成最新的数据摘要链,当N=0时,第N-1个摘要区块的Hash值为所设定的Hash值;After the agent node B reaches a consensus with other agent nodes, it links the Nth summary block to the N-1th summary block to form the latest data summary chain. When N=0, the N-1th summary block is formed. The hash value of each digest block is the set hash value;
步骤7、在最新的数据摘要链中的第N个摘要区块内对应数据的代理商节点中选举第N个主节点,所述第N个主节点在第N个摘要区块上产生第N个评价侧链的第n个评价区块,所述第n个评价区块的区块主体部分包含第N个摘要区块中数据在第n个评价区块中的质量描述以及质量分数其中,分别是第N个摘要区块上的第n个评价区块中唯一标识UIDi的所对应数据的完整性、一致性和准确性的评分;当n=1时,为所设定的完整性、一致性和准确性的初始评分;Step 7. Elect the Nth master node from the agent nodes corresponding to the data in the Nth digest block in the latest data digest chain, and the Nth master node generates the Nth master node on the Nth digest block. The nth evaluation block of the evaluation side chain, the block body part of the nth evaluation block contains the quality description and quality score of the data in the Nth digest block in the nth evaluation block in, are the scores of the integrity, consistency and accuracy of the corresponding data uniquely identifying UID i in the nth evaluation block on the nth summary block; when n=1, An initial score for completeness, consistency and accuracy as set;
所述第n个评价区块的区块头的信息包含:时间戳、数据评价信息的MerkleTree以及第n-1个评价区块的Hash值;当n=1时,第n-1个评价区块的Hash值为第N个摘要区块的Hash值;The information of the block header of the nth evaluation block includes: timestamp, MerkleTree of the data evaluation information and the Hash value of the n-1th evaluation block; when n=1, the n-1th evaluation block The Hash value is the hash value of the Nth digest block;
步骤8、任意一个数据需求商j通过注册方式获得匿名身份公私钥对(PKj,SKj),并向所述密钥生成中心申请用于加解密的公私钥对(pkj,skj);Step 8. Any data demander j obtains an anonymous identity public and private key pair (PK j , SK j ) through registration, and applies to the key generation center for a public and private key pair (pk j , sk j ) for encryption and decryption ;
步骤9、所述数据需求商j通过所述智能合约发布数据需求合约,所述数据需求合约包含:需求数据类型DS,数据需求条目数DA,数据需求期限dl,数据需求商加密公钥pkj,数据质量要求β,以及数据奖励分配规则;Step 9, the data demander j publishes a data demand contract through the smart contract, the data demand contract includes: demand data type D S , data demand item number D A , data demand period dl, data demand provider encryption public key pk j , data quality requirement β, and data reward distribution rules;
所述数据需求商j部署所述数据需求合约后,将数据交易的预算τ发送到所述数据需求合约生成的合约账户中;After the data demander j deploys the data demand contract, it sends the data transaction budget τ to the contract account generated by the data demand contract;
步骤10、所有数据提供商通过所述数据需求合约与所述数据需求商j进行交互,从而响应数据需求;Step 10, all data providers interact with the data demander j through the data demand contract, thereby responding to the data demand;
步骤11、假设数据提供商i响应数据需求,则所述数据需求合约根据响应数据需求的数据提供商i的唯一标识UIDi,读取对应数据摘要链上的第N个摘要区块和第N个数据评价侧链上的前n个评价区块后,并根据所述数据需求合约中的函数对响应数据需求的数据提供商i的若干数据进行匹配检查,并将符合数据需求商j需求的数据加入候选数据池candidateDataList{}中;Step 11. Assuming that the data provider i responds to the data request, the data request contract reads the Nth digest block and the Nth digest block on the corresponding data digest chain according to the unique identifier UID i of the data provider i that responds to the data request. After the first n evaluation blocks on the data evaluation side chain, according to the function in the data demand contract, a number of data of the data provider i responding to the data demand is matched and checked, and the data that meets the requirements of the data demand provider j will be checked. The data is added to the candidate data pool candidateDataList{};
步骤12、所述数据需求商j根据候选数据池candidateDataList{}中的唯一标识UIDi查看相应区块链中数据的摘要信息和评价信息,然后所述数据需求商j决定是否购买相应数据,若选择购买,则将相应数据加入交易数据池dataUidList{}中;Step 12, the data demander j checks the summary information and evaluation information of the data in the corresponding blockchain according to the unique identifier UID i in the candidate data pool candidateDataList{}, and then the data demander j decides whether to purchase the corresponding data, if If you choose to buy, the corresponding data will be added to the transaction data pool dataUidList{};
步骤13、所述数据需求合约记录加入到所述交易数据池dataUidList{}中数据的条目数DR,当满足数据需求商的条目需求DA时,或者达到数据需求的期限时,表示数据需求匹配完成;Step 13, the data demand contract records the number of entries DR added to the data in the transaction data pool dataUidList { }, when the entry demand DA of the data demand quotient is satisfied, or when the time limit of the data demand is reached, it indicates the data demand matching completed;
步骤14、所述数据需求商j向交易数据池dataUidList{}中数据的数据提供商i发出数据请求,相应的数据提供商i通过自己的解密私钥ski和所述数据需求合约中的数据需求商j的加密公钥pkj生成代理重加密密钥rki→j,并发送给存储所述数据提供商i数据的代理商节点B;Step 14, the data demander j sends a data request to the data provider i of the data in the transaction data pool dataUidList{}, and the corresponding data provider i decrypts the private key ski and the data in the data demand contract through its own. The encrypted public key pk j of the demander j generates a proxy re-encryption key rk i→j and sends it to the proxy node B that stores the data of the data provider i;
相应代理商节点B使用所述代理重加密密钥rki→j对数据提供商i加入交易数据池dataUidList{}的数据的数据密文Epki(Di)进行重加密,得到重加密后的密文Epk′i(Di)并发送给所述数据需求商j,使得所述数据需求商j能使用自己的私钥skj解密重加密后的密文Epk′i(Di),得到数据提供商i加入交易数据池dataUidList{}中数据的明文数据Di;The corresponding agent node B uses the agent re-encryption key rk i→j to re-encrypt the data ciphertext Epk i (D i ) of the data added by the data provider i to the transaction data pool dataUidList{}, and obtain the re-encrypted The ciphertext Epk′ i (D i ) is sent to the data demander j, so that the data demander j can use its own private key sk j to decrypt the re-encrypted ciphertext Epk′ i (D i ), and obtain The data provider i joins the plaintext data D i of the data in the transaction data pool dataUidList{};
步骤15、所述数据需求商j根据解密得到的明文数据Di计算相应的Hash值Hash(Di),若与所述数据摘要链中的相应明文数据Di的哈希值相同,则表示解密得到的明文数据Di为数据提供商i提供的原始数据;Step 15, the data demand quotient j calculates the corresponding hash value Hash(D i ) according to the plaintext data D i obtained by decryption, if it is the same as the hash value of the corresponding plaintext data D i in the data digest chain, it means The decrypted plaintext data D i is the original data provided by the data provider i;
在使用相应的明文数据Di后,所述数据需求商j根据数据使用效果,给出相应的数据评价信息并发送给第N个主节点,所述数据评价信息包含:第N个摘要区块中唯一标识UIDi所对应的数据在第n+1个评价区块中的质量描述以及质量分数;After using the corresponding plaintext data D i , the data demand quotient j provides corresponding data evaluation information according to the data usage effect and sends it to the Nth master node, where the data evaluation information includes: the Nth digest block The quality description and quality score of the data corresponding to the unique identification UID i in the n+1th evaluation block;
步骤16、所有第N个主节点根据所接收到的数据评价信息以及唯一标识UIDi,将数据评价信息记录到对应数据摘要链中第N个摘要区块的评价侧链的第n+1个评价区块中;Step 16, according to the received data evaluation information and the unique identifier UID i , all the Nth master nodes record the data evaluation information to the n+1th of the evaluation side chain of the Nth digest block in the corresponding data digest chain. in the evaluation block;
步骤17、所述数据需求合约按照合约中的数据奖励分配规则,将合约账户中的预算τ分配到交易数据池dataUidList{}中数据对应的数据提供商i的账户地址中αi。Step 17: The data demand contract allocates the budget τ in the contract account to the account address α i of the data provider i corresponding to the data in the transaction data pool dataUidList{} according to the data reward allocation rules in the contract.
本发明所述的去中心化数据交易方法的特点是,所述步骤11中的数据需求合约中的函数包括:The feature of the decentralized data transaction method of the present invention is that the functions in the data demand contract in the step 11 include:
类型合约函数matchStyle(),用于检查数据类型是否匹配;The type contract function matchStyle() is used to check whether the data types match;
质量合约函数checkQuality(),用于检查数据的质量分数是否满足数据需求商的质量要求,若数据的质量分数大于数据质量要求β,则表示满足质量要求。The quality contract function checkQuality() is used to check whether the quality score of the data meets the quality requirements of the data demand quotient. If the quality score of the data is greater than the data quality requirement β, it means that the quality requirements are met.
与已有技术相比,本发明有益效果体现在:Compared with the prior art, the beneficial effects of the present invention are reflected in:
1、本发明所提出的去中心化的大数据交易系统,从根本上解决了传统第三方交易中心的不可信问题,以及中心单点故障问题,极大保证了数据提供商在数据交易中的数据所有权和知情权。1. The decentralized big data trading system proposed by the present invention fundamentally solves the untrustworthy problem of traditional third-party trading centers and the single point of failure problem of the center, which greatly ensures the reliability of data providers in data transactions. Data Ownership and Right to Know.
2、本发明利用区块链技术记录数据的摘要信息和评价信息,以及交易信息,既保证了数据的可验证性,也提高了数据评价的可信度,为大数据交易各方提供更加全面的不可篡改的数据交易记录。2. The present invention uses blockchain technology to record the summary information and evaluation information of the data, as well as the transaction information, which not only ensures the verifiability of the data, but also improves the credibility of the data evaluation, and provides a more comprehensive service for all parties involved in big data transactions. immutable data transaction records.
3、本发明利用智能合约技术进行数据交易,提高了交易的智能化和高效性,有效提升了数据检索、匹配和交易的效率,合约的设计为数据需求商提供了更多样化的数据解决方案。3. The present invention uses smart contract technology to conduct data transactions, improves the intelligence and efficiency of transactions, and effectively improves the efficiency of data retrieval, matching and transactions, and the contract design provides data demanders with more diversified data solutions. Program.
4、本发明利用代理重加密技术和智能合约技术,数据需求商加密公钥通过合约发布,提高了密钥转换的正确性,同时防止数据在传输过程中被非法解密,确保了交易数据的安全。4. The present invention utilizes the proxy re-encryption technology and the smart contract technology, and the encrypted public key of the data demander is released through the contract, which improves the correctness of the key conversion, prevents the data from being illegally decrypted during the transmission process, and ensures the security of the transaction data. .
5、本发明设计的数据评价机制和价值奖励规则,可以鼓励数据的高质量发展,进一步促进大数据的分享和流通。5. The data evaluation mechanism and value reward rules designed in the present invention can encourage the high-quality development of data and further promote the sharing and circulation of big data.
附图说明Description of drawings
图1为本发明系统用户图;Fig. 1 is a system user diagram of the present invention;
图2为本发明区块链区块信息示意图;Fig. 2 is a schematic diagram of block chain block information of the present invention;
图3为本发明区块链链式结构示意图;FIG. 3 is a schematic diagram of the blockchain chain structure of the present invention;
具体实施方式Detailed ways
本实施例中,如图1所示,一种基于区块链的去中心化数据交易方法应用场景包括三种用户:数据提供者、数据需求商和数据代理商节点,数据提供者将数据存储在数据代理商节点;代理商节点存储转发用户数据并负责维护用于大数据交易的区块链,将数据信息写入区块链。数据购买者通过发布智能合约来获取需求的数据,通过智能合约给数据提供者相应的奖励,并反馈数据评价信息。通过区块链记录数据提供商的数据摘要信息,数据需求商能够通过数据摘要信息了解该数据的基本信息,智能合约可以通过和区块链中的信息进行交互,以帮助数据需求商匹配相应的数据集。具体的说,该方法是按如下步骤进行:In this embodiment, as shown in Figure 1, an application scenario of a blockchain-based decentralized data transaction method includes three types of users: data providers, data demanders, and data agent nodes. The data provider stores the data At the data agent node; the agent node stores and forwards user data and is responsible for maintaining the blockchain for big data transactions, and writing data information into the blockchain. Data buyers obtain the required data by issuing smart contracts, give corresponding rewards to data providers through smart contracts, and feed back data evaluation information. The data summary information of the data provider is recorded through the blockchain, and the data demander can understand the basic information of the data through the data summary information. The smart contract can interact with the information in the blockchain to help the data demander match the corresponding data. data set. Specifically, the method is carried out as follows:
步骤1、任意一个数据提供商i通过注册方式获得匿名身份公私钥对(PKi,SKi)和账户地址αi,采用的匿名的用户方案,用户只需要通过一串自定义字符串,可以获得相对应的私钥SKi和公钥PKi,通过公钥可以产生接受奖励的地址αi。同时根据公钥,用户可以向密钥生成中心申请用于代理重加密数据的公私钥对。因此对每一个用户,都有两对密钥对,一对是用户的匿名身份密钥对(PKi,SKi),另一对是用于加解密数据的密钥对(ski,pki),一个数据提供商可以拥有多个用于交易的数据集,这种匿名注册的方式,使得数据需求商无法在数据和数据用户之间建立联系,进一步增强了对用户隐私的保护。
步骤2、数据提供商i将自身数据Di进行加密后得到数据密文Epki(Di),其中,Di是数据提供商i用于大数据交易的明文数据,Epki(·)表示使用数据提供商i的公钥pki来执行加密操作;Step 2, data provider i obtains data ciphertext Epk i (D i ) after encrypting its own data Di, wherein, D i is the plaintext data that data provider i uses for big data transaction, Epk i ( ) represents use the public key pk i of the data provider i to perform the encryption operation;
数据提供商i提供关于明文数据Di的一份数据摘要,包含:明文数据Di的描述Des(Di),明文数据Di的Hash值Hash(Di),数据类型Type(Di),数据条目数DTi(Di),签名信息SigSki,以及接收数据奖励的账户地址αi;The data provider i provides a data abstract about the plaintext data Di, including: the description Des(D i ) of the plaintext data Di , the Hash value Hash(D i ) of the plaintext data Di , the data type Type(D i ) , the number of data entries DT i (D i ), the signature information Sig Ski , and the address α i of the account receiving the data reward;
步骤3、数据提供商i选择任意一个代理商节点B,并将数据密文Epki(Di)及数据摘要发送给代理商节点B;Step 3, the data provider i selects any agent node B, and sends the data ciphertext Epk i (D i ) and the data digest to the agent node B;
步骤4、代理商节点B接收到数据提供商i的数据密文Epki(Di)和数据摘要后,通过式(1)计算一个唯一标识的编号UIDi,这个编号UIDi可以在大数据交易系统中唯一标识该数据;Step 4. After the agent node B receives the data ciphertext Epk i (D i ) and the data digest of the data provider i, it calculates a unique ID number UID i by formula (1). This number UID i can be used in big data Unique identification of the data in the trading system;
UIDi=Hash(αi,Hash(Di)) (1),UID i =Hash(α i ,Hash(D i )) (1),
式(1)中,Hash(·)表示哈希计算;In formula (1), Hash( ) represents hash calculation;
代理节点是具有一定存储和计算能力的数据交易节点,除了存储数据提供商的数据,还负责数据的重加密,同时还负责区块链系统的维护。代理节点B的身份公私钥对表示为(SKB,PKB),代理商节点B接收到数据提供商的数据后,会通过式(2)生成相应的存储证明字段SP(UIDi);The proxy node is a data transaction node with certain storage and computing capabilities. In addition to storing the data of the data provider, it is also responsible for data re-encryption and maintenance of the blockchain system. The identity public and private key pair of the agent node B is represented as (SK B , P B ), after the agent node B receives the data of the data provider, it will generate the corresponding storage proof field SP (UID i ) through formula (2);
式(2)中,是代理商节点B利用自身公私钥对(SKB,PKB)对存储证明SP(UIDi)的签名,ALUIDi是数据提供商i的唯一标识UIDi的数据密文Epki(Di)的存储位置,通过存储证明,数据提供商可以验证自己数据的存储有效性。In formula (2), AL UIDi is the data ciphertext Epk i (D i ) that uniquely identifies UID i of the data provider i, which is the signature of the agent node B using its own public and private key pair (SK B , PK B ) to the storage proof SP (UID i ) The storage location, through the storage proof, the data provider can verify the storage validity of its own data.
步骤5、代理商节点B利用式(3)生成数据UIDi的摘要信息Tbrief(UIDi):Step 5. The agent node B uses the formula (3) to generate the summary information T brief (UID i ) of the data UID i :
步骤6、代理商节点B在第N个时间段内获取所有代理商节点生成的数据摘要信息,将获取的数据摘要信息作为区块主体部分,并添加区块头后打包作为第N个摘要区块,第N个摘要区块中的区块头的信息包括:时间戳、数据摘要信息的Merkle Tree以及第N-1个摘要区块的Hash值;Step 6. The agent node B obtains the data summary information generated by all agent nodes in the Nth time period, uses the obtained data summary information as the main part of the block, and adds the block header and packages it as the Nth summary block. , the information of the block header in the Nth digest block includes: the timestamp, the Merkle Tree of the data digest information, and the Hash value of the N-1th digest block;
代理商节点B同其他代理商节点达成共识后,将第N个摘要区块链接在第N-1个摘要区块上,从而形成最新的数据摘要链,当N=0时,第N-1个摘要区块的Hash值为所设定的Hash值;数据摘要链的摘要区块如图2所示。After the agent node B reaches a consensus with other agent nodes, it links the Nth summary block to the N-1th summary block to form the latest data summary chain. When N=0, the N-1th summary block is formed. The Hash value of each digest block is the set Hash value; the digest block of the data digest chain is shown in Figure 2.
步骤7、在最新的数据摘要链中的第N个摘要区块内对应数据的代理商节点中选举第N个主节点,第N个主节点在第N个摘要区块上产生第N个评价侧链的第n个评价区块,数据摘要链和数据评价链的链接形式如图3所示。Step 7. Elect the N-th master node in the agent node corresponding to the data in the N-th summary block in the latest data summary chain, and the N-th master node generates the N-th evaluation on the N-th summary block. The nth evaluation block of the side chain, the link form of the data summary chain and the data evaluation chain are shown in Figure 3.
第n个评价区块的区块主体部分包含第N个摘要区块中数据在第n个评价区块中的质量描述以及质量分数其中,分别是第N个摘要区块上的第n个评价区块中唯一标识UIDi的所对应数据的完整性、一致性和准确性的评分;当n=1时,为所设定的完整性、一致性和准确性的初始评分;数据评价链的评价区块如图2所示。The block body part of the nth evaluation block contains the quality description and quality score of the data in the nth summary block in the nth evaluation block in, are the scores of the integrity, consistency and accuracy of the corresponding data uniquely identifying UID i in the nth evaluation block on the nth summary block; when n=1, It is the initial score of the set integrity, consistency and accuracy; the evaluation block of the data evaluation chain is shown in Figure 2.
第n个评价区块的区块头的信息包含:时间戳、数据评价信息的MerkleTree以及第n-1个评价区块的Hash值;当n=1时,第n-1个评价区块的Hash值为第N个摘要区块的Hash值;The information of the block header of the nth evaluation block includes: timestamp, MerkleTree of the data evaluation information, and the Hash value of the n-1th evaluation block; when n=1, the Hash of the n-1th evaluation block The value is the hash value of the Nth digest block;
步骤8、任意一个数据需求商j通过注册方式获得匿名身份公私钥对(PKj,SKj),并向密钥生成中心申请用于加解密的公私钥对(pkj,skj);Step 8. Any data demander j obtains an anonymous identity public and private key pair (PK j , SK j ) through registration, and applies to the key generation center for a public and private key pair (pk j , sk j ) for encryption and decryption;
步骤9、数据需求商j通过智能合约发布数据需求合约,数据需求合约包含:需求数据类型DS,数据需求条目数DA,数据需求期限dl,数据需求商加密公钥pkj,数据质量要求β,以及数据奖励分配规则,奖励分配规则由数据需求商制定,可以结合需求商数据的质量和数量按照规则进行分配。Step 9. The data demander j publishes the data demand contract through the smart contract. The data demand contract includes: the demand data type D S , the number of data demand entries D A , the data demand period dl, the data demand business encryption public key pk j , and the data quality requirements β, and data reward distribution rules. The reward distribution rules are formulated by data demand quotients and can be allocated according to the rules in combination with the quality and quantity of demand quotient data.
数据需求商j部署数据需求合约后,将数据交易的预算τ发送到数据需求合约生成的合约账户中。通过预先支付奖励,有效避免了数据需求商获取数据后拒绝支付奖励的恶意行为,发送到合约账户,可以实现智能合约将奖励自动分配到数据提供商的账户中。After the data demander j deploys the data demand contract, it sends the data transaction budget τ to the contract account generated by the data demand contract. By prepaying the reward, the malicious behavior of the data demander who refuses to pay the reward after obtaining the data can be effectively avoided, and sending the reward to the contract account can realize the smart contract to automatically distribute the reward to the account of the data provider.
步骤10、所有数据提供商通过数据需求合约与数据需求商j进行交互,从而响应数据需求;数据需求商通过合约进行响应的模式,保证了数据提供商对于数据交易的控制,每次参与交易,都需要与数据提供商通过合约交互的方式进行确认。Step 10. All data providers interact with data demander j through data demand contracts to respond to data demand; the mode of data demander responding through contracts ensures the data provider's control over data transactions, and each time they participate in a transaction, All need to be confirmed by contract interaction with the data provider.
步骤11、假设数据提供商i响应数据需求,则数据需求合约根据响应数据需求的数据提供商i的唯一标识UIDi,读取对应数据摘要链上的第N个摘要区块和第N个数据评价侧链上的前n个评价区块后,并根据数据需求合约中的函数对响应数据需求的数据提供商i的若干数据进行匹配检查,并将符合数据需求商j需求的数据加入候选数据池candidateDataList{}中;Step 11. Assuming that the data provider i responds to the data request, the data request contract reads the Nth digest block and the Nth data on the corresponding data digest chain according to the unique identifier UID i of the data provider i that responds to the data request After evaluating the first n evaluation blocks on the side chain, according to the function in the data demand contract, a number of data of the data provider i responding to the data demand is matched and checked, and the data that meets the needs of the data demand provider j is added to the candidate data pool candidateDataList{};
数据需求合约中的函数包括:The functions in the data request contract include:
类型合约函数matchStyle(),用于检查数据类型是否匹配;The type contract function matchStyle() is used to check whether the data types match;
质量合约函数checkQuality(),用于检查数据的质量分数是否满足数据需求商的质量要求,若数据的质量分数大于数据质量要求β,则表示满足质量要求。候选数据池candidateDataList{}是为了更精准的提高数据需求商数据需求的匹配度,是在数据需求商需求数据条目的基础上进行扩充,让更多的数据成为候选数据,例如候选数据池的数据条目数是数据需求商需求数据条目的三倍,这样数据需求商可以参考更多的数据信息,进行下一步挑选;The quality contract function checkQuality() is used to check whether the quality score of the data meets the quality requirements of the data demand quotient. If the quality score of the data is greater than the data quality requirement β, it means that the quality requirements are met. The candidate data pool candidateDataList{} is to more accurately improve the matching degree of the data requirements of the data demander. It is expanded on the basis of the data entry of the data demander's demand, so that more data can become candidate data, such as the data of the candidate data pool. The number of entries is three times that of the data demander's demand data entry, so that the data demander can refer to more data information for the next selection;
步骤12、数据需求商j根据候选数据池candidateDataList{}中的唯一标识UIDi查看相应区块链中数据的摘要信息和评价信息,通过查看数据摘要信息,可以帮助需求商了解数据本身的相关属性,查看评价侧链信息,数据需求商可以看到该数据之前的每一个使用者对该数据进行反馈的评价信息,然后数据需求商j决定是否购买相应数据,若选择购买,则将相应数据加入交易数据池dataUidList{}中。Step 12. The data demander j checks the summary information and evaluation information of the data in the corresponding blockchain according to the unique identifier UID i in the candidate data pool candidateDataList{}. By viewing the data summary information, it can help the demander understand the relevant attributes of the data itself , check the evaluation side chain information, the data demander can see the feedback information of each user before the data, and then the data demander j decides whether to buy the corresponding data, and if it chooses to buy, the corresponding data will be added In the transaction data pool dataUidList{}.
步骤13、数据需求合约记录加入到交易数据池dataUidList{}中数据的条目数DR,当满足数据需求商的条目需求DA时,或者达到数据需求的期限时,表示数据需求匹配完成。通过数据需求商候选数据池和交易数据池的设计,数据匹配过程采用了智能合约自动匹配和数据需求商手动挑选的模式,智能合约帮助筛选出与数据需求商需求匹配的数据,数据需求商的进一步挑选有利于选择更高质量的数据。Step 13: The data demand contract records the number of entries DR of data added to the transaction data pool dataUidList {}. When the entry demand DA of the data demand quotient is satisfied, or the time limit of the data demand is reached, it indicates that the data demand matching is completed. Through the design of the candidate data pool and transaction data pool for data demanders, the data matching process adopts the mode of automatic matching of smart contracts and manual selection of data demanders. Smart contracts help to filter out the data that matches the needs of data demanders. Further selection favors the selection of higher quality data.
步骤14、数据需求商j向交易数据池dataUidList{}中数据的数据提供商i发出数据请求,相应的数据提供商i通过自己的解密私钥ski和数据需求合约中的数据需求商j的加密公钥pkj生成代理重加密密钥rki→j,并发送给存储数据提供商i数据的代理商节点B;Step 14: The data demander j sends a data request to the data provider i of the data in the transaction data pool dataUidList{}, and the corresponding data provider i uses its own decryption private key ski and the data demander j in the data demand contract. The encryption public key pk j generates the proxy re-encryption key rk i→j and sends it to the proxy node B that stores the data of the data provider i;
相应代理商节点B使用代理重加密密钥rki→j对数据提供商i加入交易数据池dataUidList{}的数据的数据密文Epki(Di)进行重加密,得到重加密后的密文Epk′i(Di)并发送给数据需求商j,使得数据需求商j能使用自己的私钥skj解密重加密后的密文Epk′i(Di),得到数据提供商i加入交易数据池dataUidList{}中数据的明文数据Di。在这一过程中,只有数据提供商和数据需求商可以获得明文数据,数据对代理节点始终保持密文状态,因此降低了数据被篡改和窃取的风险;The corresponding agent node B uses the agent re-encryption key rk i→j to re-encrypt the data ciphertext Epk i (D i ) of the data added by the data provider i to the transaction data pool dataUidList{} to obtain the re-encrypted ciphertext Epk′ i (D i ) is sent to data demander j, so that data demander j can decrypt the re-encrypted ciphertext Epk′ i (D i ) with its own private key sk j , and obtain data provider i to join the transaction The plaintext data D i of the data in the data pool dataUidList{}. In this process, only the data provider and data demander can obtain plaintext data, and the data is always kept in ciphertext state to the proxy node, thus reducing the risk of data tampering and theft;
代理重加密详细的执行步骤为:The detailed execution steps of proxy re-encryption are:
步骤9.1、Enc(Di,pki)→Epki(Di):数据提供商i执行数据加密算法Enc(),输入数据明文Di和公钥pki,输出数据密文Epki(Di);Step 9.1, Enc(D i , pk i )→Epk i (D i ): the data provider i executes the data encryption algorithm Enc(), inputs the data plaintext D i and the public key pk i , and outputs the data ciphertext Epk i (D i ) i );
步骤9.2、Delegate(ski,pkj)→rki→j:数据提供商执行重加密授权算法Delegate(),输入私钥ski和数据需求商j公钥pkj,输出代理重加密密钥rki→j;Step 9.2, Delegate(ski, pk j )→rk i→j : The data provider executes the re-encryption authorization algorithm Delegate(), inputs the private key ski and the public key pk j of the data demander j , and outputs the proxy re-encryption key rk i→j ;
步骤9.3、ReEnc(rki→j,Epki(Di))→Epk′i(Di):代理商节点执行重加密算法ReEnc(),输入数据提供商公钥pki加密的数据密文Epki(Di)和代理重加密密钥rki→j,输出重加密密文Epk′i(Di);Step 9.3, ReEnc(rk i→j , Epk i (D i ))→Epk′ i (D i ): the agent node executes the re-encryption algorithm ReEnc(), and inputs the data ciphertext encrypted by the public key p i of the data provider Epk i (D i ) and the proxy re-encryption key rk i→j , output the re-encrypted ciphertext Epk′ i (D i );
步骤9.4、Dec(Epk′i(Di),skj)→Di:数据需求商执行解密算法Dec(),输入重加密密文Epk′i(Di)和数据需求商解密私钥skj,得到数据明文Di。Step 9.4, Dec(Epk′ i (D i ), sk j )→D i : the data demand quotient executes the decryption algorithm Dec(), and inputs the re-encrypted ciphertext Epk′ i (D i ) and the data demand quotient to decrypt the private key sk j , get the data plaintext D i .
步骤15、数据需求商j根据解密得到的明文数据Di计算相应的Hash值Hash(Di),若与数据摘要链中的相应明文数据Di的哈希值相同,则表示解密得到的明文数据为数据提供商i提供的原始数据Di。Step 15: The data demand quotient j calculates the corresponding Hash value Hash(D i ) according to the plaintext data D i obtained by decryption. If it is the same as the hash value of the corresponding plaintext data D i in the data digest chain, it means that the decrypted plaintext is obtained. The data is the original data Di provided by the data provider i .
在使用相应的明文数据Di后,数据需求商j根据数据使用效果,给出相应的数据评价信息并发送给第N个主节点,数据评价信息包含:第N个摘要区块中唯一标识UIDi所对应的数据在第n+1个评价区块中的质量描述以及质量分数。After using the corresponding plaintext data D i , the data demand quotient j gives the corresponding data evaluation information according to the data usage effect and sends it to the Nth master node. The data evaluation information includes: the unique identifier UID in the Nth abstract block The quality description and quality score of the data corresponding to i in the n+1th evaluation block.
质量描述是对数据使用过程中的使用反馈,例如反馈数据是否同需求商提供的数据摘要信息一致,数据是否满足自身数据需求等;质量分数是对数据不同数据质量评价维度的评分,质量分数的符号表示为其中表示第N个摘要区块中标识为UIDi的数据对应评价侧链第n个评价区块中的数据完整性、一致性和准确性的评分,t是单次数据评价分数的阈值,为了保证单次评价对数据的质量影响过大,这个反馈评价阈值t应小于初始评分,这样随着更多的数据提供商给出评价,数据的质量优劣将逐渐明显。The quality description is the use feedback in the process of data use, such as whether the feedback data is consistent with the data summary information provided by the demander, and whether the data meets its own data needs, etc.; the quality score is the score of the different data quality evaluation dimensions of the data. Symbols are expressed as in Indicates the score of the data integrity, consistency and accuracy in the nth evaluation block of the evaluation side chain corresponding to the data identified as UID i in the Nth digest block, t is the threshold of the single data evaluation score, in order to ensure A single evaluation has a great impact on the quality of the data. The feedback evaluation threshold t should be smaller than the initial score, so that as more data providers give evaluations, the quality of the data will gradually become obvious.
大数据由于其独特性,和常用的商品有一些差异,因此,本方法通过多维度的评分来反映数据质量,大数据交易方案是对数据的完整性、一致性和准确性三个维度进行评价,完整性是指数据本身的数据是否是有效数据,例如对于结构化数据库而言,数据的完整性包括域完整性、实体完整性和参照完整性,一致性是指数据和区块链中的数据摘要信息是否一致,准确性是数据在使用过程中是否会产生重大影响,例如用于机器学习的数据,结果可能由于不准确的数据产生重大影响。Due to its uniqueness, big data has some differences from commonly used commodities. Therefore, this method reflects the data quality through multi-dimensional scoring. The big data transaction scheme evaluates the three dimensions of data integrity, consistency and accuracy. , Integrity refers to whether the data of the data itself is valid data. For example, for a structured database, the integrity of the data includes domain integrity, entity integrity and referential integrity. Consistency refers to the integrity of the data and the blockchain. Whether the data summary information is consistent, accuracy is whether the data will have a significant impact in the process of use, such as data used for machine learning, the results may have a significant impact due to inaccurate data.
步骤16、所有第N个主节点根据所接收到的数据评价信息以及唯一标识UIDi,将数据评价信息记录到对应数据摘要链中第N个摘要区块的评价侧链的第n+1个评价区块中;Step 16, according to the received data evaluation information and the unique identifier UID i , all the Nth master nodes record the data evaluation information to the n+1th of the evaluation side chain of the Nth digest block in the corresponding data digest chain. in the evaluation block;
步骤17、数据需求合约按照合约中的数据奖励分配规则,将合约账户中的预算τ分配到交易数据池dataUidList{}中数据对应的数据提供商i的账户地址中αi。Step 17: The data demand contract allocates the budget τ in the contract account to the account address α i of the data provider i corresponding to the data in the transaction data pool dataUidList{} according to the data reward allocation rules in the contract.
如下方案给出了一种奖励分配规则,唯一标识为UIDi的数据的总质量分数按式(4)计算为:The following scheme provides a reward distribution rule, and the total quality score of the data uniquely identified as UID i is calculated according to formula (4) as:
智能合约分配奖励时,把三个维度的总和作为数据的总质量评分DLi。智能合约对数据提供者的数据进行奖励分配,其奖励分配是综合数据的条目数和数据质量评分进行计算,数据提供商A的数据Di应该分得奖励由式(5)计算获得:When the smart contract distributes the reward, the sum of the three dimensions is used as the total quality score DL i of the data. The smart contract distributes the rewards for the data of the data provider. The reward distribution is calculated by the number of items of the comprehensive data and the data quality score. The data D i of the data provider A should be rewarded by formula (5):
式(5)中,τ是数据需求商预先支付的数据奖励,这个奖励在大数据交易的合约执行前存储在合约地址中。DTi是数据Di的条目数,如果对应的数据集是图片,那么DTi代表的是共有多少张图片,如果对应的数据是传统数据库,那么DTi代表的是元组数。这种分配规则,可以对高质量的数据分配相对更高的数据奖励,鼓励高质量数据的数据提供商参与大数据交易,进一步促进大数据的分享和交易。In formula (5), τ is the data reward paid in advance by the data demander, and this reward is stored in the contract address before the contract execution of the big data transaction. DT i is the number of entries in the data Di. If the corresponding data set is a picture, then DT i represents how many pictures there are. If the corresponding data is a traditional database, then DT i represents the number of tuples. This allocation rule can allocate relatively higher data rewards to high-quality data, encourage data providers of high-quality data to participate in big data transactions, and further promote the sharing and trading of big data.
实施例:Example:
数据需求商j需要数据类型DS为智能手环关于跑步的监测数据,需求数据的条目为DA=1000条,数据质量分数要求β≥6.0,候选池的大小为N=3×DA。数据需求商j通过智能合约发布该数据需求,合约中包含上述字段,并将支付数据集的奖励τ=1000提前支付到该合约账户中。The data demand quotient j requires the data type D S to be the monitoring data about running of the smart bracelet, the entries of the demand data are D A =1000, the data quality score requires β≥6.0, and the size of the candidate pool is N = 3×DA . The data demander j publishes the data demand through a smart contract, the contract contains the above fields, and pays the reward τ=1000 for the payment data set to the contract account in advance.
在基于区块链的大数据交易平台中,多个数据提供商拥有该类型数据,在数据需求合约发布后,通过智能合约的合约地址和提供的接口,数据提供商可以将区块链数据摘要信息发送到智能合约,以此实现数据交易的授权,同意数据参与此次交易,智能合约将对数据进行匹配。表1代表授权参与此数据交易的数据提供商的数据信息。In the blockchain-based big data trading platform, multiple data providers own this type of data. After the data demand contract is released, the data provider can summarize the blockchain data through the contract address of the smart contract and the provided interface. The information is sent to the smart contract to realize the authorization of the data transaction, agreeing to the data to participate in the transaction, and the smart contract will match the data. Table 1 represents the data information of the data providers authorized to participate in this data transaction.
表1Table 1
智能合约首先筛选数据进入候选数据池,编号1的提供商公钥为PK1、数据UID为HG89K8JHKJK7的数据不满足数据需求商数据质量分数需求;编号8的提供商公钥为PK8、数据UID为3HJH9JHG6DJJ的数据类型不符合数据需求商类型需求,候选池的大小为3000,因此编号为2、3、4、5、6、7的数据进入候选数据池,数据需求商j根据数据相应的UID查询数据摘要链和数据评价链,可以了解到数据的详细描述和反馈,需求商j选择了编号3、4、7的数据,智能合约监测数据条目数满足需求,需求合约执行结束。The smart contract first filters the data into the candidate data pool. The provider public
数据需求商j将公钥和数据访问请求发送给编号3、4、7的数据存放的代理节点B2、B3、B6,这些代理节点将请求数据提供商进行重加密授权,相应的数据提供商用自己的私钥和数据需求商的公钥生成代理重加密密钥,代理节点执行重加密操作,将编号3、4、7的数据发送给数据需求商j,智能合约将预先合约地址中预存的奖励按照分配规则分配给编号3、4、7的数据提供商账户中,分配的奖励计算如下:The data demander j sends the public key and data access request to the proxy nodes B2, B3, and B6 where the data numbered 3, 4, and 7 are stored. These proxy nodes will request the data provider for re-encryption authorization, and the corresponding data provider uses its own The private key and the public key of the data demander generate the proxy re-encryption key, the proxy node performs the re-encryption operation, and sends the data numbered 3, 4, and 7 to the data demander j, and the smart contract will pre-store the reward in the contract address. According to the distribution rules, the distributed rewards are calculated as follows:
数据需求商j用自己的公钥解密数据,并给出对数据的反馈和评价。The data demander j decrypts the data with its own public key, and gives feedback and evaluation on the data.
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010195676.6A CN111402055B (en) | 2020-03-19 | 2020-03-19 | Decentralized data transaction method based on block chain |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010195676.6A CN111402055B (en) | 2020-03-19 | 2020-03-19 | Decentralized data transaction method based on block chain |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111402055A true CN111402055A (en) | 2020-07-10 |
| CN111402055B CN111402055B (en) | 2022-08-30 |
Family
ID=71431016
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010195676.6A Active CN111402055B (en) | 2020-03-19 | 2020-03-19 | Decentralized data transaction method based on block chain |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111402055B (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112184218A (en) * | 2020-09-18 | 2021-01-05 | 华控清交信息科技(北京)有限公司 | Data processing method and device and data processing device |
| CN112613877A (en) * | 2020-12-17 | 2021-04-06 | 腾讯科技(深圳)有限公司 | Intelligent contract triggering method and device applied to block chain network and related equipment |
| CN113256394A (en) * | 2021-06-22 | 2021-08-13 | 北京航空航天大学 | Supply chain resource management system based on intelligent contract |
| CN113298525A (en) * | 2021-06-30 | 2021-08-24 | 立信(重庆)数据科技股份有限公司 | Data asset transaction method based on block chain |
| CN113810421A (en) * | 2021-09-18 | 2021-12-17 | 上海万向区块链股份公司 | Block chain-based PRE Internet of things data sharing method and system |
| CN114125020A (en) * | 2020-09-11 | 2022-03-01 | 京东方科技集团股份有限公司 | Method, electronic equipment and system for real-time data communication |
| CN114997867A (en) * | 2022-06-10 | 2022-09-02 | 上海万向区块链股份公司 | Data element multi-mode delivery system and method based on block chain and privacy calculation |
| CN115051799A (en) * | 2022-06-13 | 2022-09-13 | 北京天华星航科技有限公司 | Digital information processing system based on block chain |
| CN116011033A (en) * | 2023-01-17 | 2023-04-25 | 北京工业大学 | Personal data transaction method and system based on blockchain |
| US20230130347A1 (en) * | 2021-10-26 | 2023-04-27 | Mastercard Asia/Pacific Pte. Ltd. | Methods and systems for generating and validating transactions on a distributed ledger |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108665261A (en) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | A kind of Internet of Things data transaction system of decentralization |
| CN108681898A (en) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | A kind of data trade method and system based on block chain |
| WO2019189954A1 (en) * | 2018-03-28 | 2019-10-03 | 주식회사 마크로젠 | Multiple blockchain-based data sharing method |
| CN110430186A (en) * | 2019-07-31 | 2019-11-08 | 国网电子商务有限公司 | Block chain data transacting system and method based on proxy re-encryption and intelligent contract |
-
2020
- 2020-03-19 CN CN202010195676.6A patent/CN111402055B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019189954A1 (en) * | 2018-03-28 | 2019-10-03 | 주식회사 마크로젠 | Multiple blockchain-based data sharing method |
| CN108665261A (en) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | A kind of Internet of Things data transaction system of decentralization |
| CN108681898A (en) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | A kind of data trade method and system based on block chain |
| CN110430186A (en) * | 2019-07-31 | 2019-11-08 | 国网电子商务有限公司 | Block chain data transacting system and method based on proxy re-encryption and intelligent contract |
Non-Patent Citations (2)
| Title |
|---|
| ZHANGSHUANG GUAN 等: "Secure Fair and Efficient Data Trading Without Third Party Using Blockchain", 《2018 IEEE INTERNATIONAL CONFERENCE ON INTERNET OF THINGS (ITHINGS) AND IEEE GREEN COMPUTING AND COMMUNICATIONS (GREENCOM) AND IEEE CYBER, PHYSICAL AND SOCIAL COMPUTING (CPSCOM) AND IEEE SMART DATA (SMARTDATA)》 * |
| 程琳 等: "基于区块链的大数据定价机制及交易模式探究", 《全国流通经济》 * |
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114125020B (en) * | 2020-09-11 | 2023-08-29 | 京东方科技集团股份有限公司 | Method, electronic device and system for real-time data communication |
| US12482039B2 (en) | 2020-09-11 | 2025-11-25 | Beijing Boe Technology Development Co., Ltd. | Method for real-time data communication, electronic device, and system |
| CN114125020A (en) * | 2020-09-11 | 2022-03-01 | 京东方科技集团股份有限公司 | Method, electronic equipment and system for real-time data communication |
| EP4213467A4 (en) * | 2020-09-11 | 2024-10-09 | BOE Technology Group Co., Ltd. | Method for real-time data communication, electronic device, and system |
| CN112184218A (en) * | 2020-09-18 | 2021-01-05 | 华控清交信息科技(北京)有限公司 | Data processing method and device and data processing device |
| CN112613877A (en) * | 2020-12-17 | 2021-04-06 | 腾讯科技(深圳)有限公司 | Intelligent contract triggering method and device applied to block chain network and related equipment |
| CN113256394A (en) * | 2021-06-22 | 2021-08-13 | 北京航空航天大学 | Supply chain resource management system based on intelligent contract |
| CN113256394B (en) * | 2021-06-22 | 2021-09-28 | 北京航空航天大学 | Supply chain resource management system based on intelligent contract |
| CN113298525A (en) * | 2021-06-30 | 2021-08-24 | 立信(重庆)数据科技股份有限公司 | Data asset transaction method based on block chain |
| CN113810421B (en) * | 2021-09-18 | 2023-05-05 | 上海万向区块链股份公司 | PRE (PRE) Internet of things data sharing method and system based on block chain |
| CN113810421A (en) * | 2021-09-18 | 2021-12-17 | 上海万向区块链股份公司 | Block chain-based PRE Internet of things data sharing method and system |
| US20230130347A1 (en) * | 2021-10-26 | 2023-04-27 | Mastercard Asia/Pacific Pte. Ltd. | Methods and systems for generating and validating transactions on a distributed ledger |
| CN114997867A (en) * | 2022-06-10 | 2022-09-02 | 上海万向区块链股份公司 | Data element multi-mode delivery system and method based on block chain and privacy calculation |
| CN115051799A (en) * | 2022-06-13 | 2022-09-13 | 北京天华星航科技有限公司 | Digital information processing system based on block chain |
| CN116011033A (en) * | 2023-01-17 | 2023-04-25 | 北京工业大学 | Personal data transaction method and system based on blockchain |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111402055B (en) | 2022-08-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111402055B (en) | Decentralized data transaction method based on block chain | |
| US20250335902A1 (en) | Secure storage and/or transfer of distributed ledger token through a possession token associated with the ledger token | |
| TWI722586B (en) | Data sharing method, device and system, electronic equipment | |
| CN107180350B (en) | Method, device and system for multi-party sharing transaction metadata based on block chain | |
| CN113034128B (en) | Block chain-based data transaction and right confirmation method | |
| US12033136B2 (en) | Methods and systems for transferring unspent transaction output (UTXO) tokens in a blockchain network | |
| CN112884554B (en) | Auction method of Internet of things data auction system based on alliance chain | |
| KR102142259B1 (en) | System for distribution of content files using smart contract based on block chain and method thereof | |
| CN114900290A (en) | Data transaction model and privacy protection method based on block chain | |
| CN114638599A (en) | Digital asset right-confirming transaction method and system based on block chain | |
| CN114218591A (en) | A digital asset management method that can realize anonymous transactions | |
| CN111160998A (en) | Comment data processing method and device based on block chain and comment system | |
| CN112464178B (en) | Data transaction copyright protection method based on blockchain and homomorphic encryption | |
| CN114491636A (en) | A transaction method based on scenario-based data usage results | |
| Yu et al. | A copyright-preserving and fair image trading scheme based on blockchain | |
| JP7759342B2 (en) | Decentralized Privacy-Preserving Rewards with Cryptographic Black-Box Accumulators | |
| CN117729215A (en) | Trusted data sharing platform based on blockchain | |
| CN115021959B (en) | Data management methods and related products based on blockchain | |
| CN112231751A (en) | Data transmission system and method based on block chain | |
| Li et al. | A fair, verifiable and privacy-protecting data outsourcing transaction scheme based on smart contracts | |
| CN114897602A (en) | Anonymous auction system and auction method for bank assets based on blockchain | |
| CN119885267A (en) | Data trusted computing framework based on alliance block chain | |
| CN112861181A (en) | Block chain-based method for developing security mechanism of crowd-sourcing software | |
| CN118428947A (en) | A blockchain power trading and settlement platform | |
| CN115689693A (en) | House rental matching method, system, device and computer readable medium |
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 |