CN109101572B - 基于区块链的存证方法、装置及服务器、存储介质 - Google Patents

基于区块链的存证方法、装置及服务器、存储介质 Download PDF

Info

Publication number
CN109101572B
CN109101572B CN201810787834.XA CN201810787834A CN109101572B CN 109101572 B CN109101572 B CN 109101572B CN 201810787834 A CN201810787834 A CN 201810787834A CN 109101572 B CN109101572 B CN 109101572B
Authority
CN
China
Prior art keywords
hash value
file
target
verified
block
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.)
Active
Application number
CN201810787834.XA
Other languages
English (en)
Other versions
CN109101572A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201810787834.XA priority Critical patent/CN109101572B/zh
Publication of CN109101572A publication Critical patent/CN109101572A/zh
Application granted granted Critical
Publication of CN109101572B publication Critical patent/CN109101572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种基于区块链的存证方法、装置及服务器、存储介质,其中方法包括:获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标文件的目标哈希值;根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链,存储所述区块链,可有效地对某个文件进行篡改验证。

Description

基于区块链的存证方法、装置及服务器、存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的存证方法、装置及服务器、存储介质。
背景技术
随着互联网技术的高速发展,可供用户选择的存储方式越来越多,而且大多的存储方式同时为用户提供了存储、读取和下载的功能。而在提供这些存储方式的同时,也需要考虑该存储方式的可靠性、扩展性和安全性,以及该存储方式的通信是否高效稳定等问题。
以现有的为用户提供的云存储为例,虽然为用户提供了一种快捷的存储方式,但由于没有对用户上传的文件做任何加密措施,所以,用户上传的文件有极大可能被篡改。
发明内容
本发明实施例提供了一种基于区块链的存证方法、装置及服务器、存储介质,可有效地对某个文件进行篡改验证。
第一方面,本发明实施例提供了一种基于区块链的存证方法,该方法包括:
获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标哈希值;
根据在N个预设时间间隔内获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链,存储所述区块链。
在一个实施例中,所述方法还包括:
根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块。
在一个实施例中,所述方法还包括:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的待验证哈希值;
从所述目标区块中确定出所述目标文件的关联哈希值组,并将所述待验证哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
根据所述待验证根哈希值和所述目标文件所在目标区块对应的前驱区块的验证哈希值,计算得到所述待验证文件的待验证验证哈希值;
根据所述待验证验证哈希值确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述根据所述待验证验证哈希值确定所述待验证文件和所述目标文件是否一致,包括:
从发布的验证哈希值集合中获取所述目标区块的验证哈希值,并将所述待验证验证哈希值和所述目标区块的验证哈希值进行对比;
当所述待验证验证哈希值和所述目标区块的验证哈希值相同时,确定所述待验证文件和所述目标文件一致;
当所述待验证验证哈希值和所述目标区块的验证哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述方法还包括:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致,包括:
从所述目标区块中获取所述目标区块对应的加密关系树的根哈希值,并将所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值进行对比;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值相同时,判断所述目标区块对应的加密关系树的根哈希值是否被篡改;
若未被篡改,则确定所述待验证文件和所述目标文件一致;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述判断所述目标区块对应的加密关系树的根哈希值是否被篡改,包括:
获取参考验证哈希值集合,所示参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
在一个实施例中,所述目标哈希值和所述加密关系树用于确定出与所述目标哈希值相关的关联哈希值组,所述从所述目标区块中确定出所述目标文件的关联哈希值组,包括:
从所述目标区块中获取所述加密关系树和所述目标文件的目标哈希值;
从所述加密关系树获取所述目标哈希值的关联哈希值,将获取到的关联哈希值确定为所述目标文件的关联哈希值组,所述关联哈希值和所述目标哈希值进行计算能得到所述加密关系树的根哈希值。
第二方面,本发明实施例提供了一种基于区块链的存证装置,该装置包括:
获取单元,用于获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
生成单元,用于根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标哈希值;
形成单元,用于根据在N个预设时间间隔内获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链;
存储单元,用于存储所述区块链。
在一个实施例中,所述获取单元,还用于根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块。
在一个实施例中,所述装置还包括:获取单元和确定单元。
获取单元,用于在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
确定单元,用于从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
所述计算单元,还用于将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
所述计算单元,还用于根据所述待验证根哈希值和所述目标文件所在目标区块对应的前驱区块的验证哈希值,计算得到所述待验证文件的待验证验证哈希值;
所述确定单元,还用于根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述确定单元根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致,具体用于:
从发布的验证哈希值集合中获取所述目标区块的验证哈希值,并将所述待验证哈希值和所述目标区块的验证哈希值进行对比;
当所述待验证哈希值和所述目标区块的验证哈希值相同时,确定所述待验证文件和所述目标文件一致;
当所述待验证哈希值和所述目标区块的验证哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述获取单元,还用于在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
所述确定单元,还用于从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
所述计算单元,还用于将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
所述确定单元,还用于根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述确定单元根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致,具体用于:
从所述目标区块中获取所述目标区块对应的加密关系树的根哈希值,并将所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值进行对比;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值相同时,判断所述目标区块对应的加密关系树的根哈希值是否被篡改;
若未被篡改,则确定所述待验证文件和所述目标文件一致;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述确定单元判断所述目标区块对应的加密关系树的根哈希值是否被篡改时的具体方式为:
获取参考验证哈希值集合,所述参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
在一个实施例中,所述确定单元从所述目标区块中确定出所述目标文件的文件交易记录,具体用于:
从所述目标区块中获取所述加密关系树和所述目标文件的目标哈希值;
从所述加密关系树获取所述目标哈希值的关联哈希值,所述获取到的关联哈希值组成所述目标文件的关联哈希值组;
将所述目标哈希值和所述关联哈希值组确定为所述目标文件的文件交易记录。
第三方面,本发明实施例提供了一种服务器,该服务器包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
在本发明实施例中,服务器从云盘中可获取哈希值集合,该哈希值集合包括在预设时间间隔内接收到的哈希值,该哈希值集合包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的,从而可根据该哈希值集合中的各个哈希值生成加密关系树,并生成和该目标文件相关的目标区块,则在将N个预设时间间隔内获取到的待存证文件的哈希值生成对应N个区块后,将该N个区块和该目标区块按照预设的连接关系形成区块链,并存储该区块链,其中,该待存证文件将自动存储在其所在区块控制的存储设备中,实现了对存证数据的实时监控,可以有效验证存储的存证数据是否已被篡改。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种私有链的中心化网络架构示意图;
图2是本发明实施例提供的一种堆叠式文件系统的框架示意图;
图3是本发明实施例提供的一种基于区块链的存证方法的示意流程图;
图4是本发明实施例提供的一种加密关系树的结构示意图;
图5a是本发明实施例提供的一种目标区块的结构示意图;
图5b是本发明实施例提供一种区块链的结构示意图;
图6是本发明另一实施例提供的一种基于区块链的存证方法的示意流程图;
图7是本发明实施例提供的一种生成验证哈希值的生成示意图;
图8是本发明实施例提供的一种基于区块链的存证装置的示意性框图;
图9是本发明实施例提供的一种服务器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的间隔。
区块链是一种可信任,不能篡改,不能抵赖的公共账本,且高度透明,因此能完全实现多边共信,解决信任问题,这些特性是区块链的核心竞争力。区块链主要有三种类型,一是以比特币、以太坊、EOS为代表的公有链;二是以超级账本为代表的联盟链;三是以公有链对应的私有链,如以太坊的私有链。广泛公认的私有链主要用于企业内部,私有链的一些规则也可以被机构改变,而目前私有链其实主要还局限于测试用途,在真实业务中由于安全性还存在一定问题,所以目前市场上还没有出现与用户业务应用直接相关的典型私有链应用。
去中心化一直是关于区块链应用的争议性问题,但去中心化并不是区块链技术的核心问题,而构建多方信任机制才是区块链要解决的核心问题。换言之,区块链并不一定要去中心化,真正关键的是怎样利用区块链特性解决信任问题。因此,只要能解决多方信任有一定安全性,“去中心化”并不是必要条件,只要有其应用场景,私有链同样能发挥作用,甚至在某些应用场景下,无法用公有链实现,这必然会限制区块链技术的广泛应用。
云盘具有容量大,运行稳定,使用方便的特性,目前已经有广泛的应用,很多行业用户出于数据安全或者隐私考虑,不会使用基于互联网的云盘,例如像金融、电力、政府和大型企业等行业的用户都选择使用私有云盘。行业用户保存在云盘上的文件是否将来经得起审计,或者大型企业商业秘密能否确权,以便在将来需要时,能够对存储在私有云盘上的文件进行完整性验证,这些方面的市场需求都在不断增强,由此引发了在私有云盘上实现自动存证的需求。通常对于云盘上存储的文件,如果将来要作为证据使用,必然需要实现数据完整性验证机制,区块链技术构建的可信任,不能篡改等特性天然具有这些特性。因此可利用区块链技术来解决云盘数据的存证问题。另外,对于很多与互联网隔绝的行业用户而言,如何在一个相对封闭的内部网络中运用区块链技术也是一个问题。
现有的云盘绝大多数是基于分布式文件系统实现,其目的是为了实现高性能、高可靠性的文件存储及共享。如果要实现以文件为单位的存证,对于文件数量较多的情况下,单纯利用现有的公有链方式,性能很难得到保证。而且,对于存证后的数据验证过程而言,往往并不要求立即得到验证,而是在将来的某个时间,才需要对这些已经存储在云盘上的数据进行完整性验证,所以对实时验证的要求并不严格。
因此,在本发明实施例中提出的一种基于私有链的存证云盘,在现有云盘的基础上加入了区块链技术,利用区块链的可信任、不可篡改性来保证文件完整性,并以离线监督的方式来让中心化的私有链变成可信任的第三方。由于中心化系统,与计算技术可以得到充分利用,性能上也可以得到保障,那些内外网隔离或者对数据隐私等安全性要求较高的行业用户则可以使用私有云盘,并结合私有链技术,实现对私有云盘的电子数据存证。在本发明实施例中,基于区块链的存证方法通过与区块链技术的结合,再配合默克尔树的认证机制,可实现对存证文件的保全,有效识别出被篡改的文件,保证举证文件(即待验证文件)的可信度,在本发明实施例中提及的加密关系树可以是默克尔树,也可以是其他具有认证机制的二叉树。
其中,本发明实施例涉及的区块款私有链结构,并不是去中心化的结构,而是采用了中心化的方式,在该私有链中,有一个中心化的审计中心负责记账(Center based partyauditor,CPA),总账本存储在CPA的中心化服务器集群上,用户将文件上传到云盘时,云盘的安全文件系统会自动进行存证处理。云盘上的数据在存证的过程中,只保证一条与待存证文件相关的文件交易记录(File transaction records,FIR),通过中心化甚至是云服务器架构的方式,能够实现大数量文件的并发存证访问需求,并通过离线监督的共识机制,实现对CPA账本验证机制,进而实现全网共识。
在一个实施例中,可参见如图1所示的私有链的中心化网络架构,在该中心化网络中,由CPA负责记账,故该私有链没有竞争记账机制,用户上传的文件(即待存证文件)存储在云盘服务器集群中。文件在云盘上存储时,经过分布式安全文件系统进行透明处理,安全文件系统对文件进行透明处理时,内核线程以客户/服务器(Client/Server,C/S)模式独立通过网络通讯协议(Transmission Control Protocol/Internet Protocol,TCP/IP)与CPA中心进行交互,完成存证处理。每个服务器都存有一定数量的文件,CPA与云服务器通过网络交互数据,进行存证与验证的相关操作。
本发明实施例提出的一种基于区块链的存证方法可应用于云盘存证系统,该云盘存证系统由一个或多个服务器搭建而成,该云盘存证系统包括文件存储功能和文件存证功能。其中,可参见如图2所示的堆叠式文件系统的架构图,通过在云盘中搭建堆叠式文件系统来与CPA进行网络数据的交互和哈希值的计算。通过Linux的虚拟文件系统(VirtualFile System,VFS)机制,可将堆叠式文件系统与磁盘文件系统有效结合而组成云盘。当用户通过云盘保存数据时,VFS将数据传递到堆叠式文件系统处,由堆叠式文件系统与CPA建立通信,将相关数据发送到CPA,并最终存储在磁盘文件系统的数据会经过加密处理和完整性处理,使得保存在磁盘上的数据是加密的,并且保存有文件完整性信息,而这一系列操作对于用户来说是透明的。
在云盘中搭建如图2所述的堆叠式文件系统架构后,当用户经过认证上传文件到云盘后,云盘通过存证进程将文件数据传递到内核层,内核层首先用VFS接收数据,再将接收的数据发送到堆叠式文件系统,该堆叠式文件系统以数据块为单位计算出整个文件的哈希值并回传给CPA,并等待接收该文件的文件交易记录。CPA在接收到文件哈希值后暂存于内存中,并将同一时间间隔内到达的文件哈希值组成默克尔数(一种加密关系树),每个文件哈希同时作为交易记录保存在本区块交易记录的数据区域。当堆叠式文件系统接收完最新区块的所有文件交易记录后,将文件交易记录保存在磁盘上,可供验证者查看。
在一个实施例中,对待验证文件进行验证的流程核心有两点,一是在CPA上的区块链中查找某一时间内所有文件的默克尔数根节点,以证明该文件被存证过;二是依据文件交易记录重新计算待验证文件的默克尔根节点,以证明文件自存证时间以来未被篡改过。
请参见图3,是本发明实施例提供的一种基于区块链的存证方法的示意流程图,如图3所示,该方法可包括:
S301,获取哈希值集合,该哈希值集合包括在预设时间间隔内接收到的哈希值,该哈希值集合包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的。
在一个实施例中,服务器可同时从一个或多个云盘中获取待存证文件的哈希值,在同一时间间隔获取的哈希值组成该哈希值集合,云盘在接收到任一待存证文件时,可对其进行哈希计算得到该待存证文件的哈希值,服务器可将在预设时间间隔内获取得到多个哈希值确定为哈希值集合。其中,云盘计算待存证文件哈希值具体可包括:对任一待存证文件进行数据划分以得到该待存证文件的多个数据块,并计算各个数据块的哈希值;根据所述各个数据块的哈希值生成文件关系树;计算所述文件关系树的根节点对应的根哈希值,所述根哈希值即为所述待存证文件的哈希值。其中,在云盘对任一待存证文件进行数据划分时,可根据云盘计算数据块哈希值时的计算能力进行数据划分;也可根据CPA存储待存证文件的相关存证数据时的存储能力进行数据划分;此外,该云盘还可预设对待存证文件进行数据划分的方式,并按照预设划分方式对任一待存证文件进行数据划分。
其中,该服务器获取的哈希值集合中包括在预设时间间隔内接收到的哈希值,该哈希值集合包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的。目标文件的提出主要用于方便在本发明实施例后续生成区块链以及相关文件验证时进行方案的说明。在一个实施例中,在云盘计算得到待存证文件的哈希值之后,可直接将该待存证文件的哈希值发送到服务器,或者将该待存证文件的哈希值进行存储,以使得服务器在进行存证处理时从云盘中获取存储的待存证文件的哈希值。
其中,该预设时间间隔可根据服务器接收的哈希值集合包括的哈希值数量进行动态调整,例如该预设时间间隔可以为1s、5s甚至1分钟、10分钟等。或者,该预设时间间隔也可以为预设时刻,例如该预设时间间隔也可以为18点、11点等,在本发明实施例中不作限定。
S302,根据该哈希值集合中的各个哈希值生成加密关系树,并生成和该目标文件相关的目标区块。
在一个实施例中,目标区块与加密关系树相对应,并至少记录了该加密关系树和目标文件的目标哈希值,该目标哈希值和该加密关系树能确定出与该目标哈希值相关的关联哈希值组,并可进一步确定该目标文件的文件交易记录,其中,该文件交易记录包括目标哈希值和该关联哈希值组。其中,确定出与该目标哈希值相关的关联哈希值组具体可包括:从目标区块中获取加密关系树和目标文件的目标哈希值;从而可从加密关系树中获取该目标哈希值的关联哈希值,该获取到的关联哈希值组成该目标文件的关联哈希值组。
由于服务器可将在预设时间间隔内获取到的多个哈希值作为同一哈希值集合,因此如果将处于同一哈希值集合中的不同哈希值作为叶子节点,那么对该叶子节点进行计算后可得到关于该哈希值集合的加密关系树(默克尔树)。在一个实施例中,处于同一哈希值集合中的各个哈希值将存储在同一区块(如上述的目标区块)中,并且,服务器可对接收到的各个待存证文件进行加密后存储在云盘中,或者还可将处于同一哈希值集合中的各个哈希值对应的待存证文件加密后存储在该区块控制的存储设备上。
所述关联哈希值组是根据加密关系树和该目标文件的目标哈希值确定出来的,关联哈希值组和该目标哈希值进行哈希计算可以得到目标区块记录的加密关系树的根哈希值,该关联哈希值组包括该加密关系树的中间节点对应的中间哈希值、和在该加密关系树中与该目标哈希值对应的叶子节点处于相邻位置的相邻叶子节点所对应的相邻哈希值,其中,该相邻哈希值、该目标哈希值和该中间哈希值进行哈希计算能得到该加密关系树对应的根节点的根哈希值。
在一个实施例中,根据哈希值集合中的各个哈希值生成加密关系树的结构示意图如图4所示,h2为目标文件经过哈希计算后得到的目标哈希值,h1、h3-h8为和目标哈希值h2处于同一哈希值集合中的其他哈希值。在该加密关系树中,h1-h8对应的节点为该加密关系树的叶子节点,每两个相邻叶子节点对应的哈希值进行计算后可得到一个中间节点的哈希值,例如h1和h2对应的哈希值可计算得到一个中间节点对应的哈希值t1。而且每两个相邻中间节点对应的哈希值还可继续进行计算,直到得到该加密关系树的根节点对应的根哈希值R1。在如图所示的加密关系树中,目标哈希值h2对应的关联哈希值组为h1、t2和t4,则该目标文件的文件交易记录包括:目标哈希值h2和关联哈希值组h1、t2和t4。
本发明实施例提供了如图5a所示的一种目标区块的结构示意图,包括区块头和区块体两部分。在一个实施例中,区块头可包括加密关系树中的根节点对应的根哈希值以及目标区块的验证哈希值,在另一实施例中,该区块头还可包括前驱区块的前块哈希值,其中,该前块哈希是将前驱区块进行哈希计算后得到的该前驱区块的区块哈希,该区块头的其详细结构可参见表1:
表1
Figure BDA0001733539980000121
其中,私有链的每个区块的交易记录的数量可以不同,区块头中的时间间隔T代表了加密关系树的规模,当每一个存证请求到达CPA时,可把同一时间间隔内到达CPA的存证请求都当做同时到达,加密关系树的每个叶子节点代表了一个存证文件的哈希值,在T时间间隔内到达的所有哈希值都通过加密关系树关联起来,该加密关系树的根哈希值保存在区块头中。最后记录在区块头中的时间戳是在T时间结束时的时间,该时间间隔T既表示了本区块交易记录的数量,同时也表示了CPA的存证性能,时间间隔T越大,则CPA的存证并发处理能力则越大。前一个区块的哈希值,会被保存在后一个区块的区块头里,整个区块链的结构可如图5b所示,在如图所示的区块中包括的加密关系树,叶子节点文件1、文件2、文件3和文件4表示的是根据文件1、文件2、文件3和文件4进行哈希计算后得到的哈希值。其中,该接收时间戳可由和本端服务器相关联的时间服务器计算得出,也可由本端服务器提供的定时器计算得出。
S303,根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将该N个区块和该目标区块按预设连接关系形成区块链,存储该区块链。
在N个不同的预设时间间隔中获取到的待存证文件的哈希值可形成N个不同的哈希值集合,根据该N个不同的哈希值集合中的哈希值可对应生成N个区块,将该N个区块和目标区块按照预设连接关系可形成区块链。在一个实施例中,将目标区块和N个区块相连形成区块链的具体方式包括:从目标区块的区块头中确定前驱区块的前块哈希值;根据该前块哈希值从N个区块中确定出该目标区块的前驱区块;从而在确定出每个区块的前驱区块后确定所有区块的连接顺序,并按照预设的连接关系进行连接形成区块链。
区块链中各个区块的验证哈希值是根据该区块的前驱区块的验证哈希值和当前区块的加密关系树的根节点对应的根哈希值计算得到的,处于同一区块链上的各个区块的验证哈希值组成验证哈希值集合。在一个实施例中,计算得到该区块链中第一个区块的验证哈希值对应的前驱区块的验证哈希值(参考哈希值)是随机生成的,以使得该创世区块可确定出其验证哈希值。
如果目标区块的前驱区块的验证哈希值为H1,该目标区块的加密关系树的根节点对应的根哈希值为R1,则将该前驱区块的验证哈希值H1和该根哈希值R1进行哈希计算可得到该目标区块的验证哈希值H2,在得到该区块链中每个区块对应的验证哈希值之后,可将该区块链中的每个区块的验证哈希值发布到现有区块链公链、有一定权威性的期刊、报纸和/或网站上,以确保在后续对待验证文件进行验证时所获取的验证哈希值的可靠性,也同时确保了发布的最新区块的验证哈希值不被篡改,任何用户都可以通过验证算法来验证上传文件的完整性,使系统“透明化”,在用户都可验证文件完整性的前提下,私有链即实现了不可篡改的特性,使本不受信任的私有链网络变得可信任。在验证私有链的可信度时,可给定任意两个时刻T0的验证哈希值和T1的验证哈希值,并重新计算对区块链上T0和T1时间间隔内的验证哈希进行计算,如果与公布的T1时刻的哈希一致,则任务CPA是可信的,或者说实现了全网共识在。
或者,在公布验证哈希时,为了减小验证的计算量,也可在公布验证哈希时,不直接公布验证哈希,而是采用将T0和T1时刻内的验证哈希以关系加密树的方式计算出根节点,并将该根节点对应哈希值公布出来或者进入公链的方式。
在本发明实施例中,服务器可从云盘中获取哈希值集合,该哈希值集合包括在预设时间间隔内接收到的哈希值,该哈希值包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的,从而可根据该哈希值集合中的各个哈希值生成加密关系树,并生成和该目标文件相关的目标区块,则在将N个预设时间间隔内获取到的待存证文件的哈希值生成对应N个区块后,将该N个区块和该目标区块按照预设的连接关系形成区块链,并存储该区块链,其中,该待存证文件将自动存储在其所在区块控制的存储设备中,实现了对存证数据的实时监控,可以有效验证存储的存证数据是否已被篡改。
请参见图6,是本发明另一实施例提供的一种基于区块链的存证方法的示意流程图,如图6所示,该方法主要用于验证文件的可靠性(即判断举证文件的可靠性),其中,该方法可包括:
S601,获取哈希值集合,该哈希值集合包括在预设时间间隔内接收到的哈希值,该哈希值集合包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的。
在一个实施例中,在对待存证文件集合中的待存证文件进行哈希计算时,可采用SHA-1、SHA-224、SHA-256、SHA-384和SHA-512等哈希算法,在对上传文件进行加密时可采用频率最快的SHA-256算法,以保证系统的性能,在另一实施例中,在生成区块链时可采用复杂度较高的SHA-284、SHA-512算法,以确保区块链的安全性。
S602,根据该哈希值集合中的各个哈希值生成加密关系树,并生成和该目标文件相关的目标区块。
在一个实施例中,步骤S602的具体实施方式可参见上述实施例中的步骤S302,在此不再进行赘述。
S603,根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将该N个区块和该目标区块按预设连接关系形成区块链,存储该区块链。
在一个实施例中,加密关系树对应根节点的根哈希值可根据该加密关系树中部分叶子节点和部分中间节点对应的哈希值计算得出,而无需根据该加密关系树中所有非根节点对应的哈希值计算得出该加密关系树的根哈希值,而且,根据该部分叶子节点和部分中间节点对应的哈希值计算出的根哈希值的正确性也比较高,也就是说,在确定出一目标哈希值之后,根据目标哈希值和该目标哈希值相关的关联哈希值进行哈希计算得出的加密关系树的根哈希值的可靠性很高,即可将从加密关系树中获取的目标哈希值的关联哈希值作为目标文件的关联哈希值组。
在形成包括目标区块的区块链后,还可根据参考哈希值和形成的区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合,并将所述验证哈希值集合中的验证哈希值进行发布,以使得所有相关用户都能进行查阅,实现了对验证哈希值的实时监测,而且在后续执行对待验证文件进行验证的步骤时,可基于判断待验证文件对应的待验证哈希值和目标区块的验证哈希值是否一致来实现对待验证文件的验证过程,从而可确保验证过程的可信度。在一个实施例中,由于验证哈希值的计算是基于大量的可能与存储用户没有任何关系的其他用户上传的文件的哈希值共同计算得到的,因此上传待验证文件的用户即使知道目标文件对应的目标区块的验证哈希值,也不可能知道目标文件对应的目标区块中的其他文件的哈希值,也就确保了目标文件相关哈希值信息的安全性,从而保证了在执行后续对待验证文件进行验证时结果的可信度。
在一个实施例中,如果在对待验证文件进行验证时,直接将该待验证文件的哈希值和该目标文件的目标哈希值进行对比,虽然也可以完成对待验证文件是否与目标文件一致的验证,但是,存在泄漏目标文件相关信息的风险,因此,在本发明实施例采用将待验证文件的哈希值进行计算得到待验证哈希值之后再和目标区块的验证哈希值进行对比的方法,实现对该待验证文件的验证。
上述验证哈希值集合中包括了在区块链上每个区块对应的验证哈希值,可参见如图7所示的一种生成验证哈希值的生成示意图,目标区块的验证哈希值为H2,在生成该目标区块的验证哈希值H2时,可先从如图5b所示的目标区块的区块头中确定出该目标区块的前块哈希值X1,并根据该前块哈希值X1确定出该目标区块的前驱区块,从而可从该前驱区块中获取该前驱区块的验证哈希值H1,再从如图5b所示的目标区块的区块体中确定出所述目标区块的加密关系树,则可获取得到该加密关系树的根节点对应的根哈希值R2,该目标区块的验证哈希值H2是将该前驱区块的验证哈希值H1与该根哈希值R2进行哈希计算后得到的。在一个实施例中,由于区块链中第一个区块没有前驱区块,为了生成该第一个区块的验证哈希值H1,可为该区块自动生成用于计算得到其验证哈希值H1的参考哈希值IV,那么将所述参考哈希值IV和所述第一个区块的加密关系树的根节点对应的根哈希值R1进行计算可得到该第一个区块的验证哈希值H1。
S604,获取和目标文件关联的待验证文件的哈希值。
所述待验证文件与所述目标文件关联是指,该待验证文件可能是所述目标文件本身,或者是已经对目标文件进行了篡改后得到的一个文件。后续执行的步骤主要是为了判断出该待验证文件是否就是目标文件或者是目标文件被篡改后的文件。对待验证文件的哈希值的计算所使用的哈希算法,与目标文件被存储时所使用的哈希算法相同。在一个实施例中,可以通过待验证文件的文件名、存储用户的用户标识、存储的时间戳等文件参数与目标文件的文件参数做比较来确定待验证文件关联的目标文件,如果待验证文件的文件参数与目标文件的文件参数相同,则认为待验证文件与目标文件关联,后续以区块链中所述目标文件对应的区块来对待验证文件进行是否被篡改的验证,即验证待验证文件是否与目标文件完全一致。
S605,从该目标区块中确定出该目标文件的文件交易记录,该文件交易记录包括:目标哈希值和关联哈希值组,并将该待验证文件的哈希值和该关联哈希值组进行哈希计算得到待验证根哈希值。
在确定目标哈希值之后,可进一步从目标区块中确定出该目标文件的关联哈希值组,从而将该待验证哈希值和该关联哈希值组进行哈希计算得到待验证根哈希值。在一个实施例中,从目标区块中确定出该目标文件的关联哈希值组可先获取该目标区块的加密关系树和该目标文件的目标哈希值,从而可将该目标哈希值和该加密关系树进行哈希计算得到该目标文件的关联哈希值组。
在得到该待验证根哈希值之后,可根据该待验证根哈希值和目标区块对应的加密关系树的根哈希值,确定该待验证文件和目标文件是否一致,具体包括:从目标区块中获取该目标区块对应的加密关系树的根哈希值,并将该待验证根哈希值和该目标区块对应的加密关系树的根哈希值进行对比;当该待验证哈希值和该目标区块对应的加密关系树的根哈希值相同时,判断该目标区块对应的加密关系树的根哈希值是否被篡改,若未被篡改,则确定该待验证文件和该目标文件一致;当该待验证哈希值和该目标区块对应的加密关系树的根哈希值不同时,确定该待验证文件和该目标文件不一致。
在一个实施例中,为了防止目标区块对应的加密关系树的根节点被篡改而不能对待验证文件进行正确验证,因此在确定待验证根哈希值和该目标区块对应的加密关系树的根哈希值相同时,还需进一步判断该目标区块对应的加密关系树的根哈希值是否被篡改,其中,判断该目标区块对应的加密关系树的根哈希值是否被篡改,具体可包括:获取参考验证哈希值集合,该参考验证哈希值集合包括:从该验证哈希值集合中获取的一个或多个验证哈希值;根据该参考验证哈希值集合、该参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对该目标区块对应的加密关系树的根哈希值进行验证,以判断该目标区块对应的加密关系树的根哈希值是否被篡改。
根据该参考验证哈希值集合、该参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对该目标区块对应的加密关系树的根哈希值进行验证,以判断该目标区块对应的加密关系树的根哈希值是否被篡改,具体可包括:从参考验证哈希值集合中获取目标区块对应的前驱区块的验证哈希值,并确定该目标区块对应加密关系树的根哈希值;将该目标区块对应加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算;若计算结果和发布的目标区块的验证哈希值一致,则说明该目标区块对应的加密关系树的根哈希值未被篡改;若计算结果和发布的目标区块的验证哈希值不一致,则说明该目标区块对应的加密关系树的根哈希值已被篡改。
可参见如图7所示的一种生成验证哈希值的生成示意图,如果目标文件A所在目标区块对应的加密关系树的根哈希值为R2,在判断该目标区块对应的加密关系树的根哈希值R2是否被篡改时,可获取得到参考验证哈希值集合Y,该参考验证哈希值集合Y例如可包括H1、H2和H3,则可从参考验证哈希值集合Y中获取目标区块的前驱区块的验证哈希值H1,并将H1和R2进行哈希计算,如果计算结果等于发布的目标区块的验证哈希值H2,则说明目标区块对应的加密关系树的根哈希值R2没有被篡改;如果计算结果不等于发布的目标区块的验证哈希值H2,则说明目标区块对应的加密关系树的根哈希值R2已被篡改。
如果待验证文件(举证文件)a的哈希值为p1,和该待验证文件a相关联的目标文件A的目标哈希值为h2,且根据该目标文件A所在待存证文件集合生成的加密关系树如图4所示,则根据该加密关系树以及该目标哈希值h2确定出与目标哈希值h2对应的关联哈希值组为x,该关联哈希值组x中包括哈希值h1、t2和t4。进一步地,在对待验证文件a进行验证阶段,可将待验证哈希值p1和该关联哈希值组x进行计算得到该待验证文件a的待验证根哈希值R’,在得到该待验证根哈希值R’后,可从目标区块中获取该目标区块对应的加密关系树根哈希值R,并将R’和R进行对比,当R’等于R时,需进一步判断R是否被篡改,如果确定R未被篡改,则确定该待验证文件a和目标文件A一致,即该待验证文件a就是没有被修改(篡改)的目标文件A;当R’不等于R时,则说明该待验证文件a和该目标文件A不一致,也就是说该待验证文件a不是该目标文件A或者是被修改后的目标文件A。
在一个实施例中,在得到该待验证根哈希值之后,还可进一步将该待验证根哈希值进行计算得到该待验证文件的待验证哈希值,再执行步骤S606。在一个实施例中,通过将待验证文件的哈希值经过两次哈希计算得到该待验证文件的待验证哈希值,从而可不暴露该区块链中任何和待存证文件相关的哈希值数据就可以确定出待验证文件是否与目标文件完全一致,进一步加强了对待存证文件信息的保密。
S606,根据待验证哈希值确定该待验证文件和该目标文件是否一致。
在一个实施例中,在确定出该待验证文件对应的待验证哈希值之后,可获取目标区块的验证哈希值,并将该待验证哈希值和该目标区块的验证哈希值进行对比,在该待验证哈希值和该目标区块的验证哈希值一致时,确定该待验证文件和目标文件一致,也就证明了待验证文件就是没有被篡改的目标文件,当该待验证哈希值和该目标区块的验证哈希值不一致时,确定该待验证文件和目标文件不一致,则说明该待验证文件不是该目标文件或者是被篡改后的目标文件。
如果确定出的待验证文件a的待验证根哈希值为R’,可进一步结合前驱区块的验证哈希值计算得到该待验证文件a的待验证哈希值H’,从而可将该待验证哈希值H’与发布的目标区块的验证哈希值H1进行对比,并在该H’等于H1时,确定该待验证根哈希值R’没有被篡改,也就可进一步确定该待验证文件a和该目标文件A一致,即该待验证文件a就是没有被修改(篡改)的目标文件A;当该H’不等于该H1时,确定该待验证根哈希值R’已经被篡改,由于待验证根哈希值R’是根据待验证文件a的哈希值结合关联哈希值组计算得到的,因此,确定待验证根哈希值R’被篡改也就确定该待验证文件a的哈希值被篡改,也就是说该待验证文件a和该目标文件A不一致,即该待验证文件a不是该目标文件A或者是被修改后的目标文件A。
此外,在计算得到待验证文件a的待验证根哈希值R’之后,还可根据文件交易记录在CPA保存的区块链中进行查询,如果找到则代表该待验证文件a被存证过,如果没有找到则说明其未被存证过。
在本发明实施例中,通过将该待验证文件的哈希值进行一次哈希计算得到待验证根哈希值,从而可通过将该待验证根哈希值和目标区块对应的加密关系树的根哈希值进行对比,确定待验证文件和目标文件是否一致;或者,也可通过将待验证文件的哈希值进行两次哈希计算,得到该待验证文件的待验证哈希值,从而可通过将该待验证文件的待验证哈希值和目标文件所在目标区块的验证哈希值进行对比,当该待验证哈希值和该目标区块的验证哈希值一致时,确定待验证文件就是没有被修改的目标文件;或者,当该待验证哈希值和该目标区块的验证哈希值不一致时,确定该待验证文件不是该目标文件或者是被修改后的目标文件,实现了对待验证文件是进行篡改验证。
请参见图8是本发明实施例提供的一种基于区块链的存证装置的示意性框图,如图8所示,该装置可包括:获取单元801、生成单元802、形成单元803和存储单元804。
获取单元801,用于获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
生成单元802,用于根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标哈希值;
形成单元803,用于根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链;
存储单元804,用于存储所述区块链。
在一个实施例中,所述获取单元801,还用于根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块。
在一个实施例中,所述装置还包括:计算单元805和确定单元806。
所述获取单元801,用于在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
确定单元806,用于从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
计算单元805,用于将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
所述计算单元805,还用于根据所述待验证根哈希值和所述目标文件所在目标区块对应的前驱区块的验证哈希值,计算得到所述待验证文件的待验证验证哈希值;
所述确定单元806,还用于根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述确定单元806根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致,具体用于:
从发布的验证哈希值集合中获取所述目标区块的验证哈希值,并将所述待验证哈希值和所述目标区块的验证哈希值进行对比;
当所述待验证哈希值和所述目标区块的验证哈希值相同时,确定所述待验证文件和所述目标文件一致;
当所述待验证哈希值和所述目标区块的验证哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述获取单元801,还用于在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
所述确定单元806,还用于从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
所述计算单元805,还用于将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
所述确定单元806,还用于根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述确定单元806根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致,具体用于:
从所述目标区块中获取所述目标区块对应的加密关系树的根哈希值,并将所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值进行对比;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值相同时,判断所述目标区块对应的加密关系树的根哈希值是否被篡改;
若未被篡改,则确定所述待验证文件和所述目标文件一致;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述确定单元806判断所述目标区块对应的加密关系树的根哈希值是否被篡改时的具体方式为:
获取参考验证哈希值集合,所述参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
在一个实施例中,所述确定单元806从所述目标区块中确定出所述目标文件的文件交易记录,具体用于:
从所述目标区块中获取所述加密关系树和所述目标文件的目标哈希值;
从所述加密关系树获取所述目标哈希值的关联哈希值,所述获取到的关联哈希值组成所述目标文件的关联哈希值组;
将所述目标哈希值和所述关联哈希值组确定为所述目标文件的文件交易记录。
在本发明实施例中,获取单元801可获取哈希值集合,该哈希值集合包括在预设时间间隔内接收到的哈希值,该哈希值包括目标哈希值,该目标哈希值是对目标文件进行哈希计算得到的,从而生成单元802可根据该哈希值集合中的各个哈希值生成加密关系树,并生成和该目标文件相关的目标区块,则在将N个预设时间间隔内获取到的待存证文件的哈希值生成对应N个区块后,形成单元803将该N个区块和该目标区块按照预设的连接关系形成区块链,存储单元804存储该区块链,其中,该待存证文件将自动存储在其所在区块控制的存储设备中,实现了对存证数据的实时监控,可以有效验证存证数据是否已被篡改。
参见图9,是本发明实施例提供的一种服务器的示意框图。如图所示的本实施例中的服务器可以包括:供电电源,外壳,各种所需的接口等结构,例如网络接口,用户接口等等。所述服务器还包括:一个或多个处理器901和存储器902。上述处理器901和存储器902相连,在一个实施例中,处理器901和存储器902之间可通过总线903连接。
所述服务器可以包括用户接口,所述用户接口可以包括一些物理按键或者触摸按键等构成的接口模块,能够接收用户的操作,该用户接口还可以包括一些能够向用户提示诸如服务器的工作状态等信息的显示屏等结构。
所述存储器902可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器902也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器902还可以包括上述种类的存储器的组合。
所述处理器901可以是中央处理器(central processing unit,CPU)。所述处理器901还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器901也可以为上述结构的组合。
在本发明实施例中,所述存储器902用于存储计算机程序,所述计算机程序包括程序指令,处理器901用于执行存储器902存储的程序指令,用来实现上述实施例中的相应方法步骤。
在一个实施例中,所述处理器901被配置调用所述程序指令用于执行:
获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标文件的目标哈希值;
根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链,存储所述区块链。
在一个实施例中,所述处理器901被配置调用所述程序指令还用于执行:
根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块。
在一个实施例中,所述处理器901被配置调用所述程序指令还用于执行:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
根据所述待验证根哈希值和所述目标文件所在目标区块对应的前驱区块的验证哈希值,计算得到所述待验证文件的待验证哈希值;
根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述处理器901被配置调用所述程序指令执行所述根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致时,具体用于执行:
从发布的验证哈希值集合中获取所述目标区块的验证哈希值,并将所述待验证哈希值和所述目标区块的验证哈希值进行对比;
当所述待验证哈希值和所述目标区块的验证哈希值相同时,确定所述待验证文件和所述目标文件一致;
当所述待验证哈希值和所述目标区块的验证哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述处理器901被配置调用所述程序指令还用于执行:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证根哈希值;
根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致。
在一个实施例中,所述处理器901被配置调用所述程序指令执行所述根据所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致时,具体用于:
从所述目标区块中获取所述目标区块对应的加密关系树的根哈希值,并将所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值进行对比;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值相同时,判断所述目标区块对应的加密关系树的根哈希值是否被篡改;
若未被篡改,则确定所述待验证文件和所述目标文件一致;
当所述待验证根哈希值和所述目标区块对应的加密关系树的根哈希值不同时,确定所述待验证文件和所述目标文件不一致。
在一个实施例中,所述处理器901判断所述目标区块对应的加密关系树的根哈希值是否被篡改时,具体用于:
获取参考验证哈希值集合,所述参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
在一个实施例中,所述处理器901被配置调用所述程序指令用于执行所述从所述目标区块中确定出所述目标文件的文件交易记录时,具体用于执行:
从所述目标区块中获取所述加密关系树和所述目标文件的目标哈希值;
从所述加密关系树获取所述目标哈希值的关联哈希值,所述获取到的关联哈希值组成所述目标文件的关联哈希值组;
将所述目标哈希值和所述关联哈希值组确定为所述目标文件的文件交易记录。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种基于区块链的存证方法,其特征在于,包括:
获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标哈希值;
根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链,存储所述区块链;
根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合,并将所述验证哈希值集合中的验证哈希值发布到区块链网络;所述验证哈希值集合中的各验证哈希值用于对与所述目标文件关联的待验证文件进行校验;所述参考哈希值是指所述区块链网络中各个区块的前驱区块对应的验证哈希值;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块;
在对与所述目标文件关联的待验证文件进行校验时,确定所述待验证文件的待验证根哈希值,若确定所述待验证文件的待验证根哈希值和所述目标区块对应的加密关系树的根哈希值一致,则获取参考验证哈希值集合,所述参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到所述待验证文件的待验证根哈希值;
根据所述待验证文件的待验证根哈希值和所述目标文件所在目标区块对应的前驱区块的验证哈希值,计算得到所述待验证文件的待验证哈希值;
根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待验证哈希值确定所述待验证文件和所述目标文件是否一致,包括:
从发布的验证哈希值集合中获取所述目标区块的验证哈希值,并将所述待验证哈希值和所述目标区块的验证哈希值进行对比;
当所述待验证哈希值和所述目标区块的验证哈希值相同时,确定所述待验证文件和所述目标文件一致;
当所述待验证哈希值和所述目标区块的验证哈希值不同时,确定所述待验证文件和所述目标文件不一致。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对与所述目标文件关联的待验证文件进行验证时,获取所述待验证文件的哈希值;
从所述目标区块中确定出所述目标文件的文件交易记录,所述文件交易记录包括:所述目标哈希值和关联哈希值组,所述关联哈希值组和所述目标哈希值进行计算的结果为所述目标区块对应加密关系树的根哈希值;
将所述待验证文件的哈希值和所述关联哈希值组进行哈希计算得到待验证文件的待验证根哈希值;
根据所述待验证文件的待验证根哈希值和所述目标区块对应的加密关系树的根哈希值,确定所述待验证文件和所述目标文件是否一致。
5.根据权利要求2所述的方法,其特征在于,所述从所述目标区块中确定出所述目标文件的文件交易记录,包括:
从所述目标区块中获取所述加密关系树和所述目标文件的目标哈希值;
从所述加密关系树获取所述目标哈希值的关联哈希值,所述获取到的关联哈希值组成所述目标文件的关联哈希值组;
将所述目标哈希值和所述关联哈希值组确定为所述目标文件的文件交易记录。
6.一种基于区块链的存证装置,其特征在于,包括:
获取单元,用于获取哈希值集合,所述哈希值集合包括在预设时间间隔内接收到的哈希值,所述哈希值集合包括目标哈希值,所述目标哈希值是对目标文件进行哈希计算得到的;
生成单元,用于根据所述哈希值集合中的各个哈希值生成加密关系树,并生成和所述目标文件相关的目标区块,其中,所述目标区块与所述加密关系树对应,所述目标区块至少记录了所述加密关系树和所述目标哈希值;
形成单元,用于根据在N个预设时间间隔获取到的待存证文件的哈希值生成对应的N个区块,并将所述N个区块和所述目标区块按预设连接关系形成区块链;
存储单元,用于存储所述区块链;
所述获取单元,还用于根据参考哈希值和形成的所述区块链上各个区块对应的加密关系树的根哈希值,获取验证哈希值集合,并将所述验证哈希值集合中的验证哈希值发布到区块链网络;所述验证哈希值集合中的各验证哈希值用于对与所述目标文件关联的待验证文件进行校验;所述参考哈希值是指所述区块链网络中各个区块的前驱区块对应的验证哈希值;
所述验证哈希值集合包括所述区块链上每个区块对应的验证哈希值,其中,所述目标区块的验证哈希值的计算方式包括:根据所述目标区块对应的加密关系树的根哈希值和前驱区块的验证哈希值进行哈希计算后得到的,所述前驱区块是指所述区块链上所述目标区块的上一区块;
在对与所述目标文件关联的待验证文件进行校验时,确定所述待验证文件的待验证根哈希值,若确定所述待验证文件的待验证根哈希值和所述目标区块对应的加密关系树的根哈希值一致,则获取参考验证哈希值集合,所述参考验证哈希值集合包括:从所述验证哈希值集合中获取的一个或多个验证哈希值;
根据所述参考验证哈希值集合、所述参考验证哈希值集合中各个验证哈希值所对应的区块的根哈希值,对所述目标区块对应的加密关系树的根哈希值进行验证,以判断所述目标区块对应的加密关系树的根哈希值是否被篡改。
7.一种服务器,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法。
CN201810787834.XA 2018-07-17 2018-07-17 基于区块链的存证方法、装置及服务器、存储介质 Active CN109101572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810787834.XA CN109101572B (zh) 2018-07-17 2018-07-17 基于区块链的存证方法、装置及服务器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810787834.XA CN109101572B (zh) 2018-07-17 2018-07-17 基于区块链的存证方法、装置及服务器、存储介质

