CN113536342A - 基于区块链的存证管理方法、系统、程序产品及存储介质 - Google Patents

基于区块链的存证管理方法、系统、程序产品及存储介质 Download PDF

Info

Publication number
CN113536342A
CN113536342A CN202110765402.0A CN202110765402A CN113536342A CN 113536342 A CN113536342 A CN 113536342A CN 202110765402 A CN202110765402 A CN 202110765402A CN 113536342 A CN113536342 A CN 113536342A
Authority
CN
China
Prior art keywords
evidence
data object
target
certificate
storing
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.)
Granted
Application number
CN202110765402.0A
Other languages
English (en)
Other versions
CN113536342B (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.)
China Merchants Bank Co Ltd
Original Assignee
China Merchants Bank 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 China Merchants Bank Co Ltd filed Critical China Merchants Bank Co Ltd
Priority to CN202110765402.0A priority Critical patent/CN113536342B/zh
Publication of CN113536342A publication Critical patent/CN113536342A/zh
Application granted granted Critical
Publication of CN113536342B publication Critical patent/CN113536342B/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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于区块链的存证管理方法、系统、程序产品及存储介质,方法包括:对待接入应用进行注册处理,得到各待接入应用对应的应用标识;创建各待接入应用对应的数据合约,并将应用标识和数据合约的映射关系保存在区块链的智能合约中;当接收到存证请求时,确定存证请求对应的目标应用和数据对象,并从智能合约中确定与目标应用对应的应用标识相匹配的目标数据合约;根据目标数据合约对数据对象执行存证操作,得到存证信息,并根据存证信息生成存证记录。本发明通过为不同应用创建单独的数据合约,从合约层面上将不同应用之间的待存证数据隔离开来,能够满足不同场景不同应用的存证需求,使得存证管理系统的存证服务更加通用化。

Description

