CN113779623B - 一种基于区块链的热数据融合方法 - Google Patents

一种基于区块链的热数据融合方法 Download PDF

Info

Publication number
CN113779623B
CN113779623B CN202110997259.8A CN202110997259A CN113779623B CN 113779623 B CN113779623 B CN 113779623B CN 202110997259 A CN202110997259 A CN 202110997259A CN 113779623 B CN113779623 B CN 113779623B
Authority
CN
China
Prior art keywords
data
node
copy
reserved
calculation formula
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
Application number
CN202110997259.8A
Other languages
English (en)
Other versions
CN113779623A (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.)
Zhejiang Shuqin Technology Co Ltd
Original Assignee
Zhejiang Shuqin Technology Co Ltd
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 Zhejiang Shuqin Technology Co Ltd filed Critical Zhejiang Shuqin Technology Co Ltd
Priority to CN202110997259.8A priority Critical patent/CN113779623B/zh
Publication of CN113779623A publication Critical patent/CN113779623A/zh
Application granted granted Critical
Publication of CN113779623B publication Critical patent/CN113779623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术领域,具体涉及一种基于区块链的热数据融合方法,包括以下步骤:数据源方为数据行分配行编号;将字段结构、外部主键字段标识和行编号公开;建立替代数表;为数据行建立若干个副本,将字段取值拆分为若干个加数;数据源方建立保留节点;建立若干个数据存储节点;将变化量叠加到保留副本中;建立模型节点,分配模型编号;数据需求方将行编号提交给模型节点;模型节点将行编号发送给保留节点,若干个数据存储节点和保留节点建立安全多方计算,获得数据行输入数据处理模型的模型结果;将模型结果发送给数据需求方。本发明的实质性效果是:实现热数据的融合,解决数据异构问题,保护了数据的隐私性。

Description