Publications (2)

Publication Number Publication Date
CN109101572A CN109101572A (zh) 2018-12-28
CN109101572B true CN109101572B (zh) 2021-03-02

Family

ID=64846622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810787834.XA Active CN109101572B (zh) 2018-07-17 2018-07-17 基于区块链的存证方法、装置及服务器、存储介质

Country Status (1)

Country Link
CN (1) CN109101572B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234375A1 (en) * 2019-01-17 2020-07-23 EMC IP Holding Company LLC Protecting against data loss
CN109919766A (zh) * 2019-02-19 2019-06-21 上海市张江公证处 数据存证以及验证交易用户真实性的方法及终端、服务器
CN109992993A (zh) * 2019-02-27 2019-07-09 平安科技(深圳)有限公司 基于区块链的资产信息处理方法、装置、设备及存储介质
US10917231B2 (en) 2019-04-04 2021-02-09 Advanced New Technologies Co., Ltd. Data storage method, apparatus, system and device
CN110163602A (zh) * 2019-04-04 2019-08-23 阿里巴巴集团控股有限公司 一种账本的验证方法、装置及设备
CN110020951A (zh) * 2019-04-10 2019-07-16 北京筑龙信息技术有限责任公司 一种基于区块链的交易数据验证方法、装置及存储介质
CN110147942A (zh) * 2019-04-29 2019-08-20 阿里巴巴集团控股有限公司 一种基于区块链的业务配置方法、装置以及电子设备
CN110347645B (zh) * 2019-06-19 2023-10-10 创新先进技术有限公司 一种电子文件存证方法及装置
CN110334542B (zh) * 2019-06-20 2023-02-28 创新先进技术有限公司 一种网络证据保全、网络证据存证校验方法及装置
CN110351297B (zh) * 2019-07-23 2022-04-01 深圳前海微众银行股份有限公司 一种应用于区块链的验证方法及装置
CN110489420A (zh) * 2019-08-14 2019-11-22 深圳前海微众银行股份有限公司 一种基于区块链的数据处理方法及装置
CN111460394A (zh) * 2020-03-30 2020-07-28 陈兴芜 一种版权文件的验证方法、装置及计算机可读存储介质
CN111444542A (zh) * 2020-03-30 2020-07-24 陈兴芜 一种针对版权文件的数据处理方法、装置及存储介质
CN111488606B (zh) * 2020-04-08 2021-04-27 北京瑞策科技有限公司 基于业务数据区块链的数据共享方法及装置
CN111177277B (zh) * 2020-04-10 2020-08-04 支付宝(杭州)信息技术有限公司 数据存储方法、交易存储方法及装置
CN111541756B (zh) * 2020-04-17 2021-10-15 腾讯科技(深圳)有限公司 区块生成方法、装置、节点设备及存储介质
CN111711655A (zh) * 2020-05-14 2020-09-25 特斯联科技集团有限公司 一种基于区块链的电子数据存证方法、系统、存储介质及终端
CN111783122B (zh) * 2020-07-03 2022-07-15 常熟中信金桥科技服务有限公司 一种研发试制信息管理方法及系统
CN111984614B (zh) * 2020-08-04 2023-05-26 中国人民银行数字货币研究所 一种共享文件的方法、装置和系统
CN111984613B (zh) * 2020-08-04 2023-06-16 中国人民银行数字货币研究所 一种共享文件的方法、装置和系统
CN111985006A (zh) * 2020-08-18 2020-11-24 深圳中兴网信科技有限公司 基于区块链的数据同步方法、系统和计算机可读存储介质
CN112699416B (zh) * 2021-01-04 2022-04-26 烽火通信科技股份有限公司 文件存储方法、文件验证方法及电子设备
CN114154189B (zh) * 2021-01-29 2022-06-24 北京天德科技有限公司 一种数据或文件的两段式哈希上链存证方法
CN113129145B (zh) * 2021-03-12 2022-03-22 广州广电仲达数字科技有限公司 一种基于区块链的电子证据存证和验证方法及装置
CN113468599B (zh) * 2021-06-30 2024-08-23 网易(杭州)网络有限公司 文件存证方法、装置、系统、设备和存储介质
CN113469392B (zh) * 2021-07-01 2024-03-19 浙江数秦科技有限公司 基于区块链的农产品预定系统
CN113449341B (zh) * 2021-07-13 2024-07-12 北京明朝万达科技股份有限公司 一种文件数据追溯方法、装置、设备及存储介质
CN116933279A (zh) * 2023-06-07 2023-10-24 武汉亿纬储能有限公司 基于区块链的电芯数据加密方法及装置
CN117422542B (zh) * 2023-10-31 2024-05-28 苏银凯基消费金融有限公司 基于区块链技术的消费金融业务存证系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815530A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
WO2017135669A1 (ko) * 2016-02-02 2017-08-10 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
CN107819777A (zh) * 2017-11-17 2018-03-20 北京亿生生网络科技有限公司 一种基于区块链技术的数据存证方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357612B (zh) * 2016-08-25 2019-07-16 江苏通付盾科技有限公司 基于公有区块链的认证记录审查方法及装置
CN106407795B (zh) * 2016-09-05 2019-05-14 北京众享比特科技有限公司 数据存在认证系统、认证方法及验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135669A1 (ko) * 2016-02-02 2017-08-10 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
CN106815530A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
CN107819777A (zh) * 2017-11-17 2018-03-20 北京亿生生网络科技有限公司 一种基于区块链技术的数据存证方法及系统

