一种基于区块链的数据验证方法、装置、设备及介质

文档序号:154235 发布日期:2021-10-26 浏览:25次 >En<

阅读说明:本技术 一种基于区块链的数据验证方法、装置、设备及介质 (Data verification method, device, equipment and medium based on block chain ) 是由 蓝虎 于 2020-04-23 设计创作,主要内容包括:本申请实施例公开了一种基于区块链的数据验证方法、装置、设备及介质,其中,方法包括:当第一终端与区块链网络之间处于未连接状态时,该第一终端接收第二终端针对目标业务的处理请求;该第一终端从本地缓存中读取待选区块集合,该待选区块集合中的待选区块均包括该第二终端的终端用户的电子证件;该第一终端获取该待选区块集合中的待选区块的区块信息,根据该待选区块集合中的待选区块的区块信息确定该终端用户的电子证件的更新时间,根据该更新时间验证该待选区块集合中的待选区块中的电子证件的有效性;该第一终端根据具有有效性的电子证件对该目标业务进行处理。采用本申请实施例,可以验证电子证件的有效性。(The embodiment of the application discloses a data verification method, a device, equipment and a medium based on a block chain, wherein the method comprises the following steps: when a first terminal and a block chain network are in an unconnected state, the first terminal receives a processing request of a second terminal for a target service; the first terminal reads a block set to be selected from a local cache, wherein the blocks to be selected in the block set to be selected all comprise electronic certificates of a terminal user of the second terminal; the first terminal acquires the block information of the block to be selected in the block set to be selected, determines the updating time of the electronic certificate of the terminal user according to the block information of the block to be selected in the block set to be selected, and verifies the validity of the electronic certificate in the block to be selected in the block set to be selected according to the updating time; and the first terminal processes the target service according to the electronic certificate with validity. By adopting the embodiment of the application, the validity of the electronic certificate can be verified.)

一种基于区块链的数据验证方法、装置、设备及介质

技术领域

本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据验证方法、装置、设备及介质。

背景技术

证件是证明证件持有者身份的依据,例如身份证、护照、港澳通行证、机动车驾驶证等等,可用于记录用户的身份信息;在一些需要确定证件持有者身份信息的场合,证件持有者可以通过提供相关证件,从而证明自己的身份。同时,证件随着用户的身份信息的变化更新,例如,该证件为身份证,当用户的户籍地址变化时,需要用户办理一个新的身份证;当用户办理新的身份证后,仅新办理的身份证具有有效性。

实践中,当业务处理终端处于离线状态时,只能由用户自身提供证件(如卡片类型证件、文件类型证件)给业务处理终端。但是,该证件中仅存储了静态的用户信息,无法验证该证件的有效性,导致业务不能被正常处理。

发明内容

本申请实施例提供一种基于区块链的数据验证方法、装置、设备及介质,可以提高电子证件的真实性。

本申请实施例一方面提供一种基于区块链的数据验证方法,包括:

当第一终端与区块链网络之间处于未连接状态时,上述第一终端接收第二终端针对目标业务的处理请求;

上述第一终端从本地缓存中读取待选区块集合,上述待选区块集合中的待选区块均包括上述第二终端的终端用户的电子证件,上述待选区块集合中的待选区块由上述第一终端在与上述区块链网络之间处于连接状态时从上述区块链网络中读取的;

上述第一终端获取上述待选区块集合中的待选区块的区块信息,根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性;

上述第一终端根据具有有效性的电子证件对上述目标业务进行处理。

可选的,上述区块信息包括时间戳,上述根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:上述第一终端获取上述待选区块集合中的待选区块的时间戳对应的第一时间,以及获取上述第一终端的系统时间,作为第二时间;上述第一终端获取上述第一时间与上述第二时间之间的时间间隔;上述第一终端将上述待选区块集合中时间间隔最小的待选区块,确定为目标区块;上述第一终端将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括区块高度,上述根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:上述第一终端从上述待选区块集合中获取区块高度最大的待选区块,作为目标区块;上述第一终端将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括上述第三终端的签名,上述根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:上述第一终端获取上述第三终端的公钥;上述第一终端采用上述第三终端的公钥对上述第三终端的签名进行验签;上述第一终端将上述待选区块集合中验签通过的待选区块确定为认证区块;上述第一终端将上述认证区块中区块高度最高的区块确定为目标区块;上述第一终端将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述方法还包括:根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性,包括:若上述更新时间位于第一时间段内,则上述第一终端确定上述目标区块中的电子证件具有有效性。

可选的,上述方法还包括:上述第一终端接收上述第二终端针对上述终端用户的电子证件的变更请求,上述变更请求包括变更后的电子证件;若上述第一终端验证上述变更后的电子证件具有有效性,则上述第一终端采用上述第一终端的私钥对上述变更后的电子证件进行签名,得到上述第一终端的签名;上述第一终端将上述第一终端的签名以及上述变更后的电子证件上传至上述区块链网络。

可选的,上述方法还包括:当上述第一终端与区块链网络之间处于连接状态时,上述第一终端每隔第二时间从上述区块链网络获取新增的区块;上述第一终端将上述新增的区块缓存在本地。

可选的,上述第一终端与第一子终端、第二子终端之间均处于连接状态,上述第一子终端的本地缓存有第一子待选区块,上述第二子终端的本地缓存有第二子待选区块;上述第一子待选区块和上述第二子待选区块中均包括上述终端用户的电子证件,上述方法还包括:上述第一终端获取上述第一子待选区块的第一区块高度和上述第二子待选区块的第二区块高度;若上述第一区块高度大于上述第二区块高度,则上述第一终端从上述第一子终端中获取上述第一子待选区块,将上述第一子待选区块添加至上述待选区块集合中;若上述第一区块高度小于上述第二区块高度,则上述第一终端从上述第二子终端中获取上述第二子待选区块,将上述第二子待选区块添加至上述待选区块集合中。

本申请实施例一方面提供一种基于区块链的数据验证装置,包括:

第一数据处理模块,用于当第一终端与区块链网络之间处于未连接状态时,上述第一终端接收第二终端针对目标业务的处理请求;

数据读取模块,用于从本地缓存中读取待选区块集合,上述待选区块集合中的待选区块均包括上述第二终端的终端用户的电子证件,上述待选区块集合中的待选区块由上述第一终端在与上述区块链网络之间处于连接状态时从上述区块链网络中读取的;