基于区块链的存证管理方法、系统、程序产品及存储介质
技术领域
本发明涉及智能合约技术领域,尤其涉及基于区块链的存证管理方法、系统、程序产品及存储介质。
背景技术
区块链作为一种新型的去中心化分布式账本,具有不可篡改、可追溯等特点,能够为电子数据的完整性、有效性、存在性和可追溯性提供有力的保障。近年来,区块链技术加速发展,不断在新的领域尝试应用落地,目前已在贸易物流、文娱、社会公共服务、金融、政务、知识产权、社交、日常消费、工业、农业、能源等多个垂直行业得到了广泛的应用。且大部分应用都是利用区块链技术去解决数据共享的问题,因此,如何使用区块链对电子数据进行存证,以便多方进行可信数据传递,对区块链技术的应用具有重要意义。
但是,现有的电子数据存证技术往往只能用于特定的场景,使用场景较为局限,而且,当出现新的场景存证需求时,可能会因为已有的存证服务不能满足该场景需求而无法直接使用,这时就需要区块链开发者重新为该场景定制开发一套适用的存证服务,因此,现有的电子数据存证方法会导致资源浪费、重复开发等问题。
发明内容
本发明的主要目的在于提出一种基于区块链的存证管理方法、系统、程序产品及存储介质,旨在让存证服务更加通用化,避免重复开发,有利于节省资源。
为实现上述目的,本发明提供一种基于区块链的存证管理方法,所述方法包括如下步骤:
对待接入应用进行注册处理,得到各所述待接入应用对应的应用标识;
创建各所述待接入应用对应的数据合约,并将各所述应用标识和对应的数据合约的映射关系保存在区块链的智能合约中;
当接收到存证请求时,确定所述存证请求对应的目标应用和数据对象,并从所述智能合约中确定与所述目标应用对应的应用标识相匹配的目标数据合约;
根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录。
优选地,所述存证信息包括存证ID和索引关键字,所述根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录的步骤包括:
在对所述数据对象执行存证操作时,根据所述目标数据合约生成所述数据对象对应的存证ID,并获取所述数据对象对应的索引关键字;
根据所述索引关键字和所述存证ID生成所述数据对象的存证记录。
优选地,所述存证信息包括校验哈希值,所述根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录的步骤包括:
在对所述数据对象执行存证操作时,根据所述目标数据合约对所述数据对象进行哈希运算,得到所述数据对象的校验哈希值;
根据所述校验哈希值生成所述数据对象的存证记录。
优选地,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当接收到存证验证请求时,确定所述存证验证请求对应的目标数据对象,并对所述目标数据对象进行哈希运算,得到所述目标数据对象的目标哈希值;
获取所述目标数据对象在所述区块链中存储的校验哈希值,并将所述存储的校验哈希值和所述目标哈希值进行对比匹配;
若所述存储的校验哈希值和所述目标哈希值完全匹配,则确定所述目标数据对象通过存证验证;
若所述存储的校验哈希值和所述目标哈希值不完全匹配,则确定所述目标数据对象不通过存证验证。
优选地,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当接收到存证查询请求时,确定所述存证查询请求对应的存证查询方式;
根据所述存证查询方式查询所述存证查询请求对应的查询存证记录,并输出所述查询存证记录中的存证信息。
优选地,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当检测到所述数据对象中的存证信息发生变更时,确定变更后的待更新存证信息;
根据所述待更新存证信息对所述数据对象执行更新操作,所述更新操作为保留所述数据对象的原始存证记录,并将所述数据对象中的存证信息更新为所述待更新存证信息,得到更新后的存证记录;
在所述更新操作完成后,更新所述数据对象对应的版本信息,以供用户查询不同版本信息对应的存证记录。
优选地,所述对待接入应用进行注册处理的步骤之后,还包括:
接收各所述待接入应用对应的用户注册请求,并分别确定各所述用户注册请求对应的目标用户,以及各所述目标用户待注册的目标应用;
获取各所述目标用户对应的用户注册信息,并根据所述用户注册信息将各所述目标用户分别注册到对应的目标应用中,得到各所述目标用户对应的用户身份标识;
当接收到目标存证请求时,根据所述用户身份标识对所述目标存证请求对应的待存证用户进行身份验证;
在所述待存证用户身份验证通过后,执行所述目标存证请求对应的响应流程。
此外,为实现上述目的,本发明还提供一种基于区块链的存证管理装置,所述基于区块链的存证管理装置包括:
应用注册模块,用于对待接入应用进行注册处理,得到各所述待接入应用对应的应用标识;
合约管理模块,用于创建各所述待接入应用对应的数据合约,并将各所述应用标识和对应的数据合约的映射关系保存在区块链的智能合约中;
接收确定模块,用于当接收到存证请求时,确定所述存证请求对应的目标应用和数据对象,并从所述智能合约中确定与所述目标应用对应的应用标识相匹配的目标数据合约;
存证执行模块,用于根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录。
优选地,所述存证信息包括存证ID和索引关键字,所述存证执行模块还用于:
在对所述数据对象执行存证操作时,根据所述目标数据合约生成所述数据对象对应的存证ID,并获取所述数据对象对应的索引关键字;
根据所述索引关键字和所述存证ID生成所述数据对象的存证记录。
优选地,所述存证信息包括校验哈希值,所述存证执行模块还用于:
在对所述数据对象执行存证操作时,根据所述目标数据合约对所述数据对象进行哈希运算,得到所述数据对象的校验哈希值;
根据所述校验哈希值生成所述数据对象的存证记录。
优选地,所述基于区块链的存证管理装置还包括存证验证模块,所述存证验证模块用于:
当接收到存证验证请求时,确定所述存证验证请求对应的目标数据对象,并对所述目标数据对象进行哈希运算,得到所述目标数据对象的目标哈希值;
获取所述目标数据对象在所述区块链中存储的校验哈希值,并将所述存储的校验哈希值和所述目标哈希值进行对比匹配;
若所述存储的校验哈希值和所述目标哈希值完全匹配,则确定所述目标数据对象通过存证验证;
若所述存储的校验哈希值和所述目标哈希值不完全匹配,则确定所述目标数据对象不通过存证验证。
优选地,所述基于区块链的存证管理装置还包括存证查询模块,所述存证查询模块用于:
当接收到存证查询请求时,确定所述存证查询请求对应的存证查询方式;
根据所述存证查询方式查询所述存证查询请求对应的查询存证记录,并输出所述查询存证记录中的存证信息。
优选地,所述基于区块链的存证管理装置还包括存证更新模块,所述存证更新模块用于:
当检测到所述数据对象中的存证信息发生变更时,确定变更后的待更新存证信息;
根据所述待更新存证信息对所述数据对象执行更新操作,所述更新操作为保留所述数据对象的原始存证记录,并将所述数据对象中的存证信息更新为所述待更新存证信息,得到更新后的存证记录;
在所述更新操作完成后,更新所述数据对象对应的版本信息,以供用户查询不同版本信息对应的存证记录。
优选地,所述所述基于区块链的存证管理装置还包括用户注册模块,所述用户注册模块用于:
接收各所述待接入应用对应的用户注册请求,并分别确定各所述用户注册请求对应的目标用户,以及各所述目标用户待注册的目标应用;
获取各所述目标用户对应的用户注册信息,并根据所述用户注册信息将各所述目标用户分别注册到对应的目标应用中,得到各所述目标用户对应的用户身份标识;
当接收到目标存证请求时,根据所述用户身份标识对所述目标存证请求对应的待存证用户进行身份验证;
在所述待存证用户身份验证通过后,执行所述目标存证请求对应的响应流程。
此外,为实现上述目的,本发明还提供一种程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的基于区块链的存证管理方法的步骤。
此外,为实现上述目的,本发明还提供一种基于区块链的存证管理系统,所述基于区块链的存证管理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的存证管理程序,所述基于区块链的存证管理程序被所述处理器执行时实现如上所述的基于区块链的存证管理方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于区块链的存证管理程序,所述基于区块链的存证管理程序被处理器执行时实现如上所述的基于区块链的存证管理方法的步骤。
本发明提出的基于区块链的存证管理方法,对待接入应用进行注册处理,得到各待接入应用对应的应用标识;创建各待接入应用对应的数据合约,并将应用标识和数据合约的映射关系保存在区块链的智能合约中;当接收到存证请求时,确定存证请求对应的目标应用和数据对象,并从智能合约中确定与目标应用对应的应用标识相匹配的目标数据合约;根据目标数据合约对数据对象执行存证操作,得到存证信息,并根据存证信息生成存证记录。本发明通过为不同应用创建单独的数据合约,从合约层面上将不同应用之间的待存证数据隔离开来,能够满足不同场景不同应用的存证需求,使得存证管理系统的存证服务更加通用化。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;
图2为本发明基于区块链的存证管理方法第一实施例的流程示意图;
图3为本发明基于区块链的存证管理方法较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图。
本发明实施例系统包括应用注册模块、用户注册模块、存证模块、更新模块,查询模块、验证模块、证书模块等。
如图1所示,该系统可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的存证管理程序。
其中,操作系统是管理和控制基于区块链的存证管理系统与软件资源的程序,支持网络通信模块、用户接口模块、基于区块链的存证管理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的基于区块链的存证管理系统中,所述基于区块链的存证管理系统通过处理器1001调用存储器1005中存储的基于区块链的存证管理程序,并执行下述基于区块链的存证管理方法各个实施例中的操作。
基于上述硬件结构,提出本发明基于区块链的存证管理方法实施例。
参照图2,图2为本发明基于区块链的存证管理方法第一实施例的流程示意图,所述方法包括:
步骤S10,对待接入应用进行注册处理,得到各所述待接入应用对应的应用标识;
本实施例基于区块链的存证管理方法运用于基于区块链的存证管理系统中,为描述方便,基于区块链的存证管理系统以存证管理系统简称。在本实施例中,存证管理系统包括应用注册模块、用户注册模块、存证模块、更新模块,查询模块、验证模块、证书模块等,其中,应用注册模块用于对待接入存证管理系统的应用进行注册,并为注册完成的应用生成唯一的应用标识APPID;用户注册模块用于通过预设的应用管理员将未注册的普通用户注册到对应目标应用的用户列表里,使得用户有权使用该应用对应的存证服务;存证模块用于对待存证的数据对象执行存证操作,得到对应的存证信息;更新模块用于对区块链上发生变更的数据对象执行更新操作;查询模块用于根据确定的存证查询方式获取对应的存证记录,并输出获取到的存证记录;验证模块用于对输出的存证记录进行有效性验证,以确定存证记录是否被篡改;证书模块用于对通过有效性验证的数据对象出具对应的存证证书。
区块链作为一种新型的去中心化分布式账本,具有不可篡改、可追溯等特点,能够为电子数据的完整性、有效性、存在性和可追溯性提供有力的保障,且利用区块链技术可以解决应用的数据共享问题。因此,如何使用区块链对电子数据进行存证,以便多方进行可信数据传递,对区块链技术的应用具有重要意义。但是,现有的电子数据存证技术往往只能用于特定的场景,使用场景较为局限,而且,当出现新的场景存证需求时,可能会因为已有的存证服务不能满足该场景需求而无法直接使用,这时就需要区块链开发者重新为该场景定制开发一套适用的存证服务,因此,现有的电子数据存证方法会导致资源浪费、重复开发等问题。
在本实施例中,待接入应用指的是等待接入存证管理系统的应用程序,应用在接入存证服务之前,都需要进行注册,以将应用注册到存证管理系统中。在对待接入应用进行注册处理时,需要获取待接入应用对应的应用名称、应用描述等应用信息,其中,应用描述为该待接入应用对应的功能描述,然后根据获取到的应用信息将对应的应用注册到存证管理系统中。对于已经注册成功的应用,存证管理系统会自动为其分配一个APPID,以作为后续使用存证服务相关功能的凭证,且在进行后续的存证操作时,都需要把APPID作为存证请求的请求头参数传入,以便存证管理系统进行对该应用进行校验。
步骤S20,创建各所述待接入应用对应的数据合约,并将各所述应用标识和对应的数据合约的映射关系保存在区块链的智能合约中;
在本实施例中,存证管理系统会自动为已注册成功的应用分配一个APPID,同时也为该应用创建一个独立的数据合约,并把该应用的APPID与数据合约的映射关系保存在区块链的智能合约中。通过为不同应用创建单独的数据合约,从合约层面上将不同应用之间的数据隔离开来,从而可避免不同场景不同应用之间数据的相互混淆,能够满足不同场景不同应用的存证需求,使得存证管理系统的存证服务更加通用化,解决了现有的电子数据存证方法会导致资源浪费、重复开发等问题。
进一步地,所述对待接入应用进行注册处理的步骤之后,还包括:
步骤a1,接收各所述待接入应用对应的用户注册请求,并分别确定各所述用户注册请求对应的目标用户,以及各所述目标用户待注册的目标应用;
步骤a2,获取各所述目标用户对应的用户注册信息,并根据所述用户注册信息将各所述目标用户分别注册到对应的目标应用中,得到各所述目标用户对应的用户身份标识;
步骤a3,当接收到目标存证请求时,根据所述用户身份标识对所述目标存证请求对应的待存证用户进行身份验证;
步骤a4,在所述待存证用户身份验证通过后,执行所述目标存证请求对应的响应流程。
在本实施例中,由于每个应用都至少包括一个应用管理员,用来管理该应用下拥有存证服务使用权限的普通用户。而普通用户必须经由应用管理员在链上注册成功后,方可正常使用存证服务,否则会因权限问题而无法使用该应用的存证服务。将目标用户注册到对应的目标应用中的过程,实际上是该目标应用的应用管理员为普通用户进行链上完成注册操作的过程,因此,用户注册请求对应的目标用户均为普通用户,且用户注册请求中包含了普通用户提供的用户注册信息,以及目标应用的APPID等信息。将目标用户注册到对应的目标应用的用户列表中时,可根据该目标用户对应的用户注册信息,其中,用户注册信息包括用户提供用户名称、联系方式、证件类型、证件号码等信息,将各个待注册的目标用户注册到对应的目标应用中。在目标用户注册成功后,存证管理系统会为该目标用户分配一个身份标识accountID。
当接收到目标存证请求时,可先确定该目标存证请求对应的应用,根据该应用下存储的用户身份标识来对该目标存证请求对应的待存证用户进行身份验证,在待存证用户身份验证通过后,才会执行该目标存证请求对应的响应流程。另外,accountID还可用于对后续存证过程中的交易数据进行签名。
步骤S30,当接收到存证请求时,确定所述存证请求对应的目标应用和数据对象,并从所述智能合约中确定与所述目标应用对应的应用标识相匹配的目标数据合约;
在本实施例中,当接收到存证请求,即当存证管理系统检测到用户通过应用进行电子数据存证时,可通过存证请求确定进行电子数据存证的目标应用,以及数据对象,然后根据该目标应用对应的APPID从智能合约中找到相匹配的数据合约,即目标数据合约,从合约层面上将不同应用之间的数据隔离开来。
需要说明的是,传统的电子存证方法一般只支持数据类型为hash的电子数据的存证,在本实施例中,为了最大程度地适配不同的数据类型,并未规定具体的数据类型,而是对所有的数据类型做了一个抽象,例如,将所有数据类型的数据进行编码打包处理,再用“数据对象”来统一表示不同数据类型的待存证数据,也即,本实施例的数据对象可以表示任何待存证的电子数据。具体的,数据对象可包括三个方面的含义,一是业务系统中的业务对象原文,如合同原文、借据原文等;二是业务系统中现成的hash对象;三是业务系统中的文件经存证服务哈希运算后的hash对象。引入“数据对象”的概念,使得存证管理系统可对不同数据类型的电子数据进存证,提高了存证管理系统的通用性。
步骤S40,根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录。
在本实施例中,根据目标数据合约对数据对象执行存证操作,即确定目标数据合约对应的数据合约地址,并在该数据合约地址上进行存证,从而得到对应的存证信息,再根据存证信息生成该数据对象对应的存证记录。
本实施例的基于区块链的存证管理方法,通过对待接入应用进行注册处理,得到各待接入应用对应的应用标识;创建各待接入应用对应的数据合约,并将各应用标识和数据合约的映射关系保存在区块链的智能合约中;当接收到存证请求时,确定存证请求对应的目标应用和数据对象,并从智能合约中确定与目标应用对应的应用标识相匹配的目标数据合约;根据目标数据合约对数据对象执行存证操作,得到存证信息,并根据存证信息生成存证记录。本发明通过为不同应用创建单独的数据合约,从合约层面上将不同应用之间的待存证数据隔离开来,能够满足不同场景不同应用的存证需求,使得存证管理系统的存证服务更加通用化。
进一步地,基于本发明基于区块链的存证管理方法第一实施例,提出本发明基于区块链的存证管理方法第二实施例。
基于区块链的存证管理方法的第二实施例与基于区块链的存证管理方法的第一实施例的区别在于,所述存证信息包括存证ID和索引关键字,步骤S40包括:
步骤b1,在对所述数据对象执行存证操作时,根据所述目标数据合约生成所述数据对象对应的存证ID,并获取所述数据对象对应的索引关键字;
步骤b2,根据所述索引关键字和所述存证ID生成所述数据对象的存证记录。
在本实施例中,根据目标数据合约将数据对象存储到区块链时,会生成对应的存证ID,同时还可以接收用户输入的索引自定义指令,以供用户自定义索引关键字,从而得到该数据对象对应的索引关键字,且用户在自定义索引关键字时,可通过分隔符“|”连接的方式来指定多个索引关键字。在获取该数据对象对应的索引关键字后,目标数据合约内部会自动将每个索引关键字分离出来,并将分离出来的索引关键字与该数据对象的存证ID进行绑定,然后根据索引关键字和存证ID生成该数据对象的存证记录,使得后续可通过索引关键字和/或存证ID来索引本条存证记录。
此外,存证信息还包括时间戳信息,由于时间戳信息是由存证管理系统时间戳服务中心签发的一个电子凭证,因此,时间戳信息可以用来证明存证操作在对应的时间点是已经存在的、可验证的,其中,存证操作对应的时间戳信息可包括数据对象产生的时间戳信息、用户对交易数据进行签名的时间戳信息、将数据对象存储到区块链时的时间戳信息等等。由此可见,对数据对象执行存证操作后得到的存证信息可包括存证ID、时间戳信息等。
进一步地,所述存证信息包括校验哈希值,步骤S40还包括:
步骤c1,在对所述数据对象执行存证操作时,根据所述目标数据合约对所述数据对象进行哈希运算,得到所述数据对象的校验哈希值;
步骤c2,根据所述校验哈希值生成所述数据对象的存证记录。
在本实施例中,由于每个数据对象都有对应的目标用户,目标用户对应的目标用户身份标识accountID可用于对存证过程中的交易进行签名,然后可根据预设的哈希算法和目标数据合约对存证请求对应的数据对象进行哈希运算,得到该数据对象的校验哈希值(校验hash)。在存证过程中,还可以通过运行智能合约代码,将该校验哈希值存储到区块链中,从而确定该数据对象在区块链中后的区块高度,其中,哈希算法是一种信息摘要(Message Digest)算法,对数据对象进行哈希运算实际上是一种对该数据对象进行压缩映射;区块高度指的是区块的编号,换句话说,就是一个区块与创世区块之间的块数,创世区块是区块链上的第一个区块,且创世区块的区块高度是0,而不是1。由此可确定对数据对象进行存证操作后得到的存证信息可包括校验哈希值、区块高度等。
本实施例的基于区块链的存证管理方法,存证信息可包括存证ID、校验哈希值、区块高度、时间戳信息等,方便后续根据得到的不同存证信息对存证记录进行追溯。
进一步地,基于本发明基于区块链的存证管理方法第一、第二实施例,提出本发明基于区块链的存证管理方法第三实施例。
基于区块链的存证管理方法的第三实施例与基于区块链的存证管理方法的第一、第二实施例的区别在于,在步骤S40之后,还包括:
步骤d1,当接收到存证验证请求时,确定所述存证验证请求对应的目标数据对象,并对所述目标数据对象进行哈希运算,得到所述目标数据对象的目标哈希值;
步骤d2,获取所述目标数据对象在所述区块链中存储的校验哈希值,并将所述存储的校验哈希值和所述目标哈希值进行对比匹配;
步骤d3,若所述存储的校验哈希值和所述目标哈希值完全匹配,则确定所述目标数据对象通过存证验证;
步骤d4,若所述存储的校验哈希值和所述目标哈希值不完全匹配,则确定所述目标数据对象不通过存证验证。
在本实施例中,存证验证是为了确认已在链上存储的电子数据是否被篡改,若已在链上存储的电子数据被篡改,其对应的哈希值也会发生变化。由于存证请求中包含待验证的目标数据对象,因此,在对目标数据对象进行存证验证时,可根据该目标数据对象对应的数据合约对该目标数据对象进行哈希运算,得到该目标数据对象的目标哈希值,并获取该目标数据对象在区块链中存储的校验hash,再将该目标数据对象在区块链中存储的校验哈希值和重新计算的目标哈希值进行对比匹配。
具体的,若该目标数据对象在区块链中存储的校验哈希值和重新计算的目标哈希值不完全匹配,则通过该目标哈希值获取不到任何存证记录,这也就说明该目标数据对象已被篡改,因此可确定该目标数据对象的存证验证不通过;若该目标数据对象在区块链中存储的校验哈希值和重新计算的目标哈希值完全匹配,那么,根据重新计算得到的目标哈希值可以找到该目标数据对象相应的存证记录,这说明该目标数据对象未被篡改,因此可确定该目标数据对象通过存证验证。
可以理解的,由于不同的用户可能上传相同的数据对象,因此,通过数据对象的哈希值获取到的存证记录可能不唯一。例如,若待验证的数据对象未被篡改,那么,根据重新计算得到的哈希值对该数据对象进行存证验证时,至少可以获取到一条存证记录;若待验证的数据对象已被篡改,那么,其对应的哈希值也已发生变化,因此,根据重新计算得到的哈希值进行查找,可能会获取不到任何存证记录。通过对待验证的目标数据对象进行存证验证,可以验证该数据对象的真实性和有效性。
进一步地,步骤S40之后,还包括:
步骤e1,当接收到存证查询请求时,确定所述存证查询请求对应的存证查询方式;
步骤e2,根据所述存证查询方式查询所述存证查询请求对应的查询存证记录,并输出所述查询存证记录中的存证信息。
在本实施例中,当检测到数据对象完成存证,得到对应额存证记录后,用户可获取该存证记录相关的链上信息,如存证ID、校验hash、区块高度、时间戳信息等存证信息,并输出对应的存证信息,以对存证记录进行验证、公示等。根据存证管理系统所提供的存证查询方式可查询到对应的链上存证详情,存证查询方式可包括根据存证ID获取存证记录详情、根据校验hash获取存证记录详情列表、根据索引关键字获取存证记录详情列表等。其中,由于存证ID全局唯一,因此,通过存证ID可索引到唯一的一条存证记录;由于不同的用户可能上传相同的数据对象,或者,同一用户在多次进行存证操作时会上传相同的索引关键字,导致同一个索引关键字可能绑定了多个存证ID,因此,通过校验hash和索引关键字进行存证查询时,可能获取到的存证记录详情不唯一。但是,不管通过哪种查询方式,用户都可以获取到对应的存证记录详情,如区块高度、时间戳信息、存证ID、版本号、存证数据等信息。
获取到的存证信息可以作为有关部门的决策依据。例如,在待验证存证记录的存证验证通过后,可为该待验证存证记录对应的数据对象出具存证证书,其中,存证证书可以以图片、文字等形式呈现,必要时用户还可以将存证证书作为存证证据向有关部门出示,以证明该存证记录的真实性和有效性。
需要说明的是,由于目前已有的区块链存证服务在对存证记录进行查询时,对应的存证查询方式较为单一,往往只能通过校验hash或者存证ID来查询存证记录详情。而本发明除了可以通过校验hash或者存证ID来查询存证记录详情外,还可以通过索引关键字来查询存证记录,体现了存证记录的富查询能力。
本实施例的基于区块链的存证管理方法,通过重新计算待验证的目标数据对象的目标哈希值,将该目标哈希值与在区块链中存储的校验哈希值进行对比匹配,以此确定目标数据对象是否被篡改,保证电子证据的有效性和完整性;另外,提供多种存证查询方式来获取存证记录,体现了存证管理系统的富查询能力。
进一步地,基于本发明基于区块链的存证管理方法第一、第二、第三实施例,提出本发明基于区块链的存证管理方法第四实施例。
基于区块链的存证管理方法的第四实施例与基于区块链的存证管理方法的第一、第二、第三实施例的区别在于,步骤S40之后,还包括:
步骤f1,当检测到所述数据对象中的存证信息发生变更时,确定变更后的待更新存证信息;
步骤f2,根据所述待更新存证信息对所述数据对象执行更新操作,所述更新操作为保留所述数据对象的原始存证记录,并将所述数据对象中的存证信息更新为所述待更新存证信息,得到更新后的存证记录;
步骤f3,在所述更新操作完成后,更新所述数据对象对应的版本信息,以供用户查询不同版本信息对应的存证记录。
在本实施例中,当检测到已在链上存储的数据对象发生变更时,即该数据对象的存证信息发生变更,则可根据变更后的待变更存证信息对该数据对象执行更新操作,具体的,只在原始存证记录上进行存证信息的叠加,以将所述数据对象中的存证信息更新为待更新存证信息,但在执行更新操作时还会保留该数据对象的原始存证信息,也即该数据对象在链上存储的原始存证记录并不会被覆盖,所以,对于用户来说,在对该数据对象执行更新操作之后,依然可以访问到该数据对象不同历史版本的存证记录信息。而且,在更新操作完成后,数据合约内部会对每个版本的存证记录进行管理,即更新该数据对象对应的版本信息。例如,对于初次存证的电子数据,其对应的版本号默认为1,以后每对该电子数据更新一次,则自动为该电子数据对应的版本号增加1。
本实施例的基于区块链的存证管理方法,对发生变更的数据对象执行变更操作时,还保留该数据对象的原始存证记录,并在更新操作完成后,自动更新该数据对象的版本信息,方便用户查询不同版本信息的存证记录详情。
本发明还提供一种基于区块链的存证管理装置。参照图3,本发明基于区块链的存证管理装置包括:
应用注册模块10,用于对待接入应用进行注册处理,得到各所述待接入应用对应的应用标识;
合约管理模块20,用于创建各所述待接入应用对应的数据合约,并将各所述应用标识和对应的数据合约的映射关系保存在区块链的智能合约中;
接收确定模块30,用于当接收到存证请求时,确定所述存证请求对应的目标应用和数据对象,并从所述智能合约中确定与所述目标应用对应的应用标识相匹配的目标数据合约;
存证执行模块40,用于根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录。
优选地,所述存证信息包括存证ID和索引关键字,所述存证执行模块还用于:
在对所述数据对象执行存证操作时,根据所述目标数据合约生成所述数据对象对应的存证ID,并获取所述数据对象对应的索引关键字;
根据所述索引关键字和所述存证ID生成所述数据对象的存证记录。
优选地,所述存证信息包括校验哈希值,所述存证执行模块还用于:
在对所述数据对象执行存证操作时,根据所述目标数据合约对所述数据对象进行哈希运算,得到所述数据对象的校验哈希值;
根据所述校验哈希值生成所述数据对象的存证记录。
优选地,所述基于区块链的存证管理装置还包括存证验证模块,所述存证验证模块用于:
当接收到存证验证请求时,确定所述存证验证请求对应的目标数据对象,并对所述目标数据对象进行哈希运算,得到所述目标数据对象的目标哈希值;
获取所述目标数据对象在所述区块链中存储的校验哈希值,并将所述存储的校验哈希值和所述目标哈希值进行对比匹配;
若所述存储的校验哈希值和所述目标哈希值完全匹配,则确定所述目标数据对象通过存证验证;
若所述存储的校验哈希值和所述目标哈希值不完全匹配,则确定所述目标数据对象不通过存证验证。
优选地,所述基于区块链的存证管理装置还包括存证查询模块,所述存证查询模块用于:
当接收到存证查询请求时,确定所述存证查询请求对应的存证查询方式;
根据所述存证查询方式查询所述存证查询请求对应的查询存证记录,并输出所述查询存证记录中的存证信息。
优选地,所述基于区块链的存证管理装置还包括存证更新模块,所述存证更新模块用于:
当检测到所述数据对象中的存证信息发生变更时,确定变更后的待更新存证信息;
根据所述待更新存证信息对所述数据对象执行更新操作,所述更新操作为保留所述数据对象的原始存证记录,并将所述数据对象中的存证信息更新为所述待更新存证信息,得到更新后的存证记录;
在所述更新操作完成后,更新所述数据对象对应的版本信息,以供用户查询不同版本信息对应的存证记录。
优选地,所述所述基于区块链的存证管理装置还包括用户注册模块,所述用户注册模块用于:
接收各所述待接入应用对应的用户注册请求,并分别确定各所述用户注册请求对应的目标用户,以及各所述目标用户待注册的目标应用;
获取各所述目标用户对应的用户注册信息,并根据所述用户注册信息将各所述目标用户分别注册到对应的目标应用中,得到各所述目标用户对应的用户身份标识;
当接收到目标存证请求时,根据所述用户身份标识对所述目标存证请求对应的待存证用户进行身份验证;
在所述待存证用户身份验证通过后,执行所述目标存证请求对应的响应流程。
本发明还提供一种程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的基于区块链的存证管理方法的步骤。
本发明还提供一种存储介质。
本发明存储介质上存储有基于区块链的存证管理程序,所述基于区块链的存证管理程序被处理器执行时实现如上所述的基于区块链的存证管理方法的步骤。
其中,本发明基于区块链的存证管理系统、程序产品和存储介质的各实施例,均可参照本发明基于区块链的存证管理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端系统(可以是手机,计算机,服务器,空调器,或者网络系统等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于区块链的存证管理方法,其特征在于,所述方法包括如下步骤:
对待接入应用进行注册处理,得到各所述待接入应用对应的应用标识;
创建各所述待接入应用对应的数据合约,并将各所述应用标识和对应的数据合约的映射关系保存在区块链的智能合约中;
当接收到存证请求时,确定所述存证请求对应的目标应用和数据对象,并从所述智能合约中确定与所述目标应用对应的应用标识相匹配的目标数据合约;
根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录。
2.如权利要求1所述的基于区块链的存证管理方法,其特征在于,所述存证信息包括存证ID和索引关键字,所述根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录的步骤包括:
在对所述数据对象执行存证操作时,根据所述目标数据合约生成所述数据对象对应的存证ID,并获取所述数据对象对应的索引关键字;
根据所述索引关键字和所述存证ID生成所述数据对象的存证记录。
3.如权利要求1所述的基于区块链的存证管理方法,其特征在于,所述存证信息包括校验哈希值,所述根据所述目标数据合约对所述数据对象执行存证操作,得到对应的存证信息,并根据所述存证信息生成所述数据对象的存证记录的步骤包括:
在对所述数据对象执行存证操作时,根据所述目标数据合约对所述数据对象进行哈希运算,得到所述数据对象的校验哈希值;
根据所述校验哈希值生成所述数据对象的存证记录。
4.如权利要求3所述的基于区块链的存证管理方法,其特征在于,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当接收到存证验证请求时,确定所述存证验证请求对应的目标数据对象,并对所述目标数据对象进行哈希运算,得到所述目标数据对象的目标哈希值;
获取所述目标数据对象在所述区块链中存储的校验哈希值,并将所述存储的校验哈希值和所述目标哈希值进行对比匹配;
若所述存储的校验哈希值和所述目标哈希值完全匹配,则确定所述目标数据对象通过存证验证;
若所述存储的校验哈希值和所述目标哈希值不完全匹配,则确定所述目标数据对象不通过存证验证。
5.如权利要求1所述的基于区块链的存证管理方法,其特征在于,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当接收到存证查询请求时,确定所述存证查询请求对应的存证查询方式;
根据所述存证查询方式查询所述存证查询请求对应的查询存证记录,并输出所述查询存证记录中的存证信息。
6.如权利要求1所述的基于区块链的存证管理方法,其特征在于,所述根据所述存证信息生成所述数据对象的存证记录的步骤之后,还包括:
当检测到所述数据对象中的存证信息发生变更时,确定变更后的待更新存证信息;
根据所述待更新存证信息对所述数据对象执行更新操作,所述更新操作为保留所述数据对象的原始存证记录,并将所述数据对象中的存证信息更新为所述待更新存证信息,得到更新后的存证记录;
在所述更新操作完成后,更新所述数据对象对应的版本信息,以供用户查询不同版本信息对应的存证记录。
7.如权利要求1至6任一项所述的基于区块链的存证管理方法,其特征在于,所述对待接入应用进行注册处理的步骤之后,还包括:
接收各所述待接入应用对应的用户注册请求,并分别确定各所述用户注册请求对应的目标用户,以及各所述目标用户待注册的目标应用;
获取各所述目标用户对应的用户注册信息,并根据所述用户注册信息将各所述目标用户分别注册到对应的目标应用中,得到各所述目标用户对应的用户身份标识;
当接收到目标存证请求时,根据所述用户身份标识对所述目标存证请求对应的待存证用户进行身份验证;
在所述待存证用户身份验证通过后,执行所述目标存证请求对应的响应流程。
8.一种基于区块链的存证管理系统,其特征在于,所述基于区块链的存证管理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的存证管理程序,所述基于区块链的存证管理程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于区块链的存证管理方法的步骤。
9.一种程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的存证管理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于区块链的存证管理程序,所述基于区块链的存证管理程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的存证管理方法的步骤。
CN202110765402.0A 2021-07-06 2021-07-06 基于区块链的存证管理方法、系统、程序产品及存储介质 Active CN113536342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110765402.0A CN113536342B (zh) 2021-07-06 2021-07-06 基于区块链的存证管理方法、系统、程序产品及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110765402.0A CN113536342B (zh) 2021-07-06 2021-07-06 基于区块链的存证管理方法、系统、程序产品及存储介质

Publications (2)

Publication Number Publication Date
CN113536342A true CN113536342A (zh) 2021-10-22
CN113536342B CN113536342B (zh) 2024-03-26

Family

ID=78097924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110765402.0A Active CN113536342B (zh) 2021-07-06 2021-07-06 基于区块链的存证管理方法、系统、程序产品及存储介质

Country Status (1)

Country Link
CN (1) CN113536342B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063432A (zh) * 2018-06-27 2018-12-21 中链科技有限公司 区块链网络中用户行为审计方法及装置
CN110188112A (zh) * 2019-05-31 2019-08-30 深圳前海微众银行股份有限公司 一种区块链智能合约的变更记录的追溯方法及装置
CN111506584A (zh) * 2020-03-26 2020-08-07 金蝶软件(中国)有限公司 基于区块链的业务数据处理方法、装置和计算机设备
CN112016924A (zh) * 2020-10-21 2020-12-01 支付宝(杭州)信息技术有限公司 一种基于区块链的数据存证方法、装置以及设备
CN112035897A (zh) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 区块链存证方法和相关装置
CN112084164A (zh) * 2020-09-16 2020-12-15 厦门市美亚柏科信息安全研究所有限公司 一种基于区块链与星际文件系统的数据存证方法及系统
CN112613063A (zh) * 2021-03-05 2021-04-06 支付宝(杭州)信息技术有限公司 一种数据核验系统构建方法及装置
CN112700250A (zh) * 2021-01-08 2021-04-23 北京金山云网络技术有限公司 金融场景下的身份认证方法、装置和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063432A (zh) * 2018-06-27 2018-12-21 中链科技有限公司 区块链网络中用户行为审计方法及装置
CN110188112A (zh) * 2019-05-31 2019-08-30 深圳前海微众银行股份有限公司 一种区块链智能合约的变更记录的追溯方法及装置
CN111506584A (zh) * 2020-03-26 2020-08-07 金蝶软件(中国)有限公司 基于区块链的业务数据处理方法、装置和计算机设备
CN112084164A (zh) * 2020-09-16 2020-12-15 厦门市美亚柏科信息安全研究所有限公司 一种基于区块链与星际文件系统的数据存证方法及系统
CN112016924A (zh) * 2020-10-21 2020-12-01 支付宝(杭州)信息技术有限公司 一种基于区块链的数据存证方法、装置以及设备
CN112035897A (zh) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 区块链存证方法和相关装置
CN112700250A (zh) * 2021-01-08 2021-04-23 北京金山云网络技术有限公司 金融场景下的身份认证方法、装置和系统
CN112613063A (zh) * 2021-03-05 2021-04-06 支付宝(杭州)信息技术有限公司 一种数据核验系统构建方法及装置

Also Published As

Publication number Publication date
CN113536342B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN109981679B (zh) 在区块链网络中执行事务的方法和装置
CN110636492A (zh) 使用区块链切换移动服务提供商
JP2022000757A5 (zh)
CN110084033B (zh) 用户身份管理方法、系统和计算机可读存储介质
CN109413040B (zh) 消息鉴权方法、设备、系统及计算机可读存储介质
CN110851127B (zh) 一种基于区块链的通用存证方法
CN113271311B (zh) 一种跨链网络中的数字身份管理方法及系统
CN112954073B (zh) 服务提供方法、装置、设备及系统
EP4224794A1 (en) Resolving decentralized identifiers using multiple resolvers
CN114971827A (zh) 一种基于区块链的对账方法、装置、电子设备及存储介质
CN111159595A (zh) 页面加载方法、系统、计算机设备和计算机可读存储介质
CN112989313A (zh) 一种标识注册方法、装置、电子设备及存储介质
CN117195185A (zh) 一种针对图数据库的用户权限管理方法、电子设备及介质
CN112150030A (zh) 基于多单位多身份的账号管理方法、终端设备及存储介质
CN115131022A (zh) 基于区块链的数字资产交易方法、装置、设备及介质
CN115114372A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112363997B (zh) 数据版本管理方法、装置及存储介质
CN111966994B (zh) 基于数据库的区块链鉴权方法、系统及存储介质
CN111339193B (zh) 类别的编码方法及装置
EP4028922A1 (en) Event based transfer of did delegated authority
CN113536342B (zh) 基于区块链的存证管理方法、系统、程序产品及存储介质
CN112052267B (zh) 一种数据查询方法、设备、服务器及存储介质
CN114489737A (zh) 多固件ota升级方法及装置、服务端及存储介质
CN113821495A (zh) 数据库集群实现系统及方法
CN117040930B (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