区块链私有数据分享方法及装置与流程

文档序号:33282472发布日期:2023-02-24 21:23阅读:40来源:国知局
区块链私有数据分享方法及装置与流程

1.本发明涉及区块链技术领域,尤其涉及一种区块链私有数据分享方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.随着区块链技术的发展,各大企业、机构纷纷推出各自的区块链应用,并且随着实际应用场景的拓展,各机构及企业也纷纷加入到不同区块链应用中,成为多个应用中的节点。在大数据分析及人工智能发展的背景下,不同领域的数据的多元互动交流,使得不同区块链网络的多个节点之间数据分享的需求逐渐显露出来,且区块数据自带加密、背书等特殊属性也使得数据分享变得更加困难,如何高效协调多个节点之间针对私有数据进行有效共享,既提高数据利用率满足场景需求,同时最大程度地保证数据的安全可靠,成为了一个亟需解决的问题。
4.现有的区块链数据分享协议主要针对不同网络之间的数据收集或分享,并没有针对不同区块链网络的节点之间私有数据分享的安全可靠的协议,并且区块链网络自身的隐私机制使得区块链节点之间私有数据的分享变得困难,因为不同区块链网络的架构及底层技术可能不同,数据存储结构与加密机制也就不同。目前已有的跨链技术实现了不同区块链网络之间的数据共享,但跨链技术有其数据分享的局限性,首先数据分享以链为单位,不能细化到节点级别,区块链节点需要接入多个链中才能获取多方数据,且跨链数据共享受业务场景限制,不同数据在存储和使用上仍较为独立,并没有与原有业务场景数据隔离,不方便后续进一步进行大数据分析或人工智能学习;其次对于异构区块链网络不便于实施跨链技术时,由于缺少完整安全有效的分享机制,无法有效共享数据,这导致区块链应用场景中多维度的数据相对割裂,不利于后续大数据分析等业务应用,也导致了数据视图的不统一,需要花费较高成本在数据集成上。


技术实现要素:

