CN111400270B - 一种基于区块链的文件授时的方法和装置 - Google Patents

一种基于区块链的文件授时的方法和装置 Download PDF

Info

Publication number
CN111400270B
CN111400270B CN202010184337.8A CN202010184337A CN111400270B CN 111400270 B CN111400270 B CN 111400270B CN 202010184337 A CN202010184337 A CN 202010184337A CN 111400270 B CN111400270 B CN 111400270B
Authority
CN
China
Prior art keywords
file
time
hash
hashes
files
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
CN202010184337.8A
Other languages
English (en)
Other versions
CN111400270A (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.)
Shanghai Jiansu Network Technology Co ltd
Original Assignee
Shanghai Jiansu Network 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 Shanghai Jiansu Network Technology Co ltd filed Critical Shanghai Jiansu Network Technology Co ltd
Priority to CN202010184337.8A priority Critical patent/CN111400270B/zh
Publication of CN111400270A publication Critical patent/CN111400270A/zh
Application granted granted Critical
Publication of CN111400270B publication Critical patent/CN111400270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Abstract

本申请的目的是提供一种基于区块链的文件授时的方法和装置,根据多个文件分别计算获得每个文件对应的文件哈希,将这些文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,上链时间作为该文件的存证时间,基于预定数量的文件对应的交易哈希生成组哈希,再将该组哈希提交至预设的授时系统进行授时,批量授时的方式更节约成本也更高效,并且,对待授时的文件的文件哈希进行上链从而获得交易哈希与上链时间的方式,使得存证更可靠,提高了使用体验。

Description

