CN112699081B - 基于区块链的文件自证方法及装置 - Google Patents

基于区块链的文件自证方法及装置 Download PDF

Info

Publication number
CN112699081B
CN112699081B CN202011145731.7A CN202011145731A CN112699081B CN 112699081 B CN112699081 B CN 112699081B CN 202011145731 A CN202011145731 A CN 202011145731A CN 112699081 B CN112699081 B CN 112699081B
Authority
CN
China
Prior art keywords
file
electronic file
blockchain
hash value
self
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
CN202011145731.7A
Other languages
English (en)
Other versions
CN112699081A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202011145731.7A priority Critical patent/CN112699081B/zh
Publication of CN112699081A publication Critical patent/CN112699081A/zh
Application granted granted Critical
Publication of CN112699081B publication Critical patent/CN112699081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于区块链的文件自证方法及装置,方法包括:接收用户提交的电子文件;根据预设的参数对所述的电子文件进行切分处理生成分组数据块;对所述分组数据块进行哈希处理确定电子文件的分组哈希值;将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。本发明实现业务系统的电子文件的自证功能,将电子文件哈希值都存储到了区块链中,利用区块链的数据有难以篡改的特性,实现了保护业务信息、资料的真实性,通过对电子文档进行切分,对生成的分组数据进行哈希处理,可以比较精准的定位文件篡改位置。

Description

