一种基于区块链的分布式离链数据存储方法技术

技术编号:24517932 阅读:20 留言:0更新日期:2020-06-17 06:54
本申请实施例公开了一种基于区块链的分布式离链数据存储方法。该方法的一具体实施方式包括:初始化基于区块链的分布式存储系统,接收第一终端发送的数据存储请求,其中,存储请求包括待存储数据、第一终端的公钥和第一终端的数据标签;基于第一终端发送的待存储数据生成加密数据并将加密数据存储在目标存储节点中,确定是否满足存储条件组要求,完成对满足要求的加密数据的离链存储。该方法利用区块链的离链存储节点实现数据存储,能够在保证数据存储分布式、安全性和篡改痕迹可审核性的同时实现可靠存储,从而提供一种灵活的分布式数据存储解决方案。

【技术实现步骤摘要】
一种基于区块链的分布式离链数据存储方法
本申请实施例涉及计算机
,具体涉及计算机数据存储

技术介绍
分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。区块链是一个去中心化的数据库,用于保存每个事务的详细信息。交易按时间顺序添加到区块链中,并存储为一系列的块,每个块引用前面的块以形成一个互连的链条。应用于分布式存储中,区块链提供了创建一个地理上分散的存储资源的逻辑存储池所需的结构。现有分布式存储技术存在一些限制,如缺乏透明度、权力下放有限以及隐私和安全方面的挑战。而且,随着对更灵活、私有和安全的数据解决方案的需求继续呈指数级增长,重新考虑分布式存储的当前结构至关重要。
技术实现思路
本申请实施例提出了一种基于区块链的分布式离链数据存储方法。第一方面,本申请实施例提供了一种基于区块链的分布式离链数据存储方法,包括:初始化基于区块链的分布式数据存储系统,生成区块节点和存储节点;生成区块节点密钥和存储节点密钥,其中,密钥是由公钥和私钥组成的密钥对;接收第一终端发送的数据存储请求,所述数据存储请求包括待存储数据、第一终端的公钥和第一终端的数据标签;生成待存储数据的加密数据,以及,将所述加密数据存储于有效存储节点中;确定头区块节点,生成头区块节点识别码;基于数据占有机制,确定目标存储节点;确定是否满足以下存储条件组:所述头区块节点识别码、所述第一终端的公钥和所述目标存储节点密钥验证成功;所述加密数据为有效数据;响应于确定满足所述存储条件组,对待存储的数据进行离链存储。在一些实施例中,区块节点是指区块链的链上节点,运行底层区块链的协议;存储节点是指区块链的离链节点,提供保存和维护用户数据的存储能力。在一些实施例中,在接收第一终端发送的数据存储请求之前,所述方法还包括:基于所述公钥注册请求,生成公钥和私钥密钥对;将所生成的公钥和私钥密钥对发送至所述第一终端,以及对所生成的公钥进行加密;基于公钥和私钥密钥对生成第一终端的数据标签。在一些实施例中,生成待存储数据的加密数据,并将所述加密数据存储于有效存储节点中,包括:利用所述第一终端的公钥对待存储数据进行加密,生成加密数据;将所述第一终端的数据标签添加到加密数据中;基于每个存储节点,随机确定有效存储节点;将所述加密数据存储于所述有效存储节点中。在一些实施例中,所述基于数据占有机制,确定目标存储节点,包括:将所述头区块节点识别码发送至所述有效存储节点,其中,所述有效存储节点对接收到的所述头区块节点识别码进行散列化处理,生成散列头区块节点识别码;接收有效存储节点返回的所述散列头区块节点识别码;基于所述散列头区块节点识别码和所述第一终端的公钥,随机生成挑战码;将所述挑战码发送至所述有效存储节点,其中,所述有效存储节点基于所述挑战码,确定所存储数据的加密数据的数据标签,生成验证结果;接收有效存储节点返回的验证结果;将第一个接收到验证结果的验证结果所对应的有效存储节点作为目标存储节点。在一些实施例中,所述有效存储节点对接收到的所述头区块节点识别码进行散列化处理,生成散列头区块节点识别码,包括:基于散列算法,将所述头区块节点识别码变换成固定长度的输出;生成散列头区块节点识别码。在一些实施例中,所述方法还包括,根据所述存储方法,控制目标设备完成存储操作。第二方面,本申请实施例提供了一种终端设备,该终端设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。第三方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本申请实施例提供一种基于区块链的分布式离链数据存储方法,初始化基于区块链的分布式存储系统,接收第一终端发送的数据存储请求,其中,存储请求包括待存储数据、第一终端的公钥和第一终端的数据标签,基于第一终端发送的待存储数据生成加密数据并将加密数据存储在目标存储节点中,确定是否满足存储条件组要求,完成对满足要求的加密数据的离链存储。本申请的上述各个实施例中的一个实施例具有如下有益效果:基于区块链网络构建分布式存储系统,能够有效利用区块链的分布式、安全性和篡改痕迹可审核等特性,同时利用离链的存储节点进行数据存储,利用数据占有机制验证待存储数据的可靠性,以确保数据在满足分布式存储要求的情况下,保证可靠和可证明的存储。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的一种基于区块链的分布式离链数据存储方法的一个实施例的流程图;图3是根据本申请的数据加密方法的又一个实施例的流程图;图4是根据本申请的生成离链存储节点的又一个实施例的流程图;图5是适于用来实现本申请实施例的终端设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的数据存储方法的实施例的示例性系统架构100。如图1所示,系统架构100可以包括第一终端设备101、网络102、服务器103。网络102可以用以在第一终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用第一终端设备101通过网络102与服务器103交互,以接收或发送消息等。第一终端设备101上可以安装有各种通讯客户端应用,例如无线接入点连接类应用、搜索类应用、数据存储类应用、数据读取类应用等等。第一终端设备101可以是硬件,也可以是软件。当第一终端设备101为硬件时,可以是支持连接无线接入点的各种终端设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当第一终端设备101为软件时,可以安装在上述所列举的终端设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。服务器103可以提供各种服务,例如服务器103中的服务器可以对第一终端设备101接收到的数据存储请求进行验证,在确定第一终端设备101以及所请求存储的数据满足存储条件后,对所请求存储的数据进行存储。需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实本文档来自技高网...