数据验证模块,用于获取上述待选区块集合中的待选区块的区块信息,根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性;

第二数据处理模块,用于根据具有有效性的电子证件对上述目标业务进行处理。

可选的,上述区块信息包括时间戳,上述数据验证模块,具体用于获取上述待选区块集合中的待选区块的时间戳对应的第一时间,以及获取上述第一终端的系统时间,作为第二时间;获取上述第一时间与上述第二时间之间的时间间隔;将上述待选区块集合中时间间隔最小的待选区块,确定为目标区块;将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括区块高度,上述数据验证模块,具体用于从上述待选区块集合中获取区块高度最大的待选区块,作为目标区块;将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括上述第一终端的签名,上述数据验证模块,具体用于从获取上述第一终端的公钥;采用上述第一终端的公钥对上述第一终端的签名进行验签;将上述待选区块集合中验签通过的待选区块确定为认证区块;将上述认证区块中区块高度最高的区块确定为目标区块;将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述数据验证模块,具体用于若上述更新时间位于第一时间段内,则确定上述目标区块中的电子证件具有有效性。

可选的,上述装置还包括:数据变更模块,用于接收上述第二终端针对上述终端用户的电子证件的变更请求,上述变更请求包括变更后的电子证件;若验证上述变更后的电子证件具有有效性,则采用上述第一终端的私钥对上述变更后的电子证件进行签名,得到上述第一终端的签名;将上述第一终端的签名以及上述变更后的电子证件上传至上述区块链网络。

可选的,上述装置还包括:第一数据存储模块,用于当上述第一终端与区块链网络之间处于连接状态时,每隔第二时间从上述区块链网络获取新增的区块;将上述新增的区块缓存在本地。

可选的,上述第一终端与第一子终端、第二子终端之间均处于连接状态,上述第一子终端的本地缓存有第一子待选区块,上述第二子终端的本地缓存有第二子待选区块;上述第一子待选区块和上述第二子待选区块中均包括上述终端用户的电子证件,上述装置还包括:第二数据存储模块,用于获取上述第一子待选区块的第一区块高度和上述第二子待选区块的第二区块高度;若上述第一区块高度大于上述第二区块高度,则从上述第一子终端中获取上述第一子待选区块,将上述第一子待选区块添加至上述待选区块集合中;若上述第一区块高度小于上述第二区块高度,则从上述第二子终端中获取上述第二子待选区块,将上述第二子待选区块添加至上述待选区块集合中。

本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;

上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。

本申请实施例一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的基于区块链的数据验证方法。

本申请实施例中,第一终端通过预先将区块链网络中的待选区块读取至本地的待选区块集合,该待选区块包括第二终端的终端用户的电子证件;因此,当第一终端与区块链网络之间处于未连接状态时,且接收到第二终端的业务处理请求时,可从本地读取到待选区块集合;这样可有效避免由于第一终端与区块链网络之间处于未连接状态,使第一终端不能读取到第二终端的终端用户的电子证件,导致目标业务不能被处理的问题;可确保目标业务被正常处理,提高业务处理效率。进一步,由于待选区块集合中不同待选区块记录了终端用户不同时间的电子证件,即待选区块集合的待选区块记录了终端用户的动态电子证件(即动态的用户信息)。因此,第一终端可通过获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性,可有效获取到终端用户更新后的电子证件,可确保电子证件的准确性。因此,在该电子证件具有有效性的情况下,第一终端根据具有有效性的电子证件对目标业务进行处理,即通过提高电子证件的准确性、真实性,可确保目标业务被准确、有效地执行。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请实施例提供的一种数据验证系统的架构示意图;

图1b是本申请实施例提供的一种区块链节点系统示意图;

图1c是本申请实施例提供的一种区块链示意图;

图2是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图;

图3是本申请实施例提供的一种电子证件信息上链过程的示意图;

图4是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图;

图5是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图;

图6是本申请实施例提供的一种基于区块链的数据验证装置的组成结构示意图;

图7是本申请实施例提供的一种计算机设备的组成结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参见图1a,图1a是本申请实施例提供的一种数据验证系统的架构示意图。该系统架构示意图包括区块链节点系统、第一终端和第二终端,其中,第一终端可以是指办事处所属机构对应的终端,第二终端可以是指需要在办事处办理目标业务的终端用户所持有的终端,区块链节点系统可以为全国总办事处所属机构对应的终端,即区块链节点系统中记录有全国的终端用户的电子证件。第一终端可以用于提供多种多样的业务、进行业务处理、从本地缓存中读取第二终端的终端用户的电子证件等等;业务可以包括需要进行身份验证的业务,例如银行卡办理、身份证更换以及婚姻状态变更等业务。业务处理的过程可以是指持有第二终端的终端用户需要进行业务处理,如办理银行卡业务,第一终端读取本地缓存的第二终端的终端用户的电子证件并对该电子证件进行验证,在第一终端验证该电子证件具有有效性后,第一终端对该办理银行卡的业务进行处理,即开始为第二终端的终端用户办理银行卡。终端用户的电子证件可以是指用于证明终端用户的身份的电子证件,具体可以是指电子身份证、电子护照等,电子证件可以包括用户的身份信息,例如姓名、性别、年龄、户籍所在地、持证年限等等。第二终端可用于向第一终端发送针对目标业务的处理请求。

其中,区块链节点系统中的节点设备、第一终端和第二终端可以为计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobileinternet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等;还可以是指是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心。

此外,请参见图1b,图1b是本申请实施例提供的一种区块链节点系统示意图。如图1b所示,区块链节点系统中可以包括多个节点,每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链节点系统内的验证信息数据。为了保证区块链节点系统内的信息互通,区块链节点系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链节点系统中的任意节点接收到输入信息时,区块链节点系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为交易信息数据中的数据进行存储,使得区块链节点系统中全部节点上存储的数据均一致。

对于区块链节点系统中的每个节点,均具有与其对应的节点标识,而且区块链节点系统中的每个节点均可以存储有区块链节点系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链节点系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。

表1

节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258

区块链节点系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,请参见图1c,图1c是本申请实施例提供的一种区块链示意图,如图1c所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。

本申请实施例利用区块链技术中的智能合约以及区块链不可篡改的特性对数据进行处理,即提供了一种基于区块链的数据验证方法,其中,智能合约,即计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。所谓区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效纪录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链各网络节点共同认可的一种数学算法。

