CN109684413A - 一种区块链存储证明方法、系统及电子设备和存储介质 - Google Patents

一种区块链存储证明方法、系统及电子设备和存储介质 Download PDF

Info

Publication number
CN109684413A
CN109684413A CN201811594949.3A CN201811594949A CN109684413A CN 109684413 A CN109684413 A CN 109684413A CN 201811594949 A CN201811594949 A CN 201811594949A CN 109684413 A CN109684413 A CN 109684413A
Authority
CN
China
Prior art keywords
cryptographic hash
data block
node
block
traceable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811594949.3A
Other languages
English (en)
Inventor
郭加楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Onething Technology Co Ltd
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201811594949.3A priority Critical patent/CN109684413A/zh
Publication of CN109684413A publication Critical patent/CN109684413A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请公开了一种区块链存储证明方法、系统及一种电子设备和计算机可读存储介质,该方法包括:确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。本申请提供的区块链存储证明方法,提高了区块链系统存储证明的可靠性。

Description

一种区块链存储证明方法、系统及电子设备和存储介质
技术领域
本申请涉及区块链技术领域,更具体地说,涉及一种区块链存储证明方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
区块链的存储系统备份文件时,文件拥有者将文件内容上传到云存储空间,并为存储者支付一定的代币。为了确保文件拥有者真实拥有文件,系统需要文件拥有者提供文件拥有证明。为了确保存储者在线、真实存储文件并且未篡改,存储者需要提供文件存储证明。
在现有技术中,系统要求存储者提交可信树(merkle树),根据该merkle树的信息推导出的根节点哈希值(roothash)和文件首次存储时的roothash一致则存储证明通过。
在上述方案中,如果存储者事先掌握了merkle树的构造规则,则可以只存储文件merkle树,而将真实文件删除,以此来欺骗系统的存储证明。可见现有技术中的存储证明可靠性较低。
因此,如何提高区块链系统存储证明的可靠性是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种区块链存储证明方法、系统及一种电子设备和一种计算机可读存储介质,提高了区块链系统存储证明的可靠性。
为实现上述目的,本申请提供了一种区块链存储证明方法,包括:
确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
其中,若所述可信树包括N个数据块,则所述第一可追溯节点哈希值的数量为其中,N为大于1的整数。
其中,还包括:
当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;
计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;
获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;
当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
其中,所述第二可追溯节点哈希值的数量为
其中,M为8。
为实现上述目的,本申请提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链存储证明程序,所述区块链存储证明程序被所述处理器执行时实现:确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
其中,所述区块链存储证明程序被所述处理器执行时还实现:当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
其中,所述电子设备为组成CDN网络或者区块链网络的节点。
为实现上述目的,本申请提供了一种区块链存储证明系统,包括:
确定模块,用于确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
接收模块,用于接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
第一计算模块,用于将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
判定模块,用于当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链存储证明程序,所述区块链存储证明程序被处理器执行时实现如上述区块链存储证明方法的步骤。
为实现上述目的,本申请提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述区块链存储证明方法。
通过以上方案可知,本申请提供的一种区块链存储证明方法,包括:确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
本申请提供的区块链存储证明方法,在存储证明时,系统随机指定一数据块,即第一目标数据块,存储者需要提供该第一目标数据块的数据和该第一目标数据块对应的可信树的第一可追溯节点的哈希值。第一目标数据块是系统随机指定的,存储者不仅需要提供可信树中的哈希值,还需提供第一目标数据块的数据,可见存储者必须真实存储了文件才可以通过验证,提高了区块链系统存储证明的可靠性。本申请还公开了一种区块链存储证明系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种区块链存储证明方法的流程图;
图2为本申请实施例公开的一种可信树的结构图;
图3为本申请实施例公开的另一种区块链存储证明方法的流程图;
图4为本申请实施例公开的另一种可信树的结构图;
图5为本申请实施例公开的一种区块链存储证明系统的结构图;
图6为本申请实施例公开的一种电子设备的结构图;
图7为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在现有的区块链存储证明方案中,存储者只需要提供可信树即可通过验证,可靠性较低。因此,在本申请中,系统随机指定第一目标数据块,存储者不仅需要提供可信树中的哈希值,还需提供第一目标数据块的数据,可见存储者必须真实存储了文件才可以通过验证,提高了区块链系统存储证明的可靠性。
本申请实施例公开了一种区块链存储证明方法,提高了区块链系统存储证明的可靠性。
参见图1,本申请实施例公开的一种区块链存储证明方法的流程图,如图1所示,包括:
S101:确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
本实施例的执行主体可以为区块链系统中的处理器,当然也可以为在区块链系统中单独设置的存储证明模块,在此不进行具体限定。在进行某个文件的存储证明时,区块链系统首先在该文件中随机指定一个数据块,即本步骤中的第一目标数据块,将该文件对应的可信树的根节点哈希值作为第一基准值,并向存储该文件的存储节点发送存储证明命令。
S102:接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
当存储节点接收到区块链系统的存储证明命令后,需要向区块链系统提供上述第一目标数据块的数据和可信树中可追溯节点的哈希值,根据该第一目标数据块的数据的哈希值和可追溯节点的哈希值可确定可信树的根节点哈希值。
可以理解的是,当第一目标数据块确定时,可信树中的可追溯节点也随之确定。若可信树包括N个数据块,则第一可追溯节点哈希值的数量为其中,N为大于1的整数。例如,如图2所示,文件A包括4个数据块,B1、B2、B3和B4,当第一目标数据块为B1时,可追溯节点为H2和H34。系统可以根据B1计算节点H1的哈希值,根据H1的哈希值和H2的哈希值计算节点H12的哈希值,根据H12的哈希值和H34的哈希值计算根节点哈希值。只有存储节点提供节点H2和H34的哈希值系统才能计算出根节点哈希值,因此,可追溯节点为H2和H34。
S103:将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
在本步骤中,区块链系统根据存储节点提供的第一目标数据块的数据,利用预设的哈希值算法计算其对应的哈希值,并根据该哈希值和存储节点提供的所有第一可追溯节点哈希值计算可信树的根节点哈希值,将该根节点哈希值作为第一校验值。
S104:当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
在本步骤中,当第一基准值与第一校验值一致时,判定存储节点校验成功,即当区块链系统中存储的可信树的根节点哈希值和根据存储节点提供的信息计算得到的根节点哈希值一致时,判定存储节点校验成功。
本申请实施例提供的区块链存储证明方法,在存储证明时,系统随机指定一数据块,即第一目标数据块,存储者需要提供该第一目标数据块的数据和该第一目标数据块对应的可信树的第一可追溯节点的哈希值。第一目标数据块是系统随机指定的,存储者不仅需要提供可信树中的哈希值,还需提供第一目标数据块的数据,可见存储者必须真实存储了文件才可以通过验证,提高了区块链系统存储证明的可靠性。
下面详细介绍本实施例提供的文件存储的过程,具体的:
参见图2,本申请实施例提供的另一种区块链存储证明方法的流程图,如图2所示,包括:
S201:当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;
在本实施例中,当接收到待存储的源文件时,将该源文件切割为M个数据块,例如图4时的B1-B8,即将文件B切割为8个数据块。可以理解的是,为后续步骤构建可信树,在本步骤中需要至少将源文件切割为2个数据块。
S202:计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;
在本步骤中,根据各数据块中的数据计算哈希值,并根据所有的哈希值构建源文件对应的可信树。例如,在图4中,分别计算数据块B1-B8的哈希值Hash(B1)-Hash(B8),将其分别存入节点H1-H8,并根据H1、H2中存储的哈希值计算节点H12中的哈希值Hash(H1+H2),根据H3、H4中存储的哈希值计算节点H34中的哈希值Hash(H3+H4),根据H12、H34中存储的哈希值计算节点H1234中的哈希值Hash(H12+H34),以此方式直到可信树构建完成,得到根节点哈希值Hash(H1234+H5678),将该根节点哈希值作为第二基准值,以便后续步骤对源文件的提供者进行验证。
S203:获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;
需要说明的是,为验证源文件的提供者真实拥有该源文件,需要该提供者提供源文件中的一个数据块(即第二目标数据块)的数据和第二可追溯节点哈希值,根据该第二目标数据块的数据的哈希值和第二可追溯节点的哈希值可计算可信树的根节点哈希值,即第二校验值。可以理解的是,如上述实施例介绍的,第二可追溯节点哈希值的数量为
例如,图4中第二目标数据块为B2,提供者不仅需要提供B2的数据,还需要提供可追溯节点H1、H34和H5678。区块链系统可以根据B2计算节点H2存储的哈希值Hash(B2),根据H1、H2的哈希值计算节点H12存储的哈希值Hash(H1+H2),根据H12和H34的哈希值计算节点H1234的哈希值,根据H1234和H5678的哈希值计算根节点哈希值,作为第二校验值。
S204:当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
在本步骤中,当第而基准值与第而校验值一致时,即根据源文件中的数据块构建的可信树的根节点哈希值和根据存储节点提供的信息计算得到的根节点哈希值一致时,判定源文件的提供者真实拥有该源文件,允许该提供者上传该源文件的元数据和数据。
下面对本申请实施例提供的一种区块链存储证明系统进行介绍,下文描述的一种区块链存储证明系统与上文描述的一种区块链存储证明方法可以相互参照。
参见图5,本申请实施例提供的一种区块链存储证明系统的结构图,如图5所示,包括:
确定模块501,用于确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
接收模块502,用于接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
第一计算模块503,用于将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
判定模块504,用于当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
本申请实施例提供的区块链存储证明系统,在存储证明时,系统随机指定一数据块,即第一目标数据块,存储者需要提供该第一目标数据块的数据和该第一目标数据块对应的可信树的第一可追溯节点的哈希值。第一目标数据块是系统随机指定的,存储者不仅需要提供可信树中的哈希值,还需提供第一目标数据块的数据,可见存储者必须真实存储了文件才可以通过验证,提高了区块链系统存储证明的可靠性。
在上述实施例的基础上,作为一种优选实施方式,若所述可信树包括N个数据块,则所述第一可追溯节点哈希值的数量为其中,N为大于1的整数。
在上述实施例的基础上,作为一种优选实施方式,还包括:
切割模块,用于当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;
构建模块,用于计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;
第二计算模块,用于获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;
提交模块,用于当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
在上述实施例的基础上,作为一种优选实施方式,所述第二可追溯节点哈希值的数量为
在上述实施例的基础上,作为一种优选实施方式,M为8。
本申请还提供了一种电子设备,该电子设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。该电子设备可以是组成CDN网络或者区块链网络的节点。
参见图6,本申请实施例提供的一种电子设备的结构图,如图6所示,可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装电子设备的应用软件及各类数据,例如区块链存储证明程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,实现上述任一实施例提供的区块链存储证明方法,例如执行区块链存储证明程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例在存储证明时,系统随机指定一数据块,即第一目标数据块,存储者需要提供该第一目标数据块的数据和该第一目标数据块对应的可信树的第一可追溯节点的哈希值。第一目标数据块是系统随机指定的,存储者不仅需要提供可信树中的哈希值,还需提供第一目标数据块的数据,可见存储者必须真实存储了文件才可以通过验证,提高了区块链系统存储证明的可靠性。
在上述实施例的基础上,作为优选实施方式,参见图7,所述电子设备还包括:
输入接口14,用于获取外部导入的计算机程序、参数和指令,经处理器12控制保存至存储器11中。该输入接口14可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘(Keyboard)、触控板或鼠标等。
显示单元15,用于显示处理器12处理的数据以及用于显示可视化的用户界面。该显示单元15可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口16,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图7仅示出了具有组件11-16以及区块链存储证明程序01的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种区块链存储证明方法,其特征在于,包括:
确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
2.根据权利要求1所述区块链存储证明方法,其特征在于,若所述可信树包括N个数据块,则所述第一可追溯节点哈希值的数量为其中,N为大于1的整数。
3.根据权利要求1或2所述区块链存储证明方法,其特征在于,还包括:
当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;
计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;
获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;
当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
4.根据权利要求3所述区块链存储证明方法,其特征在于,所述第二可追溯节点哈希值的数量为
5.根据权利要求3所述区块链存储证明方法,其特征在于,M为8。
6.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链存储证明程序,所述区块链存储证明程序被所述处理器执行时实现:确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
7.如权利要求6所述电子设备,其特征在于,所述区块链存储证明程序被所述处理器执行时还实现:当接收到待存储的源文件时,将所述源文件切割为M个数据块;其中,M为大于1的整数;计算所有所述数据块的哈希值,并根据所有所述哈希值构建可信树,将所述可信树的根节点哈希值作为第二基准值;获取用户终端提交的第二目标数据块和第二可追溯节点哈希值,并将根据所述第二目标数据块的哈希值和所有所述第二可追溯节点哈希值计算得到的根节点哈希值作为第二校验值;当所述第二基准值与所述第二校验值一致时,接收所述用户终端提交所述源文件的元数据。
8.根据权利要求6所述电子设备,其特征在于,所述电子设备为组成CDN网络或者区块链网络的节点。
9.一种区块链存储证明系统,其特征在于,包括:
确定模块,用于确定第一目标数据块和所述第一目标数据块的存储节点,并将所述第一目标数据块所在的可信树的根节点哈希值作为第一基准值;
接收模块,用于接收所述存储节点提交的所述第一目标数据块的数据和第一可追溯节点哈希值;
第一计算模块,用于将根据所述第一目标数据块的数据的哈希值和所有所述第一可追溯节点哈希值计算得到的根节点哈希值作为第一校验值;
判定模块,用于当所述第一基准值与所述第一校验值一致时,判定所述存储节点校验成功。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块链存储证明程序,所述区块链存储证明程序被处理器执行时实现如权利要求1至5任一项所述区块链存储证明方法的步骤。
CN201811594949.3A 2018-12-25 2018-12-25 一种区块链存储证明方法、系统及电子设备和存储介质 Pending CN109684413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811594949.3A CN109684413A (zh) 2018-12-25 2018-12-25 一种区块链存储证明方法、系统及电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811594949.3A CN109684413A (zh) 2018-12-25 2018-12-25 一种区块链存储证明方法、系统及电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN109684413A true CN109684413A (zh) 2019-04-26