5.本发明实施例提供一种区块链私有数据分享方法,用以在不同区块链网络节点之间分享私有数据,提高不同区块链网络节点之间私有数据分享的安全性,该方法包括:
6.构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;
7.根据输入数据对区块数据进行筛选与拆分,得到多个数据块;
8.根据密钥标签对各数据块进行安全校验;
9.根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;
10.以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。
11.本发明实施例还提供一种区块链私有数据分享装置,用以在不同区块链网络节点之间分享私有数据,提高不同区块链网络节点之间私有数据分享的安全性,该装置包括:
12.需求矩阵模型构建模块,用于构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;
13.数据拆分模块,用于根据输入数据对区块数据进行筛选与拆分,得到多个数据块;
14.安全校验模块,用于根据密钥标签对各数据块进行安全校验;
15.数据块矩阵生成模块,用于根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;
16.区块数据链生成模块,用于以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。
17.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链私有数据分享方法。
18.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链私有数据分享方法。
19.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述区块链私有数据分享方法。
20.本发明实施例中,构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;根据输入数据对区块数据进行筛选与拆分,得到多个数据块;根据密钥标签对各数据块进行安全校验;根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。本发明实施例为不同区块链网络的不同节点之间的私有数据分享,提供一种可靠安全灵活的分享机制。首先构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,对输入的区块数据进行筛选、拆分、安全校验等处理,形成多维度、模块化、安全可靠、不可篡改、可供追溯的数据块矩阵;然后,以数据块矩阵为输入源,基于不同区块链网络节点共同确定的共识算法与签名机制,生成区块数据链,保证了区块链节点内私有数据的私密性、完整性和安全性,实现了不同区块链网络节点之间的私有数据分享。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1为本发明实施例中区块链私有数据分享方法的流程示意图;
23.图2为本发明实施例中区块链私有的数据分享方法的一具体实施例;
24.图3为本发明实施例中区块链私有的数据分享方法的一具体实施例;
25.图4为本发明实施例中区块链私有的数据分享方法的一具体实施例;
26.图5为本发明实施例中区块链私有的数据分享方法的一具体实施例;
27.图6为本发明实施例中区块链私有数据分享装置的示意图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
29.首先对本发明涉及的技术名词进行解释。
30.联邦学习:
31.联邦学习是一种新兴的人工智能基础技术,在2016年被提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据共享时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多节点之间开展高效率的模型学习与计算。本发明实施例中对借助联邦学习模型的思想,将数据按照特征值划分多维度,结合横向联邦学习和纵向联邦学习对数据进行学习与计算。
32.签名机制:
33.数字签名(又称公钥数字签名)是只有信息的发送者才能产生的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
34.共识算法:
35.区块链是一种去中心化的分布式账本系统,以点对点的方式进行转账、支付和交易。区块链系统与传统中心化系统相比,具有公开透明、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此,区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。在区块链这样的分布式账本系统中,保障整个系统的安全性和适应性十分重要,这也是共识算法出现的根本原因。
36.申请人发现,在大数据分析及人工智能发展的背景下,不同领域的数据的多元互动交流,使得不同区块链系统的多个节点之间数据分享的需求逐渐显露出来,且区块数据自带加密、背书等特殊属性也使得数据分享变得更加困难,如何高效协调多个节点之间针对私有数据进行有效共享,既提高数据利用率满足场景需求,同时最大程度地保证数据的安全可靠,成为了一个亟需解决的问题。因此,基于上述问题,申请人针对不同区块链网络的不同节点之间多维度的私有数据分享,提供一种可靠安全灵活的分享机制。
37.图1为本发明实施例中区块链私有数据分享方法的流程示意图,如图1所示,该方法包括:
38.步骤101、构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特
征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;
39.步骤102、根据输入数据对区块数据进行筛选与拆分,得到多个数据块;
40.步骤103、根据密钥标签对各数据块进行安全校验;
41.步骤104、根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;
42.步骤105、以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。
43.从图1所示流程可以看出,本发明实施例为不同区块链网络的不同节点之间的私有数据分享,提供一种可靠安全灵活的分享机制。首先构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,对输入的区块数据进行筛选、拆分、安全校验等处理,形成多维度、模块化、安全可靠、不可篡改、可供追溯的数据块矩阵;然后,以数据块矩阵为输入源,基于不同区块链网络节点共同确定的共识算法与签名机制,生成区块数据链,保证了区块链节点内私有数据的私密性、完整性和安全性,实现了不同区块链网络节点之间的私有数据分享。
44.需要说明得是,本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
45.下面对本发明实施例的技术方案进行详细解释。
46.本发明实施例中的区块链节点分布在不同区块链网络中,是区块链网络中独立的节点,例如某企业某项目区块链网络,其中包括分公司节点若干个、合作企业节点若干个,不同区块链网络节点之间无法直接通信,并且考虑到安全性、私有性、可靠性,这些节点之间不能直接共享数据。本发明实施例提出的方法以不同区块链网络节点为单位进行数据共享、分享,这些区块链节点也是业务场景中的数据存储单元,为本发明实施例区块链私有数据分享方法提供区块数据。
47.具体实施时,首先构建在不同区块链网络节点之间基于横向和纵向的多维度的联邦学习算法的需求矩阵模型,该需求矩阵模型包括以矩阵形式提供的输入数据和验证数据。具体的输入数据可以根据业务场景进行划分,包括例如企业类型、企业所属地区、账户所属行等业务特征参数,时效性、成功率等技术特征参数,数据版本号、数据有效日期等公共参数;验证数据包括密钥标签和业务分享规则,秘钥标签由各区块链节点根据签名机制生成,业务分享规则与具体业务场景相关,例如数据针对指定区块链节点开放共享,数据针对满足的某些授信条件的节点开放共享等,按照业务场景将数据分类,不涉及技术层面,是一种对区块数据的业务分类。本领域技术人员应当知晓,输入数据和验证数据不仅限于以上内容,在此仅做示例。这些参数定义了区块链节点内部多元数据组合分片的方式,依据三个输入数据对区块数据进行筛选与拆分,通过验证数据对筛选出来的数据中的哈希值及数字签名进行安全校验,根据业务分享规则对数据分片化,形成按需多维度、模块化、安全可靠,不可篡改、可供追溯的数据块矩阵。
48.数据块矩阵的生成具体的流程如下:
49.1、首先得到区块数据,在需求矩阵模型中明确需求矩阵模型输入参数:业务特征参数b(b1,b2,b3...bn)、技术特征参数t(t1,t2,t3...tm)、公共参数c(c1,c2,c3...cn),验证数据秘钥标签v由各区块链节点签名机制生成,每个区块链节点的秘钥标签v各不相同,业务
分享规则由业务场景r(r1,r2,r3...rn)需求确定,其中m,n为整数。各项数据抽象为矩阵形式,方便后续计算筛选。
50.2、各区块链节点根据上述步骤中的输入参数,对区块链节点的区块数据进行筛选和拆分。图2为本发明实施例中区块链私有的数据分享方法的一具体实施例,如图2所示,根据输入数据对区块数据进行筛选与拆分时,以业务特征参数b(b1,b2,b3...bn)为列标签,以技术特征参数t(t1,t2,t3...tm)为行标签,以公共参数c(c1,c2,c3...cn)为维度,将区块数据划分为分维度分片的多个数据块,即n个维度的数据块,其中圈起来的数据块是根据上述三类参数即业务特征参数b(b1,b2,b3...bn)、技术特征参数t(t1,t2,t3...tm)、公共参数c(c1,c2,c3...cn)划分而成,d
mn
代表数据,m,n为整数,例如d
11
,d
12
,d
21
,d
22
对应的符合参数是b1,b2,t1,t2,组成了一个数据块。
51.3、根据验证数据秘钥标签v对各数据块进行安全校验。例如,根据密钥标签对各数据块中签名数据进行安全校验。
52.4、根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵。例如,对安全校验通过的数据块,按行优先顺序依次计算各数据块的哈希值,存入对应数据块,在各数据块中重新生成签名数据,得到数据块矩阵。图3为本发明实施例中区块链私有的数据分享方法的一具体实施例,如图3所示,在图2中多个数据块的基础上,为每个数据块计算哈希值hash1,hash2,hash3…
hashn,并在每个数据块中重新生成签名数据sign1,sign2,sign3…
signn,其中n为整数。
53.最后,以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。
54.在一个实施例中,在区块数据链中,将行标签和列标签加入对应数据块,并加入数据块中区块数据的来源区块链网络节点的数字签名。图4为本发明实施例中区块链私有的数据分享方法的一具体实施例,如图4所示,将行标签和列标签,即b1,b2,t1,t2,以及区块数据的来源区块链网络节点的数字签名sign一起加入对应数据块,形成区块数据链d
2-d3。
55.在一个实施例中,本发明实施例还包括:在有区块链网络节点接入或退出区块链网络时,根据业务需求更新业务特征参数和技术特征参数,更新公共参数中的参数版本号,以供区块链网络节点根据不同版本的公共参数,重新生成数据块矩阵,并根据重新生成的数据块矩阵重新生成区块数据链。
56.基于此,本发明实施例提供了灵活可扩展的版本控制方式,将版本号加入公共特征参数中,将新版本的各个参数与业务规则发布出来,这样在进行数据矩阵计算时可根据版本号生成对应分享数据,实现灵活可控的数据分享。当区块链节点想要加入分享时,只需提供相应输入数据和验证数据,更新业务分享规则模板,按照分享机制流程生成区块数据链即可。
57.图5为本发明实施例中区块链私有的数据分享方法的一具体实施例,如图5所示,本例中主要包括区块链节点、基于横向和纵向的多维度的联邦学习算法的需求矩阵模型、版本控制模块、区块数据链生成模块和生成的区块数据链d
1-d
2-d3...dn,其中,区块链节点来自分布在不同区块链网络中的节点1,节点2