进一步地,如图1a所示,在具体实施该基于区块链的数据验证方法的过程中,例如,当第一终端与区块链网络处于连接状态时,第一终端可从区块链网络中读取包括用户的电子证件的区块,并将读取到的区块存储;这样有利于当第一终端与区块链网络处于未连接状态时,可从本地读取需要的电子证件,有利于业务被正常执行。例如,如果第一终端与区块链网络处于未连接状态时,第一终端接收到第二终端针对目标业务的处理请求,该处理请求指示处理该目标业务需要第二终端的终端用户的电子证件。因此,第一终端可从本地缓存中读取包括终端用户的电子证件的区块,作为待选区块,获取该待选区块的区块信息。进一步,根据该区块信息确定终端用户的电子证件的更新时间,根据更新时间验证待选区块集合中的待选区块中的电子证件的有效性,如果该电子证件具有有效性,表明该待选区块中的电子证件未被篡改,或者,该待选区块中的电子证件为更新后的电子证件,可根据该待选区块中的电子证件对目标业务进行处理。如果该电子证件不具有有效性,表明该待选区块中的电子证件被篡改,或者,该待选区块中的电子证件不是更新后的电子证件,可重新获取具有该终端用户的电子证件的区块,并验证重新获取的区块中的电子证件的有效性,直到确定电子证件具有有效性时,根据重新获取的区块中的电子证件对目标业务进行处理。

例如,当民政部办事处对应的第一终端与区块链网络处于未连接状态时,持有第二终端的终端用户需要在该第二终端处进行婚姻登记业务办理,第一终端接收第二终端针对该婚姻登记业务的处理请求后,第一终端从第一终端的本地缓存中读取包括第二终端的终端用户的电子证件A的区块,作为待选区块,并获取该待选区块的区块信息;进一步,第一终端根据该区块信息确定终端用户的电子证件A的更新时间,根据该更新时间验证该待选区块中的电子证件A的有效性,如果电子证件A的更新时间在第一时间段内,则表明该电子证件A具有有效性,则根据该电子证件A对终端用户的婚姻登记业务进行处理。如果该电子证件A的更新时间不在第一时间段内,则表明该电子证件A不具有有效性,表明该电子证件A被篡改,或者,电子证件A不是更新后的电子证件。例如终端用户的名称为张一,但终端用户在公安部办事处将名称修改为张二,但该电子证件A上的名称仍为张一,则表明电子证件A不是更新后的电子证件,则第一终端重新获取具有该终端用户的电子证件的区块,即获取电子证件B,该电子证件B中的名称为张二,并验证重新获取的区块中的电子证件B的有效性,直到确定电子证件B具有有效性时,根据重新获取的区块中的电子证件B对终端用户的婚姻登记业务进行处理。

进一步地,请参见图2,图2是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图,如图所示,该方法包括:

S101,当第一终端与区块链网络之间处于未连接状态时,第一终端接收第二终端针对目标业务的处理请求。

这里,第一终端与区块链网络之间的未连接状态可以指:第一终端与区块链网络之间网络中断,或者,区块链网络中的节点设备出现故障;这时第一终端无法通过区块链网络获取数据等。第一终端可以为办事处所属机构对应的终端,例如民政部对应的终端、公安部对应的终端、银行对应的终端等。第二终端可以是指需要在办事处办理目标业务的终端用户所持有的终端,例如需要办理银行卡的终端用户持有的终端、需要办理婚姻登记的终端用户持有的终端、需要办理港澳通行证的终端用户持有的终端、需要办理护照的终端用户持有的终端等。目标业务即持有第二终端的终端用户需要办理的业务,例如婚姻登记业务、银行卡办理业务、护照办理业务等等。第一终端可以与第二终端进行连接,例如蓝牙连接、近场通信连接等连接方式进行连接。在第一终端与第二终端进行连接后,第二终端可以向第一终端发送针对目标业务的处理请求,第一终端则接受到第二终端发送的针对目标业务的处理请求。

可选的,在第一终端接收第二终端针对目标业务的处理请求之前,第一终端可以预先建立与区块链网络之间的连接,当第一终端与区块链网络之间处于连接状态时,第一终端每隔第二时间从区块链网络获取新增的区块;第一终端将新增的区块缓存在本地,该新增的区块可以是指区块链网络中新写入的区块;或者,该新增的区块可以是指区块链网络中新写入,且与第一终端所处理的业务相关的区块。

这里,第二时间可以为1小时、一天、一周、一个月,本申请实施例中不对第二时间进行限定。例如第二时间为1小时,当第一终端与区块链网络之间处于连接状态时,第一终端每隔1小时从区块链网络获取新增的区块,并将新增的区块缓存在本地。区块包括终端用户的电子证件,这里的终端用户可以指任意的终端用户。

可选的,在第一终端每隔第二时间从区块链网络获取新增的区块之前,区块链节点系统可以根据第三终端上传的终端用户的电子证件生成区块链中的各个区块。这里第三终端可以包括第一终端,第三终端的数量也可以为多个,例如,第三终端包括公安部办事处对应的终端和民政部办事处对应的终端,第三终端也可以包括宝安区民政部办事处终端、南山区民政部办事处终端、以及其他地区的民政部办事处的终端、宝安区公安部办事处终端、南山区公安部办事处终端、以及其他地区的公安部办事处的终端等。例如南山区公安部办事处对应的终端上传由南山区公安部办事处对应的终端验证后的终端用户的电子证件C,并上传至区块链网络中;当该终端用户的婚姻状态发生改变时,南山区民政部办事处对应的终端对该终端用户的身份状态进行了验证后,生成变更后的电子证件D,并将电子证件D上传至区块链网络。第一终端例如可以为福田区的公安部办事处,则第一终端从区块链网络中获取新增的区块,新增的区块包括电子证件D。在生成区块链中的各个区块时,参见图3,图3是本申请实施例提供的一种电子证件信息上链过程的示意图,区块链所在的节点在接收到输入信息(电子证件信息)时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:

SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET

其中SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。

这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链节点系统中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链节点系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。