基于区块链的文件自证方法及装置
技术领域
本发明涉及区块链技术,具体的讲是一种区块链文件自证方法及装置。
背景技术
在商业组织机构活动中,相关司法部门、银行监督委员会等机构可能需要商业组织机构配合提供相关的非结构化的电子文件档案。
商业组织机构本身的业务系统记录了新增修改删除记录,并记录了变更历史、草稿等信息,但是如何证明提供给司法机关、监管机构的档案信息是真实的,从技术上 证明自身没有做技术上的篡改的;如果文件发生了篡改,如何识别和定位篡改的位置, 目前没有较好的解决方案。同时,目前的区块链共识效率较低,无法满足日益增长的 业务量。
发明内容
为至少解决现有技术中文件自证的一缺陷,本发明提供了一种基于区块链的文件自证方法,包括:
接收用户提交的电子文件;
根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。
本发明实施例中,所述的根据预设的参数对所述的电子文件进行切分处理生成分组数据块包括:
根据预设的文件块长度对所述的电子文件进行切分生成数据块;
按预设分组参数对所述的数据块进行分组生成分组数据块。
本发明实施例中,所述的将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证包括:
获取待自证电子文件及其分组哈希值;
根据待自证电子文件从区块链获取其预先已共识的分组哈希值;
根据确定的待自证电子文件的分组哈希值和已共识的分组哈希值进行文件自证。
本发明实施例中,所述的接收用户提交的电子文件还包括:接收电子文件对应的批次ID。
本发明实施例中,所述的将所述电子文件的分组哈希值发送至区块链进行节点共识包括:
将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使区块链将对应的批次ID作为区块交易的唯一识别标志,所述电子文件的分组哈希值作为区块的 交易消息进行节点共识;
接收进行节点共识后确定的区块地址及高度信息。
本发明实施例中,所述的方法还包括:
从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
同时,本发明还提供一种基于区块链的文件自证装置,包括:
接收模块,用于接收用户提交的电子文件;
切分模块,用于根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
哈希处理模块,用于对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
自证处理模块,用于将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。
本发明实施例中,所述切分模块包括:
分块单元,用于根据预设的文件块长度对所述的电子文件进行切分生成数据块;
分组单元,用于按预设分组参数对所述的数据块进行分组生成分组数据块。
本发明实施例中,所述的自证处理模块包括:
获取单元,用于获取待自证电子文件及其分组哈希值;
共识哈希值获取单元,用于根据待自证电子文件从区块链获取其预先已共识的分组哈希值;
自证比较单元,用于根据确定的待自证电子文件的分组哈希值和已共识的分组哈希值进行文件自证。
本发明实施例中,所述的自证处理模块包括:
发送单元,将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使 区块链将对应的批次ID作为区块交易的key(密钥),所述电子文件的分组哈希值作 为区块的交易消息进行节点共识;
接收单元,接收进行节点共识后确定的区块地址及高度信息。
本发明实施例中,所述的自证处理模块包括:
节点抽取单元,用于从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供的种基于区块链的文件自证方法及装置,利用区块链技术实现业务系统的电子文件的自证功能,将电子文件哈希值都存储到了区块链中,利用区块链的数 据有难以篡改的特性,实现了保护业务信息、资料的真实性;无需设置专业的公证机 构,方便司法机构的取证,最终达到自证的目的。本发明进一步通过对电子文档进行 切分,对生成的分组数据进行哈希处理,实现分组增量哈希算法,可以比较精准的定 位文件篡改位置。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于区块链的文件自证方法的流程图;
图2为本发明实施例中系统的总体架构;
图3为本发明实施例中提供的区块链链式结构示意图;
图4为本发明实施例中涉及的各层的结构框图;
图5为本发明实施例中业务与批次的关系图;
图6为本发明实施例中的流程图;
图7为本发明提供的基于区块链的文件自证装置的框图;
图8为本发明提供的电子设备实施例的示意图;
图9为本发明实施例中算法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明提供的一种基于区块链的文件自证方法,其包括:
步骤S101,接收用户提交的电子文件;
步骤S102,根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
步骤S103,对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
步骤S104,将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。
本发明提供的种基于区块链的文件自证方法,实现业务系统的电子文件的自证功能,将电子文件哈希值都存储到了区块链中,利用区块链的数据有难以篡改的特性, 实现了保护业务信息、资料的真实性;无需设置专业的公证机构,方便司法机构的取 证,最终达到自证的目的。本发明通过对电子文档进行切分,对生成的分组数据进行 哈希处理,实现分组增量哈希算法,可以比较精准的定位文件篡改位置。
本发明实施例中,所述的根据预设的参数对所述的电子文件进行切分处理生成分组数据块包括:
根据预设的文件块长度对所述的电子文件进行切分生成数据块;
按预设分组参数对所述的数据块进行分组生成分组数据块。
具体的,本发明一实施例中,将电子文件进行文件块的切分,根据切分的文件块数大小再做分组,分组的数量以参数的形式进行配置,利用分组计算的哈希以增强识 别具体被修改的文件块的内容。
本发明实施例中,所述的接收用户提交的电子文件还包括:接收电子文件对应的批次ID。
本发明实施例中,所述的将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证包括:
获取待自证电子文件及其分组哈希值;
根据待自证电子文件对应的批次ID从区块链获取其预先已共识的分组哈希值 根据确定的待自证电子文件的分组哈希值和已共识的分组哈希值进行文件自证。
将批次信息和对应的哈希值保存到区块中,用户发起文件查询请求,根据批次信息从区块链系统查询哈希值。如果用户需要进行鉴定批次是否被修改过,首先按批次 计算哈希值是否与区块链服务平台返回的哈希值一致。如果不一致,对文件切分并分 组计算哈希,计算每个文件块的哈希值是否与从区块链获取的各哈希值一致,不一致 的分组则是被修改的文件块。
本发明实施例中,所述的将所述电子文件的分组哈希值发送至区块链进行节点共识包括:
将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使区块链将对应的批次ID作为区块交易的唯一识别标志(key),所述电子文件的分组哈希值作为 区块的交易消息进行节点共识;
接收进行节点共识后确定的区块地址及高度信息。
本发明一实施例中,区块链中区块通过非对称加密机制签名,打上时间戳,计算了哈希值。更为重要的是,为了防止事后造假、抵赖和篡改,根据批次ID将业务记 录按提交顺序记录到区块中,区块与区块间串接成链式结构,前一个区块链的哈希值 放入第二个区块链中。这样一来,实现了区块链的块块相扣,对任何文件的任何非法 修改,势必引发其他所有数据块中哈希值的改变,一份文件真实性有变,则所有文件 的真实性均受到影响。业务记录一旦登记进区块链,永远不能被删除。如果确实存在 合法修改某条业务记录的必要,则只能在链上新增修改后的记录,原记录不得被覆盖。 用户可以通过区块链追溯整个业务过程。这使得链上文件的真实性因业务流程的不可 逆与业务记录的不可篡改而得到保障。
本发明实施例中,所述的方法还包括:
从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
区块链服务支持的交易效率较低,为提高区块链的交易效率以适应日益增长的业务量,本发明的进行共识处理的过程中,共识节点采取随机抽取的方式来提供共识效 率,进而提高整体效率。
下面结合具体的实施例对本发明技术方案进行详细说明。
本实施例中系统的关系的总体架构如图2所示。各个业务应用系统调用电子文件服务平台的接口进行系统间的交互,电子文件服务平台完成专业的电子文件的传输、 存储和管理。业务应用系统在电子文件服务平台配置是否纳入区块链,对于业务应用 系统为非侵入式的。纳入区块链的业务数据,在区块链服务平台中保存交易摘要和关 键业务信息。业务应用系统做专业的业务处理;电子文件服务平台专门做电子文件的 存储和管理,并提供文件的展现功能;区块链服务平台主要是存储交易关键信息,实 现不可篡改的功能。各个系统各司其职,做到高内聚低耦合。
本实施例中,业务应用系统发起业务请求,在业务请求中上传相关的文件信息。业务应用系统调用电子文件服务平台的批次上传接口将该业务相关的文件以单个或 多个批次的形式上传到电子文件服务平台,电子文件服务平台将批次中的文件保存, 并在保存前计算每个文件的哈希值,同时将文件进行文件块的切分,根据切分的文件 块数大小再做分组。
其中,分组的数量以预设参数的形式进行配置,将分组计算的哈希值保存在批次的索引文件中,以增强识别具体被修改的文件块的内容。电子文件服务平台调用区块 链服务平台的接口,将批次信息和对应的哈希值保存到区块中。
用户通过业务系统发起文件查询请求,业务系统调用电子文件服务平台的批次查询功能进行查询。如果用户需要进行鉴定批次是否被修改过,首先按批次计算哈希值 是否与区块链服务平台返回的哈希一致。如果不一致,调用gihash计算模块对文件切 分并分组计算哈希,计算每个文件块的哈希值是否与索引文件一致,不一致的分组则 是被修改的文件块。用户需要修改文件时,首先调用电子文件服务平台的下载功能, 然后对批次文件进行修改,最后通过调用电子文件服务平台的批次修改接口保存修改 后的文件到电子文件服务平台。电子文件服务平台将更新批次索引信息。更新前在客 户端计算文件的哈希与索引哈希是否一致,如果文件哈希本身不变,说明批次中的该 文件没变化,无需进行上传覆盖,节省带宽和服务器资源。如果有变化,则再调用 gihash计算模块,细到分块分组计算哈希。
在区块链服务平台中,区块通过非对称加密机制签名,打上时间戳,计算了哈希值。更为重要的是,为了防止事后造假、抵赖和篡改,它将业务记录按提交顺序逐条 记录在区块中,区块间串接成链式结构,前一个区块链的哈希值放入第二个区块链中。 这样一来,实现了区块链的“块块相扣”,对任何文件的任何非法修改,势必引发其 他所有数据块中哈希值的改变,一份文件真实性有变,则所有文件的真实性均受到影 响,如图3所示,即为本实施例中提供的区块链链式结构示意图。业务记录一旦登记 进区块链,永远不能被删除。如果确实存在合法修改某条业务记录的必要,则只能在 链上新增修改后的记录,原记录不得被覆盖。用户可以通过区块链追溯整个业务过程。 这使得链上文件的真实性因业务流程的不可逆与业务记录的不可篡改而得到保障。
如图4所示,为本实施例中涉及的各层的结构框图,具体的,对涉及到应用层1 (业务系统)、电子文件服务层2、区块链服务层3,各层说明如下:
应用层1包括各类业务系统,包含电子文件服务平台提供给业务系统的客户端接口301,业务系统使用电子文件服务平台提供的sdk包发起业务交易请求。
电子文件服务层2主要负责存储非结构化的电子文件。其包括:上传模块201、 批次下载模块202、批次修改模块203、批次鉴定模块204,gihash计算模块400。
首先对部分术语加以说明如下:
电子文件,其包括但不限于:非格式化数据,如txt、pdf、jpg、doc、xls、mp4等。
批次ID:一笔业务中涉及的若干电子文件(txt、doc、pdf、zip等)关联到电子 文件系统的唯一业务识别单元。
即一个电子文件批次ID中可以包含一个到多个电子文件。一笔业务可以包含1 到多个批次ID,如图5所示,为本实施例中业务与批次的关系图。
批次上传模块201,接收用户端上传的一个到多个电子文件,以一个批次的形式上传到电子文件服务端,并将每个文件哈希保存在批次的index.xml中,最后对所有 文件生成的index.xml文件生成哈希,保存在区块链服务平台的服务器中。
批次下载模块202,用户发起下载请求,可以选择仅仅下载实体文件,也可以选 择下载实体文件的同时校验区块批次信息是否正确。如果选择了仅仅下载实体,则把 服务器的批次文件信息发送给业务系统即可。
一实施例中,除了下载实体还需要校验批次信息,则先调用区块链交易查询服务进行校验,下载时按照整个批次进行校验,如果校验通过,则可以正常下载,然后发 送批次中的文件给业务系统。如果校验不通过,则提示用户是否继续下载。如果按整 个批次校验不通过时,调gihash计算模块400计算每个文件分组校验结果,与原来的 批次索引文件index.xml文件中的进行比对,确认前后的差异。
批次修改模块203,首先由用户发起修改请求,电子文件服务平台锁定该批次, 然后发送批次文件给用户,用户修改完毕后,发送文件给电子文件服务器。批次修改 的时候,电子文件服务平台对于删除的文件置删除标志deleted=true,删除或修改的 文件按版本号区分,并更新version的值。在区块链服务平台,每次的修改在区块中 是新增的交易数据。
批次鉴定模块204,业务系统通过批次ID调电子文件服务平台提供的sdk中的 区块链校验接口。电子文件服务平台通过查询该批次的index.xml信息查询该批次ID 是否保存了区块信息。如果没有区块信息,则返回给业务系统。否则核对该批次的 index.xml中的区块地址和高度信息,则根据区块地址和高度、批次ID调区块链服务 平台的查询接口。区块链服务平台根据上送的区块地址和高度、批次ID查询该笔交 易的相关信息,并将查询结果返回给电子文件服务平台。电子文件服务平台根据区块 链服务平台返回的信息,结合计算每个文件的哈希值,比对计算结果与区块链服务平 台返回的信息是否一致。如果不一致,调gihash模块400计算文件的分组哈希的差异, 根据index.xml中的文件块的起始位置读取被修改的内容。并将差异处理结果返回给 业务系统。如果一致则返回正常信息给业务系统。
gihash计算模块400:不同于传统哈希,该模块的核心功能是将文件按文件块切分,并将切分后的文件块分组,计算每个组的哈希值。是批次上传、下载、修改、鉴 定等模块使用到的公共模块。
本发明实现完整性保护的核心内容是使用适当的校验机制来防止文件信息被恶意修改,特别是用先前的文件来替换当前文件以躲避验证机制而实施的攻击。为此, 把信息的校验值存放在使其无法被篡改的安全区域,这样攻击者即使用先前的信息替 换当前信息,可他却不能更新信息的校验值,通过对比即可验证文件的完整性。
区块链服务层包含更新账本模块101,查询账本模块102。
更新账本模块101,用于实现交易在区块链服务平台各个节点请求共识过程。首先客户端发起提案,根据背书策略,背书节点进行背书;排序节点进行排序、验证, 然后生成区块,交给提交节点进行生成和写入账本。
查询账本模块102,首先应用程序使用相应的SDK提供的API构建交易提案并 提交给相应的背书节点;背书节点对接收到的交易提案请求进行验证,验证通过后调 用链码进行模拟执行,对结果进行背书并响应给客户端。应用程序将检查查询响应信 息,并且不会将事务提交给排序节点服务。
下面结合附图6,说明详细的上传流程。步骤如下:
步骤S601:用户提交电子文件批次和该批次关联的业务信息
步骤S602:根据用户提交的业务信息按照预设规则由电子文件服务平台生成批次ID;
本实施例中,批次ID的组成包括:6位的业务类别+8位日期+9位的时间戳+3 位的随机数。
步骤S603:接收用户上传的文件并保存到电子文件服务器节点。
步骤S604:判断文件是否关联区块链。
步骤S605:如果关联,提交前调用电子文件服务的gihash计算模块400计算每 个文件的分组哈希,记录在该批次文件的index.xml中,文件(file)的哈希属性对应 的值为每个文件的哈希值,分组哈希记录在标签为group的属性中,pos为文件分块 的开始位置,grouphash为该组的哈希。
本实施例中,计算文件哈希的步骤放到电子文件服务平台提供的sdk中,考虑的是服务器端可以对文件传输过程的完整性进行校验。
步骤S606:批次ID作为区块中的交易的key,根据前面生成的index.xml文件内 容作为区块的交易信息发送请求到区块链服务平台。
步骤S607:区块链服务平台将交易信息保存到区块中,区块链服务平台在节点 间达成共识。
共识模块采用PBFT共识算法,本实施例中,共识节点的数量从n个节点中随机 抽取p,且抽取比例r>1/3,其中,r=p/n。
由于p个节点是随机选取的,抽取到的节点超过1/3的作恶节点的概率也比较低。具体如下:
预先准备阶段:主节点向共识节点广播需要共识的内容;
准备阶段:收到预准备消息后,每一个共识节点判断其准确性,并向所有其他节点广播准备阶段消息;
提交阶段:在接收到超过p*2/3的节点的准备阶段消息后,一个节点广播提交阶段消息。在收到超过p*2/3的提交阶段消息后,可以认为主节点广播的需要共识的内 容形成了共识。
PBFT依赖于一个诚实的领导者来引导新的共识阶段,如果领导者不诚实,那么 会阻碍整个共识的进度。对此,PBFT中规定,在一段时间内,如果节点没有看到共 识有任何的进度,可以提议换领导者。如果2/3以上的节点同意换领导者,那么可以 根据一个事先约定的顺序选出下一个领导者。
一般的PBFT的时间复杂度为O(n2),如果n个节点随机抽取p个节点共识,则 时间复杂度为O(p2)。令r=p/n,随机抽取节点共识与全节点共识比,节省了 (1-r2)*n2。如果r=0.3则(1-r2)*n2=0.91n2。在总节点数达到一定数量时,节约的 时间成本比较可观。需要考虑的是,由于随机抽取的节点需要满足PBFT容错节点 1/3,故随机节点数应满足抽取比例r>1/3,其中,r=p/n。
共识达成后,区块链服务平台获取业务系统上传的信息,将所述业务信息进行加密,从而生成加密的业务信息,根据所述加密业务信息生成对应的业务摘要信息,并 将所述获业务信息以及加密摘要信息并存放到保存全区块链的节点中,并在各节点间 同步数据,从而达到公证的作用。
步骤S608:返回区块地址;区块链服务平台返回区块地址和区块高度给电子文 件服务平台;
步骤S609:电子文件服务平台记录下区块链服务平台返回的区块地址和高度信息。将区块地址和高度信息补充到index.xml的blockinfo中。
步骤S610:返回批次ID和区块地址到应用系统;
步骤S611:应用系统登记批次ID和区块地址。
另外,对本实施例中gihash计算模块400的算法详细描述如下:
对于传统的哈希算法,即使只是修改一个很大文件中的一小部分甚至一位数据,也必须要把整个文件作为输入才能重新计算来得到文件的校验值。当文件整体的可靠 性不存在时,它却不能指出是哪部分数据块被篡改。
ihash是一种增量式完整性保护技术:当合法用户修改文件信息后,只需计算并更新被修改信息所在分组的校验值和文件的校验值,就可达到信息完整性保护的目 的。有时,被破坏的内容不是我们感兴趣的,有价值的数据并没有遭到篡改;有时, 被破坏的是关键内容,需要总结出攻击者感兴趣的数据。其原理说明如下:
定理:设G表示定长二进制字符串的集合,表示按位与运算,则/>构成 一个有限群。
证明:
对于任意的a,b,∈G,即交换律成立。
对于任意的a∈G,存在全0二进制序列e∈G,使得即存在幺元素。
对任意的a∈G,存在一个a-1=a∈G,使得即存在逆元素。
综上所述,是一个有限群。
定义1:设是一个有限群,寻找G中两个不完全相同的元素序列 a1,a2...an和b1,b2...bm,(n,m∈Z),使得/> 这个问题称为群G上的碰撞问题。
定义2:是一个群,从G中随机挑选元素构成序列a1,a2...an,寻找权重序列,w1,w2,…wn∈{-1,0,1}不全为0,使得/>(e为群G上的单位元), 这个问题称为群G上的平衡问题。其中,ai -1=ai 1=ai,ai 0=e。
假设X是二进制字符串,把X分为等长的n块:X1,X2...Xn,对Xn的不足位进 行填充,<i>是为Xi(1≤i≤n)分配的唯一的、长为log2n位的二进制连接标识符, 则有:
Yi=h(Xi·<i>),(1≤i≤n) (1)
其中h是一种单向的哈希函数,可采用标准哈希算法:CRC32、MD-5或SHA-1 等;符号“·”表示两个二进制字符串的连接。是从定长二进制字符串向群G的映射, 则有:
当Xi或<i>(1≤i≤n)发生变化时则有:
其中,Y'=h(Xi'·<i>')
对如下的二进制序列:
X=X1,X2…Xi-1,Xi,Xi+1,…,Xj-1,Xj,Xj+1,…Xn
和X'=X1,X2…Xi-1,Xj,Xi+1,…,Xj-1,Xi,Xj+1,…Xn
如果在公式(1)中不赋予Xi(1≤i≤n)二进制标识符,则按公式(2)计算得:
根据运算的交换律,hash(X)=hash(X)。
而在公式(1)中为Xi(1≤i≤n)赋予二进制标识符,则按照(2)计算得:
根据定义1,当ihash(X)≠ihash(X')时,不会发生碰撞。
同理,对上述的二进制序列X,Xi=Xj时,删除Xi,Xj得到X',使用连接标识符, 有:ihash(X)≠ihash(X')也不会发生碰撞。
ihash增量密码技术:当文件发生更改时,计算校验值所需的计算量与文件所改动的量成正比。即文件修改时,计算新校验值不需要把整个新文件作为输入计算,只 需要对所改动的部分进行计算即可,大大提高了运算效率。
基本原理:首先,按照逻辑结构将文件X分为n个数据块,即X=X1,X2...Xn。 为了防止碰撞,依次为每个数据块赋予一个唯一的,长为log2n位的二进制连接标识 符:<1>,<2>,…,<n>。
用公式(1)分别对每一个数据块Xi(1≤i≤n)进行哈希运算,得到Yi(1≤i≤n)。 利用公式(2)得到文件X的校验值:
当文件中某数据块Xi,被修改为Xi'时,利用公式(3),X'的校验值这样,数据块的更新时间只与修改的物理数据块个数 成正比。
ihash算法只存储ihash(X),所以它只能验证文件整体是否可靠;当文件整体的可靠性不存在时,它却不能指出是哪部分数据块被篡改。
若存储文件各个数据块的校验值序列Y1,Y2...Yn,那么个别数据块如Xi等被篡改,根据公式(1)和公式(2),对重新计算得到的Y'和存储的Y'不等的数据块进行 隔离,这样,使得其他数据块仍能被有效利用。但是,如果对每个数据块的hash值 都进行存储就成为了原始的哈希方法,也会占用很大的存储空间。
考虑到现实工作中,一般是连续的数据块一起被篡改,为节约存储空间,本发明对其改进并谓之gihash算法:首先按照ihash算法将文件按预定的块大小分为等长 的块,再把块分为等长的组(如果必要还可进一步划分为更大的组)。在此不妨设连 续的f个数据块为一组,把对每组的f个数据块分别进行哈希运算的结果再进行群运 算得到Zi,存储Zi,如果Zi的个数过多,可以再对Zi分组,进行群运算得到Wi,同 理,若Wi的个数过多,还可以对它继续分组,gihash算法的示意如图9所示。
在确定一个分组中的数据块个数f时考虑以下两个因素:
1.若选择的f较小,则连续的几个数据块就要产生一个群运算结果Zi,虽然计算出被篡改的数据块的精确度高,但存储Zi会占用大量的存储空间。
2.若选择的f较大,则只存储若干个群运算结果Zi,虽然存储Zi会占用的存储空 间很小,但计算出被篡改的数据块的精确度大大降低。极端的情况下f为文件的数据 块个数n,则只需存储最终的gihash(X),这种情况就是一般的哈希算法。
在gihash计算模块中,输入为一个文件对象,输出每个分组的分块的开始位置pos,每个组的哈希值Zi。分块的大小根据业务参数进行控制。
本发明基于已经存在通用的电子文件服务平台的前提下,各个业务系统可以直接连接到电子文件服务平台做电子文件的上传下载和影像处理,同时文件哈希和业务信 息保存在区块链服务平台中从而实现自证。
本发明无需各个应用系统做复杂的系统改造即可实现自证,只需要电子文件服务平台做相关的接入区块链的改造,电子文件服务平台在文件上传的客户端sdk中提供 计算上传的各个文件哈希、文件块哈希的功能,并写入index.xml中,上传到电子文 件服务平台后,服务器对接收到的文件对计算哈希值,并与index.xml中的文件哈希 列表进行匹配,如果匹配正确则说明传输完整。
本发明实施例中,具体到每个文件时,将文件按文件块进行切分,切分后再跟进实际情况分组存储分组哈希值,以识别被修改的文件块是否是关键信息。有时被破坏 的内容可能不是所感兴趣的,有价值的数据并没有遭到篡改;有时,被破坏的是关键 内容,需要进行快速识别。
本发明还提供一种改进的pbft算法,核心是随机抽取一定的节点共识,而不需要所有节点完成共识。在抽取比例为r时节约的共识的时间复杂度为O((1-r2)*n2)。 假设r取0.3,则共识过程可以节约90%的时间复杂度。
同时,如图7所示,本发明还提供一种基于区块链的文件自证装置,包括:
接收模块701,用于接收用户提交的电子文件;
切分模块702,用于根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
哈希处理模块703,用于对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
自证处理模块704,用于将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。
本发明实施例中,所述切分模块702包括:
分块单元,用于根据预设的文件块长度对所述的电子文件进行切分生成数据块;
分组单元,用于按预设分组参数对所述的数据块进行分组生成分组数据块。
本发明实施例中,所述的自证处理模块704包括:
获取单元,用于获取待自证电子文件及其分组哈希值;
共识哈希值获取单元,用于根据待自证电子文件从区块链获取其预先已共识的分组哈希值;
自证比较单元,用于根据确定的待自证电子文件的分组哈希值和已共识的分组哈希值进行文件自证。
本发明实施例中,所述的自证处理模块704包括:
发送单元,将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使 区块链将对应的批次ID作为区块交易的key(密钥),所述电子文件的分组哈希值作 为区块的交易消息进行节点共识;
接收单元,接收进行节点共识后确定的区块地址及高度信息。
本发明实施例中,所述的自证处理模块包括:
节点抽取单元,用于从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
本公开基于区块链的文件自证方法的方法和装置可用于金融领域在文件自证过程中的处理,也可用于除金融领域之外的任意领域的文件自证处理,本公开的基于区 块链的文件自证方法和装置的应用领域不做限定。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述方法及装置的 实施例,其内容被合并于此,重复之处不再赘述。
图8为本发明实施例的电子设备600的系统构成的示意框图。如图8所示,该电 子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。 值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构, 以实现电信功能或其他功能。
一实施例中,基于区块链的文件自证方法功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
接收用户提交的电子文件;
根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证。
在另一个实施方式中,基于区块链的文件自证方法装置可以与中央处理器100 分开配置,例如可以将基于区块链的文件自证方法装置配置为与中央处理器100连接 的芯片,通过中央处理器的控制来实现基于区块链的文件自证方法功能。
如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频 处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须 要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部 件,可以参考现有技术。
如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器 或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600 的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储 器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信 息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140 存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输 入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等 显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选 择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还 可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。 存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程 序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如 联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140 的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的 其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这 可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂 窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还 经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输 出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130 可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中 央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬 声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的基于区块链的文 件自证方法方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的基于区块链的文件自证。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实 精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修 改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而 是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件 方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序 代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术 人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种基于区块链的文件自证方法,其特征在于,所述的方法包括:
接收用户提交的电子文件及对应的批次ID;
根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证;
所述的将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证包括:
获取所述电子文件及其分组哈希值;
根据所述电子文件对应的批次ID从区块链获取其预先已共识的分组哈希值;
根据确定的所述电子文件的分组哈希值和已共识的分组哈希值进行文件自证;
所述的将所述电子文件的分组哈希值发送至区块链进行节点共识包括:
将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使区块链将对应的批次ID作为区块交易的唯一识别标志,所述电子文件的分组哈希值作为区块的交易消息进行节点共识;
接收进行节点共识后确定的区块地址及高度信息。
2.如权利要求1所述的基于区块链的文件自证方法,其特征在于,所述的根据预设的参数对所述的电子文件进行切分处理生成分组数据块包括:
根据预设的文件块长度对所述的电子文件进行切分生成数据块;
按预设分组参数对所述的数据块进行分组生成分组数据块。
3.如权利要求1所述的基于区块链的文件自证方法,其特征在于,所述的方法还包括:
从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
4.一种基于区块链的文件自证装置,其特征在于,所述的装置包括:
接收模块,用于接收用户提交的电子文件及对应的批次ID;
切分模块,用于根据预设的参数对所述的电子文件进行切分处理生成分组数据块;
哈希处理模块,用于对所述分组数据块进行哈希处理确定电子文件的分组哈希值;
自证处理模块,用于将所述电子文件的分组哈希值发送至区块链进行节点共识以进行文件自证;
所述的自证处理模块包括:
获取单元,用于获取所述电子文件及其分组哈希值;
共识哈希值获取单元,用于根据所述电子文件对应的批次ID从区块链获取其预先已共识的分组哈希值;
自证比较单元,用于根据确定的所述电子文件的分组哈希值和已共识的分组哈希值进行文件自证;
发送单元,将所述电子文件的分组哈希值及对应的批次ID发送至区块链,以使区块链将对应的批次ID作为区块交易的唯一识别标志,所述电子文件的分组哈希值作为区块的交易消息进行节点共识;
接收单元,接收进行节点共识后确定的区块地址及高度信息。
5.如权利要求4所述的基于区块链的文件自证装置,其特征在于,所述切分模块包括:
分块单元,用于根据预设的文件块长度对所述的电子文件进行切分生成数据块;
分组单元,用于按预设分组参数对所述的数据块进行分组生成分组数据块。
6.如权利要求4所述的基于区块链的文件自证装置,其特征在于,所述的自证处理模块包括:
节点抽取单元,用于从区块链节点中按预设的抽取比例随机抽取节点以进行节点共识。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述方法的步骤。
CN202011145731.7A 2020-10-23 2020-10-23 基于区块链的文件自证方法及装置 Active CN112699081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011145731.7A CN112699081B (zh) 2020-10-23 2020-10-23 基于区块链的文件自证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011145731.7A CN112699081B (zh) 2020-10-23 2020-10-23 基于区块链的文件自证方法及装置

