基于同态加密与机器学习的混合区块链保护方法和系统与流程

文档序号:31708267发布日期:2022-10-01 13:01阅读:73来源:国知局
基于同态加密与机器学习的混合区块链保护方法和系统与流程

1.本技术涉及到区块链领域,特别是涉及到一种基于同态加密与机器学习的混合区块链保护方法和系统。


背景技术:

2.区块链具有去中心化、分布式存储和高透明性等特点,但在应用中也存在着缺点。例如,区块链的高透明性使得区块链中记载的数据对于所有节点均是公开的,虽然这些数据仍然难以被篡改,但保密性却无从谈起。因此,现有技术缺少提高区块链数据保密性的保护方法。


技术实现要素:

3.本技术提出一种基于同态加密与机器学习的混合区块链保护方法,包括以下步骤:
4.s1、多个第一类区块链节点,分别根据预设的数据输入方式,获取输入的原始数据和对应于原始数据的数据计算方法,并分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点;其中,所有的第一类区块链节点构成了第一区块链,第一类区块链节点中的部分节点为第二类区块链节点,第一类区块链节点中的另一部分节点为第三类区块链节点,第二类区块链节点与第三类区块链节点不重合;
5.s2、多个第二类区块链节点,分别汇集接收到的原始数据以生成第一区块,并将第一区块输入各自预先训练得到的隐私数据筛选模型中进行处理,以得到对应于各自隐私数据筛选模型输出的多个隐私数据;其中,所有的第二类区块链节点构成了第二区块链,隐私数据筛选模型基于机器学习模型,并以预先收集的文本语料作为训练数据进行训练得到,并且预先收集的文本中的隐私数据已进行人工标注处理;
6.s3、多个第二类区块链节点,进行隐私数据交互,以将多个隐私数据进行并集处理,从而得到筛选数据;
7.s4、多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据;
8.s5、多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端;
9.s6、多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;
10.s7、多个第三类区块链节点,根据接收到数据计算方法,对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;其中,所有的第三类区块链节点构成了第三区块链;
11.s8、多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于
预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
12.s9、多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
13.进一步地,所述隐私数据筛选模型基于word2vec模型或者bert模型训练而成;数据计算方法与原始数据中的数值相对应;
14.所述多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据的步骤s4,包括:
15.s401、多个第二类区块链节点判断筛选数据中是否存在数值数据;
16.s402、若筛选数据中存在数值数据,则多个第二类区块链节点判断数值数据是否与数据计算方法对应;
17.s403、若数值数据与数据计算方法对应,则多个第二类区块链节点对筛选数据进行拆分,以得到文本数据与数值数据;
18.s404、多个第二类区块链节点根据预设的密钥生成算法生成第一密钥和第二密钥;
19.s405、多个第二类区块链节点根据预设的同态加密算法,采用生成的第一密钥对文本数据进行一次同态加密处理,以得到第一密文;
20.s406、多个第二类区块链节点根据预设的同态加密算法,采用生成的第二密钥对数值数据进行二次同态加密处理,以得到第二密文;
21.s407、多个第二类区块链节点汇集第一密文与第二密文,以得到同态加密数据。
22.进一步地,所述多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据的步骤s4中的同态加密算法为gentry算法。
23.进一步地,所述多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端的步骤s5之前,包括:
24.s41、多个第二类区块链节点以预设的编程语言创建区块链类,再对区块链类实例化以生成创世区块;
25.s42、多个第二类区块链节点在创世区块后依次连接其他区块,从而形成第二区块链的数据链条,并且除创世区块之外的每个区块均记载有对前一区块进行哈希计算得到的哈希值;
26.所述多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端的步骤s5,包括:
27.s501、多个第二类区块链节点获取第二区块链的数据链条的当前末端区块,并根据预设的哈希算法,对当前末端区块进行哈希计算,以得到区块哈希值;
28.s502、多个第二类区块链节点生成记载有生成的密钥和同态加密算法和的密钥区块,并且将区块哈希值写入密钥区块的区块头中,再基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端。
29.进一步地,所述多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点的步骤s6之后,包括:
30.s61、多个第二类区块链节点,根据预设的哈希算法,对密钥区块进行哈希计算以得到密钥哈希值,再将密钥哈希值发送至每一个第三类区块链节点;
31.所述多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端的步骤s8,包括:
32.s801、多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,将密钥哈希值写入第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
33.所述多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端的步骤s8之后,包括:
34.s81、多个第三类区块链节点,根据预设的哈希算法,对第四区块进行哈希计算以得到第四哈希值,并将第四哈希值发送至每一个第一类区块链节点;
35.所述多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护的步骤s9,包括:
36.s901、多个第一类区块链节点,将第四哈希值写入第三区块中,再基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
37.本技术提供一种基于同态加密与机器学习的混合区块链保护系统,包括:
38.原始数据获取单元,用于指示多个第一类区块链节点,分别根据预设的数据输入方式,获取输入的原始数据和对应于原始数据的数据计算方法,并分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点;其中,所有的第一类区块链节点构成了第一区块链,第一类区块链节点中的部分节点为第二类区块链节点,第一类区块链节点中的另一部分节点为第三类区块链节点,第二类区块链节点与第三类区块链节点不重合;
39.第一区块生成单元,用于指示多个第二类区块链节点,分别汇集接收到的原始数据以生成第一区块,并将第一区块输入各自预先训练得到的隐私数据筛选模型中进行处理,以得到对应于各自隐私数据筛选模型输出的多个隐私数据;其中,所有的第二类区块链节点构成了第二区块链,隐私数据筛选模型基于机器学习模型,并以预先收集的文本语料作为训练数据进行训练得到,并且预先收集的文本中的隐私数据已进行人工标注处理;
40.筛选数据生成单元,用于指示多个第二类区块链节点,进行隐私数据交互,以将多个隐私数据进行并集处理,从而得到筛选数据;
41.同态加密数据生成单元,用于指示多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据;
42.密钥区块生成单元,用于指示多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端;
43.第二区块生成单元,用于指示多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;
44.第三区块生成单元,用于指示多个第三类区块链节点,根据接收到数据计算方法,对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;其中,所有的第三类区块链节点构成了第三区块链;
45.第四区块生成单元,用于指示多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
46.区块连接单元,用于指示多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
47.本技术提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
48.本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
49.本技术的基于同态加密与机器学习的混合区块链保护方法、系统、计算机设备和存储介质,获取输入的原始数据和对应于原始数据的数据计算方法;生成第一区块,得到对应于各自隐私数据筛选模型输出的多个隐私数据;得到筛选数据;进行同态加密处理,从而得到同态加密数据;生成记载密钥区块,并将密钥区块连接在第二区块链的数据链条的末端;将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;汇集接收到的数据计算方法以生成第四区块,并将第四区块连接在第三区块链的数据链条的末端;将第三区块连接在第一区块链的数据链条的末端,实现了提高区块链数据的保密性的目的。
50.其中,本技术的技术效果的实现,是必须基于混合区块链与同态加密技术才能实现的,而本技术的混合区块链是与传统的区块链具有本质区别,其被命名为混合区块链的原因在于,这种区块链包括三个层次的区块链节点,分别命名为第一类区块链节点(第一区块链)、第二类区块链节点(第一区块链)、第三类区块链节点(第三区块链)。更为具体的描述见后文。
51.本技术的特点包括:
52.本技术对于第一类区块链节点的要求不高,只需要做好第二类区块链节点与第三类区块链节点的保护即可,并且仍保证了最常见的防止数据篡改等的区块链特点,因此在维持区块链的原有优势的前提下,引入了保密性。这个优点是基于同态加密的本质特性(同态加密的先加密后计算的结果,与先计算后加密的结果相同),并结合混合区块链才能实现的。
53.通过本技术的上述方案,完整的数据需要结合三个区块链的数据链条才能实现,因此仅对于第一类区块链节点而言,不会造成隐私数据的外泄;仅对于第二类区块链节点或第三类区块链节点而言,也不会造成隐私数据的外泄。并且基于第一区块链的数据链条,也能实现传统区块链的功能。
附图说明
54.图1为本技术一实施例的基于同态加密与机器学习的混合区块链保护方法的流程示意图;
55.图2为本技术一实施例的基于同态加密与机器学习的混合区块链保护系统的结构示意框图;
56.图3为本技术一实施例的计算机设备的结构示意框图。
57.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
59.参照图1,本技术实施例提供一种基于同态加密与机器学习的混合区块链保护方法,包括以下步骤:
60.s1、多个第一类区块链节点,分别根据预设的数据输入方式,获取输入的原始数据和对应于原始数据的数据计算方法,并分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点;其中,所有的第一类区块链节点构成了第一区块链,第一类区块链节点中的部分节点为第二类区块链节点,第一类区块链节点中的另一部分节点为第三类区块链节点,第二类区块链节点与第三类区块链节点不重合;
61.s2、多个第二类区块链节点,分别汇集接收到的原始数据以生成第一区块,并将第一区块输入各自预先训练得到的隐私数据筛选模型中进行处理,以得到对应于各自隐私数据筛选模型输出的多个隐私数据;其中,所有的第二类区块链节点构成了第二区块链,隐私数据筛选模型基于机器学习模型,并以预先收集的文本语料作为训练数据进行训练得到,并且预先收集的文本中的隐私数据已进行人工标注处理;
62.s3、多个第二类区块链节点,进行隐私数据交互,以将多个隐私数据进行并集处理,从而得到筛选数据;
63.s4、多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据;
64.s5、多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端;
65.s6、多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;
66.s7、多个第三类区块链节点,根据接收到数据计算方法,对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;其中,所有的第三类区块链节点构成了第三区块链;
67.s8、多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
68.s9、多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链
的数据链条的末端,从而实现对混合区块链数据的保护。
69.混合区块链中的所有节点均是第一类区块链节点,构成了第一区块链,以第一数据链条的方式存储数据。其特点在于,每个第一类区块链节点可以接收输入数据,但存储的第一数据链条却不包括完全的原始数据,而是对原始数据中的部分子数据进行加密并且进行计算后的数据(这是非常重要的一点,将在后文中进行详细描述),并且子数据的加密并非在第一类区块链节点中完成(或者严格来讲,不是在所有的第一类区块链节点中完成,而是在第二类区块链节点中完成),加密后的数据计算也并非在第一类区块链节点中完成(或者严格来讲,不是在所有的第一类或第二类区块链节点中完成,而是在第三类区块链节点中完成)。其中加密的方式采用的是同态加密算法,因此可以实现数据加密并进行数据计算。
70.第一类区块链节点中的部分节点为第二类区块链节点,所有的第二类区块链节点构成了第二区块链,以第二数据链条的方式存储数据。其特点在于,第二类区块链节点会综合所有第一类区块链节点接收的所有输入数据,以形成原始的第一区块(需要注意的是,第一区块是不会存入数据链条中的,但采用第一区块的说法,是为了便于描述),再对第一区块采用基于机器学习的方式进行数据筛选(例如将隐私数据筛选出来),并对筛选出来的数据采用同态加密算法进行加密处理,以将第一区块转化为第二区块(即,第二区块相对于第一区块,是将第一区块中的部分子数据进行同态加密的结果)。另外,第二数据链条存储的是同态加密算法和密钥(例如非对称密钥)。
71.第一类区块链节点中的另一部分节点为第三类区块链节点,所有的第三类区块链节点构成了第三区块链,以第三数据链条的方式存储数据。其特点在于,第三类区块链节点会对进行同态加密后的第二区块进行数据计算(第二区块会被发送至每一个第三类区块链节点),以得到第三区块,并且会将第三区块发送给所有的第一类区块链节点,以将第三区块连接在第一类区块链节点对应的第一数据链条末端,这也是前文所提及第一数据链条存储的特殊之处,因为相对于传统的区块链的数据链条存储的是接收到的数据,本技术的第一区块链存储并非是接收到的原始数据,而是由第二类区块链节点和第三类区块链节点处理过后的数据。另外,第三数据链条存储的是数据计算方法,这也是有别于传统的区块链之处。
72.同态加密技术是一种特别的加密技术,其分为加法同态加密、乘法同态加密与全同态加密。相比于普通加密技术,同态加密技术的特点在于,其先加密后再计算的结果,与先计算再加密的结果相同,这也是本技术的方案得以实现的一个前提。
73.本技术采用多端的方式对本技术的方案进行描述,因此采用单端的方式难以对本技术的方案进行准确的概括,其中的多端指的是本技术的实现依赖于多个第一类区块链节点、多个第二类区块链节点、多个第三类区块链节点的共同作用。
74.如上述步骤s1所述,多个第一类区块链节点,分别根据预设的数据输入方式,获取输入的原始数据和对应于原始数据的数据计算方法,并分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点;其中,所有的第一类区块链节点构成了第一区块链,第一类区块链节点中的部分节点为第二类区块链节点,第一类区块链节点中的另一部分节点为第三类区块链节点,第二类区块链节点与第三类区块链节点不重合。
75.本技术涉及三条区块链,第一区块链是范围最大的区块链,虽然只提及所有的第一类区块链节点构成了第一区块链,但由于第二类区块链节点、第三类区块链节点也都是第一类区块链节点(也即是,第二类区块链节点具有第一数据链条和第二数据链条,第三类区块链节点具有第一数据链条和第三数据链条),因此第二类区块链节点、第三类区块链节点也是第一区块链的节点。本技术采用混合区块链的设计,能够使得非第二类区块链节点,并且也非第三类区块链节点的第一类区块链节点的受限更小,能够使得其对隐私数据的泄密的可能性很低。
76.因此,多个第一类区块链节点作为数据输入的来源,而数据输入方式可包括键鼠输入等。还需要注意的一点是,每个第一类区块链节点是无法获知所有的原始数据和所有的数据计算方法的,从而进一步减少了从第一类区块链节点中泄露隐私数据的可能性,这也是本技术采用多个第一类区块链节点作为执行主体进行描述,而非采用一个第一类区块链节点作为执行主体进行描述的原因。原始数据例如为输入的一个文本数据,对应于原始数据的数据计算方法,例如为对文本数据中的数字数据进行计算,也即是数据计算方法与原始数据中的数值相对应,这是区块链的常见应用之一。例如原始数据包括部分描述文件为,用户a的余额为b元,用户c的余额为d元;而对应的数据计算方法为,b减少e,同时d增加e(这实际上描述的是用户a向用户c转e元)。此时,若b元、d元作为隐私数据,则适宜采用本技术的方案进行处理,当然,隐私数据可以包括其他数据,此处仅作为示例进行说明。当然,原始数据中还可以包括其他非隐私性数据。
77.多个第一类区块链节点,还需要分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点。从而每一个第二类区块链节点能够获取所有的原始数据,而每一个第三类区块链节点能够获取所有的数据计算方法。因此,本技术对于第二类区块链节点和第三类区块链节点进行重点防护即可。
78.如上述步骤s2-s3所述,多个第二类区块链节点,分别汇集接收到的原始数据以生成第一区块,并将第一区块输入各自预先训练得到的隐私数据筛选模型中进行处理,以得到对应于各自隐私数据筛选模型输出的多个隐私数据;其中,所有的第二类区块链节点构成了第二区块链,隐私数据筛选模型基于机器学习模型,并以预先收集的文本语料作为训练数据进行训练得到,并且预先收集的文本中的隐私数据已进行人工标注处理;多个第二类区块链节点,进行隐私数据交互,以将多个隐私数据进行并集处理,从而得到筛选数据。
79.每个第二类区块链节点均预先训练有隐私数据筛选模型,隐私数据筛选模型的目的在于,将原始数据中存在的隐私数据筛选出来,从而免去了人工标定隐私数据的过程。本技术的隐私数据筛选模型,例如为语义识别模型,以从输入的文本数据(泄集为第一区块)中筛选出隐私数据。这种采用语义识别模型进行隐私数据筛选的方式,可采用任意可行的模型进行实行,例如可采用cn112149404a-一种用户隐私数据的风险内容识别方法、装置及系统中的模型进行实施(当然,其中需要将语义识别与风险内容识别的步骤均集中的一个终端中实施,因此本技术可以将其中的语义识别过程与风险内容识别的过程均集中在第二类区块链节点中实现,免去了其中将语义特征向量发送至服务端的步骤),当然也可以采用其他方式的模型(例如cn111062490a-一种包含隐私数据的网络数据的处理方法及装置中的模型)等。所述隐私数据筛选模型例如基于word2vec模型或者bert模型训练而成,而隐私数据筛选模型相对而言不是本技术的重点,因此在此不再赘述。另外,作为拓展,也可以采
用人工标记隐私数据的方式,以替换隐私数据筛选模型,从而从第一区块中筛选出隐私数据。
80.本技术中的第一区块与其他区块虽然在命名上相似,但实际上是有区别的,而采用这种命名是为了描述方便。之所以第一区块与其他区块不同,是因为第一区块是不会连接在任何一个区块链的数据链条中的。
81.不仅如此,本技术的多个第二类区块链节点还需要进行隐私数据交互,这是因为不同的第二类区块链节点中部署的隐私数据筛选模型不同,因此输出的隐私数据不一定会完全相同,而为了保证隐私数据保护的完整性,因此本技术进行隐私数据交互,以将多个隐私数据进行并集处理,从而得到筛选数据,这也是本技术的一个特点,即需要在多个第二类区块链节点中均部署隐私数据筛选模型。
82.如上述步骤s4-s6所述,多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据;多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端;多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点。
83.本技术生成的密钥是用于同态加密时使用的密钥,其优选为非对称密钥。再采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据。而采用的同态加密算法可以为加法同态加密算法、乘法同态加密算法或者全同态加密算法,例如可采用gentry算法进行同态加密。由于同态加密算法可以先加密后计算,因此对于筛选出来的隐私数据,就能够进行先加密后计算,从而保证隐私数据不外泄,并且在此基础上能够满足区块链的常规记账功能,尤其是对于数据变化的常规记账功能。
84.进一步地,所述隐私数据筛选模型基于word2vec模型或者bert模型训练而成;数据计算方法与原始数据中的数值相对应;
85.所述多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据的步骤s4,包括:
86.s401、多个第二类区块链节点判断筛选数据中是否存在数值数据;
87.s402、若筛选数据中存在数值数据,则多个第二类区块链节点判断数值数据是否与数据计算方法对应;
88.s403、若数值数据与数据计算方法对应,则多个第二类区块链节点对筛选数据进行拆分,以得到文本数据与数值数据;
89.s404、多个第二类区块链节点根据预设的密钥生成算法生成第一密钥和第二密钥;
90.s405、多个第二类区块链节点根据预设的同态加密算法,采用生成的第一密钥对文本数据进行一次同态加密处理,以得到第一密文;
91.s406、多个第二类区块链节点根据预设的同态加密算法,采用生成的第二密钥对数值数据进行二次同态加密处理,以得到第二密文;
92.s407、多个第二类区块链节点汇集第一密文与第二密文,以得到同态加密数据。
93.从而采用以双同态加密的方式,生成同态加密数据。需要注意的是,本技术需要同态加密的隐私数据并非是所有的隐私数据,而只是对于存在数值数据的隐私数据才有必要进行同态加密,因此若不存在数值数据,则只需采用常规的加密算法进行加密即可。并且,这种存在数值数据的隐私数据还需要确定其与数据计算方法相对应,否则仍然可以只用常规的加密算法进行加密,因为若数值数据与数据计算方法不对应,则加密后的密文不涉及后续计算,因此无需采用特别的同态加密算法进行加密。并且,由于数值数据与数据计算方法对应,因此需要对筛选数据进行拆分,以得到文本数据与数值数据,此时的数值数据在后续步骤中,将继续采用对应的数据计算方法进行计算处理。
94.另外,生成的密钥与同态加密算法是需要进行保存的,因为这将作为后续可能的数据还原之用,因此生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端。而第二区块链的数据链条的其他区别,也是用于存储密钥与同态加密算法的。采用的共识算法可为任意可行算法,例如工作量证明算法、权益证明算法等等,在此不作限制。
95.再将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点。此时的第二区块不再具有隐私数据,因此从第二区块中是不会出现隐私数据外泄的情况的。而由于还需要根据先前的数据计算方法进行数据计算,因此还需要对第二区块进行数据计算。但若是将对应的数据计算方法也传输到第二类区块链节点中,则第二类区块链节点能够直接获知计算后的完整真实数据,因此本技术将对应的数据计算方法发送至第三区块链节点。通过这种方式,使得任意一个区块链节点都难以直接获知计算后的真实数据。
96.在一个实施方式中,所述多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端的步骤s5之前,包括:
97.s41、多个第二类区块链节点以预设的编程语言创建区块链类,再对区块链类实例化以生成创世区块;
98.s42、多个第二类区块链节点在创世区块后依次连接其他区块,从而形成第二区块链的数据链条,并且除创世区块之外的每个区块均记载有对前一区块进行哈希计算得到的哈希值;
99.所述多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端的步骤s5,包括:
100.s501、多个第二类区块链节点获取第二区块链的数据链条的当前末端区块,并根据预设的哈希算法,对当前末端区块进行哈希计算,以得到区块哈希值;
101.s502、多个第二类区块链节点生成记载有生成的密钥和同态加密算法和的密钥区块,并且将区块哈希值写入密钥区块的区块头中,再基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端。
102.从而形成具有前后锁定关系的数据链条,以防止数据篡改的可能出现。在区块链的数据链条(由多个首先相连的数据区块构成)中,相邻的两个数据区块,由于前一个区块对应的哈希值被写入后一区块的区块头中,因此前一个区块的数据无法变更,因为前一个
区块的数据一旦变更,将导致哈希值发生变化,这与后一区块的区块头中记载的哈希值将不再一致,从而被迅速发现。而采用的哈希算法可为任意可行算法,例如可采用sha-256算法。
103.在一个实施方式中,所述多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点的步骤s6之后,包括:
104.s61、多个第二类区块链节点,根据预设的哈希算法,对密钥区块进行哈希计算以得到密钥哈希值,再将密钥哈希值发送至每一个第三类区块链节点;
105.所述多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端的步骤s8,包括:
106.s801、多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,将密钥哈希值写入第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
107.所述多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端的步骤s8之后,包括:
108.s81、多个第三类区块链节点,根据预设的哈希算法,对第四区块进行哈希计算以得到第四哈希值,并将第四哈希值发送至每一个第一类区块链节点;
109.所述多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护的步骤s9,包括:
110.s901、多个第一类区块链节点,将第四哈希值写入第三区块中,再基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
111.从而实现了区块链的横向锁定。传统的区块链只存在纵向锁定的概念,即区块链的数据链条中,前后的数据区块互相锁定。而本技术涉及由三条区块链构成的混合区块链,因此特地引入了横向锁定的概念。而横向锁定是这样实现的:
112.同一级别的数据链条中,包含某一个数据区块的哈希值,具体地,将密钥哈希值写入第四区块(因此,第四区块与横向的密钥区块锁定),将第四哈希值写入第三区块中(因此,第三区块与横向的第四区块锁定)。进一步地,密钥区块也可以将对第三区块进行哈希计算得到的哈希值写入,从而形成密钥区块与横向的第三区块的锁定。采用这种横向锁定的方式,存在两个作用,一个是强化传统的区块链的防止数据篡改功能,另一个是形成横向区块的对应关系,这是很重要的,因为需要对某个数据区块(第三区块)进行恢复隐私化,则需要三个区块链(实际上是三个对应的区块)的共同作用,而通过本技术的横向锁定,使得这三个区块能够唯一且快速地被找出。
113.如上述步骤s7-s9所述,多个第三类区块链节点,根据接收到数据计算方法,对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;其中,所有的第三类区块链节点构成了第三区块链;多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
114.由于第二区块是通过同态加密算法加密得到的,因此其采用数据计算方法进行数据处理,与先进行数据处理再进行加密得到的结果是相同的,所以第三类区块链节点可以对第二区块进行数据处理(相应地,若要得数据处理的明文,只需进行解密即可,当然这需要密钥区块中的密钥)。而生成的第三区块,并不存在范围较小的第三区块链中,本技术目的在于使其存储在范围最大的第一区块链中,因此需要将第三区块发送给所有的第一类区块链节点。
115.另外,多个第三类区块链节点还将对应的数据计算方法生成第四区块,再连接在第三区块链的数据链条的末端。这是因为第一区块事实上是不会存在任意一个区块链中,而第三区块链的数据链条存储了数据计算方法,就能够以逆计算的方式还原出第一区块,当然,这仅在需要的时间进行,并且需要三个区块链共同协作实现。而其采用的共识算法,也可以为任意可行算法,在此不再赘述。
116.对于多个第一类区块链节点而言,将接收到的第三区块连接在第一区块链的数据链条的末端即可,从而由三个区块链构成的混合区块链,再结合同态加密与机器学习技术,即能够实现对混合区块链数据的保护。这种保护指的是隐私数据得到了保护,并且在这个前提下,不会影响区块链的正常使用(即区块链的原有优点仍保留),而且在需要的情况下,还能够通过混合区块链实现隐私数据的还原(这需要三个对应区块的共同协作,前文已进行描述,此处不赘述)。
117.本技术的基于同态加密与机器学习的混合区块链保护方法,获取输入的原始数据和对应于原始数据的数据计算方法;生成第一区块,得到对应于各自隐私数据筛选模型输出的多个隐私数据;得到筛选数据;进行同态加密处理,从而得到同态加密数据;生成记载密钥区块,并将密钥区块连接在第二区块链的数据链条的末端;将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;汇集接收到的数据计算方法以生成第四区块,并将第四区块连接在第三区块链的数据链条的末端;将第三区块连接在第一区块链的数据链条的末端,实现了提高区块链数据的保密性的目的。
118.参照图2,本技术实施例提供一种基于同态加密与机器学习的混合区块链保护系统,包括:
119.原始数据获取单元10,用于指示多个第一类区块链节点,分别根据预设的数据输入方式,获取输入的原始数据和对应于原始数据的数据计算方法,并分别将原始数据发送至每一个第二类区块链节点,分别将数据计算方法发送至每一个第三类区块链节点;其中,所有的第一类区块链节点构成了第一区块链,第一类区块链节点中的部分节点为第二类区块链节点,第一类区块链节点中的另一部分节点为第三类区块链节点,第二类区块链节点与第三类区块链节点不重合;
120.第一区块生成单元20,用于指示多个第二类区块链节点,分别汇集接收到的原始数据以生成第一区块,并将第一区块输入各自预先训练得到的隐私数据筛选模型中进行处理,以得到对应于各自隐私数据筛选模型输出的多个隐私数据;其中,所有的第二类区块链节点构成了第二区块链,隐私数据筛选模型基于机器学习模型,并以预先收集的文本语料作为训练数据进行训练得到,并且预先收集的文本中的隐私数据已进行人工标注处理;
121.筛选数据生成单元30,用于指示多个第二类区块链节点,进行隐私数据交互,以将
多个隐私数据进行并集处理,从而得到筛选数据;
122.同态加密数据生成单元40,用于指示多个第二类区块链节点,根据预设的密钥生成算法生成密钥,并根据预设的同态加密算法,采用生成的密钥对筛选数据进行同态加密处理,从而得到同态加密数据;
123.密钥区块生成单元50,用于指示多个第二类区块链节点,生成记载有生成的密钥和同态加密算法和的密钥区块,并基于预设的共识算法,将密钥区块连接在第二区块链的数据链条的末端;
124.第二区块生成单元60,用于指示多个第二类区块链节点,将同态加密数据替换筛选数据,从而将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;
125.第三区块生成单元70,用于指示多个第三类区块链节点,根据接收到数据计算方法,对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;其中,所有的第三类区块链节点构成了第三区块链;
126.第四区块生成单元80,用于指示多个第三类区块链节点,汇集接收到的数据计算方法以生成第四区块,并基于预设的共识算法,将第四区块连接在第三区块链的数据链条的末端;
127.区块连接单元90,用于指示多个第一类区块链节点,基于预设的共识算法,将第三区块连接在第一区块链的数据链条的末端,从而实现对混合区块链数据的保护。
128.其中上述单元分别用于执行的操作与前述实施方式的基于同态加密与机器学习的混合区块链保护方法的步骤一一对应,在此不再赘述。
129.本技术的基于同态加密与机器学习的混合区块链保护系统,获取输入的原始数据和对应于原始数据的数据计算方法;生成第一区块,得到对应于各自隐私数据筛选模型输出的多个隐私数据;得到筛选数据;进行同态加密处理,从而得到同态加密数据;生成记载密钥区块,并将密钥区块连接在第二区块链的数据链条的末端;将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;汇集接收到的数据计算方法以生成第四区块,并将第四区块连接在第三区块链的数据链条的末端;将第三区块连接在第一区块链的数据链条的末端,实现了提高区块链数据的保密性的目的。
130.参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于同态加密与机器学习的混合区块链保护方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于同态加密与机器学习的混合区块链保护方法。该计算机设备还包括显示屏和输入装置,分别用于展示人工交互界面和用于接收输入数据。
131.上述处理器执行上述基于同态加密与机器学习的混合区块链保护方法,其中所述方法包括的步骤分别与执行前述实施方式的基于同态加密与机器学习的混合区块链保护方法的步骤一一对应,在此不再赘述。
132.本领域技术人员可以理解,图中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。
133.本技术的计算机设备,获取输入的原始数据和对应于原始数据的数据计算方法;生成第一区块,得到对应于各自隐私数据筛选模型输出的多个隐私数据;得到筛选数据;进行同态加密处理,从而得到同态加密数据;生成记载密钥区块,并将密钥区块连接在第二区块链的数据链条的末端;将第一区块转换为第二区块,并将第二区块发送至每一个第三类区块链节点;对第二区块进行数据处理,以生成第三区块,并将第三区块发送给所有的第一类区块链节点;汇集接收到的数据计算方法以生成第四区块,并将第四区块连接在第三区块链的数据链条的末端;将第三区块连接在第一区块链的数据链条的末端,实现了提高区块链数据的保密性的目的。
134.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于同态加密与机器学习的混合区块链保护方法,其中所述方法包括的步骤分别与执行前述实施方式的基于同态加密与机器学习的混合区块链保护方法的步骤一一对应,在此不再赘述。
135.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序或指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
136.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、系统、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、系统、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、系统、物品或者方法中还存在另外的相同要素。
137.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1