在区块链节点系统根据第三终端上传的终端用户的电子证件生成区块链中的各个区块之后,第一终端可以将区块链节点系统中的区块缓存在本地,并每隔第二时间从区块链网络获取新增的区块,在后续第一终端对第二终端的终端用户的电子证件进行验证时,由于第一终端预先将区块链网络中的区块缓存在本地,第一终端可以直接使用,无需再联网获取区块,即使在没有网络的情况下,第一终端也可以通过获取本地缓存的区块进行业务处理,可以提高业务处理效率。

S102,第一终端从本地缓存中读取待选区块集合。

其中,待选区块集合中的待选区块均包括第二终端的终端用户的电子证件,待选区块集合中的待选区块由第一终端在与区块链网络之间处于连接状态时从区块链网络中读取的,待选区块集合包括一个或多个待选区块。

可以理解的是,当第一终端与区块链网络之间处于连接状态时,第一终端从区块链网络中读取与终端用户的用户信息匹配的至少一个待选区块,得到待选区块集合,并且每隔第二时间从区块链网络获取新增的区块,将新增的区块缓存在本地,即将新增的区块缓存在待选区块集合中。可知,待选区块集合中的每个待选区块均包含终端用户的电子证件,且每个待选区块中的电子证件为终端用户在不同时段内的电子证件。其中,目标业务的处理请求中可以包括用户信息,用户信息可以包括用户的名称、用户的人脸信息以及用户的指纹信息等。例如,用户信息为用户的人脸信息时,当终端用户人脸正对第一终端的人脸采集装置时,当第一终端获取到终端用户的人脸信息,即第一终端接收到第二终端针对目标业务的处理请求,则在本地缓存中查询与终端用户的人脸信息匹配的待选区块。

当第一终端查询到与终端用户匹配的多个待选区块,且每个待选区块包含终端用户的电子证件时,表明终端用户在不同时间段更新了电子证件,例如当终端用户未成年时办理了电子证件、当终端用户成年后更新了电子证件、当终端用户的姓名发生变更时更新了电子证件、当终端用户接受刑事处罚时更新了电子证件,即每个电子证件对应终端用户的一个状态,通过在本地缓存中查询与终端用户匹配的待选区块,可以避免获取到的终端用户的电子证件不全面,例如,可以避免终端用户只提供对自己有利的电子证件。

S103,第一终端获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性。

这里,电子证件的更新时间为电子证件的最近一次更新时间。例如,当前系统时间为2020年3月5日星期四,电子证件对应的更新时间有3个分别为2005年3月5日、2010年3月5日、2019年3月5日,则电子证件的更新时间为2019年3月5日,即离当前系统时间最近的一次更新时间。区块信息可以包括时间戳、区块高度、第三终端的签名等,时间戳可以是唯一地标识某一刻的时间的字符序列。区块高度可以用来识别该待选区块在区块链中的位置,并据此找到和这个该待选区块相关的所有基础属性和交易记录,区块高度越大,表明该区块中的电子证件为最近上传的,即区块中的电子证件为更新后的电子证件,即电子证件的准确性越高;区块高度越小,表明该区块中的电子证件不是最近上传的,即区块中的电子证件为更新前的电子证件,即电子证件的准确性越低。第三终端的签名用于指示该待选区块是通过第三终端验证,且验证后具有有效性。

可选的,验证电子证件的有效性可以是指:验证待选区块中的电子证件是否为更新后的电子证件,如果该电子证件为更新后的电子证件,确定该电子证件具有有效性;如果该电子证件不为更新后的电子证件,确定该电子证件不具有有效性。例如,可以根据该电子证件对应的待选区块的时间戳对应的时间和第一终端的系统时间之间的时间间隔确定待选区块中的电子证件的更新时间,从而确定该待选区块中的电子证件是否为更新后的电子证件。

可选的,验证电子证件的有效性可以是指:验证待选区块中的区块高度最大的待选区块,并将该区块高度最大的待选区块的时间戳对应的时间确定为所述终端用户的电子证件的更新时间。如果该待选区块的时间戳对应的时间位于第一时间段内,确定该待选区块中的电子证件为更新后的电子证件,则电子证件具有有效性;如果该待选区块的时间戳对应的时间不位于第一时间段内,确定该待选区块中的电子证件不为更新后的电子证件,则电子证件不具有有效性。

可选的,验证电子证件的有效性可以是指:验证待选区块的签名是否为第三终端的签名,如果该待选区块的签名为第三终端的签名,即该待选区块中的电子证件是由第三终端验证后的,即该电子证件是真实的,也即电子证件未被篡改,并将待选区块中区块高度最高的待选区块的时间戳对应的时间确定为终端用户的电子证件的更新时间,并根据该电子证件的更新时间与第一时间段进行比较从而确定电子证件的有效性。如果该待选区块的签名不为第三终端的签名,即该待选区块中的电子证件不是由第三终端验证后的,即该电子证件不是真实的,也即电子证件被篡改,则确定该待选区块中的电子证件不具有有效性。

本申请实施例中,可以通过以下几种方式中的任意一种、或者以下几种方式的结合完成根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据更新时间验证待选区块集合中的待选区块中的电子证件的有效性;

第一种方式,第一终端可以获取待选区块集合中的待选区块的时间戳对应的第一时间,以及获取第一终端的系统时间,作为第二时间;第一终端获取第一时间与第二时间之间的时间间隔;第一终端将待选区块集合中时间间隔最小的待选区块,确定为目标区块;第一终端将目标区块的时间戳对应的时间确定为终端用户的电子证件的更新时间。可选地,第一终端可以将与第二时间之间的时间间隔最小的第一时间对应的时间戳所对应的待选区块确定为目标区块。

例如,待选区块集合中待选区块A的时间戳对应的第一时间为2020年1月22日17:00,待选区块集合中待选区块B的时间戳对应的第一时间为2020年2月22日10:00,第一终端的系统时间为2020年2月22日17:00,待选区块A与第二时间之间的时间间隔为1个月,待选区块B与第二时间之间的时间间隔为7小时,可知,7小时小于1个月,则将待选区块B确定为目标区块,且待选区块B的时间戳对应的时间确定为终端用户的电子证件的更新时间。待选区块集合中待选区块A的时间戳对应的第一时间与第二时间之间的时间间隔大于待选区块集合中待选区块B的时间戳对应的第一时间与第二时间之间的时间间隔,则表示待选区块A不为更新后的状态,即待选区块A中的电子证件不为更新后的电子证件,例如待选区块A中的终端用户的电子证件的状态已发生改变,例如用户姓名、婚姻状况等发生了改变,但并未同步到区块链网络中。