一种基于区块链的文件授时的方法和装置
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的文件授时的技术。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,具备分布式、去中心化、可追溯、不可篡改等特点。它的核心价值是建立多方信任,“区块”和“链”这种独特的数据结构能够忠实、完整地记录行为主体签名认可的授权行为。区块链出具的每条数据皆有其授权来源,是可追溯并可验证的。
目前,针对文件的授时需要,通常的做法是在拿到文件的时候就直接将该文件提交至授时中心进行授时,然而,该种授时方式的成本较高,也更耗时。
因此,如何高效、低成本、可信地对文件进行授时,成为本领域技术人员亟需解决的技术问题之一。
发明内容
本申请的目的是提供一种基于区块链的文件授时的方法和装置。
根据本申请的一个方面,提供了一种基于区块链的文件授时的方法,其中,该方法包括:
根据多个文件分别计算获得每个文件对应的文件哈希;
将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间;
基于预定数量的所述文件对应的交易哈希生成组哈希;
将所述组哈希提交至预设的授时系统进行授时。
在一实施例中,该方法还包括:
基于所述文件、所述文件对应的文件哈希、交易哈希与上链时间的映射关系,建立或更新文件数据库。
在一优选实施例中,该方法还包括:
若存在时间上有争议的争议文件,自所述文件数据库中获取所述争议文件对应的上链时间,或者,自所述文件数据库中获取所述争议文件对应的文件哈希,根据所述文件哈希自所述区块链网络获取所述争议文件对应的上链时间;
基于所述争议文件的上链时间,对所述争议文件进行时间认证。
在另一优选实施例中,对所述争议文件进行时间认证还包括:
根据所述争议文件确定对应的组哈希;
确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;
确定所述组哈希已在所述授时系统进行授时。
在一实施例中,该方法还包括:
周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间;
将所述上链时间与所述授时系统的当前时间戳进行比对,确定所述区块链网络的时间可靠性。
在一实施例中,该方法还包括:
对于已授时的文件,若需要变更,将变更后的文件重新计算获得对应的新文件哈希;
将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;
等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
在一实施例中,所述组哈希基于预定数量的所述文件对应的文件哈希、交易哈希及上链时间生成。
根据本申请的另一个方面,还提供了一种基于区块链的文件授时的装置,其中,该装置包括:
计算装置,用于根据多个文件分别计算获得每个文件对应的文件哈希;
上链装置,用于将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间;
生成装置,用于基于预定数量的所述文件对应的交易哈希生成组哈希;
授时装置,用于将所述组哈希提交至预设的授时系统进行授时。
在一实施例中,该装置还包括:
更新装置,用于基于所述文件、所述文件对应的文件哈希、交易哈希与上链时间的映射关系,建立或更新文件数据库。
在一优选实施例中,该装置还包括认证装置,用于:
若存在时间上有争议的争议文件,自所述文件数据库中获取所述争议文件对应的上链时间,或者,自所述文件数据库中获取所述争议文件对应的文件哈希,根据所述文件哈希自所述区块链网络获取所述争议文件对应的上链时间;
基于所述争议文件的上链时间,对所述争议文件进行时间认证。
在另一优选实施例中,所述认证装置还用于:
根据所述争议文件确定对应的组哈希;
确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;
确定所述组哈希已在所述授时系统进行授时。
在一实施例中,该装置还包括比对装置,用于:
周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间;
将所述上链时间与所述授时系统的当前时间戳进行比对,确定所述区块链网络的时间可靠性。
在一实施例中,该装置还包括变更装置,用于:
对于已授时的文件,若需要变更,将变更后的文件重新计算获得对应的新文件哈希;
将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;
等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
在一实施例中,所述生成装置基于预定数量的所述文件对应的文件哈希、交易哈希及上链时间生成所述组哈希。
根据本申请的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
根据本申请的再一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
根据本申请的再一个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
与现有技术相比,本申请根据多个文件分别计算获得每个文件对应的文件哈希,将这些文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,上链时间作为该文件的存证时间,基于预定数量的文件对应的交易哈希生成组哈希,再将该组哈希提交至预设的授时系统进行授时,批量授时的方式更节约成本也更高效,并且,对待授时的文件的文件哈希进行上链从而获得交易哈希与上链时间的方式,使得存证更可靠,提高了使用体验。
进一步地,当存在时间上有争议的争议文件,本申请根据该争议文件的上链时间来对该争议文件进行时间认证;进一步地,本申请基于文件、文件对应的文件哈希、交易哈希与上链时间的映射关系,来建立或更新文件数据库,以方便当存在争议时进行数据读取;更进一步地,本申请根据争议文件确定对应的组哈希,确定该组哈希所对应数量的文件的交易哈希能够重建所述组哈希,确定该组哈希已在授时系统进行授时,从而完成完整的信任链。
进一步地,本申请周期性地将授时系统的当前时间戳生成对应的时间哈希并进行上链,将上链时间与授时系统的当前时间戳进行比对,从而确定该区块链网络的时间可靠性,进一步提升了使用体验。
进一步地,本申请针对已授时的文件的变更,将变更后的文件重新计算获得新文件哈希并从新上链,再等待其他未授时的文件对应的交易哈希生成新的组哈希,将该新的组哈希进行授时,既完成了变更又进行了新的授时,进一步提升了使用体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图;
图2示出根据本申请一个方面的一种基于区块链的文件授时的方法的流程示意图;
图3示出根据本申请另一个方面的一种基于区块链的文件授时的装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请作进一步详细描述。
图1示出了适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未示出,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图1中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理。例如,存储器28中存储有用于执行本申请的各项功能和处理的计算机程序,处理单元16执行相应计算机程序时,本申请基于区块链的文件授时被实现。
以下将详细描述本申请用于基于区块链进行文件授时的具体装置/步骤。
图2示出根据本申请一个方面的一种基于区块链的文件授时的方法的示意图。
该方法包括步骤S201、S202、S203和S204。在此,本申请中区块链所采用的共识机制或共识算法可以是确定性共识,也可以是概率性共识。
在步骤S201中,装置1根据多个文件分别计算获得每个文件对应的文件哈希。
具体地,当存在文件的时候,装置1根据文件计算获得对应的文件哈希,这些文件的形式包括但不限于word、PDF、txt、或者图片、网页等各种形式,文件例如可以是合同文件、新闻文件、政策文件、证明文件或其他任何需要进行授时的文件。在步骤S201中,装置1根据获得的或存储在指定位置的多个文件,分别计算获得每个文件对应的文件哈希。在此,该文件哈希的值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数是一种从任何一种数据中创建小的数字“指纹”的方法,把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,根据这个摘要可以区分该数据与其他数据。支持的算法包括但不限于MACTripleDES、MD5、RIPEMD160、SHA1、SHA256、SHA384、SHA512。本领域技术人员应能理解,上述用来计算文件哈希的算法仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的算法,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在一实施例中,该多个文件为合同文件,合同签订者在签订完合同文件之后,通过约定的方式将该合同文件发送至该装置1或存储至指定的位置,在一段时间之后,则存有一个或多个合同签订者者所签订完成的多个合同文件,在步骤S201中,装置1根据直接获取或从该指定位置获取等方式,获取多个合同文件,通过MD5等算法,分别计算获得该多个合同文件中每个合同文件对应的文件哈希。
在步骤S202中,装置1将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间。
具体地,装置1将前述步骤S201中所计算获得的每个文件的文件哈希上传至区块链网络,也即上链,该区块链网络包括公有链、联盟链、私有链等,基于该上链的操作,获得每个文件对应的交易哈希以及上链时间,从而可以将每个文件的上链时间作为该文件的存证时间,用于在今后发生时间上的争议时作为该文件的时间证明。
在步骤S203中,装置1基于预定数量的所述文件对应的交易哈希生成组哈希。
具体地,若将单个文件、或单个文件哈希或交易哈希每次去授时的话,成本高且更耗时、更繁琐,因此,在步骤S203中,装置1根据在步骤S202中获得的每个文件对应的交易哈希,将预定数量的文件对应的交易哈希生成一个组哈希,也即,将该预定数量的文件对应的交易哈希构成一组,再计算一次该组交易哈希的哈希值,计算出的该哈希值即为该组哈希。该预定数量的具体数值可以是系统预定的,也可以根据实际情况进行调整。
在一个实施例中,具有多个文件File1、File2、...File100;在步骤S201中,装置1分别将这100个文件生成对应的文件哈希;该装置1可以批量地生成这100个文件所分别对应的文件哈希,在步骤S202中,装置1将该100个文件哈希上传至区块链网络上,也即发送到所有连接到该区块链网络的设备上,获得每个文件对应的交易哈希及上链时间;在步骤S203中,装置1将该100个文件所对应的100个交易哈希再计算出一个哈希值,从而生成一个组哈希。该装置1也可以逐一地进行上述上链操作,也即,每当有一个文件时,在步骤S201中,装置1将该文件生成对应的文件哈希;随后在步骤S202中将该文件哈希进行上链,获得对应的交易哈希及上链时间;在步骤S203中,装置1等待该100个文件均已获得对应的文件哈希并上链后获得交易哈希及上链时间,再将该100个交易哈希计算出一个哈希值,生成对应的组哈希。
在步骤S204中,装置1将所述组哈希提交至预设的授时系统进行授时。
具体地,在步骤S204中,装置1将在步骤S203中由预定数量的交易哈希所生成的组哈希提交至预设的授时系统进行授时,该预设的授时系统产生时间戳,使得这些已授时交易哈希所对应的文件获得具有公信力的时间凭证,并且,多个交易哈希一起提交至授时系统进行授时,可以有效节约成本,提高授时效率。在此,该预设的授时系统例如可以是中国科学院国家授时中心,或其他具有公信力及授时权利的机构。
在一实施例中,该方法还包括步骤S205(未示出)。在步骤S205中,装置1基于所述文件、所述文件对应的文件哈希、交易哈希、上链时间与组哈希的映射关系,建立或更新文件数据库。
具体地,在步骤S205中,装置1将在步骤S201中获取的文件及该文件对应的文件哈希,以及在步骤S202中经过上链所获得的交易哈希及上链时间,以及在步骤S203中所生成的组哈希,的映射关系,存入文件数据库中,从而建立或更新该文件数据库。当后续存在有关时间的争议时,可以利用该文件数据库中所存储的数据来进行时间认证。
在一优选实施例中,该方法还包括步骤S206(未示出)。在步骤S206中,若存在时间上有争议的争议文件,装置1自该文件数据库中获取该争议文件对应的上链时间,如直接根据该争议文件与上链时间之间的映射关系从该文件数据库中查找到对应的上链时间,或者,先计算该争议文件的文件哈希,再根据该争议文件的文件哈希与上链时间之间的映射关系,从该文件数据库中查找到该争议文件对应的上链时间,该上链时间是可以作为该争议文件的存证时间的,随后,基于该争议文件的上链时间,对该争议文件进行时间认证,也即,争议文件的制作完成时间理论上肯定早于该上链时间,通过该上链时间即可对该争议文件进行时间认证,如果最终确认该争议文件的制作完成时间早于该上链时间,则证明该争议文件在时间上没有问题。同样地,如果存在一份其他文件,该份文件与前述争议文件内容相同或相似,两者在时间上具有争议,如果经由上述认证操作发现该争议文件的上链时间早于该份其他文件的完成时间,则可表示该份其他文件抄袭了该争议文件。
又如,若存在时间上有争议的争议文件,在步骤S206中,装置1自该文件数据库中获取该争议文件对应的文件哈希,如根据该争议文件与文件哈希之间的映射关系从该文件数据库中查找到对应的文件哈希,再根据该文件哈希自该区块链网络获取该争议文件对应的上链时间;随后,基于该争议文件的上链时间,对该争议文件进行时间认证。
或者,若存在时间上有争议的争议文件,在步骤S206中,装置1再计算一次该争议文件的文件哈希,根据该文件哈希自区块链网络中获取该争议文件对应的上链时间;随后,基于该争议文件的上链时间,对该争议文件进行时间认证。
在此,装置1可以基于智能合约方法,根据文件的文件哈希从区块链网络中获取交易哈希和上链时间。智能合约的作用是引入了业务逻辑的概念,既对上链的数据具有清晰的业务逻辑概念,同时使得查询特定键值的数据速度特别快,不需要再去区块中一个一个区块的遍历查找。
优选地,对所述争议文件进行时间认证还包括:根据所述争议文件确定对应的组哈希;确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;确定所述组哈希已在所述授时系统进行授时。
具体地,装置1根据该时间上有争议的争议文件,找到该争议文件对应的组哈希,再根据该组哈希反向找到生成该组哈希的预定数量的交易哈希以及这些交易哈希所对应的文件,在此,装置1在前述生成组哈希时,可以同时记录生成组哈希的原始数据或生成规则,也即,装置1记录由哪些交易哈希生成了组哈希,这些交易哈希又分别对应了哪些文件,其例如存储在前述文件数据库中,当然也可以另外存储在其他文件数据库中。装置1根据争议文件确定其组哈希,进而从该文件数据库中根据该组哈希找到关联映射的交易哈希和对应文件,并且,确定这些文件的交易哈希能够重建该组哈希,也即,证明中间过程并未发生任何变更;随后,装置1需要再确认该组哈希确实已经在该预设的授时系统进行过授时,从而完成完整的信任链。
在此,当装置1根据争议文件的上链时间来对该争议文件进行时间认证,为了确保该上链时间的可靠性,装置1根据已经在授时系统授时过的、可信的组哈希,根据组哈希的生成规则并利用已有的原始内容重新生成一次组哈希,如利用交易哈希重新生成一次组哈希,当该重新生成的组哈希与前次组哈希一致,则表示能够重新推导出组哈希的原始内容确实是可信的。
当组哈希是由预定数量个文件的交易哈希推导而来,装置1可以先根据原始文件的文件哈希对应的交易哈希确实属于组哈希的原始内容的一部分,再根据文件哈希从区块链网络上查询到对应的上链时间,当查询得到的上链时间确实和文件数据库中记录的上链时间是一致的,且可由这些文件构建出对应文件哈希,则可以确信这些文件未被修改。
事实上,文件数据库中记录有文件及其对应的文件哈希、交易哈希、上链时间、组哈希这一组记录,这组记录本身是不可信任的,然而组哈希由于得到授时因而是可信的,根据组哈希的生成规则,可以确保生成组哈希的原始数据,如交易哈希,是可信的。装置1根据交易哈希对应的文件哈希,再去链上查询,可以得到链上的查询结果包含的文件哈希、交易哈希、上链时间和文件数据库中记录的文件哈希、交易哈希、上链时间是完全匹配的,从而构建出了完整的信任链条。
在一个优选实施例中,在步骤S203中,装置1基于预定数量的所述文件对应的交易哈希、文件哈希及上链时间生成组哈希。这样,当组哈希获得授时,则可直接证明文件数据库中的文件哈希、上链时间、交易哈希都是可信的,而无需装置1再去区块链网络中进行查找。当存在时间上具有争议的争议文件时,认证装置直接在该文件数据库中匹配查找到该争议文件对应的上链时间,由于该上链时间是可信的,因此,可以直接利用该上链时间来对该争议文件进行时间认证。
在一优选实施例中,该方法还包括步骤S207(未示出)。在步骤S207中,装置1周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间;将所述上链时间与所述授时系统的当前时间戳进行比对,确定所述区块链网络的时间可靠性。
具体地,在步骤S207中,装置1自该预设的授时系统获取当前时间戳,将该当前时间戳生成对应的时间哈希,随后,将该时间哈希进行上链,获得对应的上链时间,该上链时间也即当将该时间哈希进行上链时的链上时间;该装置1周期性地执行前述操作,也即,装置1周期性地自该授时系统获取当前时间戳,例如每1小时一次,或者,每天一次,自该授时系统获取当前时间戳,随后,将该当前时间戳生成对应的时间哈希,再将该时间哈希进行上链,获得对应的上链时间。在此,该周期时间可以是系统预定的,也可以根据实际情况进行调整。
随后,装置1再将该上链时间与该授时系统的当前时间戳进行比对,该基于授时系统提供的当前时间戳所生成的上链时间不会早于该授时系统的当前时间戳,则可确定该区块链的时间可靠性。
在此,装置1直接将授时系统的当前时间戳的时间哈希进行上链,然后将上链时间记录在智能合约中。智能合约的作用是引入了业务逻辑的概念,既对上链的数据具有清晰的业务逻辑概念,同时使得查询特定键值的数据速度特别快,不需要再去区块中一个一个区块的遍历查找。如果从区块中一个一个区块的遍历查找,这从速度上来说是不可接受的,并且,由于区块上的数据是没有逻辑意义的,甚至是基于流编码的,更是无法直接查询具有业务逻辑意义的数据。因此,装置1从实现层面基于智能合约查找授时系统的上链时间,通过比较授时系统的当前时间戳和上链时的链上时间戳来比较,从而可以确信链上时间戳是可信的。
在一优选实施例中,该方法还包括步骤S208(未示出)。在步骤S208中,对于已授时的文件,若需要变更,装置1将变更后的文件重新计算获得对应的新文件哈希;将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
具体地,对于已授时的文件,若需要变更,在步骤S208中,装置1将变更后的文件重新计算获得对应的新文件哈希,在此,由于文件的内容有了变化,因此,该文件对应的文件哈希的值也会相应产生变化,在步骤S208中,装置1需要重新计算该变更后的文件的文件哈希;随后,装置1再将该新文件哈希上链,获得对应的新交易哈希及新上链时间,该新上链时间作为该变更后的文件的存证时间;接着,装置1继续等待其他未授时的文件对应的交易哈希,从而再次基于预定数量的交易哈希生成一个新的组哈希,将该新的组哈希提交至该授时系统进行授时。
在此,当单个文件变更之后,在步骤S208中,装置1将变更后的文件重新计算获得对应的新文件哈希,再将该新文件哈希上链,获得对应的新交易哈希及新上链时间,装置1也可以不等其他文件的交易哈希,而直接以这一个变更的文件的新交易哈希生成一个新的组哈希,直接提交该新的组哈希至授时系统进行授时。当然,若存在多个变更的文件,则在步骤S208中,装置1重新计算该多个变更后的文件的新文件哈希,再将该多个新文件哈希上链,获得对应的新交易哈希及新上链时间,装置1将该多个变更的文件的新交易哈希生成一个新的组哈希,提交该新的组哈希至授时系统进行授时。
图3示出根据本申请另一个方面的一种基于区块链的文件授时的装置的示意图。
装置1包括计算装置301、上链装置302、生成装置303和授时装置304。在此,本申请中区块链所采用的共识机制或共识算法可以是确定性共识,也可以是概率性共识。
计算装置301根据多个文件分别计算获得每个文件对应的文件哈希。
具体地,当存在文件的时候,计算装置301根据文件计算获得对应的文件哈希,这些文件的形式包括但不限于word、PDF、txt、或者图片、网页等各种形式,文件例如可以是合同文件、新闻文件、政策文件、证明文件或其他任何需要进行授时的文件。计算装置301根据获得的或存储在指定位置的多个文件,分别计算获得每个文件对应的文件哈希。在此,该文件哈希的值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数是一种从任何一种数据中创建小的数字“指纹”的方法,把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,根据这个摘要可以区分该数据与其他数据。支持的算法包括但不限于MACTripleDES、MD5、RIPEMD160、SHA1、SHA256、SHA384、SHA512。本领域技术人员应能理解,上述用来计算文件哈希的算法仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的算法,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在一实施例中,该多个文件为合同文件,合同签订者在签订完合同文件之后,通过约定的方式将该合同文件发送至该装置1或存储至指定的位置,在一段时间之后,则存有一个或多个合同签订者者所签订完成的多个合同文件,计算装置301根据直接获取或从该指定位置获取等方式,获取多个合同文件,通过MD5等算法,分别计算获得该多个合同文件中每个合同文件对应的文件哈希。
上链装置302将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间。
具体地,上链装置302将前述计算装置301所计算获得的每个文件的文件哈希上传至区块链网络,也即上链,该区块链网络包括公有链、联盟链、私有链等,基于该上链的操作,获得每个文件对应的交易哈希以及上链时间,从而可以将每个文件的上链时间作为该文件的存证时间,用于在今后发生时间上的争议时作为该文件的时间证明。
生成装置303基于预定数量的所述文件对应的交易哈希生成组哈希。
具体地,若将单个文件、或单个文件哈希或交易哈希每次去授时的话,成本高且更耗时、更繁琐,因此,生成装置303根据上链装置302获得的每个文件对应的交易哈希,将预定数量的文件对应的交易哈希生成一个组哈希,也即,将该预定数量的文件对应的交易哈希构成一组,再计算一次该组交易哈希的哈希值,计算出的该哈希值即为该组哈希。该预定数量的具体数值可以是系统预定的,也可以根据实际情况进行调整。
在一个实施例中,具有多个文件File1、File2、...File100;在步骤S201中,装置1分别将这100个文件生成对应的文件哈希;该装置1可以批量地生成这100个文件所分别对应的文件哈希,上链装置302将该100个文件哈希上传至区块链网络上,也即发送到所有连接到该区块链网络的设备上,获得每个文件对应的交易哈希及上链时间;生成装置303将该100个文件所对应的100个交易哈希再计算出一个哈希值,从而生成一个组哈希。该装置1也可以逐一地进行上述上链操作,也即,每当有一个文件时,计算装置301将该文件生成对应的文件哈希;随后上链装置302将该文件哈希进行上链,获得对应的交易哈希及上链时间;生成装置303等待该100个文件均已获得对应的文件哈希并上链后获得交易哈希及上链时间,再将该100个交易哈希计算出一个哈希值,生成对应的组哈希。
授时装置304将所述组哈希提交至预设的授时系统进行授时。
具体地,授时装置304将生成装置303由预定数量的交易哈希所生成的组哈希提交至预设的授时系统进行授时,该预设的授时系统产生时间戳,使得这些已授时交易哈希所对应的文件获得具有公信力的时间凭证,并且,多个交易哈希一起提交至授时系统进行授时,可以有效节约成本,提高授时效率。在此,该预设的授时系统例如可以是中国科学院国家授时中心,或其他具有公信力及授时权利的机构。
在一实施例中,装置1还包括更新装置(未示出)。该更新装置基于所述文件、所述文件对应的文件哈希、交易哈希、上链时间与组哈希的映射关系,建立或更新文件数据库。
具体地,更新装置将计算装置301获取的文件及该文件对应的文件哈希,以及上链装置302经过上链所获得的交易哈希及上链时间,以及生成装置303所生成的组哈希,的映射关系,存入文件数据库中,从而建立或更新该文件数据库。当后续存在有关时间的争议时,可以利用该文件数据库中所存储的数据来进行时间认证。
在一优选实施例中,装置1还包括认证装置(未示出)。若存在时间上有争议的争议文件,认证装置自该文件数据库中获取该争议文件对应的上链时间,如直接根据该争议文件与上链时间之间的映射关系从该文件数据库中查找到对应的上链时间,或者,先计算该争议文件的文件哈希,再根据该争议文件的文件哈希与上链时间之间的映射关系,从该文件数据库中查找到该争议文件对应的上链时间,该上链时间是可以作为该争议文件的存证时间的,随后,基于该争议文件的上链时间,对该争议文件进行时间认证,也即,争议文件的制作完成时间理论上肯定早于该上链时间,通过该上链时间即可对该争议文件进行时间认证,如果最终确认该争议文件的制作完成时间早于该上链时间,则证明该争议文件在时间上没有问题。同样地,如果存在一份其他文件,该份文件与前述争议文件内容相同或相似,两者在时间上具有争议,如果经由上述认证操作发现该争议文件的上链时间早于该份其他文件的完成时间,则可表示该份其他文件抄袭了该争议文件。
又如,若存在时间上有争议的争议文件,认证装置自该文件数据库中获取该争议文件对应的文件哈希,如根据该争议文件与文件哈希之间的映射关系从该文件数据库中查找到对应的文件哈希,再根据该文件哈希自该区块链网络获取该争议文件对应的上链时间;随后,基于该争议文件的上链时间,对该争议文件进行时间认证。
或者,若存在时间上有争议的争议文件,认证装置再计算一次该争议文件的文件哈希,根据该文件哈希自区块链网络中获取该争议文件对应的上链时间;随后,基于该争议文件的上链时间,对该争议文件进行时间认证。
在此,装置1可以基于智能合约方法,根据文件的文件哈希从区块链网络中获取交易哈希和上链时间。智能合约的作用是引入了业务逻辑的概念,既对上链的数据具有清晰的业务逻辑概念,同时使得查询特定键值的数据速度特别快,不需要再去区块中一个一个区块的遍历查找。
优选地,认证装置对所述争议文件进行时间认证还包括:根据所述争议文件确定对应的组哈希;确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;确定所述组哈希已在所述授时系统进行授时。
具体地,认证装置根据该时间上有争议的争议文件,找到该争议文件对应的组哈希,再根据该组哈希反向找到生成该组哈希的预定数量的交易哈希以及这些交易哈希所对应的文件,在此,装置1在前述生成组哈希时,可以同时记录生成组哈希的原始数据或生成规则,也即,装置1记录由哪些交易哈希生成了组哈希,这些交易哈希又分别对应了哪些文件,其例如存储在前述文件数据库中,当然也可以另外存储在其他文件数据库中。认证装置根据争议文件确定其组哈希,进而从该文件数据库中根据该组哈希找到关联映射的交易哈希和对应文件,并且,确定这些文件的交易哈希能够重建该组哈希,也即,证明中间过程并未发生任何变更;随后,认证装置需要再确认该组哈希确实已经在该预设的授时系统进行过授时,从而完成完整的信任链。
在此,当认证装置根据争议文件的上链时间来对该争议文件进行时间认证,为了确保该上链时间的可靠性,认证装置根据已经在授时系统授时过的、可信的组哈希,根据组哈希的生成规则并利用已有的原始内容重新生成一次组哈希,如利用交易哈希重新生成一次组哈希,当该重新生成的组哈希与前次组哈希一致,则表示能够重新推导出组哈希的原始内容确实是可信的。
当组哈希是由预定数量个文件的交易哈希推导而来,认证装置可以先根据原始文件的文件哈希对应的交易哈希确实属于组哈希的原始内容的一部分,再根据文件哈希从区块链网络上查询到对应的上链时间,当查询得到的上链时间确实和文件数据库中记录的上链时间是一致的,且可由这些文件构建出对应文件哈希,则可以确信这些文件未被修改。
事实上,文件数据库中记录有文件及其对应的文件哈希、交易哈希、上链时间、组哈希这一组记录,这组记录本身是不可信任的,然而组哈希由于得到授时因而是可信的,根据组哈希的生成规则,可以确保生成组哈希的原始数据,如交易哈希,是可信的。装置1根据交易哈希对应的文件哈希,再去链上查询,可以得到链上的查询结果包含的文件哈希、交易哈希、上链时间和文件数据库中记录的文件哈希、交易哈希、上链时间是完全匹配的,从而构建出了完整的信任链条。
在一个优选实施例中,生成装置303基于预定数量的所述文件对应的交易哈希、文件哈希及上链时间生成组哈希。这样,当组哈希获得授时,则可直接证明文件数据库中的文件哈希、上链时间、交易哈希都是可信的,而无需装置1再去区块链网络中进行查找。当存在时间上具有争议的争议文件时,认证装置直接在该文件数据库中匹配查找到该争议文件对应的上链时间,由于该上链时间是可信的,因此,可以直接利用该上链时间来对该争议文件进行时间认证。
在一优选实施例中,装置1还包括比对装置(未示出)。该比对装置周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间;将所述上链时间与所述授时系统的当前时间戳进行比对,确定所述区块链网络的时间可靠性。
具体地,比对装置自该预设的授时系统获取当前时间戳,将该当前时间戳生成对应的时间哈希,随后,将该时间哈希进行上链,获得对应的上链时间,该上链时间也即当将该时间哈希进行上链时的链上时间;该比对装置周期性地执行前述操作,也即,比对装置周期性地自该授时系统获取当前时间戳,例如每1小时一次,或者,每天一次,自该授时系统获取当前时间戳,随后,将该当前时间戳生成对应的时间哈希,再将该时间哈希进行上链,获得对应的上链时间。在此,该周期时间可以是系统预定的,也可以根据实际情况进行调整。
随后,比对装置再将该上链时间与该授时系统的当前时间戳进行比对,该基于授时系统提供的当前时间戳所生成的上链时间不会早于该授时系统的当前时间戳,则可确定该区块链的时间可靠性。
在此,比对装置直接将授时系统的当前时间戳的时间哈希进行上链,然后将上链时间记录在智能合约中。智能合约的作用是引入了业务逻辑的概念,既对上链的数据具有清晰的业务逻辑概念,同时使得查询特定键值的数据速度特别快,不需要再去区块中一个一个区块的遍历查找。如果从区块中一个一个区块的遍历查找,这从速度上来说是不可接受的,并且,由于区块上的数据是没有逻辑意义的,甚至是基于流编码的,更是无法直接查询具有业务逻辑意义的数据。因此,比对装置从实现层面基于智能合约查找授时系统的上链时间,通过比较授时系统的当前时间戳和上链时的链上时间戳来比较,从而可以确信链上时间戳是可信的。
在一优选实施例中,装置1还包括变更装置(未示出)。对于已授时的文件,若需要变更,该变更装置将变更后的文件重新计算获得对应的新文件哈希;将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
具体地,对于已授时的文件,若需要变更,变更装置将变更后的文件重新计算获得对应的新文件哈希,在此,由于文件的内容有了变化,因此,该文件对应的文件哈希的值也会相应产生变化,变更装置需要重新计算该变更后的文件的文件哈希;随后,变更装置再将该新文件哈希上链,获得对应的新交易哈希及新上链时间,该新上链时间作为该变更后的文件的存证时间;接着,变更装置继续等待其他未授时的文件对应的交易哈希,从而再次基于预定数量的交易哈希生成一个新的组哈希,将该新的组哈希提交至该授时系统进行授时。
在此,当单个文件变更之后,变更装置将变更后的文件重新计算获得对应的新文件哈希,再将该新文件哈希上链,获得对应的新交易哈希及新上链时间,变更装置也可以不等其他文件的交易哈希,而直接以这一个变更的文件的新交易哈希生成一个新的组哈希,直接提交该新的组哈希至授时系统进行授时。当然,若存在多个变更的文件,则变更装置重新计算该多个变更后的文件的新文件哈希,再将该多个新文件哈希上链,获得对应的新交易哈希及新上链时间,变更装置将该多个变更的文件的新交易哈希生成一个新的组哈希,提交该新的组哈希至授时系统进行授时。
本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (14)