Publications (2)

Publication Number Publication Date
CN112699081A CN112699081A (zh) 2021-04-23
CN112699081B true CN112699081B (zh) 2024-01-26

Family

ID=75505855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011145731.7A Active CN112699081B (zh) 2020-10-23 2020-10-23 基于区块链的文件自证方法及装置

Country Status (1)

Country Link
CN (1) CN112699081B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468118B (zh) * 2021-05-11 2023-09-22 深圳前海移联科技有限公司 一种基于区块链的文件增量存储方法、装置及存储介质
CN113411393A (zh) * 2021-06-17 2021-09-17 中国工商银行股份有限公司 文件推送方法及装置
CN113434909B (zh) * 2021-06-25 2023-12-29 湖北央中巨石信息技术有限公司 一种基于区块链的数据按需存证方法
CN113987063B (zh) * 2021-09-23 2022-06-24 北京连山科技股份有限公司 一种基于区块链的数据粒子分发系统
CN114119234A (zh) * 2021-12-03 2022-03-01 西华大学 基于区块链反垄断的平台产品与价格结构自证交易方法
CN114140138B (zh) * 2021-12-03 2023-02-03 西华大学 一种基于区块链技术的市场监管一致性核查方法
CN114119236A (zh) * 2021-12-03 2022-03-01 西华大学 基于区块链反垄断的平台相对交易人数据自证交易方法
CN114119235B (zh) * 2021-12-03 2023-05-30 西华大学 一种基于区块链的平台反垄断算法行为自证交易方法
CN114579581B (zh) * 2022-05-05 2022-08-30 武汉北大高科软件股份有限公司 一种基于区块链的数据监管方法和装置
CN114900536A (zh) * 2022-05-18 2022-08-12 华侨大学 基于区块链的积分通兑共识存储方法及系统
CN115576953B (zh) * 2022-11-18 2023-07-25 中国信息通信研究院 基于区块链的数据交互方法和系统、存储介质、设备
CN116702225A (zh) * 2023-06-08 2023-09-05 重庆傲雄在线信息技术有限公司 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质
CN117273974B (zh) * 2023-11-21 2024-02-06 中国人寿保险股份有限公司上海数据中心 基于区块链共识的大型企业费用报销数据生成验证方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647523A (zh) * 2018-04-28 2018-10-12 华南理工大学 一种基于区块链的电子证明系统及存证、文件恢复方法
CN108667836A (zh) * 2018-05-08 2018-10-16 众安信息技术服务有限公司 区块链共识方法
CN109409122A (zh) * 2018-09-13 2019-03-01 远光软件股份有限公司 文件存储方法及其电子设备、存储介质
CN109657499A (zh) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 元数据验证方法、系统服务器和计算机可读存储介质
CN109992563A (zh) * 2019-01-18 2019-07-09 阿里巴巴集团控股有限公司 一种基于区块链的业务文件存储方法及装置
CN110912937A (zh) * 2019-12-23 2020-03-24 杭州中科先进技术研究院有限公司 一种基于区块链的数字存证平台和存证方法
CN110968554A (zh) * 2018-09-30 2020-04-07 苏州中宇云网数字科技有限公司 一种基于文件链分块的区块链存储方法、存储系统及存储介质
CN111382463A (zh) * 2020-04-02 2020-07-07 中国工商银行股份有限公司 基于流数据的区块链系统及方法
CN111552676A (zh) * 2020-04-26 2020-08-18 北京众享比特科技有限公司 基于区块链的存证方法、装置、设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647523A (zh) * 2018-04-28 2018-10-12 华南理工大学 一种基于区块链的电子证明系统及存证、文件恢复方法
CN108667836A (zh) * 2018-05-08 2018-10-16 众安信息技术服务有限公司 区块链共识方法
CN109409122A (zh) * 2018-09-13 2019-03-01 远光软件股份有限公司 文件存储方法及其电子设备、存储介质
CN110968554A (zh) * 2018-09-30 2020-04-07 苏州中宇云网数字科技有限公司 一种基于文件链分块的区块链存储方法、存储系统及存储介质
CN109657499A (zh) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 元数据验证方法、系统服务器和计算机可读存储介质
CN109992563A (zh) * 2019-01-18 2019-07-09 阿里巴巴集团控股有限公司 一种基于区块链的业务文件存储方法及装置
CN110912937A (zh) * 2019-12-23 2020-03-24 杭州中科先进技术研究院有限公司 一种基于区块链的数字存证平台和存证方法
CN111382463A (zh) * 2020-04-02 2020-07-07 中国工商银行股份有限公司 基于流数据的区块链系统及方法
CN111552676A (zh) * 2020-04-26 2020-08-18 北京众享比特科技有限公司 基于区块链的存证方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112699081A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN112699081B (zh) 基于区块链的文件自证方法及装置
US11165589B2 (en) Trusted agent blockchain oracle
US11233657B2 (en) Method and system for registering digital documents
CN109902071B (zh) 业务日志存储方法、系统、装置及设备
CN115210741B (zh) 部分有序的区块链
CN110059084B (zh) 一种数据存储方法、装置及设备
US20190156332A1 (en) Optimization of high volume transaction performance on a blockchain
CN110019278B (zh) 一种数据验证方法、装置及设备
US11283622B2 (en) Signature verification for a blockchain ledger
CN110008203B (zh) 一种数据清除方法、装置及设备
JP2023501152A (ja) 許可型ブロックチェーンのためのランダムなノード選択
CN110008249B (zh) 一种基于时间的数据查询方法、装置及设备
US20230379170A1 (en) Systems and methods for distributed extensible blockchain structures
CN110061843B (zh) 一种链式账本中的块高创建方法、装置及设备
US10990705B2 (en) Index creation for data records
KR20220144810A (ko) 비밀 분할 및 메타데이터 저장
CN111339201A (zh) 基于区块链的测评方法及系统
CN110046281B (zh) 一种数据添加方法、装置及设备
CN109918451A (zh) 基于区块链的数据库管理方法及系统
CN110008210B (zh) 一种索引创建方法、装置及设备
CN111797426B (zh) 一种用于去信任通知服务的方法和系统
US11921689B2 (en) Data structure storage optimisation
CN110807203B (zh) 数据处理方法、业务运营中心平台、系统以及存储介质
US20210328808A1 (en) Digital signature management method and digital signature management system
CN116361823A (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