第二种方式,第一终端从待选区块集合中获取区块高度最大的待选区块,作为目标区块;第一终端将目标区块的时间戳对应的时间确定为终端用户的电子证件的更新时间。

例如,待选区块集合中区块高度最大的待选区块为待选区块C,则目标区块为待选区块C,则第一终端将待选区块C的时间戳对应的时间确定为终端用户的电子证件的更新时间。

第三种方式,第一终端获取第三终端的公钥;第一终端采用第三终端的公钥对第三终端的签名进行验签;第一终端将待选区块集合中验签通过的待选区块确定为认证区块;第一终端将认证区块中区块高度最高的区块确定为目标区块;第一终端将目标区块的时间戳对应的时间确定为终端用户的电子证件的更新时间。

这里,认证区块的数量可以大于或等于一个,目标区块的数量为一个,且目标区块为至少一个认证区块中区块高度最大的区块。可以理解的是,认证区块为待选区块集合中验签通过的区块,即认证区块是由第三终端确认后的,再上传至区块链网络中的区块,且该认证区块中包括第三终端的签名。由此可知,目标区块也包括第三终端的签名。第三终端可以是指属于权威机构的终端,如属于公安部、民政部等机构的终端。

具体实现中,该电子证件携带第三终端的签名,在第一终端获取第三终端的公钥之前,第三终端可以对电子证件进行哈希运算,得到电子证件的哈希值,采用第三终端的私钥对电子证件的哈希值进行加密,得到携带第三终端的签名的电子证件,将携带第三终端的签名的电子证件、电子证件(即原文)广播给区块链节点系统中的各个节点设备,由各个节点设备将携带第三终端的签名的电子证件、电子证件(即原文)记录到区块链网络中的区块中。

第一终端获取到区块链网络包括第三终端的签名的电子证件、电子证件的区块,作为待选区块,第一终端可以获取第三终端的公钥,采用第三终端的公钥对电子证件进行哈希运算,得到第一哈希值;采用第三终端的公钥对第三终端的签名进行解签(即解密),得到第二哈希值。如果第一哈希值与第二哈希值相同,则确定该待选区块中的签名被验签通过,确定该待选区块中的电子证件未被篡改,且该电子证件由第三终端上传的,即该电子证件为权威机构验证过的;因此,将该待选区块作为目标区块;确定该目标区块具有有效性;如果第一哈希值与第二哈希值不相同,则确定该待选区块中的签名未被验签通过,确定该待选区块中的电子证件被篡改,且该电子证件不是由第三终端上传的;因此,确定该待选区块为无效区块。可选的,此多个待选区块中携带的签名均为验签通过,并将区块高度最高的待选区块作为目标区块。

可选的,通过上述三种方式中的任意一种、或者以下几种方式的结合完成根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间之后,若终端用户的电子证件的更新时间位于第一时间段内,则第一终端确定目标区块中的电子证件具有有效性。

这里,第一时间段为电子证件的有效年限,例如身份证的有效年限包括5年、10年、20年等,港澳通行证的有效年限包括5年、10年等,该有效年限由办理该电子证件之日起开始计算,若通过上述方式中确定的电子证件的更新时间位于第一时间段内,即电子证件还在有效年限内,则确定目标区块中的电子证件具有有效性,且待选区块链集合中除目标区块以外的待选区块中的电子证件不具有有效性;若电子证件的更新时间不位于第一时间段内,即电子证件不在有效年限内,即电子证件已失效,则确定目标区块中的电子证件不具有有效性,且待选区块链集合中除目标区块以外的待选区块中的电子证件也不具有有效性。

通过验证待选区块的时间戳对应的时间与第一终端的系统时间之间的时间间隔和待选区块的区块高度可以确定待选区块的状态是否为待选区块集合中更新后的状态,即确定待选区块中的电子证件是否为本地缓存中的最新的电子证件,通过验证待选区块的第三终端的签名可以确定待选区块是否由第三终端验证过,即可以确定待选区块的真实性。

S104,第一终端根据具有有效性的电子证件对目标业务进行处理。

这里,通过上述步骤可以验证待选区块中的电子证件是否具有有效性,若待选区块中的电子证件具有有效性,则第一终端对该目标业务进行处理,例如目标业务为婚姻登记,则第一终端对婚姻登记业务进行处理;若待选区块中的电子证件不具有有效性,则第一终端不再对该目标业务进行处理。

可选的,第一终端对目标业务进行处理后,还可以根据目标业务生成区块,并上传至区块链网络中,以及将该目标业务对应的区块保存至本地缓存中的待选区块集合中。例如,目标业务为婚姻登记,第一终端对婚姻登记业务进行处理后,根据待选区块中的电子证件和目标业务生成区块。例如,待选区块中的电子证件中终端用户的婚姻状态为未婚,则根据待选区块中的电子证件和目标业务生成的区块中终端用户的婚姻状态为已婚。

本申请实施例中,第一终端通过预先将区块链网络中的待选区块读取至本地的待选区块集合,该待选区块包括第二终端的终端用户的电子证件;因此,当第一终端与区块链网络之间处于未连接状态时,且接收到第二终端的业务处理请求时,可从本地读取到待选区块集合;这样可有效避免由于第一终端与区块链网络之间处于未连接状态,使第一终端不能读取到第二终端的终端用户的电子证件,导致目标业务不能被处理的问题;可确保目标业务被正常处理,提高业务处理效率。进一步,由于待选区块集合中不同待选区块记录了终端用户不同时间的电子证件,即待选区块集合的待选区块记录了终端用户的动态电子证件(即动态的用户信息)。因此,第一终端可通过获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性,可有效获取到终端用户更新后的电子证件,可确保电子证件的准确性。因此,在该电子证件具有有效性的情况下,第一终端根据具有有效性的电子证件对目标业务进行处理,即通过提高电子证件的准确性、真实性,可确保目标业务被准确、有效地执行。

可选的,第一终端可以对终端用户的电子证件进行变更,并将变更后的信息上传至区块链网络,具体地方法请参见图4,图4是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图,如图所示,该方法包括:

S201,当第一终端与区块链网络之间处于未连接状态时,第一终端接收第二终端针对目标业务的处理请求。

S202,第一终端从本地缓存中读取待选区块集合。

S203,第一终端获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据更新时间验证待选区块集合中的待选区块中的电子证件的有效性。