1.一种基于区块链的文件授时的方法,其中,该方法包括:
根据多个文件分别计算获得每个文件对应的文件哈希;
将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间;
基于预定数量的所述文件对应的交易哈希生成组哈希;
将所述组哈希提交至预设的授时系统进行授时;
周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间;
将所述时间哈希对应的上链时间与所述授时系统的当前时间戳进行比对,若所述时间哈希对应的上链时间不早于所述授时系统的当前时间戳,确定所述区块链网络的时间可靠性。
2.根据权利要求1所述的方法,其中,该方法还包括:
基于所述文件、所述文件对应的文件哈希、交易哈希、上链时间与组哈希的映射关系,建立或更新文件数据库。
3.根据权利要求2所述的方法,其中,该方法还包括:
若存在时间上有争议的争议文件,自所述文件数据库中获取所述争议文件对应的上链时间,或者,自所述文件数据库中获取所述争议文件对应的文件哈希,根据所述文件哈希自所述区块链网络获取所述争议文件对应的上链时间;
基于所述争议文件的上链时间,对所述争议文件进行时间认证。
4.根据权利要求3所述的方法,其中,对所述争议文件进行时间认证还包括:
根据所述争议文件确定对应的组哈希;
确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;
确定所述组哈希已在所述授时系统进行授时。
5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括:
对于已授时的文件,若需要变更,将变更后的文件重新计算获得对应的新文件哈希;
将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;
等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
6.根据权利要求1所述的方法,其中,所述组哈希基于预定数量的所述文件对应的文件哈希、交易哈希及上链时间生成。
7.一种基于区块链的文件授时的装置,其中,该装置包括:
计算装置,用于根据多个文件分别计算获得每个文件对应的文件哈希;
上链装置,用于将所述文件哈希上传至区块链网络,获得每个文件对应的交易哈希及上链时间,所述上链时间作为所述文件的存证时间;
生成装置,用于基于预定数量的所述文件对应的交易哈希生成组哈希;
授时装置,用于将所述组哈希提交至预设的授时系统进行授时;
比对装置,用于周期性地自所述授时系统获取当前时间戳,将所述当前时间戳生成对应的时间哈希,将所述时间哈希上传至所述区块链网络,获得对应的上链时间,以及将所述时间哈希对应的上链时间与所述授时系统的当前时间戳进行比对,若所述时间哈希对应的上链时间不早于所述授时系统的当前时间戳,确定所述区块链网络的时间可靠性。
8.根据权利要求7所述的装置,其中,该装置还包括:
更新装置,用于基于所述文件、所述文件对应的文件哈希、交易哈希与上链时间的映射关系,建立或更新文件数据库。
9.根据权利要求8所述的装置,其中,该装置还包括认证装置,用于:
若存在时间上有争议的争议文件,自所述文件数据库中获取所述争议文件对应的上链时间,或者,自所述文件数据库中获取所述争议文件对应的文件哈希,根据所述文件哈希自所述区块链网络获取所述争议文件对应的上链时间;
基于所述争议文件的上链时间,对所述争议文件进行时间认证。
10.根据权利要求9所述的装置,其中,所述认证装置还用于:
根据所述争议文件确定对应的组哈希;
确定所述组哈希所对应数量的文件的交易哈希能够重建所述组哈希;
确定所述组哈希已在所述授时系统进行授时。
11.根据权利要求7至10中任一项所述的装置,其中,该装置还包括变更装置,用于:
对于已授时的文件,若需要变更,将变更后的文件重新计算获得对应的新文件哈希;
将所述新文件哈希上传至所述区块链网络,获得对应的新交易哈希及新上链时间,所述新上链时间作为所述变更后的文件的存证时间;
等待其他未授时的文件对应的交易哈希基于预定数量生成新的组哈希,将所述新的组哈希提交至所述授时系统进行授时。
12.根据权利要求7所述的装置,其中,所述生成装置基于预定数量的所述文件对应的文件哈希、交易哈希及上链时间生成所述组哈希。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至6中任一项所述的方法被执行。
14.一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
CN202010184337.8A 2020-03-16 2020-03-16 一种基于区块链的文件授时的方法和装置 Active CN111400270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010184337.8A CN111400270B (zh) 2020-03-16 2020-03-16 一种基于区块链的文件授时的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010184337.8A CN111400270B (zh) 2020-03-16 2020-03-16 一种基于区块链的文件授时的方法和装置