一种基于区块链的热数据融合方法
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的热数据融合方法。
背景技术
随着信息技术的发展,以智能制造、人工智能为代表的新技术正开启全新变革,引领全球经济发展。而无论是智能制造还是人工智能都离不开数据分析,大数据时代已经到来。人工智能的核心是数据,离开数据的支撑人工智能将难以实现复杂的功能。然而,目前人工智能需要的数据分散在不同的企业和部门系统中。出于隐私保护需要、竞争关系等等原因,导致目前的数据难以进行分享和融合,形成了一个个的数据孤岛。这严重限制了人工智能技术的发展。因而有必要研制一种数据分享的机制,在确保数据隐私的前提下,实现数据的分享和流通。促进人工智能技术的发展。热数据指存在于用户系统中,业务尚未完结或者可能存在更新,需要被访问和更新的数据。而冷数据指已完成的业务存档数据,无更新需求。冷数据通常适合离线的分析,比如机器学习中的模型训练或者大数据分析。但机器学习训练完成后,则需要最新的业务数据代入,才能知道业务的开展。然而出于系统安全、数据隐私等因素,目前热数据的分享和融合还缺乏能够满足需求的方案。
如中国专利CN111010430A,公开日2020年4月14日,一种基于双链结构的云计算安全数据共享方法,包括以下步骤:采用私有区块链加公有区块链的联合查询架构,应用区块链和数据加密技术对云平台数据进行保护,通过加密体系保证数据的所有权都控制在数据拥有方,并通过区块链智能合约在业务处理时只返回业务结果,在数据分享时,数据请求方通过检索公有区块链数据得到数据提供方的原数据,数据拥有方根据授权证书向请求方提交数据。其技术方案采用双链结构,通过加密体系保证数据真实不可篡改,有效的保障业务处理时平台数据的隐私性和安全性。但其技术方案不适合多个数据源之间分享融合数据的需求。
发明内容
本发明要解决的技术问题是:目前缺乏确保数据隐私的热数据共享的技术方案的问题。提出了一种基于区块链的热数据融合方法,能够在保护数据隐私的情况下,提供数据的融合和共享。
为解决上述技术问题,本发明所采取的技术方案为:一种基于区块链的热数据融合方法,包括以下步骤:数据源方为数据行分配行编号,提取数据行的字段结构,生成数据行的外部主键字段标识;将字段结构、外部主键字段标识和行编号公开;建立替代数表,将非数值型字段转换为数值型字段;为数据行建立若干个副本,将字段取值拆分为若干个加数,若干个加数分配给若干个副本存储;数据源方建立保留节点,保留节点保留一个副本作为保留副本;建立若干个数据存储节点,其余副本分配给若干个数据存储节点;若数据行发生更新,所述保留节点计算变化量,将变化量叠加到保留副本中;建立模型节点,接收数据需求方提交的数据处理模型,分配模型编号;数据需求方根据外部主键字段标识获得匹配的行编号,将行编号提交给模型节点;所述模型节点将行编号发送给保留节点,若干个数据存储节点和保留节点建立安全多方计算,获得数据行输入数据处理模型的模型结果;将模型结果发送给数据需求方。
作为优选,副本的字段组成构成字段结构,所述数据存储节点为每个字段结构开辟存储区,在存储区内开辟若干个存储块,所述存储块大小与副本最大占用空间匹配,所述存储节点将副本关联行编号存储在所述存储块内,当存储区内的存储块内存满时,所述数据存储节点为副本的列结构开辟新的存储区和存储块。
作为优选,所述数据存储节点为每个存储区建立有交换表,所述交换表记录若干个交换对,所述交换对记录两个二进制序列;将副本存入后,以二进制形式检查数据行与上一个存储块内存储的数据行是否存在对齐的交换对;若存在,则将交换对所在的字段进行交换;建立安全多方计算时,所述数据存储节点根据行编号找到存储块,向后检查是否存在对齐的交换对;若存在则以后一个存储块为基准,再次向后检查是否存在对齐的交换对,且仅检查存在交换对的字段位置是否存在对齐的交换对;直到找到检查位置无对齐交换对或者到达存储区最后一个存储块;将被检查出存在对齐交换对的全部存储块制作一个副本;从最后一个存储块开始,依次复原对齐交换对所在字段;将行编号对应的副本的上一个存储块的内容添加到副本中;以复原的副本中为准,向上检查与上一个存储块是否存在对齐的交换对;若存在,则在副本中将对应字段进行交换,交换后即获得副本,使用副本进行安全多方计算。
作为优选,所述保留节点构建安全多方计算前,对数据处理模型执行以下步骤:提取数据处理模型中的加权求和计算式;将加权求和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给所述保留节点;所述保留节点将保留副本中保存的加数代入加权求和计算式,得出保留和,将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入加权求和计算式的结果;将加权求和计算式的结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
作为优选,所述保留节点计算数值型字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;将数值型字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;所述保留节点构建安全多方计算前,对数据处理模型执行以下步骤:提取以真实值为输入的能够进行泰勒展开的一元计算式,将所述的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;将加权和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给所述保留节点;所述保留节点将保留副本中保存的1次方至N次方加数代入加权和计算式,得出保留和,将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入一元计算式的近似结果;将一元计算式的近似结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
作为优选,所述保留节点对所述一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解所述一元计算式,若误差未超过预设百分比,则保留所述近似结果;所述保留节点执行以下步骤进行误差的判断:所述保留节点根据近似结果和一元计算式,反求出近似真实值;将近似真实值乘以系数k,k=1+△,△为预设百分比,将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果,若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
作为优选,所述保留节点运行有隐私安全检查模块,所述隐私安全检查模块列举所述数据处理模型的输出,列举每个输出涉及的输入字段,将输出及涉及的输入字段作为子模型,若存在子模型仅包含一个输入字段,则隐私安全检查不通过,所述保留节点拒绝数据调用请求,并通知所述模型节点撤销所述数据调用请求。
作为优选,数据源方与数据需求方约定盐,所述保留节点将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。
作为优选,所述模型节点建立加盐哈希值API,接收数据源方和数据需求方提交的数值,返回数值加盐后提取的哈希值。
本发明的实质性效果是:1)通过保留副本同步数据的变化,使热数据更新后的值能够被代入数据处理模型,实现热数据的融合;2)通过数据处理模型适应多个数据源的数据,针对不同数据结构制定对应的数据处理模型,解决数据异构问题;3)在数据需求方在使用数据时,不需要直接获得数据,保护了数据的隐私性。
附图说明
图1为实施例一热数据融合方法流程示意图。
图2为实施例一字段结构示意图。
图3为实施例一数据存储节点存储示意图。
图4为实施例一数据处理模型执行示意图。
图5为实施例二数据处理模型执行示意图。
图6为实施例二误差判定流程示意图。
其中:10、字段结构,21、行编号,31、存储区,32、交换表,33、存储块,34、交换对。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种基于区块链的热数据融合方法,请参阅附图1,本实施例包括以下步骤:
步骤A01)数据源方为数据行分配行编号21,提取数据行的字段结构10,生成数据行的外部主键字段标识;
步骤A02)将字段结构10、外部主键字段标识和行编号21公开;外部主键字段为根据用户手机号码或者身份证号码,提取外部主键字段的哈希值获得外部主键字段标识;
步骤A03)建立替代数表,将非数值型字段转换为数值型字段;
步骤A04)为数据行建立若干个副本,将字段取值拆分为若干个加数,若干个加数分配给若干个副本存储;
步骤A05)数据源方建立保留节点,保留节点保留一个副本作为保留副本;
步骤A06)建立若干个数据存储节点,其余副本分配给若干个数据存储节点;
步骤A07)若数据行发生更新,保留节点计算变化量,将变化量叠加到保留副本中;
步骤A08)建立模型节点,接收数据需求方提交的数据处理模型,分配模型编号;
步骤A09)数据需求方根据外部主键字段标识获得匹配的行编号21,将行编号21提交给模型节点;
步骤A10)模型节点将行编号21发送给保留节点,若干个数据存储节点和保留节点建立安全多方计算,获得数据行输入数据处理模型的模型结果;
步骤A11)将模型结果发送给数据需求方。如表1所示,为本实施例使用的替代数表,将学历这种标签字段替换为替换数后,能够使用计算式处理非数值型字段。对于类似备注这类没有明确取值范围的非数值型字段,本身难以被机器学习识别,因而本实施例舍弃这类字段,不予考虑。
表1 本实施例使用的替代数表
学历 替代数
高中及以下 1
专科 2
本科 3
硕士研究生 4
博士研究生 5
如,针对本科及以上与专科及以下的不同学历,进行的不同处理,就可以判断替代数是否大于2,若大于2则执行针对本科及以上学历进行的数值计算。若不大于2,则执行针对专科及以下学历进行的数值。当机器学习模型为神经网络模型时,通过大量数据进行训练,能够实现神经网络模型识别学历,并进行对应计算和输出的功能。
副本的字段组成构成字段结构10,字段结构10请参阅附图2,数据存储节点为每个字段结构10开辟存储区31,在存储区31内开辟若干个存储块33,存储块33大小与副本最大占用空间匹配,存储节点将副本关联行编号21存储在存储块33内,当存储区31内的存储块33内存满时,数据存储节点为副本的列结构开辟新的存储区31和存储块33。
请参阅附图3,数据存储节点为每个存储区31建立有交换表32,交换表32记录若干个交换对34,交换对34记录两个二进制序列;将副本存入后,以二进制形式检查数据行与上一个存储块33内存储的数据行是否存在对齐的交换对34;若存在,则将交换对34所在的字段进行交换;建立安全多方计算时,数据存储节点根据行编号21找到存储块33,向后检查是否存在对齐的交换对34;若存在则以后一个存储块33为基准,再次向后检查是否存在对齐的交换对34,且仅检查存在交换对34的字段位置是否存在对齐的交换对34;直到找到检查位置无对齐交换对34或者到达存储区31最后一个存储块33;将被检查出存在对齐交换对34的全部存储块33制作一个副本;从最后一个存储块33开始,依次复原对齐交换对34所在字段;将行编号21对应的副本的上一个存储块33的内容添加到副本中;以复原的副本中为准,向上检查与上一个存储块33是否存在对齐的交换对34;若存在,则在副本中将对应字段进行交换,交换后即获得副本,使用副本进行安全多方计算。若副本与上一个副本存在对齐的交换对34,则相应的字段进行交换,下一个数据行被存入时,若仍然出现了对其的交换对34,则字段被再次交换。交换对34为规定具有关联交换关系的两个随机二进制串。如表2 所示,编号为9AD的存储区31中,“10001010”与“10100110”构成一个交换对34。二进制串的长度根据数据行中字段值的平均二进制长度确定,使字段具有适当的概率找到对齐的交换对34。
表2 本实施例建立的交换表32
存储区31编号 交换对34 交换对34
9AD 10001010 10100110
9AD 10101100 10111010
9AD 00011010 10101010
保留节点构建安全多方计算前,对数据处理模型执行以下步骤,请参阅附图4,包括:
步骤B01)提取数据处理模型中的加权求和计算式;
步骤B02)将加权求和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本;
步骤B03)将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给保留节点;
步骤B04)保留节点将保留副本中保存的加数代入加权求和计算式,得出保留和;
步骤B05)将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入加权求和计算式的结果;
步骤B06)将加权求和计算式的结果代入数据处理模型;
步骤B07)对非加权求和的计算式,构建安全多方计算求解。
如在一个神经网络模型中,输入层有三个神经元,分别对应消费者年龄、月均消费金额和月均消费频次,第一层神经元有两个,其中一个连接输入层的三个神经元,激发函数为sigmod函数,权系数以a11、a12和a13表示,偏移量以b1表示,则其输出等于sigmod(x),其中第一层神经元为全连接,则x= a11*消费者年龄+ a12*月均消费金额+ a13*月均消费频次+b1,即为步骤B01)需要提取的加权求和计算式。
金融机构产生的金融数据具体为:消费者年龄33,月均消费金额1万,月均消费频次16次。
本实施例中数据存储节点有3个,则需要生成4个副本。其中为消费者年龄生成4个加数分别为:33=-12+13+14+18,4个副本分配到的数值分别为:-12、13、14、18。月均消费金额1万生成4个加数,分别由3个数据存储节点和保留节点保存:10,000.00=1,000.00+1,000.00+3,000.00+5,000.00,4个副本分配到的数值分别为:1,000.00、1,000.00、3,000.00、5,000.00。为月均消费频次16生成加数为:16=1+3+5+7,4个副本分配到的数值分别为:1、3、5、7。
打乱顺序分配给3个数据存储节点和保留节点后,假设第一个数据存储节点存储的数据为:-12, 1,000.00,1,则第一个数据存储节点计算的和为:a11*-12+ a12*1,000.00+ a13*1,以此类推,全部3个数据存储节点发送的和,与保留节点所得和,再求和,所得结果为:a11*(-12+13+14+18)+ a12*(1,000.00+1,000.00+3,000.00+5,000.00)+ a13*(1+3+5+7)。即为:a11*33+a12*10,000.00+a13*16,恰好等于原始的真实值直接代入加权求和计算式的结果。再加上偏移值b1,即获得x的值,代入sigmod(x)函数即得到神经元的输出。在计算过程中,原始的真实值混杂在多个混淆值和加数中,从而得以隐藏,难以被准确发现,提高了数据的隐私性和安全性。
当数据处理模型调用最新的数据行时,数据行可能发生了更新。如月均消费金额由1万增加到月均消费金额1.2万。增加了0.2万,则只需要在保留副本上,对应的月均消费金额增加0.2万即可。即保留副本保存的值5,000.00,更改为7,000.00,最终计算的结果将等于最新的数据计算的结果。使得热数据能够被用于数据共享和融合。
本实施例的有益技术效果为:通过保留副本同步数据的变化,使热数据更新后的值能够被代入数据处理模型,实现热数据的融合。通过数据处理模型适应多个数据源的数据,针对不同数据结构制定对应的数据处理模型,解决数据异构问题。在数据需求方在使用数据时,不需要直接获得数据,保护了数据的隐私性。
实施例二:
一种基于区块链的热数据融合方法,本实施例在实施例一的基础上,对数据处理模型的执行,提出了进一步的改进。请参阅附图5,包括:
步骤C01)保留节点计算数值型字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;
步骤C02)将数值型字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;保留节点构建安全多方计算前,对数据处理模型执行以下步骤:
步骤C03)提取以真实值为输入的能够进行泰勒展开的一元计算式,将的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;
步骤C04)将加权和计算式发送给若干个数据存储节点;
步骤C05)数据存储节点调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给保留节点;
步骤C06)保留节点将保留副本中保存的1次方至N次方加数代入加权和计算式,得出保留和;
步骤C07)将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入一元计算式的近似结果;
步骤C08)将一元计算式的近似结果代入数据处理模型;
步骤C09)对非加权求和的计算式,构建安全多方计算求解。
泰勒展开是将函数展开为自变量0次方至N次方的加权和的级数形式。当N足够大时,使用泰勒展开计算所得结果与真实结果之间的误差将足够小。如函数exp(x)的泰勒展开就是x的0次方至N次方的加权和。其中,exp(x)函数的泰勒展开中x的0次方至N次方的系数分别为:1,1,1/2!,1/3!,…,1/N!。泰勒展开式中N为无穷大,当允许一定的误差时,使用较大的N值即可。由于增加N的值,需要付出的代价为增加了存储空间的开销,对数据的计算主要为乘法和加法,且计算复杂度为线性复杂度,对计算效率的影响不大。因而本方案能够以极低的成本,增加计算的准确度。如将N的取值从10增加到20,在增加了一个数量级的情况下,也仅是增加了少量存储空间的开销,增加了2*20次计算,一次拆分加数和一次计算加权和,成本仅增加了不到一个数量级。计算精度以最后一项进行估计,则精度提升为20!除以10!,结果为:6.7xe11。对于同样的自变量而言,使用泰勒展开级数进行近似计算的精度几乎提高了12个数量级。
保留节点对一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解一元计算式,若误差未超过预设百分比,则保留近似结果;请参阅附图6,保留节点执行以下步骤进行误差的判断:步骤D01)保留节点根据近似结果和一元计算式,反求出近似真实值;步骤D02)将近似真实值乘以系数k,k=1+△,△为预设百分比;步骤D03)将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果;步骤D04)若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
使用泰勒展开式计算近似值的误差,取决与自变量本身的值。若自变量本身取值为3,则计算到第10项为:pow(3,10)/10!=0.016,与前三项的和8.5相比,仅占比0.19%,已经是可以接受的精度。若自变量取值为10,则第10项的值为2755,显著大于前三项的和。自变量的值越大,则精度越差。因而具体N取值的确定时,根据数值型字段的取值范围中的上限值,针对上限值制定满足精度要求的N的值,即可确保计算精度满足要求。
保留节点运行有隐私安全检查模块,隐私安全检查模块列举数据处理模型的输出,列举每个输出涉及的输入字段,将输出及涉及的输入字段作为子模型,若存在子模型仅包含一个输入字段,则隐私安全检查不通过,保留节点拒绝数据调用请求,并通知模型节点撤销数据调用请求。
数据源方与数据需求方约定盐,保留节点将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。模型节点建立加盐哈希值API,接收数据源方和数据需求方提交的数值,返回数值加盐后提取的哈希值。如根据储户的身份证号码,在不同银行的数据上,查找同一个身份证号码相关的存款、消费和贷款数据。如银行乙根据其贷款请求者的身份证号码,到银行甲的数据中,查询同身份证号码名下账户的存款情况。但公开外部主键不能直接公开原始值,而应该加盐并提取加盐后的哈希值。
在用作公开外部主键字段的取值时,如外部主键字段为身份证号码、手机号码,为了不直接在模型节点上公开用户的身份证号码、手机号码,导致隐私上的问题。模型节点转而公开身份证号码、手机号码的哈希值。使用哈希值同样能够用于求数据的交集。如银行甲公开的贷款数据中,记录了贷款人的手机号码,假设为18866662222,银行乙公开的存款统计数据中,记录了同一居民的手机号码18866662222。则银行甲公开SHA256(18866662222)=57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F,同样的银行乙的公开时,也对手机号码18866662222计算SHA256,获得同样的结果。二者对比就可以将两个数据行关联起来。如贷款机构丙为其用户授信时,为同一居民授信,手机号码也为18866662222,既可以使用居民的身份证号码查询该居民在其他银行的业务数据,也可以使用手机号码来查询。贷款机构丙提取手机号码的18866662222的哈希值,从模型节点公开的手机号码哈希值中,能够查到哈希值相同的两条记录,分别为银行甲的贷款数据和银行乙的存款数据。
散列值虽然不能直接反向计算出原始的手机号码,但仍然存在风险。即存在通过撞车攻击得出原始的身份证号码或手机号码的风险。即,在已知手机号码哈希值57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F的情况下,穷举已被电信运营商出售的号段的全部手机号码,使用SHA256提取哈希值对比。则在一定的时间内,是能够穷举到一个手机号码,其哈希值正好等于57A4AC1BBC03679EF2EEB5DA678095746FFC6A055DFB25C4538BCABEEC988E9F,也就获得了原始的手机号码。对于身份证号码而言,前6位为地区编码,中间8位为出生日期,都是有限取值的,因而也能够通过穷举的手段,获得原始的身份证号码明文。为此,需要采用加盐的方式进一步提高数据的安全性。加盐,在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。如约定手机号码的盐为在起始位置添加字符:PHE,在末尾添加字符:HUD,则手机号码18866662222加盐后为:PHE18866662222HUD,对PHE18866662222HUD求哈希值为:BDA2773420943B5589CC8C5A406E97A921D140753C431958C8D80B96E59506C1。由于盐是随机的,其长度和形式均不确定,因而使用穷举手段耗时将是不能接收的。从而有效保护了用户的隐私数据。同时数据源方使用同样的盐提取哈希值仍然能够方便的求解数据的交集。
为避免盐被泄露,模型节点应公开一个API,该API返回提交的数据的加盐哈希值。即将手机号码18866662222提交给API,获得返回的加盐后哈希值为:BDA2773420943B5589CC8C5A406E97A921D140753C431958C8D80B96E59506C1,使用这个哈希值寻找交集。使得数据源方不知晓盐,盐不会被泄露。
以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (6)