Family

ID=66188280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811594949.3A Pending CN109684413A (zh) 2018-12-25 2018-12-25 一种区块链存储证明方法、系统及电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN109684413A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288445A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110300173A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 去中心化数据存储方法、验证方法、设备和存储介质
CN111414426A (zh) * 2020-03-26 2020-07-14 北京云图科瑞科技有限公司 一种基于区块链的数据处理方法及系统
CN111428277A (zh) * 2020-03-20 2020-07-17 中国建设银行股份有限公司 区块链数据的校验方法、装置及系统
CN112433986A (zh) * 2020-11-02 2021-03-02 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112907248A (zh) * 2021-03-25 2021-06-04 芝麻链(北京)科技有限公司 一种基于区块链的数据存储交易方法、交易系统
CN112968922A (zh) * 2021-01-19 2021-06-15 河北蜂之巢互联网技术有限公司 一种流数据存储的方法及流数据存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868369A (zh) * 2016-03-30 2016-08-17 电子科技大学 一种基于Merkle树结构的数据模型验证系统与方法
CN108664221A (zh) * 2018-05-11 2018-10-16 北京奇虎科技有限公司 一种数据持有证明方法、装置及可读存储介质
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN108737109A (zh) * 2018-05-11 2018-11-02 北京奇虎科技有限公司 数据持有证明方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868369A (zh) * 2016-03-30 2016-08-17 电子科技大学 一种基于Merkle树结构的数据模型验证系统与方法
CN108664221A (zh) * 2018-05-11 2018-10-16 北京奇虎科技有限公司 一种数据持有证明方法、装置及可读存储介质
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN108737109A (zh) * 2018-05-11 2018-11-02 北京奇虎科技有限公司 数据持有证明方法、装置及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288445A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110300173A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 去中心化数据存储方法、验证方法、设备和存储介质
CN110288445B (zh) * 2019-06-28 2024-03-05 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN111428277A (zh) * 2020-03-20 2020-07-17 中国建设银行股份有限公司 区块链数据的校验方法、装置及系统
CN111428277B (zh) * 2020-03-20 2023-08-18 中国建设银行股份有限公司 区块链数据的校验方法、装置及系统
CN111414426A (zh) * 2020-03-26 2020-07-14 北京云图科瑞科技有限公司 一种基于区块链的数据处理方法及系统
CN112433986A (zh) * 2020-11-02 2021-03-02 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112433986B (zh) * 2020-11-02 2023-07-07 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112968922A (zh) * 2021-01-19 2021-06-15 河北蜂之巢互联网技术有限公司 一种流数据存储的方法及流数据存储系统
CN112907248A (zh) * 2021-03-25 2021-06-04 芝麻链(北京)科技有限公司 一种基于区块链的数据存储交易方法、交易系统