S204,第一终端根据具有有效性的电子证件对目标业务进行处理。

这里,步骤S201~S204的具体实现方式可参考图2对应的实施例中步骤S101~S104的描述,此处不再赘述。

S205,第一终端接收第二终端针对终端用户的电子证件的变更请求。

其中,变更请求包括变更后的电子证件。当持有第二终端的终端用户的电子证件中的状态发生改变时,第二终端可以发送针对终端用户的电子证件的变更请求,则第一终端接收第二终端针对终端用户的电子证件的变更请求。例如,当持有第二终端的终端用户的名称发生变更时,第二终端将变更后的名称发送至第一终端,则第一终端接收第二终端发送的变更后的名称。

S206,若第一终端验证变更后的电子证件具有有效性,则第一终端采用第一终端的私钥对变更后的电子证件进行签名,得到第一终端的签名。

这里,具体的验签过程可参考步骤S103中第一终端采用第三终端的公钥对第三终端的签名进行验签的过程,此处不再赘述。可选的,第一终端验证变更后的电子证件具有有效性可以指第一终端验证第二终端发送的变更后的电子证件是否有效,这里变更后的电子证件有效可以指变更后的电子证件是否符合相关规定。例如,变更前的电子证件中终端用户的姓名为两个字,但变更后的电子证件中终端用户的名称字数超过规定字数,则第一终端验证变更后的电子证件不具有有效性。或者,变更前的电子证件中终端用户的婚姻状态为已婚,变更后的电子证件中终端用户的增加了一个新配偶,由于不符合规定,因此第一终端验证变更后的电子证件不具有有效性。

若第一终端验证变更后的电子证件具有有效性,则表明变更后的电子证件符合相关规定,则第一终端采用第一终端的私钥对变更后的电子证件进行签名,得到第一终端的签名。第一终端采用第一终端的私钥对变更后的电子证件进行签名可以表明该变更后的电子证件是由第一终端所在的办事处确认符合相关规定。由于该变更后的电子证件具有第一终端的签名,因此当其他终端读取到该第一终端的签名时,可以表明该变更后的电子证件是真实合法的。

S207,第一终端将第一终端的签名以及变更后的电子证件上传至区块链网络。

这里,第一终端通过将第一终端的签名以及变更后的电子证件上传至区块链网络后,在后续的业务处理过程中,任意终端通过读取该第一终端的签名即可确定变更后的电子证件是真实合法的,且该电子证件是未被非法终端篡改过的。

本申请实施例中,第一终端通过使用第一终端的签名对变更后的电子证件进行验证,在验证通过的情况下,将变更后的电子证件上传至区块链网络中,所有连接到区块链网络的办事处终端都可以共享该变更后的电子证件,可以避免在终端用户的身份状态发生改变的情况下,由于办事处终端未获取到变更后的电子证件而导致业务处理错误等情况。

可选的,第一终端还可以将其他终端的区块添加至第一终端,具体地区块添加方法请参见图5,图5是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图,如图所示,该方法包括:

S301,第一终端获取第一子待选区块的第一区块高度和第二子待选区块的第二区块高度。

其中,第一终端与第一子终端、第二子终端之间均处于连接状态,第一子终端的本地缓存有第一子待选区块,第二子终端的本地缓存有第二子待选区块,第一子待选区块和第二子待选区块中均包括终端用户的电子证件。

这里,第一终端可以为办事处对应的终端,第一子终端可以为办事处的办事员对应的终端,第二子终端也可以为办事处的办事员对应的终端。例如第一终端可以为银行人工窗口处的终端,第一子终端可以为自动取款机或者银行自助业务办理机器,第二子终端可以为自动取款机或者银行自助业务办理机器。第一子终端可以为办事员外出处理业务时手持的终端,第二子终端可以为办事员外出处理业务时手持的终端。第一终端与第一子终端、第二子终端之间的连接状态可以包括有线连接或者短距离无线通信连接。有线连接可以包括数据线连接;短距离无线通信连接可以包括近场通信(Near Field Communication,NFC)连接、蓝牙连接、紫蜂(ZigBee)连接、无线局域网(Wireless Local Area Network,WLAN)连接、红外接口(Infrared Data Association,IrDA)连接、射频识别(RadioFrequency Identification,RFID)连接、超宽带(Ultra Wide Band,UWB)连接,等等。

具体实现中,在第一子终端、第二子终端分别于区块链网络处于连接状态时,第一子终端、第二子终端可以分别从区块链网络中缓存第一子待选区块和第二子待选区块。由于网络信号或者终端设备等因素影响,第一子待选区块和第二子待选区块可能存在差异。

S302,若第一区块高度大于第二区块高度,则第一终端从第一子终端中获取第一子待选区块,将第一子待选区块添加至待选区块集合中。

S303,若第一区块高度小于第二区块高度,则第一终端从第二子终端中获取第二子待选区块,将第二子待选区块添加至待选区块集合中。

这里,步骤S302~S303中,区块的区块高度可以用于指示待选区块的状态,区块高度越大表明与该区块对应的待选区块中的区块信息越新,即待选区块中的电子证件越新,即电子证件中的终端用户的状态更准确。

具体的,第一区块高度大于第二区块高度即第一子终端缓存的第一子待选区块中的区块信息比第二子终端缓存的第二子待选区块中的区块信息新。第一终端通过获取区块高度较大的终端对应的子待选区块并添加至待选区块集合中,可以使得第一终端的待选区块集合中的待选区块更准确,从而待选区块包括的终端用户的电子证件的状态更准确。可知,区块高度越大代表待选区块包括的第二终端的终端用户的电子证件信息越准确。

例如,终端用户的电子证件有三次变更,第一次变更为将未婚状态变更为离婚,第二次变更为将离婚变更为已婚,第三次变更为将已婚变为丧偶,且第一区块高度大于第二区块高度,则第一终端缓存的待选区块中终端用户的婚姻状态可能为离婚,第一子终端缓存的第一子待选区块中终端用户的电子证件中终端用户的婚姻状态可能为丧偶,而第二子终端缓存的第二子待选区块中终端用户的电子证件中终端用户的婚姻状态可能为已婚。