1.一种基于区块链的热数据融合方法,其特征在于,
包括以下步骤:
数据源方为数据行分配行编号,提取数据行的字段结构,生成数据行的外部主键字段标识;
将字段结构、外部主键字段标识和行编号公开;
建立替代数表,将非数值型字段转换为数值型字段;
为数据行建立若干个副本,将字段取值拆分为若干个加数,若干个加数分配给若干个副本存储;
数据源方建立保留节点,保留节点保留一个副本作为保留副本;
建立若干个数据存储节点,其余副本分配给若干个数据存储节点;
若数据行发生更新,所述保留节点计算变化量,将变化量叠加到保留副本中;
建立模型节点,接收数据需求方提交的数据处理模型,分配模型编号;
数据需求方根据外部主键字段标识获得匹配的行编号,将行编号提交给模型节点;
所述模型节点将行编号发送给保留节点,若干个数据存储节点和保留节点建立安全多方计算,获得数据行输入数据处理模型的模型结果;
将模型结果发送给数据需求方;
副本的字段组成构成字段结构,所述数据存储节点为每个字段结构开辟存储区,在存储区内开辟若干个存储块,所述存储块大小与副本最大占用空间匹配,所述数据存储节点将副本关联行编号存储在所述存储块内,当存储区内的存储块内存满时,所述数据存储节点为副本的列结构开辟新的存储区和存储块;
所述数据存储节点为每个存储区建立有交换表,所述交换表记录若干个交换对,所述交换对记录两个二进制序列;
将副本存入后,以二进制形式检查数据行与上一个存储块内存储的数据行是否存在对齐的交换对;
若存在,则将交换对所在的字段进行交换;
建立安全多方计算时,所述数据存储节点根据行编号找到存储块,向后检查是否存在对齐的交换对;
若存在则以后一个存储块为基准,再次向后检查是否存在对齐的交换对,且仅检查存在交换对的字段位置是否存在对齐的交换对;
直到找到检查位置无对齐交换对或者到达存储区最后一个存储块;
将被检查出存在对齐交换对的全部存储块制作一个副本;
从最后一个存储块开始,依次复原对齐交换对所在字段;
将行编号对应的副本的上一个存储块的内容添加到副本中;
以复原的副本中为准,向上检查与上一个存储块是否存在对齐的交换对;
若存在,则在副本中将对应字段进行交换,交换后即获得副本,使用副本进行安全多方计算;
所述保留节点构建安全多方计算前,对数据处理模型执行以下步骤:
提取数据处理模型中的加权求和计算式;
将加权求和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的加数代入加权求和计算式,得出中间和,将中间和发送给所述保留节点;
所述保留节点将保留副本中保存的加数代入加权求和计算式,得出保留和,将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入加权求和计算式的结果;
将加权求和计算式的结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
2.根据权利要求1所述的一种基于区块链的热数据融合方法,其特征在于,
所述保留节点计算数值型字段真实值和2次方至N次方的值,在副本中为每个数值型字段新建2次方至N次方列;
将数值型字段真实值的1次方至N次方值分别拆分成若干个加数,并分别分配给保留副本和其余副本存储;
所述保留节点构建安全多方计算前,对数据处理模型执行以下步骤:
提取以真实值为输入的能够进行泰勒展开的一元计算式,将所述的一元计算式展开为泰勒展开式,泰勒展开式为真实值的1次方至N次方值的加权和计算式;
将加权和计算式发送给若干个数据存储节点,数据存储节点调取对应的副本,将副本中保存的1次方至N次方加数代入加权和计算式,得出中间和,将中间和发送给所述保留节点;
所述保留节点将保留副本中保存的1次方至N次方加数代入加权和计算式,得出保留和,将保留和与数据存储节点发送的全部中间和相加,即获得真实值代入一元计算式的近似结果;
将一元计算式的近似结果代入数据处理模型,对非加权求和的计算式,构建安全多方计算求解。
3.根据权利要求2所述的一种基于区块链的热数据融合方法,其特征在于,
所述保留节点对所述一元计算式使用泰勒展开式计算所得近似结果的误差进行判断,若误差超过预设百分比,则丢弃近似结果,重新建立安全多方计算求解所述一元计算式,若误差未超过预设百分比,则保留所述近似结果;
所述保留节点执行以下步骤进行误差的判断:
所述保留节点根据近似结果和一元计算式,反求出近似真实值;
将近似真实值乘以系数k,k=1+△,△为预设百分比,将使用系数k修正后的近似真实值代入一元计算式,得出修正近似结果,若修正近似结果与近似结果的绝对值的差距超过预设百分比,则判定误差超过预设百分比。
4.根据权利要求2所述的一种基于区块链的热数据融合方法,其特征在于,
所述保留节点运行有隐私安全检查模块,所述隐私安全检查模块列举所述数据处理模型的输出,列举每个输出涉及的输入字段,将输出及涉及的输入字段作为子模型,若存在子模型仅包含一个输入字段,则隐私安全检查不通过,所述保留节点拒绝数据调用请求,并通知所述模型节点撤销所述数据调用请求。
5.根据权利要求1所述的一种基于区块链的热数据融合方法,其特征在于,
数据源方与数据需求方约定盐,所述保留节点将数据行的外部主键的真实值加盐后提取哈希值,作为外部主键字段标识公开。
6.根据权利要求5所述的一种基于区块链的热数据融合方法,其特征在于,
所述模型节点建立加盐哈希值API,接收数据源方和数据需求方提交的数值,返回数值加盐后提取的哈希值。
CN202110997259.8A 2021-08-27 2021-08-27 一种基于区块链的热数据融合方法 Active CN113779623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110997259.8A CN113779623B (zh) 2021-08-27 2021-08-27 一种基于区块链的热数据融合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110997259.8A CN113779623B (zh) 2021-08-27 2021-08-27 一种基于区块链的热数据融合方法

