基于区块链技术的数据审计方法、客户端及区块链云端设备技术

技术编号:15794908 阅读:166 留言:0更新日期:2017-07-10 10:23
本发明专利技术提供一种基于区块链技术的数据审计方法、客户端及区块链云端设备。所述方法包括:向区块链云端上传目标文件;动态生成所述目标文件的审计树;根据所述审计树,验证所述目标文件的有效性。本发明专利技术能够实时地验证存储文件的有效性,且验证过程消耗较少的网络带宽资源。

【技术实现步骤摘要】
基于区块链技术的数据审计方法、客户端及区块链云端设备
本专利技术涉及区块链
,尤其涉及一种基于区块链技术的数据审计方法、客户端及区块链云端设备。
技术介绍
我们将区块链技术作为基础,实现了去中心化且寓于分布式结构的数据存储、传输和证明的方法。在应用区块链技术进行数据存储备份的系统中,数据的审计是一个很重要的问题。目前的审计方法,基本上有两种,一种是通过实时回传数据进行审计的方法,很显然,这种方法对网络带宽的消耗比较大,实用性不强。第二种方法,将数据预先生成固定数量的校验值发布到网络进行验证,这种方法的缺陷是每一次验证都要消耗一个校验值,一旦校验值用完,将无法再进行有效验证。
技术实现思路
本专利技术提供的基于区块链技术的数据审计方法、客户端及区块链云端设备,能够实时地验证存储文件的有效性,且验证过程消耗较少的网络带宽资源。第一方面,本专利技术提供一种基于区块链技术的数据审计方法,所述方法应用于客户端,所述方法包括:向区块链云端上传目标文件;动态生成所述目标文件的审计树;根据所述审计树,验证所述目标文件的有效性。可选地,在所述向区块链云端上传目标文件之前,所述方法还包括:将所述目标文件进行切片,生成多个数据块;对各个数据块进行加密处理。可选地,所述向区块链云端上传目标文件包括:将经过加密处理后的各个数据块保存到区块链云端的各个宿主节点上。可选地,所述动态生成所述目标文件的审计树包括:为区块链中各个宿主节点上存放的数据块生成一个随机数;将生成的各数据块的随机数与所述数据块合并,生成一个哈希值;将生成的哈希值依次合并,生成一棵完整的审计树。可选地,所述根据所述审计树,验证所述目标文件的有效性包括:将生成的各数据块的随机数发送给对应的各宿主节点;接收所述各宿主节点发送的的哈希值;将接收到的哈希值与所述审计树中各宿主节点的哈希值进行对比;判断各数据块是否有效,当对比一致时,所述数据块有效;验证所述目标文件的有效性,当所有数据块有效时,所述目标文件有效。第二方面,本专利技术提供一种基于区块链技术的数据审计方法,所述方法应用于区块链云端,所述方法包括:接收客户端上传的目标文件;接收客户端发送的各数据块的随机数;将所述随机数与对应的数据块合并,计算各宿主节点的哈希值;向客户端发送所述各宿主节点的哈希值,以使客户端验证各数据块的有效性。第三方面,本专利技术提供一种客户端,所述客户端包括:上传单元,用于向区块链云端上传目标文件;生成单元,用于动态生成所述目标文件的审计树;第一验证单元,用于根据所述审计树,验证所述目标文件的有效性。可选地,所述客户端还包括:切片单元,用于在所述上传单元上传所述目标文件之前,将所述目标文件进行切片,生成多个数据块;加密单元,用于对所述切片单元生成的各个数据块进行加密处理。可选地,所述上传单元,用于将经过所述加密单元加密处理后的各个数据块保存到区块链云端的各个宿主节点上。可选地,所述生成单元包括:第一生成模块,用于为区块链中各个宿主节点上存放的数据块生成一个随机数;第二生成模块,用于将所述第一生成模块生成的各数据块的随机数与所述数据块合并,生成一个哈希值;第三生成模块,用于将所述第二生成模块生成的哈希值依次合并,生成一颗完整的审计树。可选地,所述第一验证单元包括:发送模块,用于将生成的各数据块的随机数发送给对应的各宿主节点;接收模块,用于接收所述各宿主节点发送的哈希值;第一对比模块,用于将接收到的哈希值与所述审计树中各宿主节点的哈希值进行对比;第一判断模块,用于判断各数据块是否有效,当所述第一对比模块对比的结果一致时,所述数据块有效;验证模块,用于验证所述目标文件的有效性,当所有数据块有效时,所述目标文件有效。第四方面,本专利技术提供一种区块链云端设备,所述区块链云端设备包括:第一接收单元,用于接收客户端上传的目标文件;第二接收单元,用于接收客户端发送的各数据块的随机数;计算单元,用于将所述随机数与对应的数据块合并,计算各宿主节点的哈希值;发送单元,用于向客户端发送所述各宿主节点的哈希值,以使客户端验证各数据块的有效性。本专利技术实施例提供的基于区块链技术的数据审计方法、客户端及区块链云端设备,通过客户端实时生成目标文件的审计树,再将审计树经特定处理后发布到区块链中,然后根据需要向宿主备份节点发起审计,从而使客户端、宿主端根据审计树完成存储文件的有效性验证。与现有技术相比,本专利技术能够随时发起对存储文件的验证,并且验证过程消耗较少的网络带宽资源。附图说明图1为本专利技术一实施例基于区块链技术的数据审计方法的流程图;图2为本专利技术另一实施例基于区块链技术的数据审计方法的流程图;图3为本专利技术生成审计树的实现方式示意图;图4为本专利技术一实施例客户端的结构示意图;图5为本专利技术一实施例客户端的生成单元的结构示意图;图6为本专利技术一实施例客户端的第一验证单元的结构示意图;图7为本专利技术一实施例客户端的结构示意图;图8为本专利技术一实施例区块链云端设备的结构示意图;图9为本专利技术一实施例区块链云端设备的结构示意图;图10为本专利技术一实施例区块链云端设备的第二验证单元结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种基于区块链技术的数据审计方法,所述方法应用于客户端,如图1所示,所述方法包括:S11、向区块链云端上传目标文件;S12、生成所述目标文件的审计树;S13、根据所述审计树,验证所述目标文件的有效性。本专利技术提供一种基于区块链技术的数据审计方法,所述方法应用于区块链云端,如图2所示,所述方法包括:S21、接收客户端上传的目标文件;S22、接收客户端发送的各数据块的随机数;S23、将所述随机数与对应的数据块合并,计算各宿主节点的哈希值;S24、向客户端返回所述随机数对应的各宿主节点的哈希值,以使客户端验证各数据块的有效性。本专利技术实施例提供的基于区块链技术的数据审计方法,通过客户端实时生成目标文件的审计树,再将审计树经特定处理后发布到区块链中,然后根据需要向宿主备份节点发起审计,从而使客户端、宿主端根据审计树完成存储文件的有效性验证。与现有技术相比,本专利技术能够随时发起对存储文件的验证,并且验证过程消耗较少的网络带宽资源。具体地,用户通过客户端向区块链云端上传一个文件,为了保证区块链云端保存的文件数据不被篡改,客户端需要经常验证文件的有效性。本专利技术提供的基于区块链技术的数据审计方法的具体实现步骤如下:步骤一、用户通过客户端上传一个文件,系统会把文件进行切片分割成若干个数据块,每个数据块单独加密,然后保存到互联网上其他用户贡献出来的硬盘空间上。其中,贡献硬盘空间的用户节点在此成为宿主节点。步骤二、客户端每次要验证文件时,为每个宿主节点(i)上存放的数据块(i)生成一个随机数(i),再将随机数(i)与数据块(i)合并,生成一个哈希值(i),然后依次合并,最终生成一颗完整的Merkle树(审计树),实现方式描述如图3所示。步骤三、客户端将Merkle树删除叶本文档来自技高网...
基于区块链技术的数据审计方法、客户端及区块链云端设备

