一种基于区块链的交易平台及交易方法
文献发布时间:2023-06-19 18:34:06
技术领域
本发明涉及区块链领域,特别是涉及一种基于区块链的交易平台及交易方法。
背景技术
随着互联网的不断发展,互联网大数据的隐私保护问题越发的引起更多人的注意。为了充分实现数据的价值,离不开各类分散数据源间的数据流通和相互共享,但是难免会影响原本的数据管理的安全性以及增加数据在分享中的风险。
虽然技术交易市场在各个地区蓬勃发展,涌现出很多官方或非官方的技术交易平台,但是由于技术本身属于一种无形资产,交易平台中的交易信息很容易被篡改,无法保证信息的真实性和完整性,且各条交易信息之间没有必然的关联性,无法实现信息的追溯,容易给网络犯罪和网络欺诈留下空间。
基于上述问题,亟需一种新的交易平台以提高信息交易的安全性。
发明内容
本发明的目的是提供一种基于区块链的交易平台及交易方法,可提高信息交易的安全性。
为实现上述目的,本发明提供了如下方案:
一种基于区块链的交易平台,包括:区块链网络、资源拥有者及资源请求者;所述资源拥有者及所述资源请求者均为区块链网络中的节点;
所述资源拥有者用于获取请求者公钥,采用所述请求者公钥对原始资源加密,得到资源密文,并将所述资源密文及对应的访问策略上传至区块链网络的共享存储池中;所述访问策略中包括资源拥有者属性、资源请求者属性、操作属性和环境属性;所述操作属性包括对资源密文的读取、写入和/或删除操作;所述环境属性包括访问策略的创建时间及到期时间;
所述资源请求者用于向区块链网络发起交易请求;所述交易请求包括资源请求者属性;
所述区块链网络包括执行模块及决策模块;
所述决策模块用于根据资源请求者发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对成功后,根据所述访问策略将资源密文的访问权限授予所述资源请求者,在比对失败时,向所述资源请求者发送交易失败信息;
所述资源请求者还用于使用访问权限向区块链网络提交资源密文的访问申请;
所述执行模块用于根据资源请求者提交的访问申请,将共享存储池中对应的资源密文发送至所述资源请求者;
所述资源请求者还用于采用请求者私钥对所述资源密文解密,得到对应的原始资源。
可选地,所述资源请求者预先将请求者公钥发送至资源拥有者。
可选地,所述决策模块包括:
比对子模块,用于根据资源请求者发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对失败时向所述资源请求者发送交易失败信息;
检查子模块,用于在资源请求者属性与资源密文的访问策略比对成功后,检查所述资源密文的访问策略的完整性,若所述访问策略完整,则根据所述访问策略将所述资源密文的访问权限授予所述资源请求者,若所述访问策略不完整,则向所述资源请求者发送交易失败信息。
可选地,所述交易请求还包括资源名;
所述比对子模块包括:
集合确定单元,用于根据所述资源名,确定对应的资源密文的访问策略集合;
策略查找单元,用于采用匹配靶标的方法在所述访问策略集合中查找对应所述资源请求者属性的访问策略,若所述访问策略集合中存在对应所述资源请求者属性的访问策略,则比对成功,若所述访问策略集合中不存在对应所述资源请求者的访问策略,则比对失败,并向所述资源请求者发送交易失败信息。
可选地,所述资源拥有者还用于向所述区块链网络发起资源删除指令;所述资源删除指令中包括资源拥有者属性及资源名;
所述区块链网络还包括管理模块;所述管理模块用于根据所述资源删除指令将共享存储池中对应的资源密文删除。
可选地,所述执行模块、所述决策模块及所述管理模块均为智能合约,且均部署在所述区块链网络的超级账本中。
可选地,所述区块链网络中的节点提供资源时为资源拥有者,请求资源时为资源请求者。
可选地,所述区块链网络中还包括联邦区域;所述区块链网络中的资源拥有者及资源请求者的数量均为多个;各资源拥有者及各资源请求者基于联邦学习在所述联邦区域进行资源共享及交易。
为实现上述目的,本发明还提供了如下方案:
一种基于区块链的交易方法,包括:
资源拥有者获取请求者公钥,采用所述请求者公钥对原始资源加密,得到资源密文,并将所述资源密文及对应的访问策略上传至区块链网络的共享存储池中;所述访问策略中包括资源拥有者属性、资源请求者属性、操作属性和环境属性;所述操作属性包括对资源密文的读取、写入和/或删除操作;所述环境属性包括访问策略的创建时间及到期时间;
资源请求者向区块链网络发起交易请求;所述交易请求包括资源请求者属性;
区块链网络根据资源请求者发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对成功后,根据所述访问策略将资源密文的访问权限授予所述资源请求者,在比对失败时,向所述资源请求者发送交易失败信息;
资源请求者使用访问权限向区块链网络提交资源密文的访问申请;
区块链网络根据资源请求者提交的访问申请,将共享存储池中对应的资源密文发送至所述资源请求者;
资源请求者采用请求者私钥对所述资源密文解密,得到对应的原始资源。
根据本发明提供的具体实施例,本发明公开了以下技术效果:资源拥有者采用请求者公钥对原始资源加密,得到资源密文,并将资源密文及对应的访问策略上传至区块链网络的共享存储池中,资源请求者向区块链网络发起交易请求,区块链网络根据资源请求者发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对成功后,根据访问策略将资源密文的访问权限授予资源请求者,在比对失败时,向资源请求者发送交易失败信息,资源请求者使用访问权限向区块链网络提交资源密文的访问申请,区块链网络根据资源请求者提交的访问申请,将共享存储池中对应的资源密文发送至资源请求者,资源请求者采用请求者私钥对资源密文解密得到对应的原始资源。通过资源的访问策略、加密方法与区块链技术相结合,实现资源拥有者与资源请求者之间的交易,提高了资源交易的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于区块链的交易平台的示意图;
图2为本发明基于区块链的交易方法的流程图。
符号说明:
资源拥有者-1,资源请求者-2,区块链网络-3,共享存储池-31,决策模块-32,执行模块-33,管理模块-34。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于区块链的交易平台及交易方法,通过资源的访问策略、加密方法与区块链技术相结合,实现资源拥有者与资源请求者之间的交易,提高了资源交易的安全性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明基于区块链的交易平台包括:区块链网络3、资源拥有者1及资源请求者2。所述资源拥有者1及所述资源请求者2均为区块链网络3中的节点。在本实施例中,所述资源请求者2预先将请求者公钥发送至资源拥有者1。
优选地,所述区块链网络中的节点提供资源时为资源拥有者,请求资源时为资源请求者。
所述资源拥有者1用于获取请求者公钥,采用所述请求者公钥对原始资源加密,得到资源密文,并将所述资源密文及对应的访问策略上传至区块链网络3的共享存储池31中。
具体地,所述访问策略中包括资源拥有者属性、资源请求者属性、操作属性和环境属性。所述操作属性包括对资源密文的读取、写入和/或删除操作;所述环境属性包括访问策略的创建时间及到期时间。
其中,资源拥有者属性表示一个资源拥有者1的属性,包括唯一用户标识、用户组以及资源标识符。资源请求者属性表示资源请求者2的属性,包括唯一标识用户、用户角色、用户组。操作属性表示符合属性匹配的资源请求者2可对资源进行的操作,包括读取、写入、删除。环境属性表示访问控制所需的环境属性,环境属性包括:访问策略的创建时间、到期时间和允许IP。创建时间晚于到期时间时,该策略无效。允许IP旨在防止网段外的IP地址访问。
将访问策略及资源密文上传至区块链,保证了数据资源的可靠性及不可篡改性。
作为一种具体地实施方式,原始资源为视频数据、文本数据等等。具体根据不同的应用场景对应不同类型的数据。
所述资源请求者2用于向区块链网络3发起交易请求。所述交易请求包括资源请求者属性及资源名。
所述区块链网络3包括执行模块33及决策模块32。
具体地,所述决策模块32用于根据资源请求者2发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对成功后,根据所述访问策略将资源密文的访问权限授予所述资源请求者2,在比对失败时,向所述资源请求者2发送交易失败信息。
进一步地,所述决策模块32包括比对子模块及检查子模块。
其中,比对子模块用于根据资源请求者2发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对失败时向所述资源请求者2发送交易失败信息。
更进一步地,所述比对子模块包括集合确定单元及策略查找单元。集合确定单元用于根据所述资源名,确定对应的资源密文的访问策略集合。策略查找单元用于采用匹配靶标的方法在所述访问策略集合中查找对应所述资源请求者属性的访问策略,若所述访问策略集合中存在对应所述资源请求者属性的访问策略,则比对成功,若所述访问策略集合中不存在对应所述资源请求者2的访问策略,则比对失败,并向所述资源请求者2发送交易失败信息。
由于同一资源密文下可能存在多个由资源拥有者设置的访问策略,因此在接收到匹配访问策略需要的参数后,使用HyperledgerFabric区块链平台官方提供的GetHistoryForKey函数查找该资源密文下的访问策略集合。
检查子模块用于在资源请求者属性与资源密文的访问策略比对成功后,检查所述资源密文的访问策略的完整性,若所述访问策略完整,则根据所述访问策略将所述资源密文的访问权限授予所述资源请求者2,若所述访问策略不完整,则向所述资源请求者2发送交易失败信息。
所述资源请求者2还用于使用访问权限向区块链网络3提交资源密文的访问申请。
所述执行模块33用于根据资源请求者2提交的访问申请,将共享存储池31中对应的资源密文发送至所述资源请求者2。
所述资源请求者2还用于采用请求者私钥对所述资源密文解密,得到对应的原始资源。
本发明针对在大数据平台下的数据发布场景中,数据在进行存储与流转的过程中,会被恶意用户非法访问与窃取,进而对数据恶意散播或者篡改,给整个数据的流通造成严重威胁的问题,通过资源的访问策略、加密方法与区块链技术相结合,提高了资源交易的安全性。
为了使资源请求者2对自己的资源进行管理,所述资源拥有者1还用于向所述区块链网络3发起资源删除指令。所述资源删除指令中包括资源拥有者属性及资源名。所述区块链网络3还包括管理模块34。所述管理模块34用于根据所述资源删除指令将共享存储池31中对应的资源密文删除。
在本实施例中,所述执行模块33、所述决策模块32及所述管理模块34均为智能合约,且均部署在所述区块链网络3的超级账本中。
为了实现多个节点之间的资源共享,所述区块链网络3中还包括联邦区域。所述区块链网络3中的资源拥有者1及资源请求者2的数量均为多个。各资源拥有者1及各资源请求者2基于联邦学习在所述联邦区域进行资源共享及交易。
具体地,区块链网络3中的任一节点发起联邦学习请求,并确定联邦学习的参与者。发起者在区块链内的联邦区域广播资源类型。其中发起者为区块链内的任一节点。联邦区域内的其余节点根据资源确定是否参与联邦学习,若参与,则作为请求者向发起者发送请求信息。请求信息中包括对应的请求者的身份信息。发起者通过智能合约判断请求者的身份,并决定是否同意请求者成为联邦学习的参与者。各节点采用对称密钥对模型参数进行加密,得到加密模型参数,并加密模型参数上传至区块链网络3中的分布式文件系统,得到参数地址。将参数地址、对称密钥及聚合算法写入智能合约。
通过智能合约将参数地址及对称密钥发送至各参与者。各参与者分别根据各自本地的资源对模型参数进行更新,并采用本地差分隐私算法对更新后的模型参数添加噪声,得到更新模型参数,并将更新模型参数上传至智能合约。
通过智能合约采用聚合算法对各模型参数进行聚合,得到聚合参数。最后将聚合参数发送至各参与者。
为了防止在联邦学习过程中产生推理攻击,将在线参与方的数量、参与方参与迭代次数以及时间作为限制条件,判断是否进行聚合。
为了保护联邦学习模型参数的隐私性,本发明引入了本地差分隐私算法,各节点之间使用属性基加密算法,对资源进行加密,保证资源的隐私性,解决了资源共享与交易过程中隐私保护差的问题。
区块链是基于数字加密货币的技术之上逐渐发展起来的分布式数据库技术,而将区块链技术应用于大数据共享、访问控制机制以及用户数据隐私保护是近几年新的研究方向。区块链旨在作为一个安全的分布式数据库架构,用于存储平台内进行的所有数字资产交易,具有去中心化以及不可篡改的特点,能够在利用时间戳、数字加密、共识机制等技术手段,为解决目前中心化机构存在的高成本、数据存储安全性问题、低效率问题提供了解决方案。区块链的时序数据特点也有很大的应用空间:区块链的链式区块结构在存储数据时因为带有时间戳,从而为数据增加了时间维度,具有极强的可验证性和可追溯性。
本发明结合基于属性的访问控制策略提出一种更加轻量级的区块链网络,不再需要为每个用户创建访问控制列表,每个设备(资源)都可以用一组属性来描述,这些属性由资源拥有者预先定义并由智能合约发布,除非属性信息与访问策略相匹配否则不允许任何用户访问。提高了访问权限分配细粒度与可扩展性。
如图2所示,本发明基于区块链的交易方法包括:
S1:资源拥有者获取请求者公钥,采用所述请求者公钥对原始资源加密,得到资源密文,并将所述资源密文及对应的访问策略上传至区块链网络的共享存储池中。所述访问策略中包括资源拥有者属性、资源请求者属性、操作属性和环境属性。所述操作属性包括对资源密文的读取、写入和/或删除操作;所述环境属性包括访问策略的创建时间及到期时间。
S2:资源请求者向区块链网络发起交易请求。所述交易请求包括资源请求者属性。
S3:区块链网络根据资源请求者发起的交易请求,对资源请求者属性与资源密文的访问策略进行比对,并在比对成功后,根据所述访问策略将资源密文的访问权限授予所述资源请求者,在比对失败时,向所述资源请求者发送交易失败信息。
S4:资源请求者使用访问权限向区块链网络提交资源密文的访问申请。
S5:区块链网络根据资源请求者提交的访问申请,将共享存储池中对应的资源密文发送至所述资源请求者。
S6:资源请求者采用请求者私钥对所述资源密文解密,得到对应的原始资源。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种基于区块链的物联网数据交易架构及其交易安全方法
- 一种基于区块链的技术交易平台的交易方法
- 一种基于区块链的数据交易平台中交易信息安全处理方法