若第一区块高度小于第二区块高度,则第一子终端缓存的第一子待选区块中终端用户的电子证件中终端用户的婚姻状态可能为已婚,而第二子终端缓存的第二子待选区块中终端用户的电子证件中终端用户的婚姻状态可能为丧偶。则第一终端将区块高度较大的待选终端对应的子待选区块添加至待选区块集合中,即将该终端用户的婚姻状态“丧偶”添加至第一终端的待选区块集合中。

可选的,若第一终端的待选区块的区块高度大于第一区块高度和第二区块高度,可以将待选区块添加至第一子终端的本地缓存和第二子终端的本地缓存。或者,若第一区块高度大于第二区块高度,可以将第一子待选区块添加至第二子终端的本地缓存;若第一区块高度小于第二区块高度,可以将第二子待选区块添加至第一子终端的本地缓存。通过比较将第一终端、第一子终端、第二子终端中的区块的区块高度,可以将区块高度最高的终端中的区块添加至区块高度较低的终端,以实现终端之间的数据更新,从而提高后续业务处理的准确性。

S304,当第一终端与区块链网络之间处于未连接状态时,第一终端接收第二终端针对目标业务的处理请求。

S305,第一终端从本地缓存中读取待选区块集合。

S306,第一终端获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性。

S307,第一终端根据具有有效性的电子证件对目标业务进行处理。

这里,步骤S304~S307的具体实现方式可参考图2对应的实施例中步骤S101~S104的描述,此处不再赘述。

本申请实施例中,第一终端通过比较多个子终端的区块高度确定各个子终端的子待选区块的区块状态,将区块高度最高的子终端的子待选区块添加至第一终端的待选区块集合中,可以使得第一终端的待选区块中终端用户的电子证件状态为更新的状态,从而提升后续业务处理的准确性。

上面介绍了本申请实施例的方法,下面介绍本申请实施例的装置。

参见图6,图6是本申请实施例提供的一种基于区块链的数据验证装置的组成结构示意图,上述基于区块链的数据验证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据验证装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该装置60包括:

第一数据处理模块601,用于当第一终端与区块链网络之间处于未连接状态时,接收第二终端针对目标业务的处理请求;

数据读取模块602,用于从本地缓存中读取待选区块集合,上述待选区块集合中的待选区块均包括上述第二终端的终端用户的电子证件,上述待选区块集合中的待选区块由上述第一终端在与上述区块链网络之间处于连接状态时从上述区块链网络中读取的;

数据验证模块603,用于获取上述待选区块集合中的待选区块的区块信息,根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性;

第二数据处理模块604,用于根据具有有效性的电子证件对上述目标业务进行处理。

可选的,上述区块信息包括时间戳,上述数据验证模块603,具体用于:

获取上述待选区块集合中的待选区块的时间戳对应的第一时间,以及获取上述第一终端的系统时间,作为第二时间;

获取上述第一时间与上述第二时间之间的时间间隔;

将上述待选区块集合中时间间隔最小的待选区块,确定为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括区块高度,上述数据验证模块603,具体用于:

从上述待选区块集合中获取区块高度最大的待选区块,作为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述区块信息包括上述第三终端的签名,上述数据验证模块603,具体用于:

获取上述第三终端的公钥;

采用上述第三终端的公钥对上述第三终端的签名进行验签;

将上述待选区块集合中验签通过的待选区块确定为认证区块;将上述认证区块中区块高度最高的区块确定为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

可选的,上述数据验证模块603,具体用于:若上述更新时间位于第一时间段内,则确定上述目标区块中的电子证件具有有效性。

可选的,上述装置60还包括:

数据变更模块605,用于接收上述第二终端针对上述终端用户的电子证件的变更请求,上述变更请求包括变更后的电子证件;

上述数据变更模块605,用于若验证上述变更后的电子证件具有有效性,则采用上述第一终端的私钥对上述变更后的电子证件进行签名,得到上述第一终端的签名;

将上述第一终端的签名以及上述变更后的电子证件上传至上述区块链网络。

可选的,上述装置60还包括:

第一数据存储模块606,用于当上述第一终端与区块链网络之间处于连接状态时,每隔第二时间从上述区块链网络获取新增的区块;

上述第一数据存储模块606,用于将上述新增的区块缓存在本地。

可选的,上述第一终端与第一子终端、第二子终端之间均处于连接状态,上述第一子终端的本地缓存有第一子待选区块,上述第二子终端的本地缓存有第二子待选区块;上述第一子待选区块和上述第二子待选区块中均包括上述终端用户的电子证件,上述装置60还包括:

第二数据存储模块607,用于获取上述第一子待选区块的第一区块高度和上述第二子待选区块的第二区块高度;

上述第二数据存储模块607,用于若上述第一区块高度大于上述第二区块高度,则从上述第一子终端中获取上述第一子待选区块,将上述第一子待选区块添加至上述待选区块集合中;

上述第二数据存储模块607,用于若上述第一区块高度小于上述第二区块高度,则从上述第二子终端中获取上述第二子待选区块,将上述第二子待选区块添加至上述待选区块集合中。

需要说明的是,图6对应的实施例中未提及的内容可参见方法实施例的描述,这里不再赘述。

根据本申请的一个实施例,图2所示的基于区块链的数据验证方法所涉及的步骤可由图6所示的基于区块链的数据验证装置中的各个模块来执行。例如,图2中所示的步骤S101可由图6中的第一数据处理601来执行,图2中所示的步骤S102可由图6中的数据读取模块602来执行;图2中所示的步骤S103可由图6中的数据验证模块603来执行;图2中所示的步骤S104可由图6中的第二数据处理模块603来执行。根据本申请的一个实施例,图6所示的数据验证装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,基于区块链的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图2中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的基于区块链的数据验证装置,以及来实现本申请实施例的基于区块链的数据验证方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。

本申请实施例中,第一终端通过预先将区块链网络中的待选区块读取至本地的待选区块集合,该待选区块包括第二终端的终端用户的电子证件;因此,当第一终端与区块链网络之间处于未连接状态时,且接收到第二终端的业务处理请求时,可从本地读取到待选区块集合;这样可有效避免由于第一终端与区块链网络之间处于未连接状态,使第一终端不能读取到第二终端的终端用户的电子证件,导致目标业务不能被处理的问题;可确保目标业务被正常处理,提高业务处理效率。进一步,由于待选区块集合中不同待选区块记录了终端用户不同时间的电子证件,即待选区块集合的待选区块记录了终端用户的动态电子证件(即动态的用户信息)。因此,第一终端可通过获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性,可有效获取到终端用户更新后的电子证件,可确保电子证件的准确性。因此,在该电子证件具有有效性的情况下,第一终端根据具有有效性的电子证件对目标业务进行处理,即通过提高电子证件的准确性、真实性,可确保目标业务被准确、有效地执行。