Similar Documents

Publication Publication Date Title
CN109684413A (zh) 一种区块链存储证明方法、系统及电子设备和存储介质
CN110011788A (zh) 一种基于区块链的数据处理方法、系统及相关设备
CN104823187B (zh) 在移动计算设备上显示排序结果
CN109634523A (zh) 一种磁盘管理方法、系统及电子设备和存储介质
CN110135942A (zh) 产品推荐方法、装置及计算机可读存储介质
CN108446225A (zh) 模拟接口的创建装置、方法及计算机可读存储介质
CN108449313B (zh) 电子装置、互联网服务系统风险预警方法及存储介质
US9542458B2 (en) Systems and methods for processing and displaying user-generated content
CN113688923B (zh) 订单异常智能检测方法、装置、电子设备及存储介质
CN111414374B (zh) 一种区块链交易并发处理方法、装置及设备
CN111652278B (zh) 用户行为检测方法、装置、电子设备及介质
CN109413207A (zh) 一种文件上传方法、系统、装置及计算机可读存储介质
CN110363303B (zh) 智能分配模型训练内存方法、装置及计算机可读存储介质
CN110675017A (zh) 基于人工智能的绩效评价方法和装置
CN109801427A (zh) 一种随机数获得方法、装置、系统及存储介质
CN109544266A (zh) 产品数据推送方法、装置及计算机可读存储介质
CN110020528A (zh) 一种bmc启动方法、装置及电子设备和存储介质
CN109816330A (zh) 规则校验方法、装置、电子设备及计算机可读存储介质
CN110210211A (zh) 一种数据保护的方法和计算设备
CN109491962A (zh) 一种文件目录树管理方法及相关装置
CN113890712A (zh) 数据传输方法、装置、电子设备及可读存储介质
WO2018120726A1 (zh) 基于数据挖掘的建模方法、系统、电子装置及存储介质
CN107729523A (zh) 数据服务方法、电子装置及存储介质
US9430595B2 (en) Managing model checks of sequential designs
CN110032731A (zh) 企业经营范围判断方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210910

Address after: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 518052 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190426