【技术保护点】
一种基于区块链技术的数据审计方法,其特征在于,所述方法应用于客户端,所述方法包括:向区块链云端上传目标文件;动态生成所述目标文件的审计树;根据所述审计树,验证所述目标文件的有效性。

【技术特征摘要】
1.一种基于区块链技术的数据审计方法,其特征在于,所述方法应用于客户端,所述方法包括:向区块链云端上传目标文件;动态生成所述目标文件的审计树;根据所述审计树,验证所述目标文件的有效性。2.根据权利要求1所述的方法,其特征在于,在所述向区块链云端上传目标文件之前,所述方法还包括:将所述目标文件进行切片,生成多个数据块;对各个数据块进行加密处理。3.根据权利要求2所述的方法,其特征在于,所述向区块链云端上传目标文件包括:将经过加密处理后的各个数据块保存到区块链云端的各个宿主节点上。4.根据权利要求3所述的方法,其特征在于,所述动态生成所述目标文件的审计树包括:为区块链中各个宿主节点上存放的数据块生成一个随机数;将生成的各数据块的随机数与所述数据块合并,生成一个哈希值;将生成的哈希值依次合并,生成一棵完整的审计树。5.根据权利要求4所述的方法,其特征在于,所述验证所述目标文件的有效性包括:将生成的各数据块的随机数发送给对应的各宿主节点;接收所述各宿主节点发送的的哈希值;将接收到的哈希值与所述审计树中各宿主节点的哈希值进行对比;判断各数据块是否有效,当对比一致时,所述数据块有效;验证所述目标文件的有效性,当所有数据块有效时,所述目标文件有效。6.一种基于区块链技术的数据审计方法,其特征在于,所述方法应用于区块链云端,所述方法包括:接收客户端上传的目标文件;接收客户端发送的各数据块的随机数;将所述随机数与对应的数据块合并,计算各宿主节点的哈希值;向客户端发送所述各宿主节点的哈希值,以使客户端验证各数据块的有效性。7.一种客户端,其特征在于,所述客户端包括:上传单元,用于向区块链云端上传目标文件;生成单元,用于动态生成所述目标文件的审计树;第...

【专利技术属性】
技术研发人员:李春晓梁赓赵焕军张凤军武斌
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京,11

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

1