Publications (2)

Publication Number Publication Date
CN111400270A CN111400270A (zh) 2020-07-10
CN111400270B true CN111400270B (zh) 2021-05-04

Family

ID=71430903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010184337.8A Active CN111400270B (zh) 2020-03-16 2020-03-16 一种基于区块链的文件授时的方法和装置

Country Status (1)

Country Link
CN (1) CN111400270B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950027A (zh) * 2020-08-21 2020-11-17 安徽高山科技有限公司 一种基于区块链智能合约的文件分享方法
CN112364382B (zh) * 2021-01-12 2021-04-27 支付宝(杭州)信息技术有限公司 基于可信账本数据库的业务记录的可信时间域确定方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114980B2 (en) * 2016-07-21 2018-10-30 Acronis International Gmbh System and method for verifying data integrity using a blockchain network
CN107704493B (zh) * 2017-08-23 2021-02-26 苏州朗润创新知识产权运营有限公司 一种用于提供产品溯源的方法及系统
CN108809630A (zh) * 2018-06-19 2018-11-13 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种遗嘱保存方法、系统、设备及计算机可读存储介质
CN109508984B (zh) * 2018-11-26 2021-09-07 中国科学院软件研究所 一种基于确定性共识与可信时间戳的区块链电子存证方法

Also Published As

