CN109889504A - 去中心化数据访问权交易方法及系统 - Google Patents

去中心化数据访问权交易方法及系统 Download PDF

Info

Publication number
CN109889504A
CN109889504A CN201910062814.0A CN201910062814A CN109889504A CN 109889504 A CN109889504 A CN 109889504A CN 201910062814 A CN201910062814 A CN 201910062814A CN 109889504 A CN109889504 A CN 109889504A
Authority
CN
China
Prior art keywords
data
buyer
seller
transaction
evidence
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
Application number
CN201910062814.0A
Other languages
English (en)
Other versions
CN109889504B (zh
Inventor
伍前红
李雅楠
冯翰文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201910062814.0A priority Critical patent/CN109889504B/zh
Publication of CN109889504A publication Critical patent/CN109889504A/zh
Application granted granted Critical
Publication of CN109889504B publication Critical patent/CN109889504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种去中心化数据访问权交易方法及系统,其中,方法包括:卖方将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上;在卖方交易单得到确认之后的第一时间窗口内,卖方可以响应买方通过买方交易单发起的购买请求,并创建目标交易单;在买方收到目标交易单之后,买方验证目标交易单是否满足验证条件,如果满足验证条件,则交易成功。该方法基于区块链技术和分布式存储技术,巧妙设计智能合约来确保交易的公平和可靠性;通过交易访问密钥完成大规模数据的链上交易,大大降低传输成本,克服区块链存储和传输容量受限问题,实现了大规模数据的安全高效交易。

Description

去中心化数据访问权交易方法及系统
技术领域
本发明涉及分布式数据库和大数据安全技术领域,特别涉及一种去中心化数据访问权交易方法及系统。
背景技术
大数据时代,在人工智能、大数据分析等利用数据创造价值的前沿技术的驱动下,数据本身的价值日益突显,掌握数据所有权即掌握利益之源,因此抢占数据资源成为企业发展的重中之重。数据资源的价值越来越得到认可,不惜重金购买有用的数据资源越来越常见,市场对数据交易平台提出了更高更迫切的要求。
一方面企业正竭尽全力获取数据资源,努力成为源数据的所有者,首先解决自身的数据使用问题。企业掌握数据资源的一般手段是在提供服务之前通过和用户签署协议等方式抢占用户行为产生的一手数据,掌握数据的相关权限。例如,阿里巴巴和用户签署使用协议,同意用户免费注册账户并向其提供相关服务,同时获取用户享用相关服务过程中产生的数据及数据所有权。通过上述行为,少数公司集中掌握了大量用户数据,成为源数据的所有者。
另一方面,企业掌握数据资源除满足内部需求和使用之外,更热衷于在不泄露企业敏感信息的前提下将其进行销售,以获取更大收益。作为数据资源的所有方,企业倾向于寻找一个安全高效的数据交易平台,其平台只提供数据销售服务,数据本身对平台不开放。
而对于大部分无法掌握源数据却需要处理和分析数据的企业,尤其是专门从事数据处理和分析的公司,特别是初创公司,以及做人工智能和大数据分析的研究者来讲,购买数据成为唯一的解决途径。作为重度依赖数据的用户,相较于获取数据的经济成本,高质量的数据和可信赖的获取途径则是他们更为关切的问题。
综合上述原因,数据交易可谓实现数据资源的有效利用和数据价值最大化。数据所有者售卖数据获取利益,数据用户解决数据获取的难题,并对数据资源进行充分的使用。但现存的数据交易主要是数据所有者与用户之间的私下交易,表现出很多弊端和问题。第一,缺少公开的交易平台,双方交易的达成需要几经周折取得联系和反复协商最终敲定。在一次数据交易中,数据用户(即买方)需要调用各种资源来寻找可靠的数据所有者(即卖方),并试图取得联系;卖方也苦于没有销路,需要投入人力物力进行数据销售的推广。因此一次交易的达成需要双方付出额外的成本,公开的交易平台可以打通买卖双方,降低交易前期的成本,减少资源的浪费。第二,现有交易的安全性和可靠性没有保障。私下交易本身不具有安全保障,买卖双方有一方在交易中做手脚,后期的追责申诉都需要双方信任的第三方从中调解。事后追责的时间和经济成本给交易本身带来了隐形威胁。第三,私下交易中,买方希望一次性交易全部数据,卖方迫于数据存储维护的困难往往无奈选择一次性卖出。如此相当于数据所有者一次卖出了数据的使用权和处理权,很难避免买方对数据进行私下二次销售,这极大影响了卖方持续销售数据获取利益。可见无论对数据所有者还是数据用户,数据交易都存在很大风险,数据交易中的交易公开性、公平性和交易数据安全性问题仍然是工业界和学术界面临的问题。因此,实现数据交易过程中的安全、高效、公开和公平是迫切需要突破的一项关键技术。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种去中心化数据访问权交易方法,该方法可以有效保证数据交易中交易公开公平可信、数据安全保护和大规模数据交易高效性。
本发明的另一个目的在于提出一种去中心化数据访问权交易系统。
为达到上述目的,本发明一方面实施例提出了一种去中心化数据访问权交易方法,包括以下步骤:将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,所述存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree的路径上的其他哈希值,所述区块链交易平台上运行智能合约完成数据解密密钥,以进行数据访问权的交易,并采用锁时技术对交互时间进行锁定;在所述卖方交易单在所述区块链交易平台上得到确认之后,所述卖方接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应所述购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,所述目标交易单包括解密密文,且允许所述买方在第二时间窗口内对所述解密密文进行驳斥;在所述买方收到所述目标交易单之后,所述买方验证所述目标交易单是否满足验证条件,则交易成功,其中,所述验证条件为所述买方通过所述解密密文正确解密得到解密密钥,且通过所述解密密钥正确解密所述待售数据得到解密数据,并计算得到的解密数据的哈希值和所述待售数据按MerkleTree结构组织得到的根哈希相等。
本发明实施例的去中心化数据访问权交易方法,有效保证数据交易中交易公开公平可信、数据安全保护和大规模数据交易高效性,基于区块链实现,无需可信第三方,通过设计智能合约保证卖方诚信售卖数据可得到应有收益,买方被欺骗后提供有效证据亦可进行反驳维权,实现链上数据公开公平可信交易。卖方数据经加密后存储在公开可访问的云平台上,通过链上交易数据加密密钥,买方使用加密密钥访问付费的云上加密数据实现对交易数据的安全保护问题。大规模数据加密后存储在公开云上,卖方无需本地存储和维护数据,采用特殊的数据组织结构使得区块链也无需存储源数据本身,解决链上存储容量受限,通信量庞大问题,保证去中心化大规模数据交易高效进行。
另外,根据本发明上述实施例的去中心化数据访问权交易方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述将加密的待售数据上传至存储平台,进一步包括:将所述待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT;通过抗碰撞的哈希算法计算每个数据块的哈希值和MerkleTree的路径哈希值;通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET;使用卖方私钥sksign对所述密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT;将包括所述密文E1,E2,E3,…,ET、所述签名σ12,…,σT、所述每个数据块的哈希值和所述MerkleTree路径上的其他哈希值上传至存储平台。
进一步地,在本发明的一个实施例中,所述接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应所述购买请求,且创建目标交易单,进一步包括:根据所述买方调用的购买函数创建所述买方交易单,其中,所述买方交易单包括所述买方提供的PCE算法的公钥和所述购买数据所用代币,且在所述第一时间窗口内,根据所述卖方使用的有效密钥和所述买方提供的PCE算法的公钥得到所述解密密文;在接收到所述购买请求之后,在所述第一时间窗口内调用售卖函数响应所述购买请求,并创建所述目标交易单。
进一步地,在本发明的一个实施例中,如果所述目标交易单不满足所述验证条件,则交易进入驳斥阶段,其中,所述购买数据所用代币锁存在所述目标交易单中,并通过买方证据交易单提交所述买方的买方证据,且通过卖方证据交易单提交卖方证据。
进一步地,在本发明的一个实施例中,所述通过买方交易单提交所述买方的买方证据,进一步地包括:调用买方驳斥函数并在所述买方交易单中提交所述买方证据,其中,所述买方证据包括所述解密密钥kD、卖方密文Ei和卖方签名σi;如果矿工验证所述买方证据满足则购买数据所用代币继续锁存在所在目标交易单至第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;如果两个验证等式的任何一个没有通过,则锁存在合约中的所述购买数据所用代币进入卖方的账号,且交易成功并停止。
进一步地,在本发明的一个实施例中,所述通过卖方证据交易单提交卖方证据,进一步包括:在所述第三时间窗口内调用卖方反驳函数并所述公布卖方证据交易单,其中,所述卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;如果所述哈希路径上的所有哈希值均被验证正确,则锁存在所述目标交易单中的所述购买数据所用代币将被转入卖方账户,交易成功并结束交易;如果所述哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在所述目标交易单中的所述购买数据所用代币将被将被退回给所述买方,交易失败且停止交易。
为达到上述目的,本发明另一方面实施例提出了一种去中心化数据访问权交易系统,包括:交易初始化模块,用于将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,所述存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree路径上的其他哈希值,所述区块链交易平台上运行智能合约完成数据解密密钥,以数据访问权的交易,并采用锁时技术对交互时间进行锁定;交易创建模块,用于在所述卖方交易单在所述区块链交易平台上得到确认之后,接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应所述购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,所述目标交易单包括解密密文,且允许所述买方在第二时间窗口内对所述解密密文进行驳斥;交易验证模块,用于在所述买方收到所述目标交易单之后,所述买方验证所述目标交易单是否满足验证条件,如果满足所述验证条件,则交易成功,其中,所述验证条件为将所述买方通过所述解密密文正确解密得到解密密钥,且通过所述解密密钥正确解密所述待售数据得到解密数据,并计算得到的解密数据的哈希值和与所述待售数据按MerkleTree结构组织得到的根哈希相等。
本发明实施例的去中心化数据访问权交易系统,有效保证数据交易中交易公开公平可信、数据安全保护和大规模数据交易高效性,基于区块链实现,无需可信第三方,通过设计智能合约保证卖方诚信售卖数据可得到应有收益,买方被欺骗后提供有效证据亦可进行反驳维权,实现链上数据公开公平可信交易。卖方数据经加密后存储在公开可访问的云平台上,通过链上交易数据加密密钥,买方使用加密密钥访问付费的云上加密数据实现对交易数据的安全保护问题。大规模数据加密后存储在公开云上,卖方无需本地存储和维护数据,采用特殊的数据组织结构使得区块链也无需存储源数据本身,解决链上存储容量受限,通信量庞大问题,保证去中心化大规模数据交易高效进行。
另外,根据本发明上述实施例的去中心化数据访问权交易系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,还包括:存储模块,用于将加密的待售数据上传至存储平台进行存储,其中,所述存储模块进一步包括初始化单元、哈希单元、加密单元和签名单元和上传单元,其中,
所述初始化单元,用于将所述待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT;所述哈希单元,用于通过抗碰撞的哈希算法计算每个数据块的哈希值和MerkleTree的路径哈希值;所述加密单元,用于通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET;所述签名单元,用于使用卖方私钥sksign对所述密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT;所述上传单元,用于将包括所述密文E1,E2,E3,…,ET、所述签名σ12,…,σT和所述每个数据块的哈希值和所述MerkleTree路径上的其他哈希值上传至存储平台。
进一步地,在本发明的一个实施例中,所述交易创建模块进一步包括:买方交易单创建单元,用于根据所述买方调用购买函数并创建所述买方交易单,并且所述买方提供所述买方的PCE算法的公钥和购买数据所用代币,其中,在所述第一时间窗口内,根据所述卖方使用的有效密钥和所述买方的PCE算法的公钥得到所述解密密文;目标交易单创建单元,用于在接收到所述购买请求之后,在所述第一时间窗口内调用售卖函数响应所述购买请求,并创建所述目标交易单。
进一步地,在本发明的一个实施例中,还包括:驳斥模块,用于在所述目标交易单不满足所述验证条件时,交易进入驳斥阶段,其中,所述购买数据所用代币锁存在所述目标交易单中,并通过买方证据交易单提交所述买方的买方证据,且通过卖方证据交易单提交卖方证据;其中,所述驳斥模块包括买方驳斥单元和卖方驳斥单元,其中,所述买方驳斥单元,用于所述调用买方驳斥函数并在所述买方交易单中提交所述买方提交的所述买方证据,其中,所述买方证据包括所述解密密钥kD、卖方密文Ei和卖方签名σi;在矿工验证所述买方证据满足则购买数据所用代币继续锁存在所在目标交易单至第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;且在两个验证等式中任何一个没有通过,则锁存在合约中的所述购买数据所用代币进入卖方的账号,且交易成功并停止;所述卖方驳斥单元,用于在所述第三时间窗口内调用卖方反驳函数并所述公布卖方证据交易单,其中,所述卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;在所述哈希路径上的所有哈希值均被验证正确,则锁存在所述目标交易单中的所述购买数据所用代币将被转入卖方账户,交易成功并结束交易;并在所述哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在所述目标交易单中的所述购买数据所用代币将被将被退回给所述买方,交易失败且停止交易。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的去中心化数据访问权交易方法的流程图;
图2为根据本发明一个实施例的公平交换协议的完整流程图;
图3为根据本发明一个实施例的参与方参与交易的操作步骤图;
图4为根据本发明一个实施例的存储平台上待售数据的组织结构图;
图5为根据本发明一个实施例的Merkle Tree的基本结构图;
图6为根据本发明一个实施例的方案总体技术架构图;
图7为根据本发明一个实施例的去中心化数据访问权交易系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的去中心化数据访问权交易方法及系统,首先将参照附图描述根据本发明实施例提出的去中心化数据访问权交易方法。
图1是本发明一个实施例的去中心化数据访问权交易方法的流程图。
如图1所示,该去中心化数据访问权交易方法包括以下步骤:
在步骤S101中,将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree路径上的其他哈希值,区块链交易平台上运行智能合约完成数据解密密钥,以进行数据访问权的交易,并采用锁时技术对交互时间进行锁定。
需要说明的是,在公平交易协议的完整流程如图2所示,本发明实施例中参与公平交换的两方在整个数据访问权交易系统架构下的操作步骤如下图3所示。可以理解的是,本发明实施例在进行大规模数据的去中心化、高效、安全、公开且公平的交易时,首先进行初始化,包括上传数据和合约创建。
具体而言,首先,卖方按照接下来介绍的存储层方案的步骤上传待售数据,然后开始数据访问权的交易,交易要遵循如下公平交换协议。其次,创建一个交易合同放在交易单Tsale(value-data)上并发布到区块链上。其中,合约创建:创建合约并以交易的形式发布在交易单Tsale(value-data)上。交易单中包含待售数据的描述信息,签名验证公钥pksign,三个时间窗口tw1,tw2,tw3,和数据的销售价格ω和数据的根哈希Root Hash。其中,解密数据的密钥为连接存储平台和交易平台的桥梁,买卖双方交易的是解密数据的密钥。
下面将对在上传待售数据之前,数据卖家需要按照以下4个步骤处理数据进行详细阐述,即包括1.初始化,对待售数据进行分块;2.哈希:对分块数据计算哈希值,以此作为MerkleTree的叶子节点,并进一步计算MerkleTree路径上的哈希值;3.加密:使用对称加密算法对分块数据进行加密;4.签名:对密文数据进行数字签名。
进一步地,在本发明的一个实施例中,将加密的待售数据上传至存储平台,进一步包括:将待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT;通过抗碰撞的哈希算法计算每个数据块的哈希值,以此作为MerkleTree的叶子节点,并进一步计算MerkleTree路径的其他哈希值;通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET;使用卖方私钥sksign对密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT;将包括密文E1,E2,E3,…,ET、签名σ12,…,σT、每个数据块的哈希值和MerkleTree路径上的其他哈希值上传至存储平台。
具体而言,如图4所示,初始化:首先将待售数据m分为T个数据块m1,m2,m3,…,mT。这里,根据数据内容将数据块划分为适当的大小。
哈希:用抗碰撞的哈希算法,如SHA-256、SHA-3、RIPEMD-160、CryptoNight等,来计算每个数据块的哈希值。这里H1←H(m1),H2←H(m2),H3←H(m3),…,HT←H(mT)表示数据块m1,m2,m3,…,mT的对应哈希值。然后使用这些哈希值作为MerkleTree的叶子节点,计算中间节点哈希值,比如H12←H(H1,H2),H34←H(H3,H4),H1234←H(H12,H34),直至根节点哈希值其中默认T为2的指数次方。
加密:使用一些高效的对称加密算法对分割的数据块进行加密,包括但不限于AES、DES(DigitalEncryptionStandard,数字加密标准)和3DES(TripleDES,三重数据加密标准)中的一个。这里,本发明实施例使用E1←E(m1),E2←E(m2),E3←E(m3),…,ET←E(mT)来表示使用私钥kS加密数据块m1,m2,m3,...,mT得到的密文。
签名:使用他的私钥sksign对密文E1,E2,E3,…,ET进行签名得到σ1←Sign(E1,sksign),σ2←Sign(E2,sksign),…,σT←Sign(ET,sksign),其中表示一种支持在区块链上使用简单的数学操作进行签名验证的高效数字签名算法,包括但不限于ECDSA签名。
经过上述4个步骤进行处理后,会上传所有的数据,包括密文E1,E2,E3,…,ET,签名σ12,…,σT和MerkleTree,这些数据按照图3所示的结构存储在存储平台上。
图4中仅给出将数据分成4个数据块时在存储平台的组织形态作为示例,在实际部署时,数据量更大,数据块的划分也会更系统更细致,但其依旧按照图示的规律组织进行存储。
另外,需要说明的是,本发明实施例主要给出设计系统方案时需要用到的密码学基础工具和关键技术,包括对称加密、明文可检测加密、数字签名和Merkle Tree。首先,给出这些密码学基础工具的简单定义,然后,分别对每个工具和技术进行具体介绍,具体包括:
令Π1=(SKeyGen,SEnc,SDec)代表一般的对称加密方案,其中SKeyGen、SEnc和SDec分别为对称加密方案中的密钥生成算法、加密算法、解密算法。
令Π2=(PCKeyGen,PCEnc,PCDec,PCCheck)代表明文可检测加密方案,其中PKeyGen、PCEnc、PCDec和PCCheck分别为明文可检测加密方案中的密钥生成算法、加密算法、解密算法和检测算法。
令Π3=(DKeyGen,DSign,DVerify)代表一般的数字签名方案,其中DKeyGen、DSign和DVerify分别为数字签名方案中的密钥生成算法、签名算法、验证算法。
2.1.对称加密方案(SymmetricEncryption)
对称加密,也称单钥加密,是一种应用较早的密码学加密算法。该算法在加密和解密过程中使用同一个密钥,或者使用两个可以简单相互推算的密钥。
定义1(对称加密):一个对称加密方案通常包括三个概率多项式时间算法。Π1=(SKeyGen,SEnc,SDec)表示一般的对称加密方案,其中SKeyGen、SEnc和SDec分别为对称加密方案中的密钥生成算法、加密算法、解密算法。分别定义如下:
SKeyGen(1λ):是一个概率多项式时间的密钥生成算法。算法的输入为安全参数1λ,输出为加密所使用的密钥kS
SEnc(kS,m):是一个概率多项式时间的加密算法。算法输入为保密密钥kS和待加密的明文数据m。算法输出为加密后的密文数据cSEnc←E(m)。
SDec(kS,cSEnc):是一个概率多项式时间的解密算法。算法输入为保密密钥kS和密文cSEnc,算法输出为解密结果m或者符号⊥(表示cSEnc是一个无效密文)。
与公钥加密相比,对称加密的核心优势的加密速度快,缺点是要求加解密双方获取相同的密钥。
2.2.明文可检测加密(PlaintextCheckableEncryption)
明文可检测加密是一种比较新颖的密码学原语,按密钥分类属于公钥加密算法,在性质上具有明文可检测性,即已知密文和公钥的情况下可判断一个明文是否为已知密文经明文可检测加密算法解密的结果。
定义2(明文可检测加密):一个明文可检测加密方案由4个子算法构成。Π2=(PCKeyGen,PCEnc,PCDec,PCCheck)表示明文可检测加密算法,其中PKeyGen、PCEnc、PCDec和PCCheck分别为明文可检测加密方案中的密钥生成算法、加密算法、解密算法和检测算法。分别定义如下:
PKeyGen(1λ):是一个概率多项式时间的密钥生成算法。其算法输入为安全参数1λ,算法输出为公私钥对
是一个概率多项式时间的加密算法。算法输入为公钥和明文m,算法输出为密文
是一个概率多项式时间的解密算法。算法输入为私钥和密文算法输出为解密得到的明文m。
是一个概率多项式时间的检测算法。算法输入为公钥密文和待检测明文m,算法输出为1表示密文解密得到的明文是m,输出为0表示密文解密得到的明文不是m。
任何一个明文可检测加密方案都需要满足4个性质,分别是:
1、解密正确性:即对所有的满足成立;
2、明文检测正确性(又称完美一致性):即对所有都满足成立;
3、检测完备性:即对所有和任何一个概率多项式时间的敌手运行得到以及都满足成立;
4、检测可靠性:即没有一个概率多项式时间的敌手能够运行得到其在情况下使得m≠m'和同时成立。
2.3.数字签名(DigitalSignature)
数字签名是一类密码学算法,是使用公钥加密领域的技术实现,多用于鉴别数字信息。数字签名具有不可否认性。
定义3(数字签名):一个数字签名方案通常包含三个(概率)多项式时间算法。Π3=(DKeyGen,DSign,DVerify)表示一般的数字签名方案,其中DKeyGen、DSign和DVerify分别为数字签名方案中的密钥生成算法、签名算法、验证算法。分别定义如下:
DKeyGen(1λ):是一个概率多项式时间的密钥生成算法。其算法输入为安全参数1λ,算法输出为公私钥对(pkSign,skSign)。
DSign(skSign,m):是一个概率多项式时间的签名算法。算法输入为私钥skSign和消息m算法输出为签名σ。
DVerify(σ,pkSign,m):是一个概率多项式时间的验证算法。算法输入为公钥签名σ和消息m,算法输出为1表示σ是原消息m的签名,输出为0表示σ不是原消息m的签名。
2.4.Merkle Tree
在密码学与计算机科学中,MerkleTree是一种哈希树,其数据结构是二叉树。MerkleTree的每个叶子节点的值分别对应数据块m1,m2,…,mt中每个数据块的哈希,除了叶子节点,其他节点的值都是对其子节点值串联之后计算的哈希值,其中根节点的值也被叫做根哈希,表示为RootHash。8个叶子节点的MerklleTree的基本结构如图5所示
对于叶子节点数为t的MerkleTree,树的深度为logt(这里假设t为2的乘方,在实际应用中,如果t不满足条件,可以根据应用需求采取对不足的部分添加空值或直接使用不完整的MerkleTree来解决)。
MerkleTree的重要功能是高效地实现了对大规模数据中的部分进行数据完整性验证。如图5对于分成8个数据块m1,m2,…,m8的数据m,验证m1的完整性,仅需读取哈希路径上的m2,H34,H56783个元素和RootHash,并计算3=log28次哈希值即可。这大大降低了对传输带宽的要求并提高了验证效率。
下面给出MerkleTree的安全理论:表示Merkle Tree算法,其输入为数据块m1,m2,…,mt,使用的哈希函数用H表示,输出为根节点哈希值RootHash,有如下理论成立:对于确定的H和t,若H是抗碰撞的,那么也是满足抗碰撞性质的,即RootHash是抗碰撞的。
密码学中常采用诸如SHA-2,SHA-3等抗碰撞哈希函数作为MerkleTree使用的哈希函数,根据上述结论,t确定情况下,算法的到底的根哈希RootHash也是抗碰撞安全的。
在步骤S102中,在卖方交易单在区块链交易平台上得到确认之后,卖方接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,目标交易单包括解密密文,且允许买方在第二时间窗口内对解密密文进行驳斥。
其中,在本发明的一个实施例中,买方通过买方交易单发起的购买请求,卖方在第一时间窗口内响应购买请求,且创建目标交易单,进一步包括:根据买方调用的购买函数创建买方交易单,其中,买方交易单包括买方提供的PCE算法的公钥和购买数据所用代币,且在第一时间窗口内,根据卖方使用的有效密钥和买方提供的PCE算法的公钥得到解密密文;在接收到购买请求之后,在第一时间窗口内调用售卖函数响应购买请求,并创建目标交易单。
可以理解的是,如图2和图3所示,在初始化之后,进入交易阶段,具体包括:交易单Tsale(value-data)在区块链上得到确认后,合约正式进入了交易阶段,其中包含之间的一轮交互。首先,通过交易单Tbuy1(value-data)发起购买请求。其次,通过交易单Tfullfill1(value-data)做出响应。
调用购买函数:调用购买函数,同时创建交易单Tbuy1(value-data),承诺主动提供其PCE算法的公钥pkPCE和ω个代币,条件是:“在时间窗口tw1内,必须提供正确的密文CPCE(pkPCE,kS),其为使用有效的密钥kS和PCE算法中公钥pkPCE加密得到的”。
调用售卖函数:在时间窗口tw1内通过调用售卖函数来响应并创建交易单Tfullfill1(value-data)。交易单中提供正确的密文C,并允许在时间窗口tw2内对密文C进行驳斥。
在步骤S103中,在买方收到目标交易单之后,买方验证目标交易单是否满足验证条件,如果满足验证条件,则交易成功,其中,验证条件为买方通过解密密文正确解密得到解密密钥,且通过解密密钥正确解密待售数据得到解密数据,并计算得到的解密数据的哈希值和与待售数据按MerkleTree结构组织得到的根哈希相等。
可以理解的是,收到交易单Tfullfill1(value-data)后,立刻对交易单中的内容进行验证,包括解密密文C得到kD使用kD来解密存储平台上的购买相应访问权的数据,计算解密数据的哈希值和Merkle Tree并与存储在交易平台上的提供的哈希根比较是否相等。此时,验证的不同结果决定交易会出现两种情况:
情况1:如果上述验证全部通过,tw2时间后接受密文C且不对密文C的有效性进行质疑,然后此次交易成功并结束。
情况2:如果上述三个验证有任何一个没有通过,即收到的密文C不能被正确解密或解密得到的密钥kD是错误的,或两个哈希值不相等,将在时间窗口tw2内对交易Tfullfill1(value-data)进行驳斥,然后交易进入驳斥阶段。下面将对情况2进行进一步阐述。
进一步地,在本发明的一个实施例中,如果目标交易单不满足验证条件,则交易进入驳斥阶段,其中,购买数据所用代币锁存在目标交易单中,并通过买方证据交易单提交买方的买方证据,且通过卖方证据交易单提交卖方证据。
可以理解的是,一旦交易进入驳斥阶段,合约中的ω个代币将继续被锁在合约中知道双方提供的驳斥证据被矿工验证后。在这个阶段,需要分别通过交易来提交证据以证自身的清白。
在本发明的一个实施例中,通过买方交易单提交买方的买方证据,进一步地包括:调用买方驳斥函数并在买方交易单中提交买方证据,其中,买方证据包括解密密钥kD、卖方密文Ei和卖方签名σi;如果矿工验证买方证据满足且Signver(Eii,pksign)=valid,则购买数据所用代币继续锁存在所在目标交易单至第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;如果或Signver(Eii,pksign)=valid,验证等式任何一个没有通过,则锁存在合约中的购买数据所用代币进入卖方的账号,且交易成功并停止。
具体而言,调用买方驳斥函数:调用买方驳斥函数并在交易单中提交证据,包括kD,Ei和σi。如果合约验证通过,即且Signver(Eii,pksign)=valid,则ω个代币继续被所在合约中tw3时间,直到调用卖方驳斥函数并提交新的证据。如果上述两个验证等式任何一个没有通过,则被锁在合约中的ω个代币被转入的账号,且交易成功并停止。
进一步地,在本发明的一个实施例中,通过卖方证据交易单提交卖方证据,进一步包括:在第三时间窗口内调用卖方反驳函数并公布卖方证据交易单,其中,卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;如果哈希路径上的所有哈希值均被验证正确,则锁存在目标交易单中的购买数据所用代币将被转入卖方账户,交易成功并结束交易;如果哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在目标交易单中的购买数据所用代币将被将被退回给买方,交易失败且停止交易。
具体而言,调用卖方驳斥函数:在交易没有停止的情况下,如果想赚取锁在合约中的ω个代币,应该在时间窗口tw3内,调用卖方反驳函数并公布交易单交易单中应该提供的证据包括从H(mi)到Root Hash的哈希路径,如果哈希路径上的所有哈希值都被验证正确,那么被锁在合约中的ω个代币将被转入账户,此时意味交易成功且结束。如果哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则被锁在合约中的ω个代币将被退回给此时意味交易失败且停止,值得注意的是,这种情况下发布的交易Tsale(value-data)将被彻底终止且绝不会被重新启动。
综上,如图2和图3所示,平交换协议包括3各阶段6个具体步骤:1.初始化阶段:步骤1:数据卖方按照存储方案上传待售数据;步骤2:合约创建;2交易阶段:步骤3:数据买方调用购买函数对数据发起购买请求;步骤4:数据卖方调用售卖函数对购买请求做出响应;3.驳斥阶段:步骤5:买方调用买方驳斥函数提交驳斥证据;步骤6:卖方调用卖方驳斥函数提交证据。该方案基于区块链技术和分布式存储技术,巧妙设计智能合约来确保交易的公平和可靠性;通过交易访问密钥完成大规模数据的链上交易,大大降低传输成本,克服区块链存储和传输容量受限问题,实现了大规模数据的安全高效交易。
另外,本发明实施例涉及一种大规模数据的去中心化、高效、安全、公开且公平的交易方法。本发明通过应用区块链技术实现去中心化的数据公开交易,应用密码算法保护交易中的数据安全,运行独创的公平交易协议保证交易的高效性和公平性。本发明面向全社会,覆盖工业界和学术界的共同需求,通过设计一种基于区块链的链上数据访问权交易和基于云的公开密文存储的系统方案,来实现去中心化的、安全、高效、公开且公平的数据交易功能。
进一步地,在本发明的一个实施例中,如图6所示,本发明实施例是利用区块链技术和多个密码算法和工具,包括明文可检测加密算法、Merkle Tree、数字签名算法等,来实现安全、公平、开放的数据交易。为了使交易记录在没有可信第三方的情况下不被篡改,并方便更多的用户参与交易,采用区块链技术进行数据交易。设计了一个交易合约来保证数据交易的公平性,这意味着买家必须为数据付费,卖家必须为利益出售数据。出售的数据以密文的形式存储,以保护数据在可公开访问的平台上的机密性(这里的存储并不局限于特定的方法,可行的措施包括中心化存储和分布式存储等)。图1显示了本方案的总体技术架构,主要包含三个组成部分,描述如下:
(1)独立于交易平台的安全数据存储
基于区块链的公开云上数据访问权交易方案中,公开云作为数据的存储平台,数据卖方将包含信息的数据加密存储在公开云(这里默认公开云是公共可访问的,且无破坏存储数据和根据需求操作数据,无需数据所有者单独维护)上。为抵抗数据存储可能遭受的否认所有权攻击、伪造证据攻击、二次转售攻击等,还需对数据进行数字签名和密码哈希运算,最终采用Merkle Tree的组织结构进行存储。
也就是说,本发明实施例可以实现对大规模交易数据的安全存储。交易数据以密文形式存储在公开可访问的存储平台上,没有获得源数据访问权的用户只能看到密文数据,无法获取数据的真实信息。
(2)去中心化的交易平台
方案交易的是对存储在公开云上的加密数据的访问权,数据访问权的交易平台基于去中心化的区块链平台构建。区块链技术使用点对点网络架构和分布式数据库记账,保证交易信息公开可查、不可篡改,交易记录可追踪溯源,用户维权可取证。
也就是说,本发明实施例可以实现去中心化的安全数据交易。数据买卖双方通过区块链提供的数据交易平台进行数据交易,区块链网络中的矿工负责检查、证实和和打包交易。交易数据存在区块链网络的全部节点中,不会被轻易篡改,保证交易信息的安全。交易由区块链中的矿工审计确认并打包上链,经过全网节点的核验,保证交易的合规和有效。
(3)公平公开的访问权交易
数据访问权交易的参与实体包括三方:数据卖方、数据买方和矿工(严格意义上说数据卖方和数据买方也可做矿工)。公开公平交易意味着买卖双方按照约定付出成本以获得应得的收益,这一过程公开可查。本发明实施例设计了逻辑严密的公平交换协议,通过智能合约,结合密码学技术来实现的交易的公平性。
也就是说,本发明实施例可以实现交易的公平性。交易对买卖双方是公平的,买方只有支付售价方能获得购买的数据的访问权,卖方只有销售标称的数据方能取得收益。任何一方作恶都会得到应有的惩罚。
进一步地,本发明实施例的方法具有的优点及功效:本发明提供一种大规模数据交易的解决方案,将传统的数据交换模式从私有和集中转变为开放和分散,使交易更加容易,提高公平性和安全性,且本方案实用性强。本发明提出了一种结合区块链网络和分布式存储结构的开放数据访问权交易方案。本发明实施例的方案具有以下特点:
(1)通过在区块链网络上完成交易,在没有可信第三方的情况下实现公开的数据交易。方案通过在区块链网络上执行的智能合约保证数据交易的公平性。
(2)通过以密文形式存储待售数据并交换用于解密密文的密钥,实现安全存储和高效交换。一方面,加密的数据保护了待售数据的一些敏感信息,使得数据卖家可以将数据存储在不可信的开放存储平台上。另一方面,只交换解密密文的密钥大大降低了传输成本,提高了传输效率。
(2)通过使用一些密码算法和工具以实现实用的安全性,如数字签名保证数据来源的真实性,哈希函数帮助检查数据是否被修改,明文可检测加密验证给定的明文是否是密文的解密结果。本发明实施例的方案采用这些密码算法来克服伪造、篡改和模仿等攻击。
根据本发明实施例提出的去中心化数据访问权交易方法,有效保证数据交易中交易公开公平可信、数据安全保护和大规模数据交易高效性,基于区块链实现,无需可信第三方,通过设计智能合约保证卖方诚信售卖数据可得到应有收益,买方被欺骗后提供有效证据亦可进行反驳维权,实现链上数据公开公平可信交易。卖方数据经加密后存储在公开可访问的云平台上,通过链上交易数据加密密钥,买方使用加密密钥访问付费的云上加密数据实现对交易数据的安全保护问题。大规模数据加密后存储在公开云上,卖方无需本地存储和维护数据,采用特殊的数据组织结构使得区块链也无需存储源数据本身,解决链上存储容量受限,通信量庞大问题,保证去中心化大规模数据交易高效进行。
其次参照附图描述根据本发明实施例提出的去中心化数据访问权交易系统。
图7是本发明一个实施例的去中心化数据访问权交易系统的结构示意图。
如图7所示,该去中心化数据访问权交易系统10包括:交易初始化模块100、交易创建模块200和交易验证模块300。
其中,交易初始化模块100用于将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree路径上的其他哈希值,区块链交易平台上运行智能合约完成数据解密密钥,以数据访问权的交易,并采用锁时技术对交互时间进行锁定。交易创建模块200用于在卖方交易单在区块链交易平台上得到确认之后,接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,目标交易单包括解密密文,且允许买方在第二时间窗口内对解密密文进行驳斥。交易验证模块300用于在买方收到目标交易单之后,买方验证目标交易单是否满足验证条件,如果满足验证条件,则交易成功,其中,验证条件为将买方通过解密密文正确解密得到解密密钥,且通过解密密钥正确解密待售数据得到解密数据,并计算得到的解密数据的哈希值和与待售数据按MerkleTree结构组织得到的根哈希相等。本发明实施例的系统10基于区块链技术和分布式存储技术,巧妙设计智能合约来确保交易的公平和可靠性;通过交易访问密钥完成大规模数据的链上交易,大大降低传输成本,克服区块链存储和传输容量受限问题,实现了大规模数据的安全高效交易。
进一步地,在本发明的一个实施例中,本发明实施例的系统10还包括:存储模块。其中,存储模块用于将加密的待售数据上传至存储平台进行存储,其中,存储模块进一步包括初始化单元、哈希单元、加密单元和签名单元和上传单元,其中,
初始化单元,用于将待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT;哈希单元,用于通过抗碰撞的哈希算法计算每个数据块的哈希值和MerkleTree的路径哈希值;加密单元,用于通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET;签名单元,用于使用卖方私钥sksign对密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT;上传单元,用于将包括密文E1,E2,E3,…,ET、签名σ12,…,σT、每个数据块的哈希值和所述MerkleTree路径上的其他哈希值上传至存储平台。
进一步地,在本发明的一个实施例中,交易创建模块200进一步包括:买方交易单创建单元和目标交易单创建单元。
其中,买方交易单创建单元,用于根据买方调用购买函数并创建买方交易单,并且买方提供买方的PCE算法的公钥和购买数据所用代币,其中,在第一时间窗口内,根据卖方使用的有效密钥和买方的PCE算法的公钥得到解密密文;目标交易单创建单元,用于在接收到购买请求之后,在第一时间窗口内调用售卖函数响应购买请求,并创建目标交易单。
进一步地,在本发明的一个实施例中,本发明实施例的系统10还包括:驳斥模块,其中,驳斥模块用于在目标交易单不满足验证条件时,交易进入驳斥阶段,其中,购买数据所用代币锁存在目标交易单中,并通过买方证据交易单提交买方的买方证据,且通过卖方证据交易单提交卖方证据。
其中,驳斥模块包括买方驳斥单元和卖方驳斥单元,其中,买方驳斥单元,用于调用买方驳斥函数并在买方交易单中提交买方提交的买方证据,其中,买方证据包括解密密钥kD、卖方密文Ei和卖方签名σi;在矿工验证买方证据满足且Signver(Eii,pksign)=valid,则购买数据所用代币继续锁存在所在目标交易单中第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;且在或Signver(Eii,pksign)=valid,两个验证等式中任何一个没有通过,则锁存在合约中的购买数据所用代币进入卖方的账号,且交易成功并停止;卖方驳斥单元,用于在第三时间窗口内调用卖方反驳函数并公布卖方证据交易单,其中,卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;在哈希路径上的所有哈希值均被验证正确,则锁存在目标交易单中的购买数据所用代币将被转入卖方账户,交易成功并结束交易;并在哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在目标交易单中的购买数据所用代币将被将被退回给买方,交易失败且停止交易。
需要说明的是,前述对去中心化数据访问权交易方法实施例的解释说明也适用于该实施例的去中心化数据访问权交易系统,此处不再赘述。
根据本发明实施例提出的去中心化数据访问权交易系统,有效保证数据交易中交易公开公平可信、数据安全保护和大规模数据交易高效性,基于区块链实现,无需可信第三方,通过设计智能合约保证卖方诚信售卖数据可得到应有收益,买方被欺骗后提供有效证据亦可进行反驳维权,实现链上数据公开公平可信交易。卖方数据经加密后存储在公开可访问的云平台上,通过链上交易数据加密密钥,买方使用加密密钥访问付费的云上加密数据实现对交易数据的安全保护问题。大规模数据加密后存储在公开云上,卖方无需本地存储和维护数据,采用特殊的数据组织结构使得区块链也无需存储源数据本身,解决链上存储容量受限,通信量庞大问题,保证去中心化大规模数据交易高效进行。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种去中心化数据访问权交易方法,其特征在于,包括以下步骤:
将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,所述存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree路径上的其他哈希值,所述区块链交易平台上运行智能合约完成数据解密密钥,以进行数据访问权的交易,并采用锁时技术对交互时间进行锁定;
在所述卖方交易单在所述区块链交易平台上得到确认之后,所述卖方接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应所述购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,所述目标交易单包括解密密文,且允许所述买方在第二时间窗口内对所述解密密文进行驳斥;以及
在所述买方收到所述目标交易单之后,所述买方验证所述目标交易单是否满足验证条件,如果满足所述验证条件,则交易成功,其中,所述验证条件为所述买方通过所述解密密文正确解密得到解密密钥,且通过所述解密密钥正确解密所述待售数据得到解密数据,并计算得到的解密数据的哈希值和与所述待售数据按MerkleTree结构组织得到的根哈希相等。
2.根据权利要求1所述的去中心化数据访问权交易方法,其特征在于,所述将加密的待售数据上传至存储平台,进一步包括:
将所述待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT
通过抗碰撞的哈希算法计算每个数据块的哈希值和MerkleTree的路径哈希值;
通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET
使用卖方私钥sksign对所述密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT
将包括所述密文E1,E2,E3,…,ET、所述签名σ12,…,σT和所述每个数据块的哈希值和所述MerkleTree路径上的其他哈希值上传至存储平台。
3.根据权利要求1所述的去中心化数据访问权交易方法,其特征在于,所述买方通过买方交易单发起购买请求,所述卖方在第一时间窗口内响应所述购买请求,且创建目标交易单,进一步包括:
根据所述买方调用的购买函数创建所述买方交易单,其中,所述买方交易单包括所述买方提供的PCE算法的公钥和所述购买数据所用代币,且在所述第一时间窗口内,根据所述卖方使用的有效密钥和所述买方提供的PCE算法的公钥得到所述解密密文;
在接收到所述购买请求之后,在所述第一时间窗口内调用售卖函数响应所述购买请求,并创建所述目标交易单。
4.根据权利要求1所述的去中心化数据访问权交易方法,其特征在于,如果所述目标交易单不满足所述验证条件,则交易进入驳斥阶段,其中,所述购买数据所用代币锁存在所述目标交易单中,并通过买方证据交易单提交所述买方的买方证据,且通过卖方证据交易单提交卖方证据。
5.根据权利要求4所述的去中心化数据访问权交易方法,其特征在于,所述通过买方证据交易单提交所述买方的买方证据,进一步地包括:
调用买方驳斥函数并在所述买方证据交易单中提交所述买方证据,其中,所述买方证据包括所述解密密钥kD、卖方密文Ei和卖方签名σi
如果矿工验证所述买方证据满足且Signver(Eii,pksign)=valid,则所述购买数据所用代币继续锁存在所在目标交易单至第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;
如果或Signver(Eii,pksign)=valid两个验证等式的任何一个没有通过,则锁存在合约中的所述购买数据所用代币进入卖方的账号,且交易成功并停止。
6.根据权利要求4所述的去中心化数据访问权交易方法,其特征在于,所述通过卖方证据交易单提交卖方证据,进一步包括:
在所述第三时间窗口内调用卖方反驳函数并所述公布卖方证据交易单,其中,所述卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;
如果所述哈希路径上的所有哈希值均被验证正确,则锁存在所述目标交易单中的所述购买数据所用代币将被转入卖方账户,交易成功并结束交易;
如果所述哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在所述目标交易单中的所述购买数据所用代币将被将被退回给所述买方,交易失败且停止交易。
7.一种去中心化数据访问权交易系统,其特征在于,包括:
交易初始化模块,用于将加密的待售数据上传至存储平台,并将包含交易合同的卖方交易单发布至区块链交易平台上,其中,所述存储平台包含加密的数据、签名以及每个数据块的哈希值和MerkleTree路径上的其他哈希值,所述区块链交易平台上运行智能合约完成数据解密密钥,以数据访问权的交易,并采用锁时技术对交互时间进行锁定;
交易创建模块,用于在所述卖方交易单在所述区块链交易平台上得到确认之后,接收买方通过买方交易单发起的购买请求,并在第一时间窗口内响应所述购买请求,并创建目标交易单,其中,买方交易单包括买方提供的购买数据所用代币,所述目标交易单包括解密密文,且允许所述买方在第二时间窗口内对所述解密密文进行驳斥;以及
交易验证模块,用于在所述买方收到所述目标交易单之后,所述买方验证所述目标交易单是否满足验证条件,如果满足所述验证条件,则交易成功,其中,所述验证条件为所述买方将所述解密密文正确解密得到解密密钥,且通过所述解密密钥正确解密所述待售数据得到解密数据,并计算得到的解密数据的哈希值和与所述待售数据按MerkleTree结构组织得到的根哈希相等。
8.根据权利要求1所述的去中心化数据访问权交易系统,其特征在于,还包括:
存储模块,用于将加密的待售数据上传至存储平台进行存储,其中,所述存储模块进一步包括初始化单元、哈希单元、加密单元和签名单元和上传单元,其中,
所述初始化单元,用于将所述待售数据将待售数据m分为T个数据块m1,m2,m3,…,mT
所述哈希单元,用于通过抗碰撞的哈希算法计算每个数据块的哈希值和MerkleTree的路径哈希值;
所述加密单元,用于通过对称加密算法对每个数据块进行加密得到密文E1,E2,E3,…,ET
所述签名单元,用于使用卖方私钥sksign对所述密文E1,E2,E3,…,ET进行签名得到签名σ12,…,σT
所述上传单元,用于将包括所述密文E1,E2,E3,…,ET、所述签名σ12,…,σT和所述每个数据块的哈希值和所述MerkleTree路径上的其他哈希值上传至存储平台。
9.根据权利要求1所述的去中心化数据访问权交易系统,其特征在于,所述交易创建模块进一步包括:
买方交易单创建单元,用于根据所述买方调用购买函数并创建所述买方交易单,并且所述买方提供所述买方的PCE算法的公钥和所述购买数据所用代币,其中,在所述第一时间窗口内,根据所述卖方使用的有效密钥和所述买方的PCE算法的公钥得到所述解密密文;
目标交易单创建单元,用于在接收到所述购买请求之后,在所述第一时间窗口内调用售卖函数响应所述购买请求,并创建所述目标交易单。
10.根据权利要求1所述的去中心化数据访问权交易系统,其特征在于,还包括:
驳斥模块,用于在所述目标交易单不满足所述验证条件时,交易进入驳斥阶段,其中,所述购买数据所用代币锁存在所述目标交易单中,并通过买方证据交易单提交所述买方的买方证据,且通过卖方证据交易单提交卖方证据;其中,所述驳斥模块包括买方驳斥单元和卖方驳斥单元,其中,
所述买方驳斥单元,用于所述调用买方驳斥函数并在所述买方交易单中提交所述买方提交的所述买方证据,其中,所述买方证据包括所述解密密钥kD、卖方密文Ei和卖方签名σi;在矿工验证所述买方证据满足且Signver(Eii,pksign)=valid,则所述购买数据所用代币继续锁存在所在目标交易单至第三时间窗口,直到卖方调用卖方驳斥函数并提交新的证据;且在或Signver(Eii,pksign)=valid两个验证等式的任何一个没有通过,则锁存在合约中的所述购买数据所用代币进入卖方的账号,且交易成功并停止;
所述卖方驳斥单元,用于在所述第三时间窗口内调用卖方反驳函数并所述公布卖方证据交易单,其中,所述卖方证据交易单包括从每个数据块的哈希值到根哈希的哈希路径;在所述哈希路径上的所有哈希值均被验证正确,则锁存在所述目标交易单中的所述购买数据所用代币将被转入卖方账户,交易成功并结束交易;并在所述哈希路径上任意两个孩子节点值的哈希不等于其父节点的值,则锁存在所述目标交易单中的所述购买数据所用代币将被将被退回给所述买方,交易失败且停止交易。
CN201910062814.0A 2019-01-23 2019-01-23 去中心化数据访问权交易方法及系统 Active CN109889504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910062814.0A CN109889504B (zh) 2019-01-23 2019-01-23 去中心化数据访问权交易方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910062814.0A CN109889504B (zh) 2019-01-23 2019-01-23 去中心化数据访问权交易方法及系统

Publications (2)

Publication Number Publication Date
CN109889504A true CN109889504A (zh) 2019-06-14
CN109889504B CN109889504B (zh) 2020-08-28

Family

ID=66926524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910062814.0A Active CN109889504B (zh) 2019-01-23 2019-01-23 去中心化数据访问权交易方法及系统

Country Status (1)

Country Link
CN (1) CN109889504B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503560A (zh) * 2019-09-27 2019-11-26 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110570313A (zh) * 2019-09-27 2019-12-13 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110659994A (zh) * 2019-09-27 2020-01-07 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110807634A (zh) * 2019-09-30 2020-02-18 中国人民解放军战略支援部队信息工程大学 基于Hasp哈希链与智能合约的二手票券交易方法和平台
CN111127013A (zh) * 2019-12-24 2020-05-08 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质
CN111178880A (zh) * 2019-12-07 2020-05-19 江苏通付盾数字化技术有限公司 一种零信任和保护数据隐私的安全数据流通方法
CN111951106A (zh) * 2020-06-17 2020-11-17 杭州增信信息技术有限公司 基于区块链智能合约技术的数据交易系统及其方法
CN112085484A (zh) * 2020-07-20 2020-12-15 西安电子科技大学 数字内容分布式交易方法、系统、存储介质、计算机设备
CN112132573A (zh) * 2019-06-24 2020-12-25 鄢华中 基于区块链的去CA去Key的电子签名和电子合同系统
CN112651032A (zh) * 2020-12-18 2021-04-13 火眸智媒(苏州)科技有限公司 物联网海量数据交换交易架构系统
CN112699339A (zh) * 2019-10-22 2021-04-23 北京邮电大学 数据产品的权属确定方法、装置、系统及存储介质
CN112801785A (zh) * 2021-01-13 2021-05-14 中央财经大学 基于区块链智能合约的公平数据交易方法及装置
CN113034128A (zh) * 2021-03-16 2021-06-25 昆明理工大学 一种基于区块链的数据交易及确权的方法
CN113268746A (zh) * 2021-04-22 2021-08-17 浙江数秦科技有限公司 一种基于区块链的数据存储加密方法
CN113434587A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 一种数据存储、数据查询方法及系统
US11210736B2 (en) 2018-04-27 2021-12-28 Forge Global, Inc. Global liquidity and settlement system
CN113972984A (zh) * 2020-07-24 2022-01-25 中国移动通信集团浙江有限公司 ElGamal密文等价判断方法及装置
CN112132573B (zh) * 2019-06-24 2024-05-31 鄢华中 基于区块链的去CA去Key的电子签名和电子合同系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296200A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的分布式光伏电力交易平台
CN106341421A (zh) * 2016-10-31 2017-01-18 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
CN106534317A (zh) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
US20170193464A1 (en) * 2015-12-18 2017-07-06 Justin SHER Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents
CN106952124A (zh) * 2017-03-16 2017-07-14 北京牛链科技有限公司 基于分布式记账的电子发票管理系统和方法
CN107171812A (zh) * 2017-07-18 2017-09-15 光载无限(北京)科技有限公司 一种基于区块链的无密钥签名基础设施构建方法
CN107516214A (zh) * 2017-08-26 2017-12-26 复旦大学 一种基于区块链的信用卡防盗刷方法
CN107563910A (zh) * 2017-07-21 2018-01-09 广东工业大学 一种基于区块链技术的二手房交易方法
CN108711006A (zh) * 2018-05-15 2018-10-26 腾讯科技(深圳)有限公司 收入管理方法、管理节点、系统及存储设备
CN108810073A (zh) * 2018-04-05 2018-11-13 西安电子科技大学 一种基于区块链的物联网多域访问控制系统及方法
EP3401865A1 (en) * 2017-05-10 2018-11-14 Coinplug, Inc Method for paying cost of iot device based on blockchain and merkle tree structure related thereto, and server, service providing terminal, and digital wallet using the same

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193464A1 (en) * 2015-12-18 2017-07-06 Justin SHER Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents
CN106296200A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的分布式光伏电力交易平台
CN106341421A (zh) * 2016-10-31 2017-01-18 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
CN106534317A (zh) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106952124A (zh) * 2017-03-16 2017-07-14 北京牛链科技有限公司 基于分布式记账的电子发票管理系统和方法
EP3401865A1 (en) * 2017-05-10 2018-11-14 Coinplug, Inc Method for paying cost of iot device based on blockchain and merkle tree structure related thereto, and server, service providing terminal, and digital wallet using the same
CN107171812A (zh) * 2017-07-18 2017-09-15 光载无限(北京)科技有限公司 一种基于区块链的无密钥签名基础设施构建方法
CN107563910A (zh) * 2017-07-21 2018-01-09 广东工业大学 一种基于区块链技术的二手房交易方法
CN107516214A (zh) * 2017-08-26 2017-12-26 复旦大学 一种基于区块链的信用卡防盗刷方法
CN108810073A (zh) * 2018-04-05 2018-11-13 西安电子科技大学 一种基于区块链的物联网多域访问控制系统及方法
CN108711006A (zh) * 2018-05-15 2018-10-26 腾讯科技(深圳)有限公司 收入管理方法、管理节点、系统及存储设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯翰文等: "基于 LWE 的全同态身份基广播加密方案", 《密码学报》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210736B2 (en) 2018-04-27 2021-12-28 Forge Global, Inc. Global liquidity and settlement system
US11908011B2 (en) 2018-04-27 2024-02-20 Forge Global, Inc. Global liquidity and settlement system
US11908012B2 (en) 2018-04-27 2024-02-20 Forge Global, Inc. Global liquidity and settlement system
US11961141B2 (en) 2018-04-27 2024-04-16 Forge Global, Inc. Global liquidity and settlement system
CN112132573A (zh) * 2019-06-24 2020-12-25 鄢华中 基于区块链的去CA去Key的电子签名和电子合同系统
CN112132573B (zh) * 2019-06-24 2024-05-31 鄢华中 基于区块链的去CA去Key的电子签名和电子合同系统
CN110503560A (zh) * 2019-09-27 2019-11-26 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110659994A (zh) * 2019-09-27 2020-01-07 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110570313A (zh) * 2019-09-27 2019-12-13 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN110807634A (zh) * 2019-09-30 2020-02-18 中国人民解放军战略支援部队信息工程大学 基于Hasp哈希链与智能合约的二手票券交易方法和平台
CN110807634B (zh) * 2019-09-30 2022-08-02 中国人民解放军战略支援部队信息工程大学 基于Hasq哈希链与智能合约的二手票券交易方法和平台
CN112699339A (zh) * 2019-10-22 2021-04-23 北京邮电大学 数据产品的权属确定方法、装置、系统及存储介质
CN111178880A (zh) * 2019-12-07 2020-05-19 江苏通付盾数字化技术有限公司 一种零信任和保护数据隐私的安全数据流通方法
CN111127013A (zh) * 2019-12-24 2020-05-08 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质
CN111127013B (zh) * 2019-12-24 2023-12-29 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质
CN111951106A (zh) * 2020-06-17 2020-11-17 杭州增信信息技术有限公司 基于区块链智能合约技术的数据交易系统及其方法
CN112085484A (zh) * 2020-07-20 2020-12-15 西安电子科技大学 数字内容分布式交易方法、系统、存储介质、计算机设备
CN113972984A (zh) * 2020-07-24 2022-01-25 中国移动通信集团浙江有限公司 ElGamal密文等价判断方法及装置
CN113972984B (zh) * 2020-07-24 2024-03-19 中国移动通信集团浙江有限公司 ElGamal密文等价判断方法及装置
CN112651032A (zh) * 2020-12-18 2021-04-13 火眸智媒(苏州)科技有限公司 物联网海量数据交换交易架构系统
CN112801785B (zh) * 2021-01-13 2023-10-20 中央财经大学 基于区块链智能合约的公平数据交易方法及装置
CN112801785A (zh) * 2021-01-13 2021-05-14 中央财经大学 基于区块链智能合约的公平数据交易方法及装置
CN113034128A (zh) * 2021-03-16 2021-06-25 昆明理工大学 一种基于区块链的数据交易及确权的方法
CN113268746B (zh) * 2021-04-22 2022-05-24 浙江数秦科技有限公司 一种基于区块链的数据存储加密方法
CN113268746A (zh) * 2021-04-22 2021-08-17 浙江数秦科技有限公司 一种基于区块链的数据存储加密方法
CN113434587A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 一种数据存储、数据查询方法及系统
CN113434587B (zh) * 2021-06-30 2023-08-18 青岛海尔科技有限公司 一种数据存储、数据查询方法及系统

Also Published As

Publication number Publication date
CN109889504B (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN109889504A (zh) 去中心化数据访问权交易方法及系统
CN108009917B (zh) 数字货币的交易验证和登记方法及系统
CN108650077B (zh) 基于区块链的信息传输方法、终端、设备及可读存储介质
CN110458554B (zh) 区块链上基于身份的数据快速交易方法
CN107911216A (zh) 一种区块链交易隐私保护方法及系统
EP2547033A2 (en) Public-key encrypted bloom filters with applications to private set intersection
CN106971302A (zh) 一种基于区块链技术的三维模型确权与交易方法
WO2020051710A1 (en) System and process for managing digitized security tokens
JP2007282295A (ja) キー寄託機能付き暗号システムおよび方法
CN112613956B (zh) 一种招投标处理方法和装置
Jaiswal et al. Design and implementation of a secure multi-agent marketplace
Li et al. A decentralized and secure blockchain platform for open fair data trading
Cha et al. Blockchain based sensitive data management by using key escrow encryption system from the perspective of supply chain
GB2572135A (en) Data transaction system and method
CN113469716A (zh) 一种基于区块链与标识解析的产品追溯方法及系统
CN113326541A (zh) 一种基于智能合约的云边协同多模式隐私数据流转方法
CN111369248A (zh) 一种基于区块链技术的数字产品安全交易方法和系统
CN112801778A (zh) 联盟式不良资产区块链
Gao et al. Secure, fair and instant data trading scheme based on bitcoin
Xiong et al. Anonymous auction protocol based on time-released encryption atop consortium blockchain
CN112801785A (zh) 基于区块链智能合约的公平数据交易方法及装置
CN110020538B (zh) 基于区块链的交易数据加解密方法及系统
Mohammed et al. Secure Smart Contract Based on Blockchain to Prevent the Non-Repudiation Phenomenon
Hao et al. Multi-agent system for e-commerce security transaction with block chain technology
Thammarat et al. A secure mobile payment protocol for handling accountability with formal verification

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