Also Published As

Publication number Publication date
CN109101572A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN109101572B (zh) 基于区块链的存证方法、装置及服务器、存储介质
US11323271B2 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
EP3610606B1 (en) Managing sensitive data elements in a blockchain network
AU2017272163B2 (en) Verification system and method with extra security for lower-entropy input records
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
AU2019204708A1 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
JP2020511017A (ja) ブロックチェーンベースのデジタル証明書を実装するためのシステム及び方法
Xie et al. Blockchain‐Based Cloud Data Integrity Verification Scheme with High Efficiency
US11676111B1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
US10158490B2 (en) Double authentication system for electronically signed documents
US20220294637A1 (en) System and Method of Establishing a Trusted Relationship in a Distributed System
CN111769956B (zh) 业务处理方法、装置、设备及介质
CN113302610A (zh) 基于区块链的可信平台
US11621846B2 (en) Privacy protecting transparency tree for device attestation
CN112887281A (zh) 支持高效审计和多备份密文去重的存储方法、系统及应用
CN113597608A (zh) 基于区块链的可信平台
CN113302612A (zh) 基于区块链的可信平台
Liu et al. Message-locked searchable encryption: A new versatile tool for secure cloud storage
Kumar et al. Hash based approach for providing privacy and integrity in cloud data storage using digital signatures
Kumar et al. An efficient distributed verification protocol for data storage security in cloud computing
CN113491090A (zh) 基于区块链的可信平台
US20230254154A1 (en) Enabling internal and external verification of hash-based signature computations by signing server
Lu et al. A Novel Approach for Improving Accuracy for Distributed Storage Networks
CN116781365A (zh) 资源调度验证方法、装置、计算机设备和存储介质
Yugandhar et al. Security of Data Dynamics in Cloud Computing

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
GR01 Patent grant
GR01 Patent grant