Publications (2)

Publication Number Publication Date
CN113779623A CN113779623A (zh) 2021-12-10
CN113779623B true CN113779623B (zh) 2023-08-08

Family

ID=78839715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110997259.8A Active CN113779623B (zh) 2021-08-27 2021-08-27 一种基于区块链的热数据融合方法

Country Status (1)

Country Link
CN (1) CN113779623B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096894A (zh) * 2019-05-10 2019-08-06 东北大学 一种基于区块链的数据匿名共享系统及方法
CN112434109A (zh) * 2020-11-23 2021-03-02 交通银行股份有限公司 一种基于区块链技术的数据共享及保密查询方法、系统
CN113268760A (zh) * 2021-07-19 2021-08-17 浙江数秦科技有限公司 一种基于区块链的分布式数据融合平台
CN113297625A (zh) * 2021-07-23 2021-08-24 北京笔新互联网科技有限公司 基于区块链的数据共享系统、方法和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599960B2 (en) * 2019-12-20 2023-03-07 Cambrian Designs, Inc. System and method for recommending alternative service providers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096894A (zh) * 2019-05-10 2019-08-06 东北大学 一种基于区块链的数据匿名共享系统及方法
CN112434109A (zh) * 2020-11-23 2021-03-02 交通银行股份有限公司 一种基于区块链技术的数据共享及保密查询方法、系统
CN113268760A (zh) * 2021-07-19 2021-08-17 浙江数秦科技有限公司 一种基于区块链的分布式数据融合平台
CN113297625A (zh) * 2021-07-23 2021-08-24 北京笔新互联网科技有限公司 基于区块链的数据共享系统、方法和电子设备

