数据持有证明方法、装置及系统制造方法及图纸

技术编号:19122246 阅读:24 留言:0更新日期:2018-10-10 05:16
本发明专利技术公开了一种数据持有证明方法、装置及系统,能够解决现有的个人存储没有数据持有证明机制的问题。方法包括:接收待验证文件的文件分片标识和Merkle可信树的根结点;查找与根结点对应的Merkle可信树以及与Merkle可信树的叶子结点对应的文件分片;将文件分片标识所对应的文件分片和文件分片的认证路径发送给验证方,以便验证方根据文件分片、认证路径和根结点对存储方进行数据持有验证;或者将根据预设算法对文件分片和文件分片标识进行运算得到的运算值、文件分片的认证路径发送给验证方,以便验证方根据该运算值、基于预设算法对文件分片标识进行运算的运算值、认证路径和根结点对存储方进行数据持有验证。本发明专利技术主要适用于基于区块链存储数据的场景。

【技术实现步骤摘要】
数据持有证明方法、装置及系统
本专利技术涉及数据处理
,特别是涉及一种数据持有证明方法、装置及系统。
技术介绍
区块链技术是一种去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代了目前互联网对中心服务器的依赖。目前,在区块链领域中,提供了一种个人存储功能,即用户可以将需要存储的文件存储到区块链的其他节点中,并为存储文件的节点给于奖励,例如付费。然而,个人是有可能作恶的,可能在没有存储的情况下声称已存储,从而导致他人利益受损。因此,如何提供一种数据持有证明机制是亟待解决的。
技术实现思路
有鉴于此,本专利技术提供的数据持有证明方法、装置及系统,能够解决现有的个人存储没有数据持有证明机制,导致他人利益受损的问题。本专利技术的目的是采用以下技术方案来实现的:第一方面,本专利技术提供了一种数据持有证明方法,所述方法包括:接收验证方发送的待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入存储方时,写入验证方的同一Merkle可信树的根结点;查找与所述根结点相对应的Merkle可信树以及与所述Merkle可信树的叶子结点对应的文件分片;将所述文件分片标识所对应的文件分片和所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的文件分片、认证路径和所述根结点对所述存储方进行数据持有验证;或者将根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值、所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。第二方面,本专利技术提供了一种数据持有证明方法,所述方法包括:将待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点发送给存储方,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入所述存储方时,写入验证方的同一Merkle可信树的根结点;接收所述存储方发送的所述文件分片标识所对应的文件分片和所述文件分片的认证路径,并根据所述文件分片、所述认证路径和所述根结点对所述存储方进行数据持有验证;或者,接收所述存储方发送的所述文件分片的认证路径、根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值,并根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。第三方面,本专利技术提供了一种数据持有证明装置,所述装置包括:接收单元,用于接收验证方发送的待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入存储方时,写入验证方的同一Merkle可信树的根结点;查找单元,用于查找与所述根结点相对应的Merkle可信树以及与所述Merkle可信树的叶子结点对应的文件分片;发送单元,用于将所述文件分片标识所对应的文件分片和所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的文件分片、认证路径和所述根结点对所述存储方进行数据持有验证;或者将根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值、所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。第四方面,本专利技术提供了一种数据持有证明装置,所述装置包括:发送单元,用于将待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点发送给存储方,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入所述存储方时,写入验证方的同一Merkle可信树的根结点;接收单元,用于接收所述存储方发送的所述文件分片标识所对应的文件分片和所述文件分片的认证路径;或者,接收所述存储方发送的所述文件分片的认证路径、根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值;验证单元,用于根据所述文件分片、所述认证路径和所述根结点对所述存储方进行数据持有验证;或者,根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。第五方面,本专利技术提供了一种存储介质,所述存储介质存储有多条指令,所述指令适用于由处理器加载并执行如第一方面所述的数据持有证明方法;或者加载并执行如第二方面所述的数据持有证明方法。第六方面,本专利技术提供了一种数据持有证明装置,所述装置包括存储介质和处理器;所述处理器,适于实现各指令;所述存储介质,适于存储多条指令;所述指令适于由所述处理器加载并执如第一方面所述的数据持有证明方法。第七方面,本专利技术提供了一种数据持有证明装置,所述装置包括存储介质和处理器;所述处理器,适于实现各指令;所述存储介质,适于存储多条指令;所述指令适于由所述处理器加载并执行如第二方面所述的数据持有证明方法。第八方面,本专利技术提供了一种数据持有证明系统,所述系统包括存入方、存储方和验证方;所述存入方,用于将文件和文件的Merkle可信树存入所述存储方,并将所述Merkle可信树的根结点和所述存储方的设备标识存入所述验证方;所述存储方包括第六方面所述的装置;所述验证方包括第七方面所述的装置。借由上述技术方案,本专利技术提供的数据持有证明方法、装置及系统,能够先由存入方将文件和文件的Merkle可信树存入存储方,并将该Merkle可信树的根结点存入验证方;然后由验证方将待验证文件的文件分片标识和待验证文件的Merkle可信树的根结点发送给存储方,存储方接收到这些信息后,查找与该根结点相对应的Merkle可信树以及与Merkle可信树的叶子结点对应的文件分片;最后将该文件分片标识所对应的文件分片和该文件分片的认证路径发送给验证方,以便验证方根据接收到的信息和本地存储的根结点对存储方进行数据持有验证;或者将根据预设算法对该文件分片和该文件分片标识进行运算得到的运算值、该文件分片的认证路径发送给验证方,以便验证方根据接收到的信息、基于预设算法对该文件分片标识进行运算得到的运算值和本地存储的根结点对存储方进行数据持有验证。通过本专利技术提供的数据持有证明机制,可以防止个人存储作恶,从而避免他人利益受损。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种数据持有证明方法的流程图;图2示出了本专利技术实施例提供的一种Merkle可信树的示例图;图3示出了本专利技术实施例提供的另一种数据持有证明方法的流程图;图4示出了本专利技术实施例提供的一种数据持有证明装置的组成框图;本文档来自技高网...
数据持有证明方法、装置及系统

