本发明涉及一种基于区块链智能合约的深度学习数据集可信共享系统,属于区块链可信数据共享技术领域。
背景技术:
当前市场上的大数据集共享存在数据泄露的风险,即数据提供者将数据共享给数据消费者时,恶意的数据消费者可能会泄露共享的源数据集,数据提供者难以控制共享数据的流向。
区块链技术提供了可追溯,不可篡改的特性,将共享流程存至区块链中则可以实现多方实体之间去中心化的数据信任交易。
机构和公司之间的数据孤岛现象仍然存在,一些领域敏感数据集只存在于特定的机构和公司中,然而一些机构和公司由于缺乏这些数据导致无法训练出高质量的模型,形成了数据拥有者无法安全的将数据对外共享,数据消费者无法获取特定领域的数据集。
目前机构和公司获取特定领域数据集的方法仍然局限在离线受控并由数据拥有者的人员代替数据消费者操作数据集,并在任务完成后,将结果递交回数据消费者,然而这种形式的共享受到严重限制,效率极为低下,且仍然存在数据泄露的安全风险。目前,现有技术中没有针对神经网络训练数据集的区块链智能合约可信数据共享方案。
技术实现要素:
本发明提供了一种基于区块链智能合约的深度学习数据集可信共享系统,以用于解决数据共享场景下互不信任的神经网络数据集共享等现象,增加神经网络数据集共享的效率和安全性。
本发明的技术方案是:一种基于区块链智能合约的深度学习数据集可信共享系统,包括数据集市模块、区块链适配模块和云计算模块,云计算模块支撑区块链适配模块,区块链适配模块支撑数据集市模块;数据集市模块主要负责数据的展示以及交易;区块链适配模块主要负责数据的记录和存储,其完全包含智能合约模块;数据集市中的数据交易和区块链适配模块中的数据交易通过数据交易模块模块实现。
所述数据集市模块:用于数据消费者在平台中检索需要的数据,数据提供者发布元数据描述,提供透明公开的数据平台,用于交易双方进行磋商。
所述区块链适配模块:用于将数据集市模块适配到底层区块链系统中,所述区块链适配模块包含数据集市连接区块链的通信模块和智能合约模块;所述通信模块是指数据集市模块通过一个适配通信模块与底层区块链进行远程过程调用,以完成数据集市模块中的数据交易逻辑控制和显示;所述智能合约模块包含智能合约发布模块,用于将本地编写的合约通过编译后发布到底层区块链中,在底层区块链进行执行。所述数据集市连接区块链的通信模块用于前端数据集市装配数据对象,远程过程调用区块链接口,以及接受区块链发送的数据对象,并根据相应的规则进行解包,以此实现数据集市与区块链之间的通信;所述智能合约模块用于将本地编写的智能合约编译为字节码,发布到区块链平台中。
所述数据交易模块用于控制数据的交易流程,包括数据集市中数据交易控制,区块链中的数据交易合约及相关数据适配器;所述数据集市中的交易控制用于在数据集市前端页面中控制用户对共享数据的交易流程;所述区块链适配模块中的数据交易合约模块用于区块链后端进行分布式的数据交易逻辑控制,根据合约的控制逻辑确保每笔交易的真实性和不可篡改性;所述相关数据适配器用于数据集市和区块链后端交互过程中,为了确保双方数据格式的一致性而存在的一种适配器。
所述云计算模块包含可信计算模块:用于提供动态调整的云计算环境,在该模块中能动态的分配节点,包括普通节点和可信节点,普通节点用于区块链的共识节点和加密元数据存储,可信节点则用于数据的解密和神经网络训练;虚拟机监视器负责管理所有节点的运行状态和节点分配。
所述可信计算模块:用于提供安全可信的执行环境,在该环境中解密数据可以确保数据不会遭受泄露和篡改,所述可信计算模块包含密钥管理模块、训练模块、加密模块、安全库系统模块,网络通信模块、模型质量校验模块。
所述密钥管理模块具体包括:
a)使用aes对称密钥加密算法,数据提供者在本地生成密钥,并使用aes对称密钥加密算法在本地加密数据集。
b)使用rsa非对称密钥加密算法,可信计算环境在启动时会生成一对公私钥,私钥保存在可信环境的安全区中,将公钥传输至数据提供者,数据提供者利用公钥在本地对aes对称密钥进行加密,密文传输到可信环境的安全区中。
c)可信计算接受到密文时,使用预先生成的私钥对被加密的aes密钥解密以获取aes密钥明文,使用aes明文密钥解密数据集获取明文数据。
所述训练模块用于载入数据消费者的代码和数据集,在制定的程序环境中进行模型训练,生成模型。
所述安全库系统模块用于提供安全的操作系统环境,为安全的可信模型训练提供支持。
所述模型质量校验模块用于提供模型质量校验功能,只有当模型质量满足数据消费者所设定的阈值时,方可认定数据集是有效的,否则将会终止数据共享交易。
所述网络通信模块用于可信环境与外部实体交互,所述的外部实体包括数据提供者,智能合约以及数据消费者,具体的操作如下:
a).数据提供者需要将密文发送至可信环境的网络通信模块,由网络通信模块负责转储。
b).数据消费者需要上传模型训练代码文件至可信环境的网络通信模块,由网络通信模块负责转储。
c).智能合约在需要开始训练时,通知可信环境的网络通信模块以执行训练。
优选的,本发明所述数据集市模块包括用户授权模块、元数据描述模块、数据管理模块、数据发布模块、区块链钱包模块;
所述用户授权模块块包括用户授权合约,用户注册/登陆功能,用于生成数据提供者和数据消费者的数据集市通行凭据。
所述元数据描述模块用于数据提供者发布元数据描述信息,以及将元数据展示。
所述数据管理模块用于数据提供者管理其所有发布的元数据信息,数据消费者管理其所购买的数据集;包括数据提供者下载加密公钥和上传加密数据集功能,数据消费者上传神经网络训练代码,下载模型功能。
所述区块链钱包模块用于数据集市中所有参与实体的交易,数据集市通过区块链钱包与底层区块链进行交互,从而完成交易。
所属数据发布模块用于为数据所有者提供发布数据的功能,数据所有者将借助该模块将源数据写入至区块链中,并在数据集市中进行展示。
优选的,本发明所述数据交易模块中:所述数据集市中数据交易控制用于数据消费者在数据集市购买数据集时,数据集市通过与区块链底层交互以控制交易状态;所述区块链适配模块中的智能合约模块用于分布式的控制数据交易状态,当合约执行后,底层区块链会将合约执行的交易数据进行广播,在得到超过50%的节点验证后,则合约中的这一步执行成功,新生成的交易数据将存入底层区块链系统中。
所述云计算模块包含多个节点服务器,通过云计算环境将这些服务器虚拟化出多于物理服务器数量的节点,并根据当前所负载的任务进行动态调整和分配,确保新的数据交易有足够的可信节点来完成数据共享的解密计算任务。
优选的,本发明所述云计算模块中的可信计算模块用于解密被加密的源数据,,并载入数据消费者上传的神经网络训练代码,在可信计算空间内进行模型训练,训练后的代码将加密导出在服务器中;
所述加密解密的密钥机制包括非对称加密算法rsa和采用密码分组链接方式的对称加密算法aes加密算法,由数据提供者在本地生成aes密钥,并用rsa公钥加密aes密钥,源数据则采用aes密钥进行分块加密。
优选的,本发明所述数据提供者发布元数据的具体过程为:
(1)数据提供者登陆数据集市,发布元数据描述,将执行智能合约并将数据记录至底层区块链,其中需要缴纳一笔与使用价格相等的押金;
(2)智能合约执行完成后会通知云平台创建可信节点,此时可信节点将会进行初始化操作,其步骤如下:首先创建可信环境,加载库系统安全区,当环境创建完成之后;执行rsa密钥生成算法分别生成公钥和私钥,此时无论公钥还是私钥均保存在安全区中;
(3)数据提供者此时进行加密本地数据操作,其步骤如下:在本地使用aes密钥生成算法生成对称加密密钥,使用加密程序载入密钥和数据集进行加密操作,生成加密数据集;
(4)数据提供者在数据集市中的设置中请求该数据集的加密公钥,由可信节点的网络通信模块将加密公钥文件响应给数据提供者,使用rsa加密算法载入加密公钥文件和aes对称密钥,生成加密aes密钥文件;
(5)数据提供者将加密数据集和加密aes密钥通过数据集市的设置上传到云计算模块中的可信计算模块中保存。
优选的,本发明所述数据消费者在平台中检索需要的数据,所述流程包括:
(1)数据消费者和数据提供者编写完神经网络模型训练代码后,并使用自己的数据集测试代码没有问题之后,给定一个预估的模型精确度auc值;
(2)数据消费者登陆数据集市,在数据集市中检索符合自己需求的数据集,当找到合适的数据集时,可以点击购买,支付数据使用费以及押金后,此时触发智能合约的交易模块,将生成数据提供者和该数据消费者之间一对一的交易记录,并记录至底层区块链系统中;
(3)数据消费者通过数据集市的设置将神经网络模型训练代码上传至云平台中保存,选择开始训练后,其具体步骤如下:可信节点将数据集和代码加载到安全区中,由可信节点的解密模块对数据集进行解密从而得到原始数据集;可信节点的训练模块提供程序运行环境,加载神经网络训练代码和原始数据集并执行训练,当训练正常结束时,将生成模型保存在普通节点中;
(4)可信节点的训练模块完成训练之后,将执行模型校验,校验模块加载模型和校验代码,执行完成后将比较模型auc值与数据消费者预先提供的auc的大小,并将结果反馈到数据集市中数据消费者的设置中以供评估;
(5)数据消费者接受了模型质量auc值后,即可在数据集市的设置中下载模型,一旦执行下载则会触发智能合约进行交易收尾,具体步骤如下:智能合约首先将数据使用费和预缴纳的押金转入至数据提供者的账户;智能合约将合约余下的金额,即数据消费者缴纳的押金全部退回至数据消费者的账户;智能合约将合约状态更改为已完成,此时的状态将无法再进行交易。
基于上述技术方案,本发明具有以下优点:
(1)本发明采用区块链智能合约作为交易逻辑的核心控制,与传统的数据共享的中心化平台控制交易逻辑不同,分布式去中心化的智能合约交易控制可以确保所有交易的流程都公开透明,防止中心化平台故障造成系统瘫痪,同时还防止中心化平台作恶所带来的风险,由于交易的核心逻辑控制均由智能合约完成,因此所有的交易细节均是透明公开的。
(2)本发明融合了可信计算技术作为神经网络深度学习的可信保障,为了确保数据提供者的安全性,使用该技术确保源数据不会遭受泄露,同时提供了安全的训练区域,确保了交易双方的利益。
(3)本发明使用区块链技术作为数据集市的底层支撑,因此数据提供者能够在保证对数据具有控制权的前提下,将数据共享给外部实体获取收益,提高了数据提供者的共享意愿。
附图说明
图1是本发明的整体框架图;
图2是本发明完整流程的逻辑图;
图3是本发明实施例中数据提供者上传数据交互示意图。
图4是本发明实施例中数据消费者使用数据交互示意图。
图5是本发明数据交易交互示意图。
图6是本发明数据集模型质量测试交互示意图。
具体实施方式
下面将通过结合附图以及具体实施例进行详细描述,以更清楚的展示本发明要解决的技术问题和优点。
实施例1
一种基于区块链智能合约的深度学习数据集可信共享系统,包括数据集市模块、区块链适配模块和云计算模块;数据集市模块主要负责数据的展示以及交易;区块链适配模块主要负责数据的记录和存储,其完全包含智能合约模块;数据集市中的数据交易和区块链适配模块中的数据交易通过数据交易模块模块实现。
所述数据集市模块,用于数据消费者在平台中检索需要的数据,数据提供者发布元数据描述,提供透明公开的数据平台,用于交易双方进行公开透明的交易,其包含部分数据交易模块。
具体的,所述数据集市模块包括用户授权模块、元数据描述模块、数据管理模块、数据发布模块、区块链钱包模块;
所述用户授权模块用于生成数据提供者和数据消费者的数据集市通行凭据,为数据消费者和数据提供者在数据集市中提供区块链钱包地址,并连接至底层区块链的身份认证智能合约。
所述元数据描述模块用于数据提供者发布元数据描述信息,以及将元数据展示。
所述数据管理模块用于数据提供者管理其所有发布的元数据信息,数据消费者管理其所购买的数据集;数据所有者提供发布数据后,通过该模块完成下载公钥,上传加密数据集的功能;数据消费者通过该模块上传神经网络模型训练代码以及下载模型。
所述区块链钱包模块用于数据集市中所有参与实体的交易,数据集市通过区块链钱包与底层区块链进行交互,从而完成交易。
所属数据发布模块用于为数据所有者提供发布数据的功能,数据所有者将借助该模块将源数据写入至区块链中,并在数据集市中进行展示。
区块链适配模块:主要负责数据的记录和存储,用于将数据集市模块适配到区块链系统中,所述区块链适配模块包含数据集市连接区块链的通信模块和智能合约模块;所述通信模块是指数据集市模块通过一个区块链钱包与区块链进行远程过程调用,以完成数据集市模块中的元数据描述的展示;所述智能合约模块用于将本地编写的合约通过编译后发布到区块链中,在区块链上进行执行。
在具体应用中,所述区块链模块中的智能合约模块提供外部实体调用的api接口,完成数据的检索和存储功能,并提供智能合约的运行时环境支撑节点运行智能合约程序。
所述数据交易模块:用于控制数据的交易流程,包括数据集市中数据管理模块,区块链中的智能合约模块中的数据交易合约;所述数据集市中数据管理模块用于数据消费者在数据集市购买数据集时,数据集市通过与区块链底层交互以控制交易状态;所述区块链中的智能合约模块中的数据交易合约用于分布式的控制数据交易状态,当合约执行后,底层区块链会将合约执行的交易数据进行广播,在得到超过50%的节点验证后,则合约中的这一步执行成功,新生成的交易数据将存入底层区块链系统中。
所述云计算模块包含可信计算模块:用于提供动态调整的云计算环境,在该模块中能动态的分配节点,包括普通节点和可信节点,普通节点用于区块链的共识节点和加密元数据存储,可信节点则用于数据的解密和神经网络训练;虚拟机监视器负责管理所有节点的运行状态和节点分配。
所述云计算模块包含多个节点服务器,通过云计算环境将这些服务器虚拟化出多于物理服务器数量的节点,并根据当前所负载的任务进行动态调整和分配,确保新的数据交易有足够的可信节点来完成数据共享的解密计算任务。
所述可信计算模块:用于提供安全可信的执行环境,在该环境中解密数据可以确保数据不会遭受泄露和篡改,所述可信计算模块包含密钥管理模块、训练模块、加密模块、安全库系统模块,网络通信模块、模型质量校验模块;
所述可信计算模块用于解密被加密的源数据,并载入数据消费者上传的神经网络训练代码,在可信计算空间内进行模型训练,训练后的代码将加密导出在服务器中;所述加密解密的密钥机制包括非对称加密算法rsa和采用密码分组链接方式的对称加密算法aes加密算法,由数据提供者在本地生成aes密钥,并用rsa公钥加密aes密钥,源数据则采用aes密钥进行分块加密。
所述网络通信模块完全运行在安全区中,对数据提供者,智能合约以及数据消费者提供网络通信功能,对于数据消费者而言,包括:下发公钥,其中生成公私钥机制采用的是rsa算法,私钥只保存在安全区中,任何实体都无法获取;支持数据消费者上传神经网络模型训练代码至安全区中,以及在模型训练完成后提供模型下载服务。
所述可信计算模块中的训练模块完全运行在安全区中,主要功能则是加载程序运行环境,满足神经网络模型训练代码所需要的运行时环境,加载代码和加密数据集,在安全区中解密数据集并用其训练,所述运行时环境包括神经网络模型训练代码的解释器,类库等。
所述模型质量检验模块完全运行在安全区中,并且该模块运行在模型训练模块之后,当模型训练成功之后,该模块会将检验代码和模型载入,运行检验代码后得到模型质量auc值,并且将对比结果传至数据集市的数据消费者设置中,为数据消费者提供指标信息。
本地加密,具体的,数据提供者在本地生成aes对称密钥,运行加密工具使用aes对称密钥加密源数据集从而生成加密数据集,从可信节点下载rsa公钥,用rsa公钥加密aes对称密钥后生成加密密钥。
参考图3,4所示,数据提供者为了安全的将数据共享至外部实体以获取收益,流程如图3,4所示,所有的数据提供者都需要进行这样的操作确保将数据安全的共享到外部实体;采用这样的方式,进行安全加密的数据传输,可以确保即使在某一环节中数据遭受泄露,也能确保原始数据不会泄露,除非数据提供者把密钥向外界泄露或者可信节点将密钥向外界泄露,这样的场景不符合自身的利益,因此几乎不会发生。从而确保了数据传输的安全性。
进一步地,为了数据提供者能安全的共享数据,所述流程包括:
(1)数据提供者登陆数据集市,发布元数据描述,将执行智能合约并将数据记录至底层区块链,其中需要缴纳一笔与使用价格相等的押金;
(2)智能合约执行完成后会通知云平台创建可信节点,此时可信节点将会进行初始化操作,其步骤如下:首先创建可信环境,加载库系统安全区,当环境创建完成之后;执行rsa密钥生成算法分别生成公钥和私钥,此时无论公钥还是私钥均保存在安全区中。
(3)数据提供者此时进行加密本地数据操作,其步骤如下:在本地使用aes密钥生成算法生成对称加密密钥,使用加密程序载入密钥和数据集进行加密操作,生成加密数据集;
(4)数据提供者在数据集市中的设置中请求该数据集的加密公钥,由可信节点的网络通信模块将加密公钥文件响应给数据提供者,使用rsa加密算法载入加密公钥文件和aes对称密钥,生成加密aes密钥文件。
(5)数据提供者将加密数据集和加密aes密钥通过数据集市的设置上传到云平台的节点中保存。
参考图4,5所示,数据消费者为了能使用共享数据集,流程如图4,5所示,所有的数据消费者都需要进行这样的操作确保能正确高效的使用共享数据集,所述流程包括:
(1)数据消费者和数据提供者编写完神经网络模型训练代码后,并使用自己的数据集测试代码没有问题之后,给定一个预估的模型精确度auc值。
(2)数据消费者登陆数据集市,在数据集市中检索符合自己需求的数据集,当找到合适的数据集时,可以点击购买,支付数据使用费以及押金后,此时触发智能合约的交易模块,将生成数据提供者和该数据消费者之间一对一的交易记录,并记录至底层区块链系统中。
(3)数据消费者通过数据集市的设置将神经网络模型训练代码上传至云端的数据存储模块中保存,选择开始训练后,其具体步骤如下:可信节点将数据集和代码加载到安全区中,由可信节点的解密模块对数据集进行解密从而得到原始数据集;可信节点的训练模块提供程序运行环境,加载神经网络训练代码和原始数据集并执行训练,当训练正常结束时,将生成模型保存在普通节点中。
(4)可信节点的训练模块完成训练之后,将执行模型校验,校验模块加载模型和校验代码,执行完成后将比较模型auc值与数据消费者预先提供的auc的大小,并将结果反馈到数据集市中数据消费者的设置中以供评估。
(5)数据消费者接受了模型质量auc值后,即可在数据集市的设置中下载模型,一旦执行下载则会触发智能合约进行交易收尾,具体步骤如下:智能合约首先将数据使用费和预缴纳的押金转入至数据提供者的账户;智能合约将合约余下的金额,即数据消费者缴纳的押金全部退回至数据消费者的账户;智能合约将合约状态更改为已完成,此时的状态将无法再进行交易。
本发明通过在不信任的环境下建立数据提供者,消费者以及去中心化交易平台之间的信任机制,将带来一下益处:
(1)在传统的数据共享平台中,数据提供者实际上是无法掌握数据的所属权,共享的同时往往意味着数据不受控制,这将严重损害数据提供者的利益;然而本发明可以让数据提供者放心的将数据共享至外部实体而不会失去数据的控制权,极大的增加了数据提供者的信心。
(2)有利于数据消费者放心的支付数据使用费,即便数据存在质量问题,也能由本发明的机制进行规避。
(3)有利于追溯交易的历史记录,提高每笔交易的可信度。
本发明通过在不信任的环境下建立去中心化交易平台,将带来以下益处:
(1)对数据提供者而言,能够促进他们的共享意愿,实现越来越多的单位,机构和公司参与数据共享,破解数据孤岛的现状。
(2)对交易双方而言,平台的去中心化和透明化可以使他们更加放心的依托于这个平台完成交易,而无需担心平台作恶问题。
本发明通过在云端构建可信计算环境,将带来以下益处:
(1)实现不同神经网络模型训练代码技术的不同所带来的不适配问题,借助安全库系统可以实现无论是什么样的技术,都可以提供程序所需的运行时环境,解决了环境不兼容问题。
(2)降低了数据提供者对数据安全方面的担心,可信计算环境确保数据的控制权始终掌握在数据提供者手中,而不会随着共享而丢失控制权。
在实际应用中,可综合应用平台中心化数据库存储部分非核心安全的数据,形成更高效的交易模式和更安全的使用场景,实现基于区块链智能合约的深度学习数据集可信共享系统解决方案。
充分挖掘智能合约的逻辑交互,确保在无逻辑漏洞的情况下执行的语句最短,降低合约运行的开销,形成高效稳定的去中心化交易逻辑控制解决方案。
对可信计算环境进行充分的挖掘,建立具备程序运行时环境多样性的安全库系统,充分发挥库系统的轻量级特性,结合其高效安全的应用隔离机制实现更可靠的安全共享场景。
本技术具有强烈的现实意义,不仅融合了区块链技术和可信计算,还将促使产学研落地。在打破当前社会各机构单位公司之间的数据孤岛有着较强的推进作用。
最后需要说明的是,上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
1.一种基于区块链智能合约的深度学习数据集可信共享系统,其特征在于:包括数据集市模块、区块链适配模块和云计算模块,云计算模块支撑区块链适配模块,区块链适配模块支撑数据集市模块;数据集市模块主要负责数据的展示以及交易;区块链适配模块主要负责数据的记录和存储,其完全包含智能合约模块;数据集市中的数据交易和区块链适配模块中的数据交易通过数据交易模块实现;
所述数据集市模块:用于数据消费者在平台中检索需要的数据,数据提供者发布元数据描述,提供透明公开的数据平台,用于交易双方进行磋商;
所述区块链适配模块:用于将数据集市模块适配到底层区块链系统中,所述区块链适配模块包含数据集市连接区块链的通信模块和智能合约模块;所述通信模块是指数据集市模块通过一个适配通信模块与底层区块链进行远程过程调用,以完成数据集市模块中的数据交易逻辑控制和显示;所述智能合约模块包含智能合约发布模块,用于将本地编写的合约通过编译后发布到底层区块链中,在底层区块链进行执行;
所述数据交易模块用于控制数据的交易流程,包括数据集市中数据交易控制,区块链中的数据交易合约及相关数据适配器;
所述云计算模块包含可信计算模块:用于提供动态调整的云计算环境,在该模块中能动态的分配节点,包括普通节点和可信节点,普通节点用于区块链的共识节点和加密元数据存储,可信节点则用于数据的解密和神经网络训练;虚拟机监视器负责管理所有节点的运行状态和节点分配;
所述可信计算模块:用于提供安全可信的执行环境,在该环境中解密数据可以确保数据不会遭受泄露和篡改,所述可信计算模块包含密钥管理模块、训练模块、加密模块、安全库系统模块,网络通信模块、模型质量校验模块。
2.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于:所述数据集市模块包括用户授权模块、元数据描述模块、数据管理模块、数据发布模块、区块链钱包模块;
所述用户授权模块用于生成数据提供者和数据消费者的数据集市通行凭据;
所述元数据描述模块用于数据提供者发布元数据描述信息,以及将元数据展示;
所述数据管理模块用于数据提供者管理其所有发布的元数据信息,数据消费者管理其所购买的数据集;
所述区块链钱包模块用于数据集市中所有参与实体的交易,数据集市通过区块链钱包与底层区块链进行交互,从而完成交易;
所属数据发布模块用于为数据所有者提供发布数据的功能,数据所有者将借助该模块将源数据写入至区块链中,并在数据集市中进行展示。
3.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于:数据交易模块中:所述数据集市中数据交易控制用于数据消费者在数据集市购买数据集时,数据集市通过与区块链底层交互以控制交易状态;所述区块链适配模块中的智能合约模块用于分布式的控制数据交易状态,当合约执行后,底层区块链会将合约执行的交易数据进行广播,在得到超过51%的节点验证后,则合约中的这一步执行成功,新生成的交易数据将存入底层区块链系统中。
4.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于,所述云计算模块包含多个节点服务器,通过云计算环境将这些服务器虚拟化出多于物理服务器数量的节点,并根据当前所负载的任务进行动态调整和分配,确保新的数据交易有足够的可信节点来完成数据共享的解密计算任务。
5.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于,所述云计算模块中的可信计算模块用于解密被加密的源数据,并载入数据消费者上传的神经网络训练代码,在可信计算空间内进行模型训练,训练后的代码将加密导出在服务器中;
所述加密解密的密钥机制包括非对称加密算法rsa和采用密码分组链接方式的对称加密算法aes加密算法,由数据提供者在本地生成aes密钥,并用rsa公钥加密aes密钥,源数据则采用aes密钥进行分块加密。
6.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于:数据提供者发布元数据的具体过程为:
(1)数据提供者登陆数据集市,发布元数据描述,将执行智能合约并将数据记录至底层区块链,其中需要缴纳一笔与使用价格相等的押金;
(2)智能合约执行完成后会通知云平台创建可信节点,此时可信节点将会进行初始化操作,其步骤如下:首先创建可信环境,加载库系统安全区,当环境创建完成之后;执行rsa密钥生成算法分别生成公钥和私钥,此时无论公钥还是私钥均保存在安全区中;
(3)数据提供者此时进行加密本地数据操作,其步骤如下:在本地使用aes密钥生成算法生成对称加密密钥,使用加密程序载入密钥和数据集进行加密操作,生成加密数据集;
(4)数据提供者在数据集市中的设置中请求该数据集的加密公钥,由可信节点的网络通信模块将加密公钥文件响应给数据提供者,使用rsa加密算法载入加密公钥文件和aes对称密钥,生成加密aes密钥文件;
(5)数据提供者将加密数据集和加密aes密钥通过数据集市的设置上传到云计算模块中的可信计算模块中保存。
7.根据权利要求1所述的基于区块链智能合约的深度学习数据集可信共享系统,其特征在于:数据消费者在平台中检索需要的数据,所述流程包括:
数据消费者和数据提供者编写完神经网络模型训练代码后,并使用自己的数据集测试代码没有问题之后,给定一个预估的模型精确度auc值;
(2)数据消费者登陆数据集市,在数据集市中检索符合自己需求的数据集,当找到合适的数据集时,可以点击购买,支付数据使用费以及押金后,此时触发智能合约的交易模块,将生成数据提供者和该数据消费者之间一对一的交易记录,并记录至底层区块链系统中;
(3)数据消费者通过数据集市的设置将神经网络模型训练代码上传至云平台中保存,选择开始训练后,其具体步骤如下:可信节点将数据集和代码加载到安全区中,由可信节点的解密模块对数据集进行解密从而得到原始数据集;可信节点的训练模块提供程序运行环境,加载神经网络训练代码和原始数据集并执行训练,当训练正常结束时,将生成模型保存在普通节点中;
(4)可信节点的训练模块完成训练之后,将执行模型校验,校验模块加载模型和校验代码,执行完成后将比较模型auc值与数据消费者预先提供的auc的大小,并将结果反馈到数据集市中数据消费者的设置中以供评估;
(5)数据消费者接受了模型质量auc值后,即可在数据集市的设置中下载模型,一旦执行下载则会触发智能合约进行交易收尾,具体步骤如下:智能合约首先将数据使用费和预缴纳的押金转入至数据提供者的账户;智能合约将合约余下的金额,即数据消费者缴纳的押金全部退回至数据消费者的账户;智能合约将合约状态更改为已完成,此时的状态将无法再进行交易。
技术总结