节点n,其中,n为整数;构建基于横向和纵向的多维度的联邦学习算法的需求矩阵模型,向该模型输入业务特征参数、技术特征参数、公共参数和密钥标签、业务分享规则,对输入数据进行筛选与拆分,以及安全校验,得到数
据块矩阵;在区块数据链生成模块,根据共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链d
1-d
2-d3...dn;同时,还包括版本控制模块,当区块链网络节点接入或退出区块链网络时,根据业务需求更新业务特征参数、技术特征参数等相关模型参数和版本记录,并将更新数据发布至区块链网络。
58.综上,本发明实施例具备如下优点:
59.1、基于横向加纵向的多维度的联邦学习算法的需求矩阵模型,形成按需多维度、模块化、安全可靠,不可篡改、可供追溯的数据矩阵。
60.2、以需求矩阵模型输出的数据矩阵为输入源,基于共识算法与签名机制的区块数据链生成方法,保证了各区块链节点内私有数据的私密性和完整性,从而实现不同区块链网络节点之间的私有数据分享。
61.3、提供一种灵活可扩展的版本控制方式,方便多方区块链节点加入与退出分享数据,同时结合参数化的需求矩阵模型可灵活生成分享数据的版本,实现多版本控制与分享。
62.4、通过本发明可以使得各区块链节点的数据进行多元互动交流,不同区块链网络的多个节点之间进行数据分享,可以高效协调多个区块链节点之间针对私有数据进行有效共享,既提高数据利用率满足场景需求,同时最大程度地保证数据的安全可靠。
63.本发明实施例中还提供了一种区块链私有数据分享装置,如下面的实施例所述。由于该装置解决问题的原理与区块链私有数据分享方法相似,因此该装置的实施可以参见区块链私有数据分享方法的实施,重复之处不再赘述。
64.图6为本发明实施例中区块链私有数据分享装置的示意图,如图6所示,该装置包括:
65.需求矩阵模型构建模块601,用于构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;
66.数据拆分模块602,用于根据输入数据对区块数据进行筛选与拆分,得到多个数据块;
67.安全校验模块603,用于根据密钥标签对各数据块进行安全校验;
68.数据块矩阵生成模块604,用于根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;
69.区块数据链生成模块605,用于以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。
70.在一个实施例中,数据拆分模块602,具体用于:
71.以业务特征参数为行标签,以技术特征参数为列标签,以公共参数为维度,将区块数据划分为分维度分片的多个数据块。
72.在一个实施例中,安全校验模块603,具体用于:
73.根据密钥标签对各数据块中签名数据进行安全校验;
74.数据块矩阵生成模块604,具体用于:
75.对安全校验通过的数据块,按行优先顺序依次计算各数据块的哈希值,存入对应
数据块,在各数据块中重新生成签名数据,得到数据块矩阵。
76.在一个实施例中,区块数据链生成模块605,具体用于:
77.在区块数据链中,将行标签和列标签加入对应数据块,并加入数据块中区块数据的来源区块链网络节点的数字签名。
78.在一个实施例中,该装置还包括:
79.版本控制模块,用于在有区块链网络节点接入或退出区块链网络时,根据业务需求更新业务特征参数和技术特征参数,更新公共参数中的参数版本号,以供区块链网络节点根据不同版本的公共参数,重新生成数据块矩阵,并根据重新生成的数据块矩阵重新生成区块数据链。
80.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链私有数据分享方法。
81.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链私有数据分享方法。
82.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述区块链私有数据分享方法。
83.本发明实施例中,构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,所述需求矩阵模型包括以矩阵形式提供的输入数据和验证数据,所述输入数据包括:业务特征参数、技术特征参数和公共参数;所述验证数据包括密钥标签和业务分享规则;根据输入数据对区块数据进行筛选与拆分,得到多个数据块;根据密钥标签对各数据块进行安全校验;根据业务分享规则对安全校验通过的数据块进行分片化,得到数据块矩阵;以数据块矩阵作为输入源,根据不同区块链网络节点共同确定的共识算法与签名机制,将数据块矩阵按行列顺序生成供不同区块链网络节点分享的区块数据链。本发明实施例为不同区块链网络不同节点之间的私有数据分享,提供一种可靠安全灵活的分享机制。首先构建在不同区块链网络节点之间基于联邦学习算法的需求矩阵模型,对输入的区块数据进行筛选、拆分、安全校验等处理,形成多维度、模块化、安全可靠、不可篡改、可供追溯的数据块矩阵;然后,以数据块矩阵为输入源,基于不同区块链网络节点共同确定的共识算法与签名机制,生成区块数据链,保证了区块链节点内私有数据的私密性、完整性和安全性,实现了不同区块链网络节点之间的私有数据分享。
84.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
85.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
86.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
87.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
88.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1