【技术保护点】
1.一种数据持有证明方法,其特征在于,所述方法包括:接收验证方发送的待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入存储方时,写入验证方的同一Merkle可信树的根结点;查找与所述根结点相对应的Merkle可信树以及与所述Merkle可信树的叶子结点对应的文件分片;将所述文件分片标识所对应的文件分片和所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的文件分片、认证路径和所述根结点对所述存储方进行数据持有验证;或者将根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值、所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。

【技术特征摘要】
1.一种数据持有证明方法,其特征在于,所述方法包括:接收验证方发送的待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入存储方时,写入验证方的同一Merkle可信树的根结点;查找与所述根结点相对应的Merkle可信树以及与所述Merkle可信树的叶子结点对应的文件分片;将所述文件分片标识所对应的文件分片和所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的文件分片、认证路径和所述根结点对所述存储方进行数据持有验证;或者将根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值、所述文件分片的认证路径发送给所述验证方,以便所述验证方根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。2.一种数据持有证明方法,其特征在于,所述方法包括:将待验证文件的文件分片标识和所述待验证文件的Merkle可信树的根结点发送给存储方,所述根结点是存入方将所述待验证文件和所述待验证文件的Merkle可信树存入所述存储方时,写入验证方的同一Merkle可信树的根结点;接收所述存储方发送的所述文件分片标识所对应的文件分片和所述文件分片的认证路径,并根据所述文件分片、所述认证路径和所述根结点对所述存储方进行数据持有验证;或者,接收所述存储方发送的所述文件分片的认证路径、根据预设算法对所述文件分片和所述文件分片标识进行运算得到的运算值,并根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证。3.根据权利要求2所述方法,其特征在于,根据所述文件分片、所述认证路径和所述根结点对所述存储方进行数据持有验证包括:根据所述文件分片和所述认证路径计算Merkle可信树的根结点;将计算得到根结点与本地存储的根结点进行对比;若相同,则确定所述存储方存储有所述待验证文件。4.根据权利要求2所述方法,其特征在于,根据接收到的运算值、基于所述预设算法对所述文件分片标识进行运算得到的运算值、所述认证路径和所述根结点对所述存储方进行数据持有验证包括:根据所述接收到的运算值和基于所述预设算法对所述文件分片标识进行运算得到的运算值,计算存储在所述存储方侧的、与所述文件分片标识所对应的文件分片的运算值;根据所述文件分片的运算值和所述认证路径计算Merkle可信树的根结点;将计算得到根结点与本地存储的根结点进行对比;若相同,则确定所述存储方存储有所述待验证文件。5.一种数据持有证明装置,其特征在于,所述装置包括:接收单元,用于接收验证方发送的待验证文件的...

【专利技术属性】
技术研发人员:胡宇光殷宇辉
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1