Also Published As

Publication number Publication date
CN113779623A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
Zhao et al. Machine learning based privacy-preserving fair data trading in big data market
Gu et al. Federated doubly stochastic kernel learning for vertically partitioned data
CN112364943B (zh) 一种基于联邦学习的联邦预测方法
Goldberg et al. Restructuring Databases for Knowledge Discovery by Consolidation and Link Formation.
CN113886867A (zh) 一种基于多源数据融合的贷款授信系统
Casino et al. An efficient blockchain-based privacy-preserving collaborative filtering architecture
CN113420335B (zh) 一种基于区块链的联邦学习系统
CN113268760B (zh) 一种基于区块链的分布式数据融合平台
CN108304726A (zh) 数据脱敏方法和装置
CN113343284B (zh) 一种基于区块链的隐私数据共享方法
US20210390093A1 (en) Blockchain-based recording and querying operations
CN112508722A (zh) 一种基于零知识证明的保单信息验证方法和装置
Mohanty et al. Predicting fluctuations in cryptocurrencies' price using users' comments and real-time prices
CN113779624A (zh) 一种基于智能合约的隐私数据分享方法
CN116955857A (zh) 数据处理方法、装置、介质及电子设备
CN113779622B (zh) 一种适用于多应用场景的安全数据融合系统
CN113033717B (zh) 一种模型生成方法、装置以及用于模型生成的装置
CN113779623B (zh) 一种基于区块链的热数据融合方法
Hsueh et al. EPoW: Solving blockchain problems economically
Chin et al. A sealed-bid auction with fund binding: Preventing maximum bidding price leakage
CN111260372B (zh) 资源转移用户群确定方法、装置、计算机设备和存储介质
Tang et al. When homomorphic cryptosystem meets differential privacy: training machine learning classifier with privacy protection
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
CN111932375A (zh) 一种区块链的设计方法
CN113377878A (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
GR01 Patent grant
GR01 Patent grant