参见图7,图7是本申请实施例提供的一种计算机设备的组成结构示意图。如图7所示,上述计算机设备70可以包括:处理器701,网络接口704和存储器705,此外,上述计算机设备70还可以包括:用户接口703,和至少一个通信总线702。其中,通信总线702用于实现这些组件之间的连接通信。其中,用户接口703可以包括显示屏(Display)、键盘(Keyboard),可选用户接口703还可以包括标准的有线接口、无线接口。网络接口704可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器705可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器705可选的还可以是至少一个位于远离前述处理器701的存储装置。如图7所示,作为一种计算机可读存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图7所示的计算机设70中,网络接口704可提供网络通讯功能;而用户接口703主要用于为用户提供输入的接口;而处理器701可以用于调用存储器705中存储的设备控制应用程序,以实现:

当第一终端与区块链网络之间处于未连接状态时,接收第二终端针对目标业务的处理请求;

从本地缓存中读取待选区块集合,上述待选区块集合中的待选区块均包括上述第二终端的终端用户的电子证件,上述待选区块集合中的待选区块由上述第一终端在与上述区块链网络之间处于连接状态时从上述区块链网络中读取的;

获取上述待选区块集合中的待选区块的区块信息,根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性;

根据具有有效性的电子证件对上述目标业务进行处理。

在一个实施例中,上述区块信息包括时间戳,该处理器701执行该根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:

获取上述待选区块集合中的待选区块的时间戳对应的第一时间,以及获取上述第一终端的系统时间,作为第二时间;

获取上述第一时间与上述第二时间之间的时间间隔;

将上述待选区块集合中时间间隔最小的待选区块,确定为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

在一个实施例中,上述区块信息包括区块高度;该处理器701执行该根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:

从上述待选区块集合中获取区块高度最大的待选区块,作为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

在一个实施例中,该区块信息包括上述第三终端的签名,该处理器701执行该根据上述待选区块集合中的待选区块的区块信息确定上述终端用户的电子证件的更新时间,包括:

获取上述第三终端的公钥;

采用上述第三终端的公钥对上述第三终端的签名进行验签;

将上述待选区块集合中验签通过的待选区块确定为认证区块;

将上述认证区块中区块高度最高的区块确定为目标区块;

将上述目标区块的时间戳对应的时间确定为上述终端用户的电子证件的更新时间。

在一个实施例中,该区块信息包括上述第三终端的签名,该处理器701执行该根据上述更新时间验证上述待选区块集合中的待选区块中的电子证件的有效性,包括:

若上述更新时间位于第一时间段内,则上述第一终端确定上述目标区块中的电子证件具有有效性。

在一个实施例中,该处理器701可以调用该程序代码以执行以下操作:

接收上述第二终端针对上述终端用户的电子证件的变更请求,上述变更请求包括变更后的电子证件;

若验证上述变更后的电子证件具有有效性,则采用上述第一终端的私钥对上述变更后的电子证件进行签名,得到上述第一终端的签名;

将上述第一终端的签名以及上述变更后的电子证件上传至上述区块链网络。

在一个实施例中,该处理器701可以调用该程序代码以执行以下操作:

当上述第一终端与区块链网络之间处于连接状态时,每隔第二时间从上述区块链网络获取新增的区块;

将上述新增的区块缓存在本地。

在一个实施例中,上述第一终端与第一子终端、第二子终端之间均处于连接状态,上述第一子终端的本地缓存有第一子待选区块,上述第二子终端的本地缓存有第二子待选区块,上述第一子待选区块和上述第二子待选区块中均包括上述终端用户的电子证件,该处理器701可以调用该程序代码以执行以下操作:

获取上述第一子待选区块的第一区块高度和上述第二子待选区块的第二区块高度;

若上述第一区块高度大于上述第二区块高度,则从上述第一子终端中获取上述第一子待选区块,将上述第一子待选区块添加至上述待选区块集合中;

若上述第一区块高度小于上述第二区块高度,则从上述第二子终端中获取上述第二子待选区块,将上述第二子待选区块添加至上述待选区块集合中。

应当理解,本申请实施例中所描述的计算机设备70可执行前文图2、图4以及图5所对应实施例中对上述基于区块链的数据验证方法的描述,也可执行前文图6所对应实施例中对上述基于主区块链的数据验证装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

本申请实施例中,第一终端通过预先将区块链网络中的待选区块读取至本地的待选区块集合,该待选区块包括第二终端的终端用户的电子证件;因此,当第一终端与区块链网络之间处于未连接状态时,且接收到第二终端的业务处理请求时,可从本地读取到待选区块集合;这样可有效避免由于第一终端与区块链网络之间处于未连接状态,使第一终端不能读取到第二终端的终端用户的电子证件,导致目标业务不能被处理的问题;可确保目标业务被正常处理,提高业务处理效率。进一步,由于待选区块集合中不同待选区块记录了终端用户不同时间的电子证件,即待选区块集合的待选区块记录了终端用户的动态电子证件(即动态的用户信息)。因此,第一终端可通过获取待选区块集合中的待选区块的区块信息,根据待选区块集合中的待选区块的区块信息确定终端用户的电子证件的更新时间,根据该更新时间验证待选区块集合中的待选区块中的电子证件的有效性,可有效获取到终端用户更新后的电子证件,可确保电子证件的准确性。因此,在该电子证件具有有效性的情况下,第一终端根据具有有效性的电子证件对目标业务进行处理,即通过提高电子证件的准确性、真实性,可确保目标业务被准确、有效地执行。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被计算机执行时使该计算机执行如前述实施例该的方法,该计算机可以为上述提到的计算机设备的一部分。例如为上述的处理器701。作为示例,程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请中,“A和/或B”是指下述情况之一:A,B,A和B。“……中至少一个”是指所列出的各项或者任意数量的所列出的各项的任意组合方式,例如,“A、B和C中至少一个”是指下述情况之一:A,B,C,A和B,B和C,A和C,A、B和C这七种情况中的任一种。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种区块链系统用户身份匿名方法、追踪方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!