【技术保护点】
1.一种基于区块链的分布式离链数据存储方法,包括:/n初始化基于区块链的分布式数据存储系统,生成区块节点和存储节点;/n生成区块节点密钥和存储节点密钥,其中,密钥是由公钥和私钥组成的密钥对;/n接收第一终端发送的数据存储请求,所述数据存储请求包括待存储数据、第一终端的公钥和第一终端的数据标签;/n生成待存储数据的加密数据,以及,将所述加密数据存储于有效存储节点中;/n确定头区块节点,生成头区块节点识别码;/n基于数据占有机制,确定目标存储节点;/n确定是否满足以下存储条件组:所述头区块节点识别码、所述第一终端的公钥和所述目标存储节点密钥验证成功;所述加密数据为有效数据;/n响应于确定满足所述存储条件组,对待存储的数据进行离链存储。/n

【技术特征摘要】
1.一种基于区块链的分布式离链数据存储方法,包括:
初始化基于区块链的分布式数据存储系统,生成区块节点和存储节点;
生成区块节点密钥和存储节点密钥,其中,密钥是由公钥和私钥组成的密钥对;
接收第一终端发送的数据存储请求,所述数据存储请求包括待存储数据、第一终端的公钥和第一终端的数据标签;
生成待存储数据的加密数据,以及,将所述加密数据存储于有效存储节点中;
确定头区块节点,生成头区块节点识别码;
基于数据占有机制,确定目标存储节点;
确定是否满足以下存储条件组:所述头区块节点识别码、所述第一终端的公钥和所述目标存储节点密钥验证成功;所述加密数据为有效数据;
响应于确定满足所述存储条件组,对待存储的数据进行离链存储。


2.根据权利要求1所述的方法,其中,
区块节点是指区块链的链上节点,运行底层区块链的协议;
存储节点是指区块链的离链节点,提供保存和维护用户数据的存储能力。


3.根据权利要求1所述的方法,其中,在接收第一终端发送的数据存储请求之前,所述方法还包括:
基于所述公钥注册请求,生成公钥和私钥密钥对;
将所生成的公钥和私钥密钥对发送至所述第一终端,以及对所生成的公钥进行加密;
基于公钥和私钥密钥对生成第一终端的数据标签。


4.根据权利要求1所述的方法,所述生成待存储数据的加密数据,并将所述加密数据存储于有效存储节点中,包括:
利用所述第一终端的公钥对待存储数据进行加密,生成加密数据;
将所述第一终端的数据标签添加到加密数据中;
基于每个存储节点,随机确定...

【专利技术属性】
技术研发人员:杜聪仵冀颖马志远魏颖昊孙文倩赵晶晶孔波徐磊
申请(专利权)人:国家市场监督管理总局信息中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1