CN111402055B - 一种基于区块链的去中心化数据交易方法 - Google Patents
一种基于区块链的去中心化数据交易方法 Download PDFInfo
- Publication number
- CN111402055B CN111402055B CN202010195676.6A CN202010195676A CN111402055B CN 111402055 B CN111402055 B CN 111402055B CN 202010195676 A CN202010195676 A CN 202010195676A CN 111402055 B CN111402055 B CN 111402055B
- Authority
- CN
- China
- Prior art keywords
- data
- provider
- block
- nth
- demand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链的去中心化数据交易方法,是应用于由密钥生成中心、区块链和智能合约所构成的大数据交易环境中,通过区块链实现数据交易市场的数据摘要信息采集,记录数据使用情况的评价信息,以及数据交易中的交易记录;通过智能合约可以发布数据需求,匹配并筛选数据需求商需求的数据,自动完成数据奖励的分配。本发明能解决数据交易中心不可信的问题,以保证数据提供者对于个人数据在交易中的所有权和知情权,提高数据交易过程的智能化和高效性,从而能为交易双方提供安全可靠的大数据交易服务。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于区块链与智能合约的大数据平台交易方法。
背景技术
区块链是一种去中心化的技术,其信息的不可篡改特性、数据的分布式存储等一系列特点使得正在逐渐应用于更多的领域。随着大数据时代的到来,一些服务商为了提高更精准的客户服务,更需要对海量的大数据进行挖掘和分析。数据的拥有者也更加认识到数据的价值,对于数据的隐私也更加重视。目前大数据交易市场提供了数据交易的市场环境,但在用户的数据的隐私保护和数据的价值奖励等方面都存在诸多缺陷,因此,在这种情况下,提供一个安全可靠的交易平台,让大数据的价值得到更好的利用是一个重要的方向。
智能合约是一种用算法和程序来编制合同条款、部署在区块链上且可按照规则自动执行的数字化协议。在区块链应用到更多领域时,需要更高实用性的合约满足***的需要。
目前大数据交易平台采用的是第三方交易的模式,数据提供者将数据上传到第三方平台上,并拟定一个初始价格,当数据需求商想要使用此数据时,支付给数据提供者对应价格的奖励,即可以访问该数据,在这一交易模式下,存在着如下缺陷:
1.第三方数据交易平台中,数据交易会收取昂贵的手续费,同时第三方中心也存在着不可信问题,其可能会不经数据提供商的允许篡改提供商的数据,甚至转卖提供商的数据。
2.一旦第三方交易中心遭遇网络攻击,其很容易面临单点故障的问题,造成数据的大量泄漏,在这个过程中,很容易造成用户的数据和身份隐私问题。
3.数据需求商需要在海量的数据中检索自己的数据,数据质量良莠不齐,缺乏较完善的大数据评价机制,数据匹配和筛选智能化程度较低,因此效率比较低,而且数据主要来自于比较单一的数据提供商。
4.在对数据交易中,数据提供商将数据提交到第三方交易平台,并委托第三方平台负责数据的交易,因此在一定程度上,数据提供商的数据所有权和知情权更多依赖交易中心的可信度。
5.在数据的价值奖励中,第三方数据交易的奖励模型较为单一,数据提供商预设数据集初始价格,数据需求商支付价格对应的奖励,不能够很好的根据数据的质量反映数据的价值。
发明内容
本发明旨在针对现有大数据交易平台过程数据良莠不齐、第三方数据中心不可信、容易造成数据和身份隐私安全问题等缺陷和不足,提供一种基于区块链的去中心化数据交易方法,以期能解决数据中心不可信的问题,保证数据提供者对于个人数据在交易中的所有权和知情权,提高数据交易过程的智能化和高效性,从而为交易双方提供一个安全公平的大数据交易模式。
本发明是通过采用下述技术方案实现的:
本发明一种基于区块链的去中心化数据交易方法的特点是应用于由密钥生成中心、区块链和智能合约所构成的交易环境中,并在所述交易环境中按如下步骤实现若干个数据提供商、一个数据需求商以及若干个数据代理商节点之间的点对点交易方法:
步骤1、任意一个数据提供商i通过注册方式获得匿名身份公私钥对(PKi,SKi)和账户地址αi,并向所述密钥生成中心申请用于加解密的公私钥对(pki,ski);
步骤2、所述数据提供商i将自身数据Di进行加密后得到数据密文Epki(Di),其中,Di是所述数据提供商i用于大数据交易的明文数据,Epki(·)表示使用数据提供商i的公钥pki来执行加密操作;
所述数据提供商i提供关于所述明文数据Di的一份数据摘要,包含:所述明文数据Di的描述Des(Di),明文数据Di的Hash值Hash(Di),数据类型Type(Di),数据条目数DTi(Di),签名信息SigSki,以及接收数据奖励的账户地址αi;
步骤3、所述数据提供商i选择任意一个代理商节点B,并将所述数据密文Epki(Di)及数据摘要发送给所述代理商节点B;
步骤4、所述代理商节点B接收到所述数据提供商i的数据密文Epki(Di)和数据摘要后,分别利用式(1)和式(2)生成唯一标识UIDi和存储证明SP(UIDi):
UIDi=Hash(αi,Hash(Di)) (1)
式(1)中,Hash(·)表示哈希计算;
步骤5、所述代理商节点B利用式(3)生成数据摘要信息Tbrief(UIDi):
步骤6、所述代理商节点B在第N个时间段内获取所有代理商节点生成的数据摘要信息,将获取的数据摘要信息作为区块主体部分,并添加区块头后打包作为第N个摘要区块,所述第N个摘要区块中的区块头的信息包括:时间戳、数据摘要信息的Merkle Tree以及第N-1个摘要区块的Hash值;
代理商节点B同其他代理商节点达成共识后,将第N个摘要区块链接在第N-1个摘要区块上,从而形成最新的数据摘要链,当N=0时,第N-1个摘要区块的Hash值为所设定的Hash值;
步骤7、在最新的数据摘要链中的第N个摘要区块内对应数据的代理商节点中选举第N个主节点,所述第N个主节点在第N个摘要区块上产生第N个评价侧链的第n个评价区块,所述第n个评价区块的区块主体部分包含第N个摘要区块中数据在第n个评价区块中的质量描述以及质量分数其中,分别是第N个摘要区块上的第n个评价区块中唯一标识UIDi的所对应数据的完整性、一致性和准确性的评分;当n=1时,为所设定的完整性、一致性和准确性的初始评分;
所述第n个评价区块的区块头的信息包含:时间戳、数据评价信息的MerkleTree以及第n-1个评价区块的Hash值;当n=1时,第n-1个评价区块的Hash值为第N个摘要区块的Hash值;
步骤8、任意一个数据需求商j通过注册方式获得匿名身份公私钥对(PKj,SKj),并向所述密钥生成中心申请用于加解密的公私钥对(pkj,skj);
步骤9、所述数据需求商j通过所述智能合约发布数据需求合约,所述数据需求合约包含:需求数据类型DS,数据需求条目数DA,数据需求期限dl,数据需求商加密公钥pkj,数据质量要求β,以及数据奖励分配规则;
所述数据需求商j部署所述数据需求合约后,将数据交易的预算τ发送到所述数据需求合约生成的合约账户中;
步骤10、所有数据提供商通过所述数据需求合约与所述数据需求商j进行交互,从而响应数据需求;
步骤11、假设数据提供商i响应数据需求,则所述数据需求合约根据响应数据需求的数据提供商i的唯一标识UIDi,读取对应数据摘要链上的第N个摘要区块和第N个数据评价侧链上的前n个评价区块后,并根据所述数据需求合约中的函数对响应数据需求的数据提供商i的若干数据进行匹配检查,并将符合数据需求商j需求的数据加入候选数据池candidateDataList{}中;
步骤12、所述数据需求商j根据候选数据池candidateDataList{}中的唯一标识UIDi查看相应区块链中数据的摘要信息和评价信息,然后所述数据需求商j决定是否购买相应数据,若选择购买,则将相应数据加入交易数据池dataUidList{}中;
步骤13、所述数据需求合约记录加入到所述交易数据池dataUidList{}中数据的条目数DR,当满足数据需求商的条目需求DA时,或者达到数据需求的期限时,表示数据需求匹配完成;
步骤14、所述数据需求商j向交易数据池dataUidList{}中数据的数据提供商i发出数据请求,相应的数据提供商i通过自己的解密私钥ski和所述数据需求合约中的数据需求商j的加密公钥pkj生成代理重加密密钥rki→j,并发送给存储所述数据提供商i数据的代理商节点B;
相应代理商节点B使用所述代理重加密密钥rki→j对数据提供商i加入交易数据池dataUidList{}的数据的数据密文Epki(Di)进行重加密,得到重加密后的密文Epk′i(Di)并发送给所述数据需求商j,使得所述数据需求商j能使用自己的私钥skj解密重加密后的密文Epk′i(Di),得到数据提供商i加入交易数据池dataUidList{}中数据的明文数据Di;
步骤15、所述数据需求商j根据解密得到的明文数据Di计算相应的Hash值Hash(Di),若与所述数据摘要链中的相应明文数据Di的哈希值相同,则表示解密得到的明文数据Di为数据提供商i提供的原始数据;
在使用相应的明文数据Di后,所述数据需求商j根据数据使用效果,给出相应的数据评价信息并发送给第N个主节点,所述数据评价信息包含:第N个摘要区块中唯一标识UIDi所对应的数据在第n+1个评价区块中的质量描述以及质量分数;
步骤16、所有第N个主节点根据所接收到的数据评价信息以及唯一标识UIDi,将数据评价信息记录到对应数据摘要链中第N个摘要区块的评价侧链的第n+1个评价区块中;
步骤17、所述数据需求合约按照合约中的数据奖励分配规则,将合约账户中的预算τ分配到交易数据池dataUidList{}中数据对应的数据提供商i的账户地址中αi。
本发明所述的去中心化数据交易方法的特点是,所述步骤11中的数据需求合约中的函数包括:
类型合约函数matchStyle(),用于检查数据类型是否匹配;
质量合约函数checkQuality(),用于检查数据的质量分数是否满足数据需求商的质量要求,若数据的质量分数大于数据质量要求β,则表示满足质量要求。
与已有技术相比,本发明有益效果体现在:
1、本发明所提出的去中心化的大数据交易***,从根本上解决了传统第三方交易中心的不可信问题,以及中心单点故障问题,极大保证了数据提供商在数据交易中的数据所有权和知情权。
2、本发明利用区块链技术记录数据的摘要信息和评价信息,以及交易信息,既保证了数据的可验证性,也提高了数据评价的可信度,为大数据交易各方提供更加全面的不可篡改的数据交易记录。
3、本发明利用智能合约技术进行数据交易,提高了交易的智能化和高效性,有效提升了数据检索、匹配和交易的效率,合约的设计为数据需求商提供了更多样化的数据解决方案。
4、本发明利用代理重加密技术和智能合约技术,数据需求商加密公钥通过合约发布,提高了密钥转换的正确性,同时防止数据在传输过程中被非法解密,确保了交易数据的安全。
5、本发明设计的数据评价机制和价值奖励规则,可以鼓励数据的高质量发展,进一步促进大数据的分享和流通。
附图说明
图1为本发明***用户图;
图2为本发明区块链区块信息示意图;
图3为本发明区块链链式结构示意图;
具体实施方式
本实施例中,如图1所示,一种基于区块链的去中心化数据交易方法应用场景包括三种用户:数据提供者、数据需求商和数据代理商节点,数据提供者将数据存储在数据代理商节点;代理商节点存储转发用户数据并负责维护用于大数据交易的区块链,将数据信息写入区块链。数据购买者通过发布智能合约来获取需求的数据,通过智能合约给数据提供者相应的奖励,并反馈数据评价信息。通过区块链记录数据提供商的数据摘要信息,数据需求商能够通过数据摘要信息了解该数据的基本信息,智能合约可以通过和区块链中的信息进行交互,以帮助数据需求商匹配相应的数据集。具体的说,该方法是按如下步骤进行:
步骤1、任意一个数据提供商i通过注册方式获得匿名身份公私钥对(PKi,SKi)和账户地址αi,采用的匿名的用户方案,用户只需要通过一串自定义字符串,可以获得相对应的私钥SKi和公钥PKi,通过公钥可以产生接受奖励的地址αi。同时根据公钥,用户可以向密钥生成中心申请用于代理重加密数据的公私钥对。因此对每一个用户,都有两对密钥对,一对是用户的匿名身份密钥对(PKi,SKi),另一对是用于加解密数据的密钥对(ski,pki),一个数据提供商可以拥有多个用于交易的数据集,这种匿名注册的方式,使得数据需求商无法在数据和数据用户之间建立联系,进一步增强了对用户隐私的保护。
步骤2、数据提供商i将自身数据Di进行加密后得到数据密文Epki(Di),其中,Di是数据提供商i用于大数据交易的明文数据,Epki(·)表示使用数据提供商i的公钥pki来执行加密操作;
数据提供商i提供关于明文数据Di的一份数据摘要,包含:明文数据Di的描述Des(Di),明文数据Di的Hash值Hash(Di),数据类型Type(Di),数据条目数DTi(Di),签名信息SigSki,以及接收数据奖励的账户地址αi;
步骤3、数据提供商i选择任意一个代理商节点B,并将数据密文Epki(Di)及数据摘要发送给代理商节点B;
步骤4、代理商节点B接收到数据提供商i的数据密文Epki(Di)和数据摘要后,通过式(1)计算一个唯一标识的编号UIDi,这个编号UIDi可以在大数据交易***中唯一标识该数据;
UIDi=Hash(αi,Hash(Di)) (1),
式(1)中,Hash(·)表示哈希计算;
代理节点是具有一定存储和计算能力的数据交易节点,除了存储数据提供商的数据,还负责数据的重加密,同时还负责区块链***的维护。代理节点B的身份公私钥对表示为(SKB,PKB),代理商节点B接收到数据提供商的数据后,会通过式(2)生成相应的存储证明字段SP(UIDi);
式(2)中,是代理商节点B利用自身公私钥对(SKB,PKB)对存储证明SP(UIDi)的签名,ALUIDi是数据提供商i的唯一标识UIDi的数据密文Epki(Di)的存储位置,通过存储证明,数据提供商可以验证自己数据的存储有效性。
步骤5、代理商节点B利用式(3)生成数据UIDi的摘要信息Tbrief(UIDi):
步骤6、代理商节点B在第N个时间段内获取所有代理商节点生成的数据摘要信息,将获取的数据摘要信息作为区块主体部分,并添加区块头后打包作为第N个摘要区块,第N个摘要区块中的区块头的信息包括:时间戳、数据摘要信息的Merkle Tree以及第N-1个摘要区块的Hash值;
代理商节点B同其他代理商节点达成共识后,将第N个摘要区块链接在第N-1个摘要区块上,从而形成最新的数据摘要链,当N=0时,第N-1个摘要区块的Hash值为所设定的Hash值;数据摘要链的摘要区块如图2所示。
步骤7、在最新的数据摘要链中的第N个摘要区块内对应数据的代理商节点中选举第N个主节点,第N个主节点在第N个摘要区块上产生第N个评价侧链的第n个评价区块,数据摘要链和数据评价链的链接形式如图3所示。
第n个评价区块的区块主体部分包含第N个摘要区块中数据在第n个评价区块中的质量描述以及质量分数其中,分别是第N个摘要区块上的第n个评价区块中唯一标识UIDi的所对应数据的完整性、一致性和准确性的评分;当n=1时,为所设定的完整性、一致性和准确性的初始评分;数据评价链的评价区块如图2所示。
第n个评价区块的区块头的信息包含:时间戳、数据评价信息的MerkleTree以及第n-1个评价区块的Hash值;当n=1时,第n-1个评价区块的Hash值为第N个摘要区块的Hash值;
步骤8、任意一个数据需求商j通过注册方式获得匿名身份公私钥对(PKj,SKj),并向密钥生成中心申请用于加解密的公私钥对(pkj,skj);
步骤9、数据需求商j通过智能合约发布数据需求合约,数据需求合约包含:需求数据类型DS,数据需求条目数DA,数据需求期限dl,数据需求商加密公钥pkj,数据质量要求β,以及数据奖励分配规则,奖励分配规则由数据需求商制定,可以结合需求商数据的质量和数量按照规则进行分配。
数据需求商j部署数据需求合约后,将数据交易的预算τ发送到数据需求合约生成的合约账户中。通过预先支付奖励,有效避免了数据需求商获取数据后拒绝支付奖励的恶意行为,发送到合约账户,可以实现智能合约将奖励自动分配到数据提供商的账户中。
步骤10、所有数据提供商通过数据需求合约与数据需求商j进行交互,从而响应数据需求;数据需求商通过合约进行响应的模式,保证了数据提供商对于数据交易的控制,每次参与交易,都需要与数据提供商通过合约交互的方式进行确认。
步骤11、假设数据提供商i响应数据需求,则数据需求合约根据响应数据需求的数据提供商i的唯一标识UIDi,读取对应数据摘要链上的第N个摘要区块和第N个数据评价侧链上的前n个评价区块后,并根据数据需求合约中的函数对响应数据需求的数据提供商i的若干数据进行匹配检查,并将符合数据需求商j需求的数据加入候选数据池candidateDataList{}中;
数据需求合约中的函数包括:
类型合约函数matchStyle(),用于检查数据类型是否匹配;
质量合约函数checkQuality(),用于检查数据的质量分数是否满足数据需求商的质量要求,若数据的质量分数大于数据质量要求β,则表示满足质量要求。候选数据池candidateDataList{}是为了更精准的提高数据需求商数据需求的匹配度,是在数据需求商需求数据条目的基础上进行扩充,让更多的数据成为候选数据,例如候选数据池的数据条目数是数据需求商需求数据条目的三倍,这样数据需求商可以参考更多的数据信息,进行下一步挑选;
步骤12、数据需求商j根据候选数据池candidateDataList{}中的唯一标识UIDi查看相应区块链中数据的摘要信息和评价信息,通过查看数据摘要信息,可以帮助需求商了解数据本身的相关属性,查看评价侧链信息,数据需求商可以看到该数据之前的每一个使用者对该数据进行反馈的评价信息,然后数据需求商j决定是否购买相应数据,若选择购买,则将相应数据加入交易数据池dataUidList{}中。
步骤13、数据需求合约记录加入到交易数据池dataUidList{}中数据的条目数DR,当满足数据需求商的条目需求DA时,或者达到数据需求的期限时,表示数据需求匹配完成。通过数据需求商候选数据池和交易数据池的设计,数据匹配过程采用了智能合约自动匹配和数据需求商手动挑选的模式,智能合约帮助筛选出与数据需求商需求匹配的数据,数据需求商的进一步挑选有利于选择更高质量的数据。
步骤14、数据需求商j向交易数据池dataUidList{}中数据的数据提供商i发出数据请求,相应的数据提供商i通过自己的解密私钥ski和数据需求合约中的数据需求商j的加密公钥pkj生成代理重加密密钥rki→j,并发送给存储数据提供商i数据的代理商节点B;
相应代理商节点B使用代理重加密密钥rki→j对数据提供商i加入交易数据池dataUidList{}的数据的数据密文Epki(Di)进行重加密,得到重加密后的密文Epk′i(Di)并发送给数据需求商j,使得数据需求商j能使用自己的私钥skj解密重加密后的密文Epk′i(Di),得到数据提供商i加入交易数据池dataUidList{}中数据的明文数据Di。在这一过程中,只有数据提供商和数据需求商可以获得明文数据,数据对代理节点始终保持密文状态,因此降低了数据被篡改和窃取的风险;
代理重加密详细的执行步骤为:
步骤9.1、Enc(Di,pki)→Epki(Di):数据提供商i执行数据加密算法Enc(),输入数据明文Di和公钥pki,输出数据密文Epki(Di);
步骤9.2、Delegate(ski,pkj)→rki→j:数据提供商执行重加密授权算法Delegate(),输入私钥ski和数据需求商j公钥pkj,输出代理重加密密钥rki→j;
步骤9.3、ReEnc(rki→j,Epki(Di))→Epk′i(Di):代理商节点执行重加密算法ReEnc(),输入数据提供商公钥pki加密的数据密文Epki(Di)和代理重加密密钥rki→j,输出重加密密文Epk′i(Di);
步骤9.4、Dec(Epk′i(Di),skj)→Di:数据需求商执行解密算法Dec(),输入重加密密文Epk′i(Di)和数据需求商解密私钥skj,得到数据明文Di。
步骤15、数据需求商j根据解密得到的明文数据Di计算相应的Hash值Hash(Di),若与数据摘要链中的相应明文数据Di的哈希值相同,则表示解密得到的明文数据为数据提供商i提供的原始数据Di。
在使用相应的明文数据Di后,数据需求商j根据数据使用效果,给出相应的数据评价信息并发送给第N个主节点,数据评价信息包含:第N个摘要区块中唯一标识UIDi所对应的数据在第n+1个评价区块中的质量描述以及质量分数。
质量描述是对数据使用过程中的使用反馈,例如反馈数据是否同需求商提供的数据摘要信息一致,数据是否满足自身数据需求等;质量分数是对数据不同数据质量评价维度的评分,质量分数的符号表示为其中表示第N个摘要区块中标识为UIDi的数据对应评价侧链第n个评价区块中的数据完整性、一致性和准确性的评分,t是单次数据评价分数的阈值,为了保证单次评价对数据的质量影响过大,这个反馈评价阈值t应小于初始评分,这样随着更多的数据提供商给出评价,数据的质量优劣将逐渐明显。
大数据由于其独特性,和常用的商品有一些差异,因此,本方法通过多维度的评分来反映数据质量,大数据交易方案是对数据的完整性、一致性和准确性三个维度进行评价,完整性是指数据本身的数据是否是有效数据,例如对于结构化数据库而言,数据的完整性包括域完整性、实体完整性和参照完整性,一致性是指数据和区块链中的数据摘要信息是否一致,准确性是数据在使用过程中是否会产生重大影响,例如用于机器学习的数据,结果可能由于不准确的数据产生重大影响。
步骤16、所有第N个主节点根据所接收到的数据评价信息以及唯一标识UIDi,将数据评价信息记录到对应数据摘要链中第N个摘要区块的评价侧链的第n+1个评价区块中;
步骤17、数据需求合约按照合约中的数据奖励分配规则,将合约账户中的预算τ分配到交易数据池dataUidList{}中数据对应的数据提供商i的账户地址中αi。
如下方案给出了一种奖励分配规则,唯一标识为UIDi的数据的总质量分数按式(4)计算为:
智能合约分配奖励时,把三个维度的总和作为数据的总质量评分DLi。智能合约对数据提供者的数据进行奖励分配,其奖励分配是综合数据的条目数和数据质量评分进行计算,数据提供商A的数据Di应该分得奖励由式(5)计算获得:
式(5)中,τ是数据需求商预先支付的数据奖励,这个奖励在大数据交易的合约执行前存储在合约地址中。DTi是数据Di的条目数,如果对应的数据集是图片,那么DTi代表的是共有多少张图片,如果对应的数据是传统数据库,那么DTi代表的是元组数。这种分配规则,可以对高质量的数据分配相对更高的数据奖励,鼓励高质量数据的数据提供商参与大数据交易,进一步促进大数据的分享和交易。
实施例:
数据需求商j需要数据类型DS为智能手环关于跑步的监测数据,需求数据的条目为DA=1000条,数据质量分数要求β≥6.0,候选池的大小为N=3×DA。数据需求商j通过智能合约发布该数据需求,合约中包含上述字段,并将支付数据集的奖励τ=1000提前支付到该合约账户中。
在基于区块链的大数据交易平台中,多个数据提供商拥有该类型数据,在数据需求合约发布后,通过智能合约的合约地址和提供的接口,数据提供商可以将区块链数据摘要信息发送到智能合约,以此实现数据交易的授权,同意数据参与此次交易,智能合约将对数据进行匹配。表1代表授权参与此数据交易的数据提供商的数据信息。
表1
智能合约首先筛选数据进入候选数据池,编号1的提供商公钥为PK1、数据UID为HG89K8JHKJK7的数据不满足数据需求商数据质量分数需求;编号8的提供商公钥为PK8、数据UID为3HJH9JHG6DJJ的数据类型不符合数据需求商类型需求,候选池的大小为3000,因此编号为2、3、4、5、6、7的数据进入候选数据池,数据需求商j根据数据相应的UID查询数据摘要链和数据评价链,可以了解到数据的详细描述和反馈,需求商j选择了编号3、4、7的数据,智能合约监测数据条目数满足需求,需求合约执行结束。
数据需求商j将公钥和数据访问请求发送给编号3、4、7的数据存放的代理节点B2、B3、B6,这些代理节点将请求数据提供商进行重加密授权,相应的数据提供商用自己的私钥和数据需求商的公钥生成代理重加密密钥,代理节点执行重加密操作,将编号3、4、7的数据发送给数据需求商j,智能合约将预先合约地址中预存的奖励按照分配规则分配给编号3、4、7的数据提供商账户中,分配的奖励计算如下:
数据需求商j用自己的公钥解密数据,并给出对数据的反馈和评价。
Claims (2)
1.一种基于区块链的去中心化数据交易方法,其特征是应用于由密钥生成中心、区块链和智能合约所构成的交易环境中,并在所述交易环境中按如下步骤实现若干个数据提供商、一个数据需求商以及若干个数据代理商节点之间的点对点交易方法:
步骤1、任意一个数据提供商i通过注册方式获得匿名身份公私钥对(PKi,SKi)和账户地址αi,并向所述密钥生成中心申请用于加解密的公私钥对(pki,ski);
步骤2、所述数据提供商i将自身数据Di进行加密后得到数据密文Epki(Di),其中,Di是所述数据提供商i用于大数据交易的明文数据,Epki(·)表示使用数据提供商i的公钥pki来执行加密操作;
所述数据提供商i提供关于所述明文数据Di的一份数据摘要,包含:所述明文数据Di的描述Des(Di),明文数据Di的Hash值Hash(Di),数据类型Type(Di),数据条目数DTi(Di),签名信息SigSki,以及接收数据奖励的账户地址αi;
步骤3、所述数据提供商i选择任意一个代理商节点B,并将所述数据密文Epki(Di)及数据摘要发送给所述代理商节点B;
步骤4、所述代理商节点B接收到所述数据提供商i的数据密文Epki(Di)和数据摘要后,分别利用式(1)和式(2)生成唯一标识UIDi和存储证明SP(UIDi):
UIDi=Hash(αi,Hash(Di)) (1)
式(1)中,Hash(·)表示哈希计算;
步骤5、所述代理商节点B利用式(3)生成数据摘要信息Tbrief(UIDi):
步骤6、所述代理商节点B在第N个时间段内获取所有代理商节点生成的数据摘要信息,将获取的数据摘要信息作为区块主体部分,并添加区块头后打包作为第N个摘要区块,所述第N个摘要区块中的区块头的信息包括:时间戳、数据摘要信息的Merkle Tree以及第N-1个摘要区块的Hash值;
代理商节点B同其他代理商节点达成共识后,将第N个摘要区块链接在第N-1个摘要区块上,从而形成最新的数据摘要链,当N=0时,第N-1个摘要区块的Hash值为所设定的Hash值;
步骤7、在最新的数据摘要链中的第N个摘要区块内对应数据的代理商节点中选举第N个主节点,所述第N个主节点在第N个摘要区块上产生第N个评价侧链的第n个评价区块,所述第n个评价区块的区块主体部分包含第N个摘要区块中数据在第n个评价区块中的质量描述以及质量分数其中,分别是第N个摘要区块上的第n个评价区块中唯一标识UIDi的所对应数据的完整性、一致性和准确性的评分;当n=1时,为所设定的完整性、一致性和准确性的初始评分;
所述第n个评价区块的区块头的信息包含:时间戳、数据评价信息的Merkle Tree以及第n-1个评价区块的Hash值;当n=1时,第n-1个评价区块的Hash值为第N个摘要区块的Hash值;
步骤8、任意一个数据需求商j通过注册方式获得匿名身份公私钥对(PKj,SKj),并向所述密钥生成中心申请用于加解密的公私钥对(pkj,skj);
步骤9、所述数据需求商j通过所述智能合约发布数据需求合约,所述数据需求合约包含:需求数据类型DS,数据需求条目数DA,数据需求期限dl,数据需求商加密公钥pkj,数据质量要求β,以及数据奖励分配规则;
所述数据需求商j部署所述数据需求合约后,将数据交易的预算τ发送到所述数据需求合约生成的合约账户中;
步骤10、所有数据提供商通过所述数据需求合约与所述数据需求商j进行交互,从而响应数据需求;
步骤11、假设数据提供商i响应数据需求,则所述数据需求合约根据响应数据需求的数据提供商i的唯一标识UIDi,读取对应数据摘要链上的第N个摘要区块和第N个数据评价侧链上的前n个评价区块后,并根据所述数据需求合约中的函数对响应数据需求的数据提供商i的若干数据进行匹配检查,并将符合数据需求商j需求的数据加入候选数据池candidateDataList{}中;
步骤12、所述数据需求商j根据候选数据池candidateDataList{}中的唯一标识UIDi查看相应区块链中数据的摘要信息和评价信息,然后所述数据需求商j决定是否购买相应数据,若选择购买,则将相应数据加入交易数据池dataUidList{}中;
步骤13、所述数据需求合约记录加入到所述交易数据池dataUidList{}中数据的条目数DR,当满足数据需求商的条目需求DA时,或者达到数据需求的期限时,表示数据需求匹配完成;
步骤14、所述数据需求商j向交易数据池dataUidList{}中数据的数据提供商i发出数据请求,相应的数据提供商i通过自己的解密私钥ski和所述数据需求合约中的数据需求商j的加密公钥pkj生成代理重加密密钥rki→j,并发送给存储所述数据提供商i数据的代理商节点B;
相应代理商节点B使用所述代理重加密密钥rki→j对数据提供商i加入交易数据池dataUidList{}的数据的数据密文Epki(Di)进行重加密,得到重加密后的密文Epki′(Di)并发送给所述数据需求商j,使得所述数据需求商j能使用自己的私钥skj解密重加密后的密文Epki′(Di),得到数据提供商i加入交易数据池dataUidList{}中数据的明文数据Di;
步骤15、所述数据需求商j根据解密得到的明文数据Di计算相应的Hash值Hash(Di),若与所述数据摘要链中的相应明文数据Di的哈希值相同,则表示解密得到的明文数据Di为数据提供商i提供的原始数据;
在使用相应的明文数据Di后,所述数据需求商j根据数据使用效果,给出相应的数据评价信息并发送给第N个主节点,所述数据评价信息包含:第N个摘要区块中唯一标识UIDi所对应的数据在第n+1个评价区块中的质量描述以及质量分数;
步骤16、所有第N个主节点根据所接收到的数据评价信息以及唯一标识UIDi,将数据评价信息记录到对应数据摘要链中第N个摘要区块的评价侧链的第n+1个评价区块中;
步骤17、所述数据需求合约按照合约中的数据奖励分配规则,将合约账户中的预算τ分配到交易数据池dataUidList{}中数据对应的数据提供商i的账户地址中αi。
2.根据权利要求1所述的去中心化数据交易方法,其特征是,所述步骤11中的数据需求合约中的函数包括:
类型合约函数matchStyle(),用于检查数据类型是否匹配;
质量合约函数checkQuality(),用于检查数据的质量分数是否满足数据需求商的质量要求,若数据的质量分数大于数据质量要求β,则表示满足质量要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010195676.6A CN111402055B (zh) | 2020-03-19 | 2020-03-19 | 一种基于区块链的去中心化数据交易方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010195676.6A CN111402055B (zh) | 2020-03-19 | 2020-03-19 | 一种基于区块链的去中心化数据交易方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111402055A CN111402055A (zh) | 2020-07-10 |
CN111402055B true CN111402055B (zh) | 2022-08-30 |
Family
ID=71431016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010195676.6A Active CN111402055B (zh) | 2020-03-19 | 2020-03-19 | 一种基于区块链的去中心化数据交易方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111402055B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125020B (zh) * | 2020-09-11 | 2023-08-29 | 京东方科技集团股份有限公司 | 实时数据通信的方法、电子设备和*** |
CN112184218B (zh) * | 2020-09-18 | 2022-02-01 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN112613877B (zh) * | 2020-12-17 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 应用于区块链网络的智能合约触发方法、装置及相关设备 |
CN113256394B (zh) * | 2021-06-22 | 2021-09-28 | 北京航空航天大学 | 基于智能合约的供应链资源管理*** |
CN113298525A (zh) * | 2021-06-30 | 2021-08-24 | 立信(重庆)数据科技股份有限公司 | 基于区块链的数据资产交易方法 |
CN113810421B (zh) * | 2021-09-18 | 2023-05-05 | 上海万向区块链股份公司 | 基于区块链的pre物联网数据共享方法及*** |
CN115051799B (zh) * | 2022-06-13 | 2022-11-25 | 北京天华星航科技有限公司 | 一种基于区块链的数字信息处理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665261A (zh) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | 一种去中心化的物联网数据交易*** |
CN108681898A (zh) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | 一种基于区块链的数据交易方法及*** |
WO2019189954A1 (ko) * | 2018-03-28 | 2019-10-03 | 주식회사 마크로젠 | 복수의 블록체인에 기반한 데이터 공유 방법 |
CN110430186A (zh) * | 2019-07-31 | 2019-11-08 | 国网电子商务有限公司 | 基于代理重加密和智能合约的区块链数据交易***及方法 |
-
2020
- 2020-03-19 CN CN202010195676.6A patent/CN111402055B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019189954A1 (ko) * | 2018-03-28 | 2019-10-03 | 주식회사 마크로젠 | 복수의 블록체인에 기반한 데이터 공유 방법 |
CN108665261A (zh) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | 一种去中心化的物联网数据交易*** |
CN108681898A (zh) * | 2018-05-15 | 2018-10-19 | 广东工业大学 | 一种基于区块链的数据交易方法及*** |
CN110430186A (zh) * | 2019-07-31 | 2019-11-08 | 国网电子商务有限公司 | 基于代理重加密和智能合约的区块链数据交易***及方法 |
Non-Patent Citations (2)
Title |
---|
Secure Fair and Efficient Data Trading Without Third Party Using Blockchain;Zhangshuang Guan 等;《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)》;20190603;第1395-1401页 * |
基于区块链的大数据定价机制及交易模式探究;程琳 等;《全国流通经济》;20190808(第22期);第132-135页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111402055A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111402055B (zh) | 一种基于区块链的去中心化数据交易方法 | |
US11973858B2 (en) | Method for recording data block in blockchain network, accounting node, and medium | |
TWI716140B (zh) | 基於區塊鏈的資料處理方法和裝置 | |
US20200272619A1 (en) | Method and system for audit and payment clearing of electronic trading systems using blockchain database | |
JP2023153422A (ja) | 制御方法、電力システム及びプログラム | |
TW201732700A (zh) | 以令牌化來進行以區塊鏈為基礎的匯兌 | |
JP6934847B2 (ja) | 流通管理装置、流通管理システム、及び流通管理方法 | |
CN112884554A (zh) | 一种基于联盟链的物联网数据拍卖***的拍卖方法 | |
KR102323722B1 (ko) | 블록체인을 이용한 저작권 보호 시스템 | |
CN112801778B (zh) | 联盟式不良资产区块链*** | |
CN111095863A (zh) | 在区块链网络上通信、存储和处理数据的基于区块链的***和方法 | |
CN112257085A (zh) | 一种基于区块链的招投标处理方法、***、设备及介质 | |
CN111583041B (zh) | 基于区块链的债券发行数据存储、核验处理方法及装置 | |
CN109377220B (zh) | 基于区块链的传媒数据交易方法及***、计算机存储介质 | |
Gupta et al. | TrailChain: Traceability of data ownership across blockchain-enabled multiple marketplaces | |
CN111046078A (zh) | 基于区块链的征信查询方法、装置和电子设备 | |
US11556959B2 (en) | Internet data usage control system | |
Kalvenes et al. | Design of robust business-to-business electronic marketplaces with guaranteed privacy | |
CN114358766A (zh) | 一种绿电凭证的交易的方法、设备和区块链*** | |
KR102085997B1 (ko) | 블록체인 기반의 부동산 거래 서비스 방법 및 시스템 | |
CN113746621B (zh) | 一种基于区块链技术的多链架构信息共享*** | |
CN112861181A (zh) | 一种基于区块链的群智化软件开发安全机制的方法 | |
CN111369357A (zh) | 一种基于区块链的服务数据交易结算方法与*** | |
CN115170132B (zh) | 适用于高速驿网会员***的支付方法 | |
Wu et al. | Research on Trusted Data Evidence of Bidding and Procurement Based on Block-chain Technology |
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 |