CN114417394A - 基于区块链的数据存证方法、装置、设备及可读存储介质 - Google Patents
基于区块链的数据存证方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114417394A CN114417394A CN202111494285.5A CN202111494285A CN114417394A CN 114417394 A CN114417394 A CN 114417394A CN 202111494285 A CN202111494285 A CN 202111494285A CN 114417394 A CN114417394 A CN 114417394A
- Authority
- CN
- China
- Prior art keywords
- model
- local
- block chain
- training
- data
- 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.)
- Pending
Links
Images
Classifications
-
- 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/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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的数据存证方法、装置、设备及可读存储介质,涉及互联网技术领域,采用随机选择区块链节点进行模型更新的方式,降低针对更新的攻击,提升系统安全性。所述方法包括:获取初始训练模型和损失函数;基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点;接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种基于区块链的数据存证方法、装置、设备及可读存储介质。
背景技术
跨境电商会将本地的融资数据通过本地模型训练之后上传至区块链网络进行数据存证,因此,区块链网络中存储有多个电商的本地融资数据的数据存证,当金融机构需要对目标数据存证进行存证溯源时,金融机构通过调用存证模型对目标存证进行溯源,即查询上传该目标存证的区块链节点。
相关技术中,传统的数据存证方式是通过每个电商在本地利用自己的数据计算模型参数,并将学习到的模型参数上传至中心服务器生成存证模型,中心服务器对收到的所有模型参数进行加权平均,并在每次迭代结束后将生成的存证模型分发给所有客户端。
在实现本申请的过程中,申请人发现相关技术至少存在以下问题:
由于模型参数的敏感性,在将模型参数上传至中心服务器时容易遭遇单点故障和恶意攻击等威胁,从而造成恶意攻击节点通过本地上传的本地训练模型模型参数直接反推数据提供方源数据,导致数据存证传输安全性过低。
发明内容
有鉴于此,本申请提供了一种基于区块链的数据存证方法、装置、设备及可读存储介质,主要目的在于解决目前恶意攻击节点通过本地上传的本地训练模型模型参数直接反推数据提供方源数据,导致数据存证传输安全性过低的问题。
依据本申请第一方面,提供了一种基于区块链的数据存证方法,该方法包括:
获取初始训练模型和损失函数,所述初始训练模型和损失函数由所述目标区块链节点对平台区块链节点广播的网络参数进行识别得到;
基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;
为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点,所述指定区块链节点为所述目标区块链节点选中参与本次模型更新的区块链节点;
接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点,所述其他区块链节点为参与本次模型训练的区块链节点中除所述目标区块链节点以外的区块链节点。
可选地,其特征在于,所述获取初始训练模型和损失函数,包括:
响应于接收到所述平台区块链广播的数据传输指令,调用数据接收接口,接收所述平台区块链广播的所述网络参数,对所述网络参数进行数据识别,得到所述初始训练模型和所述损失函数的第一哈希值和第二哈希值;
基于哈希映射算法,分别查询所述第一哈希值和所述第二哈希值对应的第一原值和第二原值,将所述第一原值作为所述初始训练模型,将所述第二原值作为所述损失函数。
可选地,所述基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型,包括:
读取所述多个本地训练数据,将所述多个本地训练数据输入至所述初始训练模型,基于所述梯度下降算法计算所述多个本地训练数据中每个本地训练数据与所述损失函数的乘积,将所述乘机作为样本损失,得到多个本地训练数据的多个样本损失;
计算所述多个样本损失的平均值,当所述多个样本损失的平均值小于预设损失阈值时,将所述平均值依据所述梯度运算的反方向对所述初始训练模型的模型参数进行更新,得到本地训练模型。
可选地,其特征在于,所述将所述局部模型发送至指定区块链节点,包括:
读取分布式哈希表,对所述分布式哈希表中存储的数据检索信息进行编号;
在所述分布式哈希表中提取目标编号对应的目标数据检索信息,将所述目标数据检索信息对应的区块链节点作为所述指定区块链节点,所述目标编号的取值为任意数值;
将所述局部模型发送至所述指定区块链节点。
可选地,其特征在于,所述接收参与本次模型训练的区块链节点中除所述目标区块链节点以外的其他区块链节点发送的指定局部模型,将所述指定局部模型与所述本地训练模型进行聚合运算,生成存证模型,将所述存证模型上传至所述平台区块链节点,包括:
接收所述其他区块链节点发送的所述指定局部模型,依据所述指定局部模型查询所述指定局部模型对应的目标数据量作为模型权重;
计算所述模型权重与所述指定局部模型的乘积,将所述乘积与所述本地训练模型进行聚合,得到所述存证模型,将所述存证模型上传至所述平台区块链节点。
可选地,其特征在于,所述方法还包括:
将所述多个本地训练数据输入至所述存证模型,得到多个样本分类结果,计算所述多个样本分类结果中正确分类的样本数量与所述本地训练数据的总数的比值,将所述比值作为所述存证模型的模型精度;
持续检测所述模型精度,当所述模型精度达到预设精度阈值时,完成所述存证模型的模型训练,将所述存证模型上传至区块链网络。
依据本申请第二方面,提供了一种基于区块链的数据存证装置,该装置包括:
获取模块,用于获取初始训练模型和损失函数,所述初始训练模型和损失函数由所述目标区块链节点对平台区块链节点广播的网络参数进行识别得到;
运算模块,用于基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;
传输模块,用于为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点,所述指定区块链节点为所述目标区块链节点选中参与本次模型更新的区块链节点;
聚合模块,用于接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点,所述其他区块链节点为参与本次模型训练的区块链节点中除所述目标区块链节点以外的区块链节点。
可选地,所述获取模块,用于响应于接收到所述平台区块链广播的数据传输指令,调用数据接收接口,接收所述平台区块链广播的所述网络参数,对所述网络参数进行数据识别,得到所述初始训练模型和所述损失函数的第一哈希值和第二哈希值;基于哈希映射算法,分别查询所述第一哈希值和所述第二哈希值对应的第一原值和第二原值,将所述第一原值作为所述初始训练模型,将所述第二原值作为所述损失函数。
可选地,所述运算模块,用于读取所述多个本地训练数据,将所述多个本地训练数据输入至所述初始训练模型,基于所述梯度下降算法计算所述多个本地训练数据中每个本地训练数据与所述损失函数的乘积,将所述乘机作为样本损失,得到多个本地训练数据的多个样本损失;计算所述多个样本损失的平均值,当所述多个样本损失的平均值小于预设损失阈值时,将所述平均值依据所述梯度运算的反方向对所述初始训练模型的模型参数进行更新,得到本地训练模型。
可选地,所述传输模块,用于读取分布式哈希表,对所述分布式哈希表中存储的数据检索信息进行编号;在所述分布式哈希表中提取目标编号对应的目标数据检索信息,将所述目标数据检索信息对应的区块链节点作为所述指定区块链节点,所述目标编号的取值为任意数值;将所述局部模型发送至所述指定区块链节点。
可选地,所述聚合模块,用于接收所述其他区块链节点发送的所述指定局部模型,依据所述指定局部模型查询所述指定局部模型对应的目标数据量作为模型权重;计算所述模型权重与所述指定局部模型的乘积,将所述乘积与所述本地训练模型进行聚合,得到所述存证模型,将所述存证模型上传至所述平台区块链节点。
可选地,所述装置还包括:
计算模块,用于将所述多个本地训练数据输入至所述存证模型,得到多个样本分类结果,计算所述多个样本分类结果中正确分类的样本数量与所述本地训练数据的总数的比值,将所述比值作为所述存证模型的模型精度;
检测模块,用于持续检测所述模型精度,当所述模型精度达到预设精度阈值时,完成所述存证模型的模型训练,将所述存证模型上传至区块链网络。
依据本申请第三方面,提供了一种计算机设备,包括存储设备、处理器及存储在存储设备上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面中任一项所述方法的步骤。
依据本申请第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
借由上述技术方案,本申请提供的一种基于区块链的数据存证方法、装置、设备及可读存储介质,本申请首先获取平台区块链节点广播的初始训练模型和损失函数。随后,基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。接下来,为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送目标区块链节点选中参与本次模型更新的至指定区块链节点。最后,接收参与本次模型训练的区块链节点中除目标区块链节点以外的其他区块链节点发送的指定局部模型,将指定局部模型与所本地训练模型进行聚合运算,生成存证模型,将存证模型上传至所述平台区块链节点。各个区块链节点分别利用本地训练数据进行模型训练,并为训练完成的本地训练模型添加拉普拉斯噪声以得到局部模型,有效提供满足差分隐私机制的隐私保证,并采用随机选择区块链节点进行模型更新的方式,协同训练存证模型,降低针对更新的差分攻击,提升系统安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种基于区块链的数据存证方法流程示意图;
图2示出了本申请实施例提供的一种基于区块链的数据存证方法流程示意图;
图3A示出了本申请实施例提供的一种基于区块链的数据存证装置的结构示意图;
图3B示出了本申请实施例提供的一种基于区块链的数据存证装置的结构示意图;
图4示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种基于区块链的数据存证方法,如图1所示,该方法包括:
101、获取初始训练模型和损失函数,初始训练模型和损失函数由区块链节点对平台区块链节点广播的网络参数进行识别得到。
102、基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。
103、为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送至指定区块链节点,指定区块链节点为区块链节点选中参与本次模型更新的区块链节点。
104、接收其他区块链节点发送的指定局部模型,将指定局部模型与本地训练模型进行聚合运算,生成存证模型,其他区块链节点为区块链网络中除区块链节点以外的区块链节点。
本申请实施例提供的方法,首先获取平台区块链节点广播的初始训练模型和损失函数。随后,基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。接下来,为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送目标区块链节点选中参与本次模型更新的至指定区块链节点。最后,接收参与本次模型训练的区块链节点中除目标区块链节点以外的其他区块链节点发送的指定局部模型,将指定局部模型与所本地训练模型进行聚合运算,生成存证模型,将存证模型上传至所述平台区块链节点。各个区块链节点分别利用本地训练数据进行模型训练,并为训练完成的本地训练模型添加拉普拉斯噪声以得到局部模型,有效提供满足差分隐私机制的隐私保证,并采用随机选择区块链节点进行模型更新的方式,协同训练存证模型,降低针对更新的差分攻击,提升系统安全性。
本申请实施例提供了一种基于区块链的数据存证方法,如图2所示,该方法包括:
201、获取初始训练模型和损失函数。
跨境电商会将本地的融资数据通过本地模型训练之后上传至区块链网络进行数据存证,因此,区块链网络中存储有多个电商的本地融资数据的数据存证,当金融机构需要对目标数据存证进行存证溯源时,金融机构通过调用存证模型对目标存证进行溯源,即查询上传该目标存证的区块链节点。目前,传统的数据存证方式是通过每个电商在本地利用自己的数据计算模型参数,并将学习到的模型参数上传至中心服务器生成存证模型,中心服务器对收到的所有模型参数进行加权平均,并在每次迭代结束后将生成的存证模型分发给所有客户端。但是申请人认识到,由于模型参数的敏感性,在将模型参数上传至中心服务器时容易遭遇单点故障和恶意攻击等威胁,从而造成恶意攻击节点通过本地上传的本地训练模型模型参数直接反推数据提供方源数据,导致数据存证传输安全性过低。
因此,本申请提供的一种基于区块链的数据存证方法、装置、设备及可读存储介质,本申请首先获取平台区块链节点广播的初始训练模型和损失函数。随后,基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。接下来,为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送目标区块链节点选中参与本次模型更新的至指定区块链节点。最后,接收参与本次模型训练的区块链节点中除目标区块链节点以外的其他区块链节点发送的指定局部模型,将指定局部模型与所本地训练模型进行聚合运算,生成存证模型,将存证模型上传至所述平台区块链节点。各个区块链节点分别利用本地训练数据进行模型训练,并为训练完成的本地训练模型添加拉普拉斯噪声以得到局部模型,有效提供满足差分隐私机制的隐私保证,并采用随机选择区块链节点进行模型更新的方式,协同训练存证模型,降低针对更新的差分攻击,提升系统安全性。
其中,平台区块链节点为模型构建任务的发布方,需要事先确定预训练的初始训练模型,并将初始化后的初始训练模型和初始训练参数作为网络参数,以广播的形式下发至本次参与模型训练的目标区块链节点,以使目标区块链节点能够根据接收到的网络参数,利用本地数据进行模型训练。在实际应用过程中,平台可以设置筛选数目,在分布式哈希表中选取预设筛选数目的区块链节点作为参与本次模型训练的目标区块链节点,例如,30个、50个等。实际上,筛选数目可以采用系统默认的数目也可以由相关工作人员基于实际应用场景进行设置,并且可以采用数字或比例的形式进行设置,本申请对筛选数目的设置大小和设置方式不进行具体限定。
在本申请实施例中,目标区块链节点在接收到平台区块链节点广播的网络参数之后,需要对网络参数进行数据识别,进而获取初始训练模型以及损失函数,其中,初始训练模型和损失函数可以由相关工作人员依据实际应用场景进行预设,本申请对初始训练模型和损失函数的内容不进行具体限定。
具体地,响应于接收到平台区块链广播的数据传输指令,调用数据接收接口,接收平台区块链广播的网络参数,对网络参数进行数据识别,得到初始训练模型和损失函数的第一哈希值和第二哈希值。随后,基于哈希映射算法,分别查询第一哈希值和第二哈希值对应的第一原值和第二原值,将第一原值作为初始训练模型,将第二原值作为损失函数。
202、基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。
在本申请实施例中,目标区块链节点将本地训练数据输入至初始训练模型进行模型训练,需要说明的是,训练的过程就是基于梯度下降算法计算每个本地训练数据的损失,得到最优的模型参数,在模型参数达到最优的时候得到本地训练模型。
具体地,在本地数据库中读取多个本地训练数据,将多个本地训练数据输入至初始训练模型,基于梯度下降算法计算多个本地训练数据中每个本地训练数据与损失函数的乘积,将所述乘机作为样本损失,得到多个本地训练数据的多个样本损失。随后,计算多个样本损失的平均值,当多个样本损失的平均值小于预设损失阈值时,将平均值依据所述梯度运算的反方向对所述初始训练模型的模型参数进行更新,得到本地训练模型。计算样本损失的平均值的具体过程可以基于下述公式1实现:
其中,Fi(w)为损失函数;Di是目标区块链节点的本地训练数据。
通过上述步骤目标区块链节点利用本地训练数据,在损失函数梯度的反方向上进行优化以逼近最优解,得到样本损失的平均值最小时的模型参数w,并利用模型参数w对初始训练模型的模型参数进行更新得到本地训练模型。
203、为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送至指定区块链节点。
在本申请实施例中,考虑到学习的模型可能包含敏感信息,为了保护原始数据不被恶意的参与者推断出,该方法使用拉普拉斯机制来对本地训练模型加入噪声,得到局部模型,将局部模型发送至指定区块链节点中。
需要说明的是,指定区块链节点为目标区块链节点基于分布式哈希表随机选取的区块链节点。具体地,读取分布式哈希表,对分布式哈希表中存储的数据检索信息进行编号,随后,在分布式哈希表中提取目标编号对应的目标数据检索信息,将目标数据检索信息对应的区块链节点作为所述指定区块链节点,其中,目标编号的取值为任意数值,本申请对目标编号的取值方式不进行具体限定。最后,将局部模型发送至所述指定区块链节点。
通过在本地训练模型中添加拉普拉斯噪声,为生成的存证模型供了满足差分隐私机制的隐私保证,并且采用随机部分更新机制来代替传统的集中式更新,在目标区块链节点中生成更新节点选取日志,用以记录选取的指定区块链节点,使得各目标区块链节点在训练过程中的训练日志得以溯源,有效防止恶意电商平台有意破坏模型优化过程,降低隐私泄露风险,提升系统安全性。
204、接收其他区块链节点发送的指定局部模型,将指定局部模型与本地训练模型进行聚合运算,生成存证模型。
在本申请实施例中,参与本次模型训练的目标区块链节点为多个,每个目标区块链节点在生成局部模型之后,都会利用分布式哈希表选择指定的区块链节点进行模型更新迭代,被选中的区块链节点会接收到目标区块链节点发送的局部模型。因此,目标区块链节点会接收到其他区块链节点发送的指定局部模型,通过将接收到的全部指定局部模型进行模型聚合即可得到存证模型。
具体地,接收其他区块链节点发送的指定局部模型,依据指定局部模型查询指定局部模型对应的目标数据量作为模型权重,随后,计算模型权重与指定局部模型的乘积,将乘积与本地训练模型进行聚合,得到存证模型,将存证模型上传至所述平台区块链节点。
在实际应用过程中,目标区块链节点在生成存证模型之后会利用本地训练数据计算存证模型的模型精度,若模型精度不满足预设精度阈值,则目标区块链节点会将存证模型作为本地训练模型继续更新迭代,直至经过多次更新迭代之后,存证模型的模型精度达到预设精度阈值,停止更新,得到最终的存证模型。具体地,将多个本地训练数据输入至存证模型,得到多个样本分类结果,计算多个样本分类结果中正确分类的样本数量与本地训练数据的总数的比值,将比值作为所述存证模型的模型精度。随后,持续检测模型精度,当模型精度达到预设精度阈值时,完成存证模型的模型训练,将存证模型上传至平台区块链节点。
通过上述步骤,引入区块链网络与联邦学习相结合的训练模式,各区块链节点间通过共享本地训练模型,以迭代方式联合训练模型,不再需要传统的中心节点,可以有效降低隐私泄露风险。
本申请实施例提供的方法,首先获取平台区块链节点广播的初始训练模型和损失函数。随后,基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。接下来,为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送目标区块链节点选中参与本次模型更新的至指定区块链节点。最后,接收参与本次模型训练的区块链节点中除目标区块链节点以外的其他区块链节点发送的指定局部模型,将指定局部模型与所本地训练模型进行聚合运算,生成存证模型,将存证模型上传至所述平台区块链节点。各个区块链节点分别利用本地训练数据进行模型训练,并为训练完成的本地训练模型添加拉普拉斯噪声以得到局部模型,有效提供满足差分隐私机制的隐私保证,并采用随机选择区块链节点进行模型更新的方式,协同训练存证模型,降低针对更新的差分攻击,提升系统安全性。
进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种基于区块链的数据存证装置,如图3A所示,所述装置包括:获取模块301、运算模块302、传输模块303、聚合模块304。
该获取模块301,用于获取初始训练模型和损失函数,所述初始训练模型和损失函数由所述目标区块链节点对平台区块链节点广播的网络参数进行识别得到;
该运算模块302,用于基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;
该传输模块303,用于为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点,所述指定区块链节点为所述目标区块链节点选中参与本次模型更新的区块链节点;
该聚合模块304,用于接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点,所述其他区块链节点为参与本次模型训练的区块链节点中除所述目标区块链节点以外的区块链节点。
在具体的应用场景中,该获取模块301,用于响应于接收到所述平台区块链广播的数据传输指令,调用数据接收接口,接收所述平台区块链广播的所述网络参数,对所述网络参数进行数据识别,得到所述初始训练模型和所述损失函数的第一哈希值和第二哈希值;基于哈希映射算法,分别查询所述第一哈希值和所述第二哈希值对应的第一原值和第二原值,将所述第一原值作为所述初始训练模型,将所述第二原值作为所述损失函数。
在具体的应用场景中,该运算模块302,用于读取所述多个本地训练数据,将所述多个本地训练数据输入至所述初始训练模型,基于所述梯度下降算法计算所述多个本地训练数据中每个本地训练数据与所述损失函数的乘积,将所述乘机作为样本损失,得到多个本地训练数据的多个样本损失;计算所述多个样本损失的平均值,当所述多个样本损失的平均值小于预设损失阈值时,将所述平均值依据所述梯度运算的反方向对所述初始训练模型的模型参数进行更新,得到本地训练模型。
在具体的应用场景中,该传输模块303,用于读取分布式哈希表,对所述分布式哈希表中存储的数据检索信息进行编号;在所述分布式哈希表中提取目标编号对应的目标数据检索信息,将所述目标数据检索信息对应的区块链节点作为所述指定区块链节点,所述目标编号的取值为任意数值;将所述局部模型发送至所述指定区块链节点。
在具体的应用场景中,该聚合模块304,用于接收所述其他区块链节点发送的所述指定局部模型,依据所述指定局部模型查询所述指定局部模型对应的目标数据量作为模型权重;计算所述模型权重与所述指定局部模型的乘积,将所述乘积与所述本地训练模型进行聚合,得到所述存证模型,将所述存证模型上传至所述平台区块链节点。
在具体的应用场景中,如图3B所示,所述装置还包括:计算模块305、检测模块306。
该计算模块305,用于将所述多个本地训练数据输入至所述存证模型,得到多个样本分类结果,计算所述多个样本分类结果中正确分类的样本数量与所述本地训练数据的总数的比值,将所述比值作为所述存证模型的模型精度;
该检测模块306,用于持续检测所述模型精度,当所述模型精度达到预设精度阈值时,完成所述存证模型的模型训练,将所述存证模型上传至区块链网络。
本申请实施例提供的装置,首先获取平台区块链节点广播的初始训练模型和损失函数。随后,基于梯度下降算法,采用损失函数对多个本地训练数据进行梯度运算,利用运算结果对初始训练模型的模型参数进行更新,得到本地训练模型。接下来,为本地训练模型添加拉普拉斯噪声,得到局部模型,将局部模型发送目标区块链节点选中参与本次模型更新的至指定区块链节点。最后,接收参与本次模型训练的区块链节点中除目标区块链节点以外的其他区块链节点发送的指定局部模型,将指定局部模型与所本地训练模型进行聚合运算,生成存证模型,将存证模型上传至所述平台区块链节点。各个区块链节点分别利用本地训练数据进行模型训练,并为训练完成的本地训练模型添加拉普拉斯噪声以得到局部模型,有效提供满足差分隐私机制的隐私保证,并采用随机选择区块链节点进行模型更新的方式,协同训练存证模型,降低针对更新的差分攻击,提升系统安全性。
需要说明的是,本申请实施例提供的一种基于区块链的数据存证装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于区块链的数据存证方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的数据存证方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于区块链的数据存证方法,其特征在于,所述方法应用于参与本次模型训练的目标区块链节点,所述方法包括:
获取初始训练模型和损失函数,所述初始训练模型和损失函数由所述目标区块链节点对平台区块链节点广播的网络参数进行识别得到;
基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;
为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点,所述指定区块链节点为所述目标区块链节点选中参与本次模型更新的区块链节点;
接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点,所述其他区块链节点为参与本次模型训练的区块链节点中除所述目标区块链节点以外的区块链节点。
2.根据权利要求1所述的方法,其特征在于,所述获取初始训练模型和损失函数,包括:
响应于接收到所述平台区块链广播的数据传输指令,调用数据接收接口,接收所述平台区块链广播的所述网络参数,对所述网络参数进行数据识别,得到所述初始训练模型和所述损失函数的第一哈希值和第二哈希值;
基于哈希映射算法,分别查询所述第一哈希值和所述第二哈希值对应的第一原值和第二原值,将所述第一原值作为所述初始训练模型,将所述第二原值作为所述损失函数。
3.根据权利要求1所述的方法,其特征在于,所述基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型,包括:
读取所述多个本地训练数据,将所述多个本地训练数据输入至所述初始训练模型,基于所述梯度下降算法计算所述多个本地训练数据中每个本地训练数据与所述损失函数的乘积,将所述乘机作为样本损失,得到多个本地训练数据的多个样本损失;
计算所述多个样本损失的平均值,当所述多个样本损失的平均值小于预设损失阈值时,将所述平均值依据所述梯度运算的反方向对所述初始训练模型的模型参数进行更新,得到本地训练模型。
4.根据权利要求1所述的方法,其特征在于,所述将所述局部模型发送至指定区块链节点,包括:
读取分布式哈希表,对所述分布式哈希表中存储的数据检索信息进行编号;
在所述分布式哈希表中提取目标编号对应的目标数据检索信息,将所述目标数据检索信息对应的区块链节点作为所述指定区块链节点,所述目标编号的取值为任意数值;
将所述局部模型发送至所述指定区块链节点。
5.根据权利要求1所述的方法,其特征在于,所述接收参与本次模型训练的区块链节点中除所述目标区块链节点以外的其他区块链节点发送的指定局部模型,将所述指定局部模型与所述本地训练模型进行聚合运算,生成存证模型,将所述存证模型上传至所述平台区块链节点,包括:
接收所述其他区块链节点发送的所述指定局部模型,依据所述指定局部模型查询所述指定局部模型对应的目标数据量作为模型权重;
计算所述模型权重与所述指定局部模型的乘积,将所述乘积与所述本地训练模型进行聚合,得到所述存证模型,将所述存证模型上传至所述平台区块链节点。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述多个本地训练数据输入至所述存证模型,得到多个样本分类结果,计算所述多个样本分类结果中正确分类的样本数量与所述本地训练数据的总数的比值,将所述比值作为所述存证模型的模型精度;
持续检测所述模型精度,当所述模型精度达到预设精度阈值时,完成所述存证模型的模型训练,将所述存证模型上传至区块链网络。
7.一种基于区块链的数据存证装置,其特征在于,所述装置应用于参与本次模型训练的目标区块链节点,所述装置包括:
获取模块,用于获取初始训练模型和损失函数,所述初始训练模型和损失函数由所述目标区块链节点对平台区块链节点广播的网络参数进行识别得到;
运算模块,用于基于梯度下降算法,采用所述损失函数对多个本地训练数据进行梯度运算,利用运算结果对所述初始训练模型的模型参数进行更新,得到本地训练模型;
传输模块,用于为所述本地训练模型添加拉普拉斯噪声,得到局部模型,将所述局部模型发送至指定区块链节点,所述指定区块链节点为所述目标区块链节点选中参与本次模型更新的区块链节点;
聚合模块,用于接收其他区块链节点发送的指定局部模型,将所述指定局部模型和所述本地训练模型进行模型聚合,得到存证模型并将所述存证模型上传至所述平台区块链节点,所述其他区块链节点为参与本次模型训练的区块链节点中除所述目标区块链节点以外的区块链节点。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,用于响应于接收到所述平台区块链广播的数据传输指令,调用数据接收接口,接收所述平台区块链广播的所述网络参数,对所述网络参数进行数据识别,得到所述初始训练模型和所述损失函数的第一哈希值和第二哈希值;基于哈希映射算法,分别查询所述第一哈希值和所述第二哈希值对应的第一原值和第二原值,将所述第一原值作为所述初始训练模型,将所述第二原值作为所述损失函数。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494285.5A CN114417394A (zh) | 2021-12-08 | 2021-12-08 | 基于区块链的数据存证方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494285.5A CN114417394A (zh) | 2021-12-08 | 2021-12-08 | 基于区块链的数据存证方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114417394A true CN114417394A (zh) | 2022-04-29 |
Family
ID=81265817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111494285.5A Pending CN114417394A (zh) | 2021-12-08 | 2021-12-08 | 基于区块链的数据存证方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417394A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117955732A (zh) * | 2024-03-18 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 数据处理方法和相关装置 |
-
2021
- 2021-12-08 CN CN202111494285.5A patent/CN114417394A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117955732A (zh) * | 2024-03-18 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 数据处理方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113065610B (zh) | 基于联邦学习的孤立森林模型构建和预测方法和装置 | |
US10878579B2 (en) | Systems and methods for determining optical flow | |
CN112348204B (zh) | 一种基于联邦学习和区块链技术的边缘计算框架下海洋物联网数据安全共享方法 | |
CN106682906B (zh) | 一种风险识别、业务处理方法和设备 | |
CN111401700B (zh) | 一种数据分析方法、装置、计算机系统及可读存储介质 | |
CN114331829A (zh) | 一种对抗样本生成方法、装置、设备以及可读存储介质 | |
CN111325417A (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN105391594A (zh) | 识别特征账号的方法及装置 | |
CN110889759A (zh) | 信用数据的确定方法、装置及存储介质 | |
CN110874638B (zh) | 面向行为分析的元知识联邦方法、装置、电子设备及系统 | |
CN114021188A (zh) | 一种联邦学习协议交互安全验证方法、装置及电子设备 | |
CN114417394A (zh) | 基于区块链的数据存证方法、装置、设备及可读存储介质 | |
CN115296984A (zh) | 异常网络节点的检测方法及装置、设备、存储介质 | |
CN113689270B (zh) | 黑产设备的确定方法、电子设备、存储介质及程序产品 | |
CN113850669A (zh) | 用户分群方法、装置、计算机设备及计算机可读存储介质 | |
Liu et al. | A dynamic group grey target decision approach with group negotiation and Orness measure constraint | |
Pai et al. | Achieving safe deep reinforcement learning via environment comprehension mechanism | |
CN114363002B (zh) | 一种网络攻击关系图的生成方法及装置 | |
CN111260219A (zh) | 资产类别识别方法、装置、设备及计算机可读存储介质 | |
CN116050557A (zh) | 电力负荷预测方法、装置、计算机设备和介质 | |
CN114581086A (zh) | 基于动态时序网络的钓鱼账户检测方法及系统 | |
CN113657611A (zh) | 联合更新模型的方法及装置 | |
CN110738563A (zh) | 识别目标企业对应的最终受益人的方法及装置 | |
US20240112017A1 (en) | Systems and methods for adjusting data processing components for non-operational targets | |
CN111797126B (zh) | 数据的处理方法、装置及设备 |
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 |