Publication number Publication date
CN111400270A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN110869967B (zh) 用于并行处理区块链交易的系统和方法
CN110383279B (zh) 用于检测重放攻击的系统和方法
US10338946B1 (en) Composable machine image
CN107577427B (zh) 用于区块链系统的数据迁移方法、设备和存储介质
US10761877B2 (en) Apparatuses, methods, and systems for blockchain transaction acceleration
US10491396B2 (en) Method and server for providing notary service for file and verifying file recorded by notary service
CN110431577B (zh) 用于检测重放攻击的系统和方法
US10235538B2 (en) Method and server for providing notary service for file and verifying file recorded by notary service
CN115210741B (zh) 部分有序的区块链
US9015499B2 (en) Verifying data integrity utilizing dispersed storage
US11151276B1 (en) Systems and methods for data certificate notarization utilizing bridging from private blockchain to public blockchain
CN111400270B (zh) 一种基于区块链的文件授时的方法和装置
CN111881109B (zh) 数据库可合并分类账
Tu et al. Privacy-preserving outsourced auditing scheme for dynamic data storage in cloud
US11307790B2 (en) Method, device, and computer program product for managing data placement
CN111385096A (zh) 一种区块链网络、签名处理方法、终端及存储介质
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
CN112182112A (zh) 基于区块链的分布式数据动态存储方法和电子设备
CN114127724A (zh) 针对多副本存储的完整性审计
CN113590703B (zh) Es数据导入方法、装置、电子设备及可读存储介质
KR102375144B1 (ko) 블록체인을 이용하여 개인키를 관리하는 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
CN113610527A (zh) 联盟链的交易方法、装置、系统、终端设备及存储介质
CN112887281A (zh) 支持高效审计和多备份密文去重的存储方法、系统及应用
CN113779146A (zh) 一种基于区块链的分布式电子证照可验证存储系统
CN112732789A (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
GR01 Patent grant
GR01 Patent grant