一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于可变更区块链技术的离岸数据分布式存储系统的制作方法

2022-11-16 14:57:09 来源:中国专利 TAG:


1.本发明属于大数据及分布式存储技术领域,涉及一种分布式存储系统,具体涉及一种基于可变更区块链技术的离岸数据分布式存储系统。


背景技术:

2.随着计算技术、虚拟现实、人工智能、政企数字化转型等新技术新业务场景的发展,人类社会已逐渐迈进数字化时代,而伴随而来的是网络空间中的数据量呈现爆炸式增长,毫无疑问,依托大数据、机器学习等技术,可以从这些海量数据中挖掘出数据价值出来,但如何保存与日俱增的数据,却是一个相当棘手的问题。
3.为克服传统独立数据存储介质可靠性、易丢失等方面的不足,云存储技术被广泛接受和应用。但是,过度中心化的云存储同样面临着数据丢失、隐私泄露的问题。


技术实现要素:

4.为了解决上述技术问题,本发明提供了一种基于可变更区块链技术的离岸数据分布式存储系统,具备云存储的存储效率和使用体验,同时有效解决了当前数据存储过度中心化的问题,保障隐私和重要数据的可信安全存储。
5.本发明所采用的技术方案是:一种基于可变更区块链技术的离岸数据分布式存储系统,其特征在于:由分布式存储层、分布式网络层、区块链服务层及应用层组成;
6.所述分布式存储层,用于为上层应用提供对象存储、块存储、文件系统存储三大类存储服务;每份数据在系统上将会以n副本形式存在,且每份数据被切分成多区块,分散存储到系统的分布式网络中;其中,n为预设值;
7.所述分布式网络层,采用基于p2p网络为底层的联盟链网络技术,用于实现高可用分布式网络;
8.所述基于p2p网络为底层的联盟链网络技术,是基于kademlia网络,采用kademlia协议实现的分布式哈希表dht;kademlia网络中所有节点均当作一颗拆分二叉树的叶子,并且每一个节点的位置都由其id值的最短前缀唯一的确定,每个节点都有一个160bit的id 值作为标志符;整个网络节点状态使用二叉树表示,每个节点id值以二进制形式表示,二进制的第n个bit对应二叉树的第n层;如果该位是1,进入左子树,是0则进入右子树;最后二叉树上的叶子节点对应某个节点;
9.所述kademlia协议,包括四种远程rpc操作:ping、store、find_node和find_value;所述ping操作,是探测一个节点,用以判断其是否仍然在线;所述store 操作,是通知一个节点存储一个《key,value》对,以便以后查询需要,其中,key为标识节点唯一性标识,value为载荷;所述find_node操作使用一个160bit的id作为参数,本操作的接受者返回它所知道的更接近目标id的k个节点的(ip address,udp port,node id) 信息,其中,ip address代表节点node的ip地址,udp代表node节点的端口号,node id 代表node节点的唯一性标识160bit的id号;所述ind_value操作和find_node操作类似,不同的是它只需要返
回一个节点的(ip address,udp port,node id)信息,如果本操作的接受者收到同一个key的store操作,则会直接返回存储的value值;
10.所述区块链服务层,采用联盟链为整个网络提供区块链基础服务;
11.所述联盟链中,包括成员组织memberorg和排序组织ordererorg;所述成员组织 memberorg,为联盟链中的参与方,是有数据上链需求的实体,会在网络中维护一个或多个 peer节点;所述排序组织ordererorg,负责联盟链中的交易排序以及区块创建;每个组织都包含一个成员身份msp,在网络中完全代表一个组织参与网络共识;
12.所述应用层,用于为离岸数据提供数据共享和数据交易服务,如离岸it服务外包管理应用,离岸数据加工应用,离岸监管平台应用等;
13.所述系统的节点分为三种角色:密钥持有节点负责保管变色龙哈希的私钥,计算节点负责计算新的区块,共识节点负责对编辑请求和编辑结果投票,这种分布式的管理方式增强了编辑行为的安全性;当监测到错误、有害、过期信息时,某个节点首次发出区块链编辑请求,并向全网广播;系统中所有节点对请求进行验证,检查该请求的合理性;当同意该请求的节点数达到预定数量时,方可认为该请求通过,否则驳回该请求;系统根据预定策略选取一个节点编辑区块链;具有修改权的节点按照请求内容编辑区块信息,并向全网广播;其余节点验证操作结果,验证通过后更新自己的账本。
14.本发明的有益效果包括:
15.(1)本发明的系统具备高度可靠性,每份数据在系统上将会以三副本形式存在,且每份数据被切分成多区块,分散存储到系统的分布式网络中,至多2副本数据的损坏不会带来数据文件丢失;
16.(2)本发明利用了区块链技术的分布式存储、不可篡改、可追溯、多方维护、交叉验证等特性,能有效界定数据权属,追踪监管数据流通,实现安全共治;
17.(3)本发明构建一种新型可变区块链技术,当前主流区块链技术采取的都是不可修改的区块链,一旦不法分子将违法信息添加到区块链中那么该信息将被永远保持,因此该特性无法满足离岸大数据的某些特定场景。
附图说明
18.图1为本发明实施例的系统框架原理图;
19.图2为本发明实施例的分布式存储层框架原理图;
20.图3为本发明实施例中联盟区块链网络结构图;
21.图4为本发明实施例中联盟链pki体系示意图;
22.图5为本发明实施例中共识算法原理图。
23.图6为本发明实施例中将变色龙哈希应用至可编辑区块链时原理图;
具体实施方式
24.为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
25.请见图1,本发明提供的一种基于可变更区块链技术的离岸数据分布式存储系统,
由分布式存储层、分布式网络层、区块链服务层及应用层组成;
26.分布式存储层,用于为上层应用提供对象存储、块存储、文件系统存储三大类存储服务;每份数据在系统上将会以3副本形式存在,且每份数据被切分成多区块,分散存储到系统的分布式网络中;
27.分布式网络层,采用基于p2p网络为底层的联盟链网络技术,用于实现高可用分布式网络;
28.基于p2p网络为底层的联盟链网络技术,是基于kademlia网络,采用kademlia协议(简称kad)实现的分布式哈希表dht;kademlia网络中所有节点均当作一颗拆分二叉树的叶子,并且每一个节点的位置都由其id值的最短前缀唯一的确定,每个节点都有一个160bit 的id值作为标志符;整个网络节点状态使用二叉树表示,每个节点id值以二进制形式表示,二进制的第n个bit对应二叉树的第n层;如果该位是1,进入左子树,是0则进入右子树;最后二叉树上的叶子节点对应某个节点;
29.kademlia协议,包括四种远程rpc操作:ping、store、find_node和find_value; ping操作,是探测一个节点,用以判断其是否仍然在线;store操作,是通知一个节点存储一个《key,value》对,以便以后查询需要,其中,key为标识节点唯一性标识,value为载荷(承载的业务);find_node操作使用一个160bit的id作为参数,本操作的接受者返回它所知道的更接近目标id的k个节点的(ip address,udp port,node id)信息,其中,ip address代表节点node的ip地址,udp代表node节点的端口号,node id代表node节点的唯一性标识160bit的id号;ind_value操作和find_node操作类似,不同的是它只需要返回一个节点的(ip address,udp port,node id)信息,如果本操作的接受者收到同一个 key的store操作,则会直接返回存储的value值;
30.区块链服务层,采用联盟链为整个网络提供区块链基础服务;
31.联盟链中,包括成员组织memberorg和排序组织ordererorg;成员组织memberorg,为联盟链中的参与方,是有数据上链需求的实体,会在网络中维护一个或多个peer节点;排序组织ordererorg,负责联盟链中的交易排序以及区块创建;每个组织都包含一个成员身份msp,msp可以理解为组织的identity,在网络中完全代表一个组织参与网络共识;
32.应用层,用于为离岸数据提供数据共享和数据交易服务,如离岸it服务外包管理应用,离岸数据加工应用,离岸监管平台应用等;
33.系统的节点分为三种角色:密钥持有节点负责保管变色龙哈希的私钥,计算节点负责计算新的区块,共识节点负责对编辑请求和编辑结果投票,这种分布式的管理方式增强了编辑行为的安全性;当监测到错误、有害、过期信息时,某个节点首次发出区块链编辑请求,并向全网广播;系统中所有节点对请求进行验证,检查该请求的合理性;当同意该请求的节点数达到预定数量时,方可认为该请求通过,否则驳回该请求;系统根据预定策略选取一个节点编辑区块链;具有修改权的节点按照请求内容编辑区块信息,并向全网广播;其余节点验证操作结果,验证通过后更新自己的账本。这样既保留了平台分布式的特点,又保证了链上数据的有效治理。
34.请见图2,本实施的分布式存储层,采用虚拟化技术实现多态数据存储服务访问接口,以api的方式对上层应用提供对象存储、块存储、文件系统存储三大类存储服务;
35.对象存储,上层应用调用对象存储服务访问接口,由对象存储模块自动完成用户
对象存储空间到底层统一的分布式对象存储空间的映射,用户数据以对象数据的形式存储在分布式对象存储引擎;
36.块存储,上层应用调用块存储服务访问接口,由块存储模块自动完成用户的块存储操作、数据读写操作到底层统一的分布式对象存储空间的映射,用户在块存储上的数据最终以对象数据的形式存储在分布式对象存储引擎;支持快照、克隆等功能。
37.文件系统存储,提供兼容posix标准的posix文件系统接口,同时支持内核文件系统和用户空间文件系统(fuse)两种模式,上层应用调用posix文件系统接口,由posix 文件系统模块及posix文件系统元数据管理器(负责posix文件系统空间到对象存储空间的映射和转换)共同完成用户的posix文件操作到底层统一的分布式对象存储空间的映射,用户在posix文件系统中的数据最终以对象数据的形式存储在分布式对象存储引擎; posix文件系统元数据管理器,用于posix文件系统空间到对象存储空间的映射和转换。
38.本实施例的区块链服务层,用于实现区块链建立和管理作业,目前区块链技术的发展存在两个大的方向,即联盟链和公链,两者之间最大的区别在于是否存在”准入机制”,这里的”准入机制”指访问权限的管理机制。联盟链有“准入机制”,并不是任意的个人或组织都能参与其中,数据只在联盟链内部公开、共享。而公链,则是完全公开,没有任何的准入门槛,所有个人或组织都可以参与其中,数据对所有人公开。
39.本实施例根据离岸大数据中心的业务特点,选择了联盟链实现,联盟链在实现了分布式账本、共识算法等区块链标志性能力外,也重点实现了准入机制。联盟链既具有区块链的数据透明、防篡改特性,并将数据的互联互通限定在一定范围内,且具有不错的性能来支撑业务。
40.请见图3,本实施例中提供的联盟区块链网络,包含3个成员组织(org1,org2,org3) 和1个排序组织(org4)。成员组织即memberorg可以理解为联盟链网络中的参与方,是有数据上链需求的实体,一般会在网络中维护一个或多个peer节点。排序组织即ordererorg,负责联盟链中的交易排序以及区块创建,往往由网络的发起者或监管机构运行维护(由离岸数据中心创建,上级主管机构监管)。
41.这两个组织构成了联盟链网络的主体,而每个组织都会包含一个成员身份(以下简称 msp),msp可以理解为组织的identity,在网络中完全代表一个组织参与网络共识。联盟链的“准入机制”正是围绕以msp成员身份为中心的channel成员管理来实现的。下面,详细介绍下msp成员身份、channel通道和channel成员管理。
42.请见图4,本实施例中联盟链中的成员身份采用的是传统的pki体系,为实现自主可控,本实施例采取了国密加密组件替换了国际标准加密算法。每个组织在加入到网络之前,会首先维护一个属于自己的ca(certificate authority)证书颁发机构,用于用户身份的注册以及用户证书的签发、注销。
43.本实施例的联盟链中,msp的身份证认证包括以下步骤:
44.(1)成员组织org1的某身份账户向成员组织org2展示自己的ca证书,其中,证书由成员组织org1的ca颁发;ca证书包括主体身份信息subject、主体公钥subjectpublic key、ca信息issuer和ca数字签名signature;
45.(2)成员组织org2向成员组织org1的ca机构获取root ca证书(根ca证书),并提取subject public key;
46.(3)借助成员组织org1 ca证书的subject public key验证该身份账户提供的证书签名;
47.(4)签名验证通过,则该身份账户为成员组织org1合法账户。
48.本实施例的联盟链中,通过可配置的channel来限制成员身份,只有包含在channel内的成员组织身份才允许加入网络、参与共识、同步数据。
49.channel是联盟链的一个独特设计,在联盟链中,存在着两种类型的channel,即:
50.system channel:系统级channel,在联盟链网络组建时创建,用于定义联盟链网络的创始成员等信息,由排序组织负责管理。
51.application channel:应用级channel,联盟链网络中更细粒度的划分,可以由网络中的部分组织组建而成,一个application channel代表一个真正意义上的区块链,拥有着一套独立的账本数据,application channel由网络的成员组织管理。
52.一个联盟链网络只有一个system channel,但可以包含多个application channel。可以理解为一个联盟中,由于组织之间有着不同的利益关系往来,不同的组织之间会建立不同的链 (即不同的application channel)。
53.也就是说,联盟链的“准入机制”是以一个application channel为基础进行的,成员管理也就是一个channel的管理。
54.channel的成员组织在创建channel的时候指定,并将各个成员组织的msp包含在创始区块genesis block中,包含成员组织的ca证书和admin账户证书,并以此管理成员;
55.channel成员管理包括以下步骤:
56.(1)配置并生成genesis block
57.配置成员组织,包括id、mspdir和policies;id,为成员组织在网络中的标识id;mspdir,为成员组织的msp本地目录,用于加载msp的相关证书;policies,用于定义成员组织内部的读、写、审计权限;
58.配置应用级channel,包括organizations;organizations,用于定义应用级channel中包含的成员组织;
59.(2)发起者用genesis block在网络中启动这个应用级channel;
60.(3)成员组织申请将节点peer加入到应用级channel中,申请信息中将包含成员组织的身份证书;
61.(4)通过genesis block中的各个成员组织ca证书来验证申请者的身份是否为应用级 channel中的成员组织颁发;如果是,则成员组织节点加入成功并开始同步账本数据;如果不是,则拒绝。
62.请见图5,本实施例联盟链中借鉴pbft共识算法,引入门限签名算法和收集者角色,实现高可用性的拜占庭容错共识算法;拜占庭容错共识算法的11个当值共识节点分为主节点和副节点,其中副节点根据任务不同,共包含转发节点和收集节点两个角色;每轮的共识过程都会有一个主节点,主节点在收到来自客户端的请求后将打包交易成块并发送至所有副节点;然后,转发节点将确认与签名消息并转发至收集节点;收集节点通过门限签名机制,把收集到的所有消息聚合成一个签名消息,随即发送至其他所有节点;接下来,继续新的一轮转发与收集过程,直至将确认消息返回至客户端;其中,两轮的收集节点可以指定为同一节点,也可为不同节点。本算法保证安全性和活性的前提同样是假设系统中拜占庭
节点数量不超过系统总节点数的1/3。节点总数量为n时,最多只能容纳f个拜占庭故障(叛徒)节点,令n大于等于3f 1。
63.本实施例的拜占庭容错共识算法中,采用“随机从候选共识节点中选取出若干共识节点,接着再通过共识算法合作打包交易出块”的模式,在增加节点选举的随机性和不可预测性的前提下,提升区块链的安全性;
64.每个候选共识节点拥有一个公私钥对,在每轮时间窗口选举当值共识节点时,各候选共识节点通过以下公式计算哈希随机输出;
65.r=vrf_hash(sk,seed);
66.p=vrf_proof(sk,seed);
67.其中,sk是节点的私钥,seed是链上某区块中的一个字段信息,无法提前预测;r为哈希随机输出vrf_hash(),p为哈希证明vrf_proof();
68.通过上述步骤,验证者能验证和两个值确实是由拥有该值的节点产生;
69.r=vrf_p2h(p);
70.vrf_verify(pk,seed,p);
71.其中pk为被验证节点的公钥;vrf_p2h()为为验证r与p等式成立的验证函数, vrf_verify()为可验证随机函数的最终验证成立是否的函数;
72.此时,选择哈希随机输出最小的11个节点为当值共识节点;如果选出的节点多于11个,将根据信誉度评分高低进行筛选。
73.请见图6,本实施例采用可编辑的区块链技术,当对某个区块进行修改时,仅对头部哈希转变为变色龙哈希,利用陷门碰撞m1,m2,r1使得原有区块头哈希值h保持不变但区块内容发生改变;具体实现包括以下步骤:
74.步骤1:假设p,q为两个素数且q为足够大的素数,其中p,q满足p=kq 1,z
p*
是一个阶为q的群,g是群的,k为正整数;设陷门sk为x∈z
p*
,则公钥pk表示为 y=g
x modp,给定一个消息m1∈z
p*
和一个随机值r1∈z
p*
,则消息m1的ch值为hash(m1,r1)=g
m1yr1
modp;
75.步骤2:求解任意给定m1、m2、r1,能够找到r2∈z
p*
,使得hash(m1, r1)=hash(m2,r2);
76.hash(m1,r1)=g
m1 y
r1 mod p=g
m1 xr1
mod p;
77.hash(m2,r2)=g
m2yr2 mod p=g
m2 xr2
mod p;
78.则
79.本发明根据实际离岸数据中心业务的特点,本发明在应用链上融合了离岸数据中心业务的特色应用,在区块链上采取联盟链,解决了跨国数据中心的互相信任问题;采取变色龙hash 算法(chameleon hash function)降低了交互零知识证明的复杂性,从而平衡了可控验证性和不可否认性之间的矛盾,同时实现了不可否认性、不可传递性、非交互性等安全属性,并且实现了可变区块链技术,满足特定的监管和安全诉求,场景如当前主流区块链技术采取的都是不可修改的区块链,一旦不法分子将违法信息添加到区块链中那么该信息将被永远保持,可变区块链可以修改不法等信息,从而满足信息监管和合规诉求。
80.应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权
利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献