CN114781004A - 基于区块链的数据存证方法、装置、电子设备及存储介质 - Google Patents
基于区块链的数据存证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114781004A CN114781004A CN202210674029.2A CN202210674029A CN114781004A CN 114781004 A CN114781004 A CN 114781004A CN 202210674029 A CN202210674029 A CN 202210674029A CN 114781004 A CN114781004 A CN 114781004A
- Authority
- CN
- China
- Prior art keywords
- business
- evidence
- service
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供一种基于区块链的数据存证方法、装置、电子设备及存储介质。所述方法包括:获得由多个存证机构分别提供的与目标业务相关的存证数据;其中,与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;确定由所述多个存证机构分别提供的存证数据是否一致;如果一致,则将所述存证数据在区块链中进行存证。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数据存证方法、装置、电子设备及存储介质。
背景技术
随着数字经济的发展,越来越多的客观事实需要通过电子证据予以证明,亟需一种可信且可靠的针对用户办理业务的过程中涉及到的电子数据进行存证的方式。
在实际应用中,为了保证业务数据的隐私安全,业务经营机构通常可以对业务数据进行哈希计算,并将计算得到的哈希值存储到区块链上。
由此可见,可能存在业务经营机构将伪造得到的哈希值上链的情况,而其他机构难以对业务经营机构请求上链存证的哈希值进行真实性验证。
发明内容
本申请提供一种基于区块链的数据存证方法,所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述方法包括:
获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;
确定由所述多个存证机构分别提供的存证数据是否一致;
如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证。
本申请还提供另一种基于区块链的数据存证方法,应用于与存证机构对应的存证客户端程序;所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述方法包括:
基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;
向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
本申请还提供一种基于区块链的数据存证装置,所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述装置包括:
获得单元,用于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;
确定单元,用于确定由所述多个存证机构分别提供的存证数据是否一致;
存证单元,用于如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证。
本申请还提供另一种基于区块链的数据存证装置,应用于与存证机构对应的存证客户端程序;所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述装置包括:
生成单元,用于基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
计算单元,用于基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;
请求单元,用于向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述任一方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述任一方法。
上述实施例中,一方面,由于由每个存证机构提供的与目标业务相关的存证数据,可以包括基于与目标业务对应的存证规则、以及预设的哈希算法,依次针对从业务系统处获取到的与目标业务相关的业务数据进行处理后而得到的哈希值,因此,将所述存证数据在区块链进行存证,既可以保证业务数据的隐私性,也可以向区块链系统提供便于进行多方验证的内容。
另一方面,通过获得由多个存证机构分别独立生成的存证数据,并且响应于确定由多个存证机构分别提供的存证数据一致,才允许将所述存证数据在区块链中进行存证,可以在保证业务数据的隐私安全的前提下,实现对需要上链的存证数据进行真实性验证,从而避免伪造的存证数据上链。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一实施例中与区块链相关的网络环境的示意图;
图2是本说明书一实施例中数据存证方法的流程示意图;
图3是本说明书一实施例中基于区块链的数据存证方法的流程图;
图4是本说明书一实施例中业务存证文件的示意图;
图5是本说明书另一实施例中基于区块链的数据存证方法的流程图;
图6是本说明书一实施例中基于区块链的数据存证装置所在电子设备的结构示意图;
图7是本说明书一实施例中基于区块链的数据存证装置的框图;
图8是本说明书另一实施例中基于区块链的数据存证装置的框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的区块链的相关技术,进行简要说明。
区块链一般被划分为三种类型:公有链(Public Blockchain)、私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链与联盟链的结合、联盟链与公有链的结合等。
在上述三种类型的区块链中,去中心化程度最高的是公有链。加入公有链的参与方(也可以称为区块链中的节点)可以读取链上的数据记录、参与交易、竞争新区块的记账权等。而且,各节点可自由加入或退出网络,并进行相关操作。
私有链则相反,网络的写入权限由某个组织或机构控制,数据读取权限受组织规定。也即,私有链可以视为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则介于公有链以及私有链之间,可以实现“部分去中心化”。联盟链中的各节点通常有与之对应的实体机构或组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链的运行。
在区块链网络中,区块链节点是逻辑上的通信实体;不同类型的多个区块链节点可以运行在同一个物理服务器上,也可以运行在不同的物理服务器上。
请参考图1,图1是本说明书一实施例中与区块链相关的网络环境的示意图。在如图1所示的网络环境中,可以包括用户侧计算设备101、服务端102,以及至少一个区块链系统;例如,区块链系统103、区块链系统104和区块链系统105。
在示出的一种实施方式中,用户侧计算设备101,可以包括各种不同类型的用户侧计算设备;例如,用户侧计算设备可以包括诸如PC计算设备、移动计算设备、物联网设备,以及其它形式的具有一定的计算能力的智能设备,等等。
需要说明的是,用户侧计算设备101并不表示其中的所有用户侧计算设备在同一个通信网络中,而仅仅是对这些用户侧计算设备的统称。
在示出的一种实施方式中,用户侧计算设备101中的部分计算设备,可以通过各种通信网络耦接到服务端102;例如,设备3耦接到了服务端102。
用户侧计算设备101中的部分计算设备,也可以不与服务端102进行耦接,而是作为区块链节点直接耦接到区块链系统;例如,设备4可以作为区块链节点直接耦接到区块链系统103。
在示出的一种实施方式中,用户侧计算设备101,还可以包括一个或多个用户侧服务器;例如,设备5和设备6。用户侧计算设备101中的部分计算设备,可以耦接到该用户侧服务器;例如,设备1耦接到了设备5,设备2耦接到了设备6。而该用户侧服务器可以进一步作为区块链节点直接耦接到区块链系统,也可以进一步通过各种通信网络耦接到服务端102;例如,设备5可以进一步作为区块链节点直接耦接到区块链系统,设备6进一步耦接到了服务端102。
在示出的一种实施方式中,上述用户侧服务器可以由搭建了用户账户体系的服务实体来实现;上述服务实体可以包括面向用户提供各种线上和/或线下服务的服务载体的运营实体。相应地,上述运营实体可以包括上述服务载体对应的运营方;例如,上述运营实体可以包括对上述服务载体进行运营和管理的个人、机构、组织等。
在示出的一种实施方式中,服务端102也可以通过各种通信网络耦接到一个或多个区块链系统;例如,服务端102分别耦接到了区块链系统103,区块链系统104和区块链系统105,等等。
在示出的一种实施方式中,上述通信网络可以包括有线和/或无线通信网络;例如,可以是基于运营商提供的有线接入网络或无线接入网络(比如移动蜂窝网络)实现的局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合。
在示出的一种实施方式中,每个区块链系统都可以维护一个或多个区块链(例如:公有区块链、私有区块链、联盟区块链等),并包括用于承载上述一个或多个区块链的多个区块链节点;例如,如图1中示出的区块链节点1、区块链节点2、区块链节点3、区块链节点4、区块链节点i等可以共同承载一个或多个区块链。各区块链系统包含的区块链之间,以及各区块链系统之间,还可以进行跨链的数据访问。
在示出的一种实施方式中,区块链节点可以是物理设备,也可以是在服务器或服务器集群中实现的虚拟设备;例如,区块链节点可以是服务器集群中的一台物理主机,也可以是基于虚拟化技术对服务器或服务器集群搭载的硬件资源进行虚拟化后,创建的虚拟机。每个区块链节点之间,可以通过各种类型的通信方法(例如:TCP/IP等)耦接在一起形成网络,来承载一个或多个区块链。
在示出的一种实施方式中,服务端102可以包括用于提供区块链服务(BaaS,Blockchain as a Service)的BaaS平台(也称为BaaS云)。
BaaS平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的软件的方式,面向与BaaS平台耦接的用户侧计算设备,提供区块链服务。
例如,与BaaS平台可以提供诸如MQ(Message Queue,消息队列)服务之类的软件;与BaaS平台耦接的用户侧计算设备,可以订阅BaaS平台耦接到的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而BaaS平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于MQ服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的用户侧计算设备,能够得到与上述合约事件相关的通知。
对于区块链外产生的数据而言,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链网络中的所有节点对该交易进行共识。在达成共识后,可以由区块链网络中作为记账节点的节点,将这笔交易在区块链中进行持久化存证。
在可编程的区块链中,可以通过面向用户提供智能合约(smart contract)的功能,来支持用户在区块链网络中创建并调用一些复杂的逻辑。智能合约是在区块链上可以被交易触发执行的程序。智能合约可以通过代码的形式定义。
在创建智能合约后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址。智能合约的行为由合约账户中的合约代码(code)控制,而合约账户中的账户存储(storage)则保存了智能合约的状态。
用于调用智能合约的交易可以包含发起调用智能合约的账户的地址、被调用的智能合约的地址,以及调用智能合约的方法和参数。在调用智能合约后,智能合约的状态可能改变;可以通过与区块链节点进行通信,来查看智能合约的状态。
智能合约可以以规定的方式被区块链网络中的各节点独立执行,所有执行记录和相关数据都可以被保存在区块链上,因此当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点地发送给智能合约的调用发起方。
智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在区块链节点的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听区块链节点的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果。
随着数字经济的发展,越来越多的客观事实需要通过电子证据予以证明。例如,在金融行业,非现场业务的占比越来越大,与此同时,投资者与金融机构之间关于非现场业务的纠纷也越来越多,亟需一种可信且可靠的针对业务中涉及的电子数据进行存证的方式。
在实际应用中,为了保证业务数据的隐私安全,业务经营机构通常可以对业务数据进行哈希计算,并将计算得到的hash值存储到区块链上;后续需要验证时,可以针对待验证的业务数据原文进行同样的哈希计算,并将计算得到的hash值与链上已存证的hash值进行比较,以确定所述待验证的业务数据原文是否为未经篡改的真实数据。
由此可见,在以上示出的实施例中,虽然能够保证由业务经营机构提供的与业务数据对应的hash值在上链后不可篡改,但是,由于上链的所述hash值是由业务经营机构提供的,而根据hash值难以逆向得出具有实际含义的原文信息,因此业务经营机构之外的其他机构无法对上链的所述hash值进行真实性验证,导致业务经营机构可能会将伪造得到的hash值(也即:对伪造的业务数据进行计算而得到的hash值)存储到区块链上。
有鉴于此,本说明书旨在提出一种在保证业务数据的隐私安全的前提下,对需要上链的存证数据进行真实性验证的技术方案。
在实现时,区块链中可以存储由多个存证机构共识通过的与目标业务对应的存证规则,所述存证规则可以用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述多个存证机构在分别从业务系统处获取到与所述目标业务相关的业务数据之后,可以基于与所述目标业务对应的存证规则,针对自身获取到的业务数据提取出需要存证的关键业务字段,以分别生成与所述目标业务相关的业务存证文件;进一步地,所述多个存证机构可以基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述多个存证机构分别提供的与所述目标业务相关的存证数据;进一步地,区块链系统在获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据之后,可以确定由所述多个存证机构分别提供的存证数据是否一致;如果一致,才可以将所述存证数据在所述区块链中进行存证,否则不进行存证。
其中,用户可以在所述业务系统上办理不同的业务;所述目标业务,也即针对用户在办理业务的过程中产生的业务数据需要进行存证的业务。
例如,请参见图2,图2是本说明书一实施例中数据存证方法的流程示意图。所述多个存证机构可以包括存证机构A、存证机构B、存证机构C,其中,存证机构A可以为业务经营机构;如图2所示的存证模块A、存证模块B、存证模块C,可以为与存证机构A、存证机构B、存证机构C分别对应的存证客户端程序。
如图2所示,用户可以在业务经营机构对应的业务系统上,办理业务经营机构提供的不同业务;存证模块A可以独立地从业务系统处获取需要存证的与目标业务相关的业务数据,并可以基于与所述目标业务对应的存证规则,针对存证模块A获取到的业务数据提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件f_a;进一步地,存证模块A可以基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件f_a进行哈希计算,并将计算得到的哈希值hash_a作为由存证机构A提供的与所述目标业务相关的存证数据;类似地,存证模块B与存证模块C可以分别生成业务存证文件f_b、业务存证文件f_b,并可以分别计算得到对应的哈希值hash_b、hash_c,作为由存证机构B、存证机构C提供的与所述目标业务相关的存证数据。
进一步地,区块链系统可以获得由存证机构A、存证机构B、存证机构C分别提供的存证数据hash_a、hash_b、hash_c;如果确定存证数据hash_a、hash_b、hash_c一致,则可以将hash_a、hash_b、hash_c中的任意一个,作为与所述目标业务对应的存证数据在区块链中进行存证;如果确定存证数据hash_a、hash_b、hash_c不一致,如:hash_a≠hash_b=hash_c,说明由存证机构A提供的存证数据hash_a是经过非法篡改的存证数据,则不会将获取到的存证数据hash_a、hash_b、hash_c在区块链中进行存证。
需要说明的是,在如图1所示的实施例中,业务经营机构可以作为多个存证机构中的一个存证机构(存证机构A),仅仅是一种示例性的描述,并不对本说明书做出限制;例如,所述多个存证机构可以均为除了所述业务经营机构之外的其他存证机构,如:公证处、审计机构、第三方存证机构、司法鉴定机构、与所述业务经营机构存在业务合作关系的其他业务经营机构等。
另外,需要说明的是,关于存证机构的具体数量,图1中仅仅示例性的示出了3个存证机构,本说明书对此不作特殊限制;例如,存证机构的数量可以为大于1的任意正整数,从而避免仅仅由单一的存证机构向区块链系统提供存证数据。
由此可见,在本说明书中的技术方案中,一方面,由于由每个存证机构提供的与目标业务相关的存证数据,可以包括基于与目标业务对应的存证规则和预设的哈希算法,依次针对从业务系统处获取到的与目标业务相关的业务数据进行处理后而得到的哈希值,因此,将所述存证数据在区块链进行存证,既可以保证业务数据的隐私性,也可以向区块链系统提供便于进行多方验证的内容。
另一方面,通过获得由多个存证机构分别独立生成的存证数据,并且响应于确定由多个存证机构分别提供的存证数据一致,才允许将所述存证数据在区块链中进行存证,可以在保证业务数据的隐私安全的前提下,实现对需要上链的存证数据进行真实性验证,从而避免伪造的存证数据上链。
由此可见,相较于直接将由单一的业务经营机构提供的存证数据上链的实现方式,先针对由多个存证机构分别提供的存证数据进行真实性验证,验证通过后才允许存证数据上链,能够提高已完成上链的存证数据的可信性。另外,基于区块链的去中心化、不可篡改、可追溯等特性,可以保证上链后的存证数据的可信性、可追溯、不可篡改。
下面通过具体实施例,并结合具体的应用场景对本说明书中的技术方案进行描述。
请参见图3,图3是本说明书一实施例中基于区块链的数据存证方法的流程图。上述基于区块链的数据存证方法可以应用于如图1所示的应用环境中,以实现本说明书的技术方案。其中,上述基于区块链的数据存证方法可以执行以下步骤:
步骤302:获得由多个存证机构分别提供的与目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出需要存证的关键业务字段而生成的文件;
步骤304:确定由所述多个存证机构分别提供的存证数据是否一致;
步骤306:如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在区块链中进行存证。
在本说明书中,所述数据存证方法可以应用于区块链系统。
例如,所述基于区块链的数据存证方法可以应用于区块链中的节点设备(如图1所示的任一区块链系统),存证机构对应的客户端侧计算设备可以直接连接到所述节点设备。
又例如,所述基于区块链的数据存证方法也可以应用于区块链服务平台(如图1所示的服务端102),存证机构对应的客户端侧计算设备可以连接到区块链服务平台,并通过区块链服务平台实现与区块链系统的交互。
在本说明书中,所述区块链中可以存储由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则可以用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段。
在实际应用中,可以针对用户在所述业务系统上办理的不同业务,分别创建对应的存证规则;具体地,所述多个存证机构可以针对与各个业务分别对应的存证规则进行共识,并在共识通过后将与各个业务分别对应的存证规则存储在所述区块链上。
其中,在与所述目标业务相关的业务数据中可以包括若干业务字段;所述关键业务字段,也即所述若干业务字段中需要存证的业务字段,本领域技术人员根据需求可以灵活设置。
例如,区块链中存储了由存证机构A、存证机构B、存证机构C共识通过的与在线开户业务对应的存证规则,所述存证规则可以用于描述与在线开户业务相关的业务数据中需要存证的关键业务字段,如:用户信息、业务信息、经办人信息等等。
在示出的一种实施方式中,所述与所述目标业务相关的业务数据,可以包括用户在所述业务系统上办理所述目标业务的过程中产生的业务数据。
在一个可能的实施例中,所述业务系统可以包括金融机构的业务系统;所述目标业务可以包括在线开户业务。
例如,如图1所示的业务经营机构具体可以包括金融机构;与所述目标业务相关的业务数据,具体可以包括:用户在金融机构的业务系统上办理在线开户业务的过程中产生的业务数据。需要说明的是,这仅仅是一种示例性的描述,与所述业务系统对应的业务经营机构也可以为金融机构之外的其他业务经营机构,所述目标业务也可以为在线开户业务之外的其他业务。
在示出的一种实施方式中,所述区块链具体可以包括:由所述多个存证机构作为联盟成员构成的联盟链。
例如,可以组建司法存证联盟链,并可以设置若干个合法的存证机构作为联盟成员。其中,所述存证机构可以为与所述目标业务相关的各方机构,如:业务经营机构、第三方平台、监管机构等;所述各方机构对应的服务端可以为所述区块链中的节点设备,链下还可以部署与各方机构的服务端对应的客户端,用户可以通过所述客户端,完成与所述目标业务相关的业务操作。
需要说明的是,在以上示出的实施方式中,通过将所述目标业务相关的各个机构,作为合法的存证机构组成联盟链,利用区块链技术使得各方都参与到针对目标业务的数据存证,实现数据存证过程的去中心化,使得针对目标业务的数据存证更加公平、透明、不易被篡改,也便于后续相关机构针对与所述目标业务相关的待校验业务数据进行真实性验证。
在本说明书中,所述区块链系统可以获得由多个存证机构分别提供的与目标业务相关的存证数据。其中,所述与所述目标业务相关的存证数据,可以包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,可以包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出需要存证的关键业务字段而生成的文件。
在实际应用中,所述区块链系统可以获取到由所述多个存证机构分别发起的针对与所述目标业务相关的存证数据的存证请求,所述存证请求中可以包括由所述多个存证机构分别提供的与目标业务相关的存证数据。其中,所述存证请求,具体可以为智能合约调用交易的形式,也可以为请求消息的形式。
例如,如果所述多个存证机构对应的客户端侧计算设备直接连接到所述区块链中的节点设备,则所述节点设备可以接收到所述多个存证机构发起的针对与所述目标业务相关的存证数据的存证请求交易;响应于接收到所述存证请求交易,所述节点设备可以获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据。
又例如,如果所述多个存证机构对应的客户端侧计算设备通过所述区块链服务平台而接入所述区块链,则所述区块链服务平台可以接收到所述多个存证机构发起的针对与所述目标业务相关的存证数据的存证请求消息;响应于接收到所述存证请求消息,所述区块链服务平台可以获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据。
在示出的一种实施方式中,所述与所述目标业务相关的存证规则,具体可以包括由与所述目标业务相关的业务数据中需要存证的关键业务字段对应的字段标识构成的文件模板;所述与所述目标业务相关的业务存证文件,具体可以包括按照所述文件模板定义的文件格式,从与所述目标业务相关的业务数据中提取出与所述字段标识对应的关键业务字段而生成的模板文件。
在实际应用中,所述目标业务可以包括多个业务环节;在这种情况下,与所述目标业务对应的存证规则,具体可以包括与所述目标业务中的各个业务环节分别对应的存证子规则;所述与各个业务环节分别对应的存证子规则,可以用于描述与各个业务环节相关的业务数据中需要存证的关键业务字段;所述与目标业务中的各个业务环节相关的业务存证子文件,具体可以包括由所述多个存证机构基于与所述各个业务环节对应的存证子规则,从与所述各个业务环节相关的业务数据中,提取出的所述关键业务字段而生成的模板文件。
例如,图4是本说明书一实施例中业务存证文件的示意图。如图4所示,由存证机构A生成的、与在线开户业务中“短信验证”这一业务环节相关的业务存证子文件,具体可以包括由存证机构A基于与“短信验证”这一业务环节对应的存证子规则,从与“短信验证”这一业务环节相关的业务数据中,提取出“客户编号”、“业务流水号”、“协议编号”、“手机号码、“挑战码”、“挑战码验证结果”、“终端特征码”等字段标识对应的关键业务字段,而生成的模板文件。
在示出的一种实施方式中,所述目标业务可以包括多个业务环节;在获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据之前,所述方法还可以包括:获得所述业务系统响应于所述用户办理所述目标业务而发起的针对所述目标业务的证据链创建请求;响应于所述证据链创建请求,在所述区块链上为所述用户创建针对所述目标业务的证据链标识,并将所述证据链标识返回所述业务系统,以使所述业务系统基于所述证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成业务数据链。
其中,所述证据链创建请求至少可以包括:所述用户的用户信息和所述目标业务的业务信息;所述用户信息至少可以包括用于唯一标识用户的身份标识,如用户ID、身份证号、生物特征信息(如人脸信息、指纹信息)等;所述业务信息至少可以包括唯一标识业务的业务标识,如业务ID、存证规则ID等。
例如,所述目标业务可以为在线开户业务,具体可以包括“身份认证”“短信验证”“签约”“创建账户”等业务环节;业务系统响应于用户办理在线开户业务,可以向区块链系统发起针对在线开户业务的证据链创建请求;响应于所述证据链创建请求,区块链系统可以在所述区块链上为所述用户创建针对在线开户业务的证据链标识,并将所述证据链标识返回所述业务系统,以使所述业务系统基于所述证据链标识,将与在线开户业务中的各个业务环节相关的业务数据组织成业务数据链。
也即,所述针对在线开户业务的证据链标识,可以用于将所述用户在业务系统上办理在线开户业务的过程中,产生的所有业务数据中需要进行存证的业务数据串连起来,以便于后续多个存证机构可以针对同一证据链标识下的存证数据、或同一证据链标识下相同业务环节对应的存证数据进行比较。
在一个可能的实施例中,所述与所述目标业务相关的业务存证文件,具体可以包括:针对所述目标业务的证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件;所述与目标业务中的各个业务环节相关的业务存证子文件,可以包括由所述多个存证机构基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出的所述关键业务字段而生成的模板文件。
例如,在业务系统基于在区块链上为用户创建的针对在线开户业务的证据链标识,将与在线开户业务中的各个业务环节相关的业务数据组织成业务数据链之后,存证机构A、存证机构B、存证机构C可以分别从所述业务系统处获取与在线开户业务对应的业务数据链;进一步地,存证机构A可以分别基于与在线开户业务中的各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出所述关键业务字段,以分别生成与各个业务环节相关的业务存证子文件f_a_1、f_a_2等,并可以基于所述证据链标识,以及所述业务存证子文件f_a_1、f_a_2等,生成与在线开户业务相关的业务存证文件f_a;类似地,存证机构B、存证机构C也可以分别生成与在线开户业务相关的业务存证文件f_b、f_c,其中,所述业务存证文件f_b可以是基于所述证据链标识,以及业务存证子文件f_b_1、f_b_2等生成的;所述业务存证文件f_c可以是基于所述证据链标识,以及业务存证子文件f_c_1、f_c_2等生成的,在此不再赘述。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先以所述多个存证机构中的任一存证机构为例,介绍所述多个存证机构分别提供给区块链系统的存证数据是如何得到的。
在本说明书中,存证机构可以从所述业务系统处获取与所述目标业务相关的业务数据。
例如,如图2所示,响应于用户在业务系统上办理目标业务,存证机构A可以从所述业务系统处获取需要存证的与目标业务相关的业务数据。
需要说明的是,关于所述多个存证机构分别从所述业务系统处获取与所述目标业务相关的业务数据的具体实现方式,本说明书中不做限制。例如,存证机构可以直接从所述业务系统获取与所述目标业务相关的业务数据。又例如,存证机构可以利用中间件,所述业务系统的服务端获取与所述目标业务相关的业务数据。又例如,存证机构可以从所述业务系统对应的数据库中读取获取与所述目标业务相关的业务数据。又例如,存证机构可以从具有所述业务数据的其他系统中获取与所述目标业务相关的业务数据。
在实际应用中,为了提高存证数据的可信性,还可以将用于从所述业务系统处获取与所述目标业务相关的业务数据的执行代码开源部署在所述区块链上。例如,与存证机构A对应的存证客户端程序开启后,可以从所述区块链上获取已开源部署的所述执行代码,并以此从业务系统处获取与目标业务相关的业务数据。
在一个可能的实施例中,还可以预先针对所述执行代码进行公证处理。
在另一个可能的实施例中,还可以将所述执行代码以智能合约的形式部署在所述区块链上。
在本说明书中,存证机构可以基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件。
例如,如图2所示,存证机构A从所述业务系统处获取需要存证的与目标业务相关的业务数据之后,可以基于所述区块链中存储的与所述目标业务对应的存证规则,针对存证模块A获取到的业务数据提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件f_a。
需要说明的是,由于所述多个存证机构可能分别采用不同的方式,所述业务系统处获取与所述目标业务相关的业务数据,因此所述多个存证机构获取到的与同一内容对应的业务数据可能表现为不同格式,通过与所述目标业务对应的存证规则,可以实现模板化处理,以生成便于后续进行对比的业务存证文件,从而保证针对同一内容处理后得到的存证数据是一致的。
在本说明书中,基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据。
例如,如图2所示,在生成与所述目标业务相关的业务存证文件f_a之后,存证机构A可以基于预设的哈希算法,计算得到业务存证文件f_a的哈希值hash_a,作为由存证机构A提供的与所述目标业务相关的存证数据。
需要说明的是,所述多个存证机构需要基于同一哈希算法针对业务存证文件进行计算,从而保证针对同一内容的业务数据处理后得到的存证数据是一致的。
在本说明书中,向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据。
例如,存证机构A可以向区块链系统发起针对与所述目标业务相关的存证数据的存证请求,所述存证请求中至少可以包括由存证机构A提供的存证数据hash_a;相应地,所述区块链系统(如:区块链中的节点设备或区块链服务平台)响应于所述存证请求,可以获得由存证机构A提供的存证数据hash_a。
在本说明书中,在获得由多个存证机构分别提供的与所述目标业务相关的存证数据之后,可以确定由所述多个存证机构分别提供的存证数据是否一致;如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在区块链中进行存证。
例如,区块链系统可以获得由存证机构A、存证机构B、存证机构C分别提供的存证数据hash_a、hash_b、hash_c;如果确定存证数据hash_a、hash_b、hash_c一致,说明所述多个存证机构从所述业务系统处获取到的与所述目标业务相关的业务数据是内容一致的,并且所述多个存证机构也并未非法篡改,则可以将hash_a、hash_b、hash_c中的任意一个,作为与所述目标业务对应的存证数据在区块链中进行存证;如果确定存证数据hash_a、hash_b、hash_c不一致,如:hash_a≠hash_b=hash_c,说明由存证机构A提供的存证数据hash_a是经过非法篡改的存证数据,则不会将获取到的存证数据hash_a、hash_b、hash_c在区块链中进行存证。
在示出的一种实施方式中,所述区块链系统还可以获得由所述多个存证机构分别提供的存证数据的生成时刻;在这种情况下,为了提高真实性验证的准确性,进一步提高上链的存证数据的可信性,所述如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证,具体可以包括:如果由所述多个存证机构分别提供的存证数据一致,并且由所述多个存证机构分别提供的存证数据的生成时刻之间的差值未超过预设阈值,则将所述存证数据在所述区块链中进行存证。
例如,区块链系统可以获得由存证机构A、存证机构B、存证机构C分别提供的存证数据hash_a、hash_b、hash_c,以及与所述存证数据分别对应的生成时刻t1、t2、t3;如果确定存证数据hash_a、hash_b、hash_c一致,且生成时刻t1、t2、t3之间的差值未超过预设阈值,则可以将hash_a、hash_b、hash_c中的任意一个,作为与所述目标业务对应的存证数据在区块链中进行存证;如果确定存证数据hash_a、hash_b、hash_c一致,但是生成时刻t1、t2、t3之间的差值超过了预设阈值,如生成时刻t1出现了明显异常,说明由存证机构A提供的存证数据hash_a可能是经过非法篡改的存证数据,则不会将获取到的存证数据hash_a、hash_b、hash_c在区块链中进行存证。
需要说明的是,在以上示出的实施方式中,关于所述预设阈值的具体取值,本领域技术人员根据需求可以灵活设置,本说明书对此不做特殊限制。
在示出的一种实施方式中,为了提高针对由多个存证机构分别提供的存证数据进行真实性验证的效率,同时进一步提高上链的存证数据的可信性,还可以针对由多个存证机构分别提供的存证数据进行验签,以保证由多个存证机构分别提供的存证数据在上传至区块链系统的过程中未经非法篡改。
在实现时,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;由每个存证机构提供的存证数据,可以携带有基于该存证机构持有的私钥针对所述存证数据做出的数字签名;在确定由所述多个存证机构分别提供的存证数据是否一致之前,所述方法还可以包括:基于与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥,针对获得的由所述多个存证机构分别提供的存证数据所携带的数字签名进行签名验证;如果由所述多个存证机构分别提供的存证数据所携带的数字签名中,通过签名验证的数字签名的数量达到预设数量,则进一步确定由所述多个存证机构分别提供的存证数据是否一致。
例如,存证机构A、存证机构B与存证机构C可以分别生成业务存证文件f_a、f_b、f_b,并可以分别计算得到对应的哈希值hash_a、hash_b、hash_c,进一步地,还可以分别基于各个存证机构持有的公私钥对中的私钥,针对所述哈希值hash_a、hash_b、hash_c做出数字签名,并将携带有所述数字签名的哈希值作为由该存证机构提供的与所述目标业务相关的存证数据;所述区块链系统在获得由存证机构A、存证机构B、存证机构C分别提供的携带有数字签名的哈希值hash_a、hash_b、hash_c之后,可以先分别基于区块链中存储的各个存证机构持有的公私钥对中的公钥,针对获取到的存证数据中携带的数字签名进行签名验证;如果通过签名验证的数字签名的数量达到预设数量,则可以进一步确定由存证机构A、存证机构B、存证机构C分别提供的存证数据是否一致;如果通过签名验证的数字签名的数量没有达到预设数量,说明由未通过验签的存证机构提供的存证数据可能被非法篡改了,则无需继续存证。
需要说明的是,在以上示出的实施方式中,关于所述预设数量的具体取值,本领域技术人员根据需求可以灵活设置,本说明书对此不做特殊限制;例如,所述预设数量可以为存证机构数量的三分之二。又例如,根据不同业务的重要性,本领域技术人员可以为不同的业务或者目标业务中的不同业务环节,设置不同的预设数量,也即,设置不同的背书签名策略。
在示出的一种实施方式中,在将与所述目标业务相关的存证数据在所述区块链中进行存证之后,在出现业务纠纷需要提供证据、需要开具证明材料等场景中,可以验证由用户提供的待验证数据是否为真实存在的、且未经篡改的数据,从而提升用户的维权效率。在实现时,所述方法还可以包括:获得所述用户提供的待验证数据和证据链标识;在所述区块链中查找与所述用户提供的证据链标识对应的存证数据,并验证查找到的存证数据与所述用户提供的待验证数据是否匹配;如果是,则确定针对所述待验证数据的真实性验证通过。
也即,在获得所述用户提供的待验证数据和证据链标识之后,可以确定所述区块链中是否存储了与所述用户提供的证据链标识对应的存证数据;如果存储了,则可以进一步确定所述区块链上存储的存证数据与所述用户提供的待验证数据是否匹配;如果匹配,则可以确定所述用户提供的待验证数据是未经篡改的真实数据;如果未存储或者不匹配,则可以确定所述用户提供的待验证数据是经过篡改的非法数据。
其中,所述用户提供的待验证数据,具体可以包括待验证的业务数据原文、待验证的业务存证文件、或待验证的hash值;所述验证查找到的存证数据与所述用户提供的待验证数据是否匹配,可以理解为,可以先基于与所述目标业务对应的存证规则、预设的哈希算法等,针对所述用户提供的待验证数据进行处理,再进一步地确定处理得到的哈希值与查找到的存证数据是否一致。
例如,若用户提供的待验证数据为待验证的hash值,则可以在所述区块链中查找与所述用户提供的证据链标识对应的存证数据,并验证查找到的存证数据与所述用户提供的待验证的hash值是否一致;如果是,则确定针对所述待验证数据的真实性验证通过。
又例如,若用户提供的待验证数据为待验证的业务数据原文,则可以基于与所述目标业务对应的存证规则,生成与所述待验证的业务数据原文对应的业务存证文件,并基于同一哈希算法计算得到所述业务存证文件的hash值;以及,可以在所述区块链中查找与所述用户提供的证据链标识对应的存证数据,并验证查找到的存证数据与计算得到所述业务存证文件的hash值是否一致;如果是,则确定针对所述待验证数据的真实性验证通过。
通过以上实施例可知,一方面,由于由每个存证机构提供的与目标业务相关的存证数据,可以包括基于与目标业务对应的存证规则、以及预设的哈希算法,依次针对从业务系统处获取到的与目标业务相关的业务数据进行处理后而得到的哈希值,因此,将所述存证数据在区块链进行存证,既可以保证业务数据的隐私性,也可以向区块链系统提供便于进行多方验证的内容。
另一方面,通过获得由多个存证机构分别独立生成的存证数据,并且响应于确定由多个存证机构分别提供的存证数据一致,才允许将所述存证数据在区块链中进行存证,可以在保证业务数据的隐私安全的前提下,实现对需要上链的存证数据进行真实性验证,从而避免伪造的存证数据上链。
请参见图5,图5是本说明书另一实施例中基于区块链的数据存证方法的流程图。上述基于区块链的数据存证方法可以应用于与存证机构对应的存证客户端程序,以实现本说明书的技术方案。其中,上述基于区块链的数据存证方法可以执行以下步骤:
步骤502:基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
步骤504:基于预设的哈希算法,针对生成的与目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由存证机构提供的与所述目标业务相关的存证数据;
步骤506:向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
在本说明书中,所述存证客户端程序可以搭载在所述业务系统上,也可以搭载在存证机构对应的服务端上,也可以搭载在所述区块链中的节点设备或区块链服务平台上,本说明书对此不作特殊限制。
在本说明书中,步骤502-步骤506的具体实现方式与上述步骤302-步骤306相似,在此不再赘述。
在示出的一种实施方式中,所述目标业务包括多个业务环节;所述基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件的过程,具体可以包括:从所述业务系统处获取与所述目标业务对应的业务数据链;其中,所述业务数据链,包括由所述业务系统基于在所述区块链上为所述用户创建的针对所述目标业务的证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成的数据链;基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出所述关键业务字段,以生成与各个业务环节相关的业务存证子文件;基于所述证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件,生成与所述目标业务相关的业务存证文件。
在示出的一种实施方式中,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;所述基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据的过程,具体可以包括:基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,以得到对应的哈希值;基于所述存证机构持有的私钥,针对计算得到的哈希值做出数字签名,并将携带有所述数字签名的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;以使所述区块链系统响应于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据,基于所述区块链中存储的与所述多个存证机构分别对应的公钥进行签名验证,并在通过签名验证的数字签名的数量达到预设数量时,进一步确定由多个存证机构分别提供的与所述目标业务相关的存证数据是否一致。
在示出的一种实施方式中,所述存证客户端程序可以包括以下示出的任一:
与所述业务系统对接的用户客户端上搭载的业务数据存证程序;
与所述业务系统对接的服务端上搭载的用于进行业务数据存证的中间件;
与所述业务系统的业务数据库对接的第三方机构的服务端上搭载的用于进行业务数据存证的中间件。
其中,所述业务存证程序,具体可以包括SDK(Software Development Kit,软件开发工具包);所述SDK可以用于提供业务数据的存证服务,也即,可以从所述业务系统处获取与所述目标业务相关的业务数据,并可以针对获取到的业务数据进行数据存证处理(如:生成业务存证文件、计算业务存证文件的hash值等)。
在示出的一种实施方式中,可以针对所述存证客户端程序对应的执行代码进行公证、开源等处理,以保证存证机构从业务系统处获取业务数据、生成业务存证文件、计算得到存证数据等过程的执行逻辑公开透明,从而提高上链的存证数据的可信性,避免存证机构伪造存证数据。
在实现时,所述存证客户端程序对应的执行代码可以开源部署在所述区块链上。
在一个可能的实施例中,所述存证客户端程序对应的执行代码还可以预先进行公证处理。
在另一个可能的实施例中,所述存证客户端程序对应的执行代码可以以智能合约的形式部署在所述区块链上。
通过以上实施例可知,一方面,由于由每个存证机构提供的与目标业务相关的存证数据,可以包括基于与目标业务对应的存证规则、以及预设的哈希算法,依次针对从业务系统处获取到的与目标业务相关的业务数据进行处理后而得到的哈希值,因此,将所述存证数据在区块链进行存证,既可以保证业务数据的隐私性,也可以向区块链系统提供便于进行多方验证的内容。
另一方面,通过获得由多个存证机构分别独立生成的存证数据,并且响应于确定由多个存证机构分别提供的存证数据一致,才允许将所述存证数据在区块链中进行存证,可以在保证业务数据的隐私安全的前提下,实现对需要上链的存证数据进行真实性验证,从而避免伪造的存证数据上链。
与上述基于区块链的数据存证方法的实施例对应的,本说明书还提供了一种基于区块链的数据存证装置的实施例。
请参见图6,图6是本说明书一实施例中基于区块链的数据存证装置所在电子设备的结构示意图。在硬件层面,该设备包括处理器602、内部总线604、网络接口606、内存608以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器602从非易失性存储器610中读取对应的计算机程序到内存608中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参见图7,图7是本说明书一实施例中基于区块链的数据存证装置的框图。该基于区块链的数据存证装置可以应用于如图6所示的电子设备中,以实现本说明书的技术方案。所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段。其中,所述基于区块链的数据存证装置可以包括:
获得单元702,用于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;
确定单元704,用于确定由所述多个存证机构分别提供的存证数据是否一致;
存证单元706,用于如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证。
在本实施例中,所述与所述目标业务相关的业务数据,包括用户在所述业务系统上办理所述目标业务的过程中产生的业务数据。
在本实施例中,所述与所述目标业务相关的存证规则,包括由与所述目标业务相关的业务数据中需要存证的关键业务字段对应的字段标识构成的文件模板;所述与所述目标业务相关的业务存证文件,包括按照所述文件模板定义的文件格式,从与所述目标业务相关的业务数据中提取出与所述字段标识对应的关键业务字段而生成的模板文件。
在本实施例中,所述目标业务包括多个业务环节;所述装置还包括创建单元,用于:
获得所述业务系统响应于所述用户办理所述目标业务而发起的针对所述目标业务的证据链创建请求;
响应于所述证据链创建请求,在所述区块链上为所述用户创建针对所述目标业务的证据链标识,并将所述证据链标识返回所述业务系统,以使所述业务系统基于所述证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成业务数据链。
在本实施例中,与所述目标业务对应的存证规则,包括与所述目标业务中的各个业务环节分别对应的存证子规则;所述与各个业务环节分别对应的存证子规则,用于描述与各个业务环节相关的业务数据中需要存证的关键业务字段;
所述与所述目标业务相关的业务存证文件,包括针对所述目标业务的证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件;所述与目标业务中的各个业务环节相关的业务存证子文件,包括由所述多个存证机构基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出的所述关键业务字段而生成的模板文件。
在本实施例中,所述装置还包括验证单元,用于:
获得所述用户提供的待验证数据和证据链标识;
在所述区块链中查找与所述用户提供的证据链标识对应的存证数据,并验证查找到的存证数据与所述用户提供的待验证数据是否匹配;
如果是,则确定针对所述待验证数据的真实性验证通过。
在本实施例中,所述存证单元706,具体用于:
如果由所述多个存证机构分别提供的存证数据一致,并且由所述多个存证机构分别提供的存证数据的生成时刻之间的差值未超过预设阈值,则将所述存证数据在所述区块链中进行存证。
在本实施例中,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;由每个存证机构提供的存证数据,携带有基于该存证机构持有的私钥针对所述存证数据做出的数字签名;
所述方法还包括验签单元,用于:
基于与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥,针对获得的由所述多个存证机构分别提供的存证数据所携带的数字签名进行签名验证;
如果由所述多个存证机构分别提供的存证数据所携带的数字签名中,通过签名验证的数字签名的数量达到预设数量,则进一步确定由所述多个存证机构分别提供的存证数据是否一致。
请参见图8,图8是本说明书一实施例中基于区块链的数据存证装置的框图。该基于区块链的数据存证装置可以应用于如图6所示的电子设备中,以实现本说明书的技术方案。所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段。其中,所述基于区块链的数据存证装置可以包括:
生成单元802,用于基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
计算单元804,用于基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;
请求单元806,用于向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
在本实施例中,所述目标业务包括多个业务环节;所述生成单元802,具体用于:
从所述业务系统处获取与所述目标业务对应的业务数据链;其中,所述业务数据链,包括由所述业务系统基于在所述区块链上为所述用户创建的针对所述目标业务的证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成的数据链;
基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出所述关键业务字段,以生成与各个业务环节相关的业务存证子文件;
基于所述证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件,生成与所述目标业务相关的业务存证文件。
在本实施例中,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;所述计算单元804,具体用于:
基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,以得到对应的哈希值;
基于所述存证机构持有的私钥,针对计算得到的哈希值做出数字签名,并将携带有所述数字签名的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;以使所述区块链系统响应于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据,基于所述区块链中存储的与所述多个存证机构分别对应的公钥进行签名验证,并在通过签名验证的数字签名的数量达到预设数量时,进一步确定由多个存证机构分别提供的与所述目标业务相关的存证数据是否一致。
在本实施例中,所述存证客户端程序包括以下示出的任一:
与所述业务系统对接的用户客户端上搭载的业务数据存证程序;
与所述业务系统对接的服务端上搭载的用于进行业务数据存证的中间件;
与所述业务系统的业务数据库对接的第三方机构的服务端上搭载的用于进行业务数据存证的中间件。
在本实施例中,所述存证客户端程序对应的执行代码开源部署在所述区块链上。
在本实施例中,所述存证客户端程序对应的执行代码预先进行了公证处理。
在本实施例中,所述存证客户端程序对应的执行代码以智能合约的形式部署在所述区块链上。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (19)
1.一种基于区块链的数据存证方法,其特征在于,所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述方法包括:
获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;
确定由所述多个存证机构分别提供的存证数据是否一致;
如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证。
2.根据权利要求1所述的方法,其特征在于,所述与所述目标业务相关的业务数据,包括用户在所述业务系统上办理所述目标业务的过程中产生的业务数据。
3.根据权利要求1所述的方法,其特征在于,所述与所述目标业务相关的存证规则,包括由与所述目标业务相关的业务数据中需要存证的关键业务字段对应的字段标识构成的文件模板;所述与所述目标业务相关的业务存证文件,包括按照所述文件模板定义的文件格式,从与所述目标业务相关的业务数据中提取出与所述字段标识对应的关键业务字段而生成的模板文件。
4.根据权利要求2所述的方法,其特征在于,所述目标业务包括多个业务环节;
在获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据之前,所述方法还包括:
获得所述业务系统响应于所述用户办理所述目标业务而发起的针对所述目标业务的证据链创建请求;
响应于所述证据链创建请求,在所述区块链上为所述用户创建针对所述目标业务的证据链标识,并将所述证据链标识返回所述业务系统,以使所述业务系统基于所述证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成业务数据链。
5.根据权利要求4所述的方法,其特征在于,与所述目标业务对应的存证规则,包括与所述目标业务中的各个业务环节分别对应的存证子规则;所述与各个业务环节分别对应的存证子规则,用于描述与各个业务环节相关的业务数据中需要存证的关键业务字段;
所述与所述目标业务相关的业务存证文件,包括针对所述目标业务的证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件;所述与目标业务中的各个业务环节相关的业务存证子文件,包括由所述多个存证机构基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出的所述关键业务字段而生成的模板文件。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获得所述用户提供的待验证数据和证据链标识;
在所述区块链中查找与所述用户提供的证据链标识对应的存证数据,并验证查找到的存证数据与所述用户提供的待验证数据是否匹配;
如果是,则确定针对所述待验证数据的真实性验证通过。
7.根据权利要求1所述的方法,其特征在于,所述如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证,包括:
如果由所述多个存证机构分别提供的存证数据一致,并且由所述多个存证机构分别提供的存证数据的生成时刻之间的差值未超过预设阈值,则将所述存证数据在所述区块链中进行存证。
8.根据权利要求1所述的方法,其特征在于,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;由每个存证机构提供的存证数据,携带有基于该存证机构持有的私钥针对所述存证数据做出的数字签名;
在确定由所述多个存证机构分别提供的存证数据是否一致之前,所述方法还包括:
基于与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥,针对获得的由所述多个存证机构分别提供的存证数据所携带的数字签名进行签名验证;
如果由所述多个存证机构分别提供的存证数据所携带的数字签名中,通过签名验证的数字签名的数量达到预设数量,则进一步确定由所述多个存证机构分别提供的存证数据是否一致。
9.一种基于区块链的数据存证方法,其特征在于,应用于与存证机构对应的存证客户端程序;所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述方法包括:
基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;
向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
10.根据权利要求9所述的方法,其特征在于,所述目标业务包括多个业务环节;
所述基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件,包括:
从所述业务系统处获取与所述目标业务对应的业务数据链;其中,所述业务数据链,包括由所述业务系统基于在所述区块链上为用户创建的针对所述目标业务的证据链标识,将与所述目标业务中的各个业务环节相关的业务数据组织成的数据链;
基于与所述各个业务环节对应的存证子规则,从所述业务数据链中包含的与所述各个业务环节相关的业务数据中,提取出所述关键业务字段,以生成与各个业务环节相关的业务存证子文件;
基于所述证据链标识,以及与所述目标业务中的各个业务环节相关的业务存证子文件,生成与所述目标业务相关的业务存证文件。
11.根据权利要求9所述的方法,其特征在于,所述区块链中还存储了与所述多个存证机构中的每个存证机构持有的私钥分别对应的公钥;
所述基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据,包括:
基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,以得到对应的哈希值;
基于所述存证机构持有的私钥,针对计算得到的哈希值做出数字签名,并将携带有所述数字签名的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;以使所述区块链系统响应于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据,基于所述区块链中存储的与所述多个存证机构分别对应的公钥进行签名验证,并在通过签名验证的数字签名的数量达到预设数量时,进一步确定由多个存证机构分别提供的与所述目标业务相关的存证数据是否一致。
12.根据权利要求9所述的方法,其特征在于,所述存证客户端程序包括以下示出的任一:
与所述业务系统对接的用户客户端上搭载的业务数据存证程序;
与所述业务系统对接的服务端上搭载的用于进行业务数据存证的中间件;
与所述业务系统的业务数据库对接的第三方机构的服务端上搭载的用于进行业务数据存证的中间件。
13.根据权利要求12所述的方法,其特征在于,所述存证客户端程序对应的执行代码开源部署在所述区块链上。
14.根据权利要求13所述的方法,其特征在于,所述存证客户端程序对应的执行代码预先进行了公证处理。
15.根据权利要求13所述的方法,其特征在于,所述存证客户端程序对应的执行代码以智能合约的形式部署在所述区块链上。
16.一种基于区块链的数据存证装置,其特征在于,所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述装置包括:
获得单元,用于获得由所述多个存证机构分别提供的与所述目标业务相关的存证数据;其中,所述与所述目标业务相关的存证数据,包括由所述多个存证机构基于同一哈希算法,针对各自生成的与所述目标业务相关的业务存证文件分别进行计算而得到的哈希值;所述与所述目标业务相关的业务存证文件,包括由所述多个存证机构基于与所述目标业务对应的存证规则,针对各自从业务系统处获取到的与所述目标业务相关的业务数据分别提取出所述关键业务字段而生成的文件;
确定单元,用于确定由所述多个存证机构分别提供的存证数据是否一致;
存证单元,用于如果由所述多个存证机构分别提供的存证数据一致,则将所述存证数据在所述区块链中进行存证。
17.一种基于区块链的数据存证装置,其特征在于,应用于与存证机构对应的存证客户端程序;所述区块链中存储了由多个存证机构共识通过的与目标业务对应的存证规则;所述存证规则用于描述与所述目标业务相关的业务数据中需要存证的关键业务字段;所述装置包括:
生成单元,用于基于与所述目标业务对应的存证规则,针对从业务系统处获取到的与所述目标业务相关的业务数据中提取出需要存证的关键业务字段,以生成与所述目标业务相关的业务存证文件;
计算单元,用于基于预设的哈希算法,针对生成的与所述目标业务相关的业务存证文件进行计算,并将计算得到的哈希值作为由所述存证机构提供的与所述目标业务相关的存证数据;
请求单元,用于向区块链系统发起针对与所述目标业务相关的存证数据的存证请求;以使所述区块链系统响应于所述存证请求,获得由所述存证机构提供的与所述目标业务相关的存证数据,并在确定由多个存证机构分别提供的与所述目标业务相关的存证数据一致时,将所述存证数据在所述区块链中进行存证。
18.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行权利要求1-8或9-15中任一项所述的方法。
19.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1-8或9-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674029.2A CN114781004B (zh) | 2022-06-15 | 2022-06-15 | 基于区块链的数据存证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674029.2A CN114781004B (zh) | 2022-06-15 | 2022-06-15 | 基于区块链的数据存证方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114781004A true CN114781004A (zh) | 2022-07-22 |
CN114781004B CN114781004B (zh) | 2022-09-30 |
Family
ID=82420498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210674029.2A Active CN114781004B (zh) | 2022-06-15 | 2022-06-15 | 基于区块链的数据存证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114781004B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947845A (zh) * | 2018-11-23 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种区块链存证方法、装置和计算机设备 |
CN110009340A (zh) * | 2019-01-16 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的存证方法和装置 |
CN110363527A (zh) * | 2019-06-26 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 基于区块链的存证、监管方法和装置 |
CN111353180A (zh) * | 2020-03-30 | 2020-06-30 | 北京海益同展信息科技有限公司 | 一种区块链存证方法、取证方法及系统 |
CN111552676A (zh) * | 2020-04-26 | 2020-08-18 | 北京众享比特科技有限公司 | 基于区块链的存证方法、装置、设备及介质 |
US20200293515A1 (en) * | 2019-06-03 | 2020-09-17 | Alibaba Group Holding Limited | Service processing system and method based on blockchain |
CN111865761A (zh) * | 2020-07-02 | 2020-10-30 | 中通服创发科技有限责任公司 | 一种基于区块链智能合约的社交聊天信息存证方法 |
US20210366039A1 (en) * | 2017-10-23 | 2021-11-25 | Advanced New Technologies Co., Ltd. | Data auditing method and device |
CN114201781A (zh) * | 2021-12-14 | 2022-03-18 | 深圳市电子商务安全证书管理有限公司 | 基于区块链的存证验证方法、装置、计算机设备及介质 |
CN114329620A (zh) * | 2021-12-10 | 2022-04-12 | 苏州壹证通信息科技有限公司 | 一种基于区块链的第三方获取电子凭据的方法及装置 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
-
2022
- 2022-06-15 CN CN202210674029.2A patent/CN114781004B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210366039A1 (en) * | 2017-10-23 | 2021-11-25 | Advanced New Technologies Co., Ltd. | Data auditing method and device |
CN109947845A (zh) * | 2018-11-23 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种区块链存证方法、装置和计算机设备 |
CN110009340A (zh) * | 2019-01-16 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的存证方法和装置 |
US20200293515A1 (en) * | 2019-06-03 | 2020-09-17 | Alibaba Group Holding Limited | Service processing system and method based on blockchain |
CN110363527A (zh) * | 2019-06-26 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 基于区块链的存证、监管方法和装置 |
CN111353180A (zh) * | 2020-03-30 | 2020-06-30 | 北京海益同展信息科技有限公司 | 一种区块链存证方法、取证方法及系统 |
CN111552676A (zh) * | 2020-04-26 | 2020-08-18 | 北京众享比特科技有限公司 | 基于区块链的存证方法、装置、设备及介质 |
CN111865761A (zh) * | 2020-07-02 | 2020-10-30 | 中通服创发科技有限责任公司 | 一种基于区块链智能合约的社交聊天信息存证方法 |
CN114329620A (zh) * | 2021-12-10 | 2022-04-12 | 苏州壹证通信息科技有限公司 | 一种基于区块链的第三方获取电子凭据的方法及装置 |
CN114201781A (zh) * | 2021-12-14 | 2022-03-18 | 深圳市电子商务安全证书管理有限公司 | 基于区块链的存证验证方法、装置、计算机设备及介质 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
Non-Patent Citations (4)
Title |
---|
NAN WANG等: "Privacy-preserving energy storage sharing with blockchain and secure multi-party computation", 《ACM SIGENERGY ENERGY INFORMATICS REVIEW》 * |
ZHENGWEI JIANG等: "Blockchain-based Load Regulation Data Storage Technology", 《2021 IEEE 4TH INTERNATIONAL ELECTRICAL AND ENERGY CONFERENCE (CIEEC)》 * |
朱建明等: "区块链关键技术及其应用研究进展", 《太原理工大学学报》 * |
李兆森等: "基于区块链的电子数据存证应用研究", 《软件》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114781004B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020261982B2 (en) | Extracting data from a blockchain network | |
US10742424B2 (en) | Trusted identity solution using blockchain | |
US20200076602A1 (en) | Trusted identity solution using blockchain | |
US11741083B2 (en) | Cross-shard private atomic commit | |
CN111767578B (zh) | 一种数据检验方法、装置及设备 | |
CN111898148A (zh) | 一种基于区块链的信息监管方法及装置 | |
CN110795501A (zh) | 基于区块链的可验证声明的创建方法、装置、设备及系统 | |
US10693646B2 (en) | Event execution using a blockchain approach | |
US11550796B2 (en) | Coexistence mediator for facilitating blockchain transactions | |
CN114971827A (zh) | 一种基于区块链的对账方法、装置、电子设备及存储介质 | |
US11943360B2 (en) | Generative cryptogram for blockchain data management | |
US11575499B2 (en) | Self auditing blockchain | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN110347750B (zh) | 基于区块链的数据处理方法和装置 | |
CN115296794A (zh) | 基于区块链的密钥管理方法及装置 | |
US11563559B2 (en) | Parallel processing of blockchain procedures | |
CN114781004B (zh) | 基于区块链的数据存证方法、装置、电子设备及存储介质 | |
CN113327169B (zh) | 基于区块链的理赔方法及装置、电子设备 | |
US11640392B2 (en) | Blockchain endorsement agreement | |
US11743327B2 (en) | Topological ordering of blockchain associated proposals | |
Xiao et al. | Insurance Block: An Insurance Data Security Transaction Authentication Scheme Suitable for Blockchain Environment | |
CN112215602B (zh) | 数据查询方法、装置、系统及电子设备 | |
Wickström | Distributed IoT Security using an Ethereum-based Blockchain Infrastructure | |
CN116805267A (zh) | 基于哈希承诺的数据交易存证方法、装置、设备及介质 | |
Bisiach et al. | PUF-enabled blockchain for IoT security: a comparative study |
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 |