CN110690974B - 基于区块链的数据验证方法、装置、设备及可读存储介质 - Google Patents
基于区块链的数据验证方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110690974B CN110690974B CN201911254347.8A CN201911254347A CN110690974B CN 110690974 B CN110690974 B CN 110690974B CN 201911254347 A CN201911254347 A CN 201911254347A CN 110690974 B CN110690974 B CN 110690974B
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- parameter
- side chain
- hash value
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据验证方法、装置、设备以及可读存储介质,方法包括:主链节点获取侧链节点在第一时刻所发送的数据上链请求;数据上链请求包括侧链区块在第一时刻下的第一区块参数;侧链区块是指侧链节点所属的侧区块链中已上链的区块;主链节点根据第一区块参数生成主链区块,将主链区块添加至主链节点所属的主区块链中;当获取到侧链节点在第二时刻所发送的区块验证请求时,主链节点获取区块验证请求所携带的第二区块参数;第二区块参数是指侧链区块在第二时刻下的区块参数;第二时刻大于第一时刻;根据主链区块和第二区块参数对侧链区块进行区块异常验证。采用本申请,可以保证扩容区块链中的数据的可靠性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据验证方法、装置、设备以及可读存储介质。
背景技术
随着网络技术的快速发展以及企业对数据安全的重视,区块链得到了极大的重视和应用。区块链作为一种计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法产生相关联的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块,以此生成一条不可篡改的数据链条。
现有技术中,对于一个有公信力的区块链而言,其储存空间是有限的,当区块数量不断增加时,可能会导致该有公信力的区块链所对应的可用存储空间不够,这时就需要进行扩容,如扩容得到扩容区块链;为了保证扩容的效率,通常会采用私有链作为扩容区块链,但私有链的公信力较弱,私有链中的数据容易被篡改,导致扩容区块链中的数据的可靠性无法得到保障。
发明内容
本申请实施例提供一种基于区块链的数据验证方法、装置、设备以及可读存储介质,可以保证扩容后的侧区块链中的数据的可靠性。
本申请实施例一方面提供一种基于区块链的数据验证方法,包括:
主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块;
根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;
当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻;
根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
本申请实施例一方面提供了一种基于区块链的数据验证方法,包括:
侧链节点获取业务服务器发送的交易数据,基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中;
上述侧链节点在第一时刻发送数据上链请求至主链节点,以使上述主链节点根据第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;上述数据上链请求包括上述侧链区块在上述第一时刻下的上述第一区块参数;
上述侧链节点在上述侧区块链中获取上述侧链区块在第二时刻下的第二区块参数,基于上述第二区块参数从上述主区块链中获取上述主链区块;上述第二时刻大于上述第一时刻;
根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
本申请实施例一方面提供一种基于区块链的数据验证装置,包括:
获取请求模块,用于主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块;
生成添加模块,用于根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;
获取参数模块,用于当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻;
验证模块,用于根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
其中,上述第一区块参数包括第一区块高度以及上述第一区块高度对应的第一区块头哈希值;上述第二区块参数包括第二区块高度以及上述第二区块高度对应的第二区块头哈希值;
上述验证模块,包括:
获取区块单元,用于根据上述第二区块高度,获取上述主区块链中的上述主链区块;
获取参数单元,用于获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
验证单元,用于根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
其中,上述验证单元,包括:
确定区块子单元,用于若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
上述确定区块子单元,还用于若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
其中,上述验证单元,还包括:
返回信息子单元,用于当上述侧链区块为正常区块时,返回验证正常信息至上述侧链节点,以使上述侧链节点继续执行正常上链操作;
上述返回信息子单元,还用于当上述侧链区块为异常区块时,返回验证异常信息至上述侧链节点,以使上述侧链节点停止正常上链操作且执行异常检测操作。
其中,上述第一区块参数包括上述第一区块高度和上述第一区块高度对应的第一区块头;
上述生成添加模块,包括:
获取目标单元,用于基于上述第一区块高度,获取上述主区块链中的目标主链区块;上述目标主链区块的区块体包含历史区块参数,上述历史区块参数为上述侧链区块的前继侧链区块对应的区块参数;
确定合法单元,用于根据上述第一区块头和上述历史区块参数中的历史区块头,确定上述第一区块参数的合法性;
生成添加单元,用于若上述第一区块参数具备合法性,则根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中。
其中,上述确定合法单元,包括:
获取哈希值子单元,用于获取上述第一区块头中的父区块哈希值,获取上述历史区块头对应的区块头哈希值;
确定合法子单元,用于若上述父区块哈希值与上述历史区块头对应的区块头哈希值相同,则确定上述第一区块参数具备合法性;
上述确定合法子单元,还用于若上述父区块哈希值与上述历史区块头对应的区块头哈希值不相同,则确定上述第一区块参数不具备合法性。
其中,上述确定合法单元,还包括:
返回失败子单元,用于若上述第一区块参数不具备合法性,上述主链节点则返回上链失败信息至上述侧链节点,以使上述侧链节点停止正常上链操作且执行合法检测操作。
本申请实施例一方面提供了一种基于区块链的数据验证装置,包括:
生成添加模块,用于侧链节点获取业务服务器发送的交易数据,基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中;
发送请求模块,用于上述侧链节点在第一时刻发送数据上链请求至主链节点,以使上述主链节点根据第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;上述数据上链请求包括上述侧链区块在上述第一时刻下的上述第一区块参数;
获取模块,用于上述侧链节点在上述侧区块链中获取上述侧链区块在第二时刻下的第二区块参数,基于上述第二区块参数从上述主区块链中获取上述主链区块;上述第二时刻大于上述第一时刻;
验证模块,用于根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
其中,上述第一区块参数包括第一区块高度以及上述第一区块高度对应的第一区块头哈希值;上述第二区块参数包括第二区块高度以及上述第二区块高度对应的第二区块头哈希值;
上述验证模块,包括:
获取参数单元,用于根据上述第二区块高度,获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
验证单元,用于根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
其中,上述验证单元,包括:
确定子单元,用于若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
上述确定子单元,还用于若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
其中,上述验证单元,还包括:
上链子单元,用于当上述侧链区块为正常区块时,上述侧链节点继续执行正常上链操作;
检测子单元,用于当上述侧链区块为异常区块时,上述侧链节点停止正常上链操作且执行异常检测操作。
其中,上述生成添加模块,包括:
获取单元,用于从上述侧区块链中获取具有最大生成时间戳的区块作为父区块,将上述父区块的区块头哈希值作为父区块哈希值;
生成单元,用于基于上述父区块哈希值和上述交易数据,生成上述侧链区块;上述侧链区块中的生成时间戳用于更新上述侧区块链上的最大生成时间戳;
广播单元,用于将上述侧链区块广播至上述侧区块链上的所有共识节点;
添加单元,用于在确定上述侧区块链上的上述共识节点达成共识时,将上述侧链区块添加至上述侧区块链中。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,以执行如本申请实施例中的方法。
本申请实施例中的侧区块链中的侧链区块可以用于存储交易数据,然后在第一时刻通过侧链节点将侧链区块中的第一区块参数发送至主链节点,主链节点获取到第一区块参数后生成主链区块并使之上链;在第二时刻,侧链节点将上述侧链区块的第二区块参数(第二区块参数即为侧链区块在第二时刻下的区块参数)发送至主链节点,主链节点通过对比第二区块参数和主区块链中的第一区块参数,可以识别出上述侧链区块中的交易数据是否被篡改,因此采用本申请不但可以对主区块链进行扩容,也保证了扩容后的侧区块链所存储的交易数据的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种系统架构示意图;
图1b是本申请实施例提供的一种基于区块链的交互示意图;
图2是本申请实施例提供的一种基于区块链的数据验证的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图;
图4a是本申请实施例提供的一种基于区块链的数据上链的场景示意图;
图4b是本申请实施例提供的一种基于区块链的数据上链的场景示意图;
图5是本申请实施例提供的一种基于区块链的数据验证的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据上链的场景示意图;
图7是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图;
图8是本申请实施例提供的一种基于区块链的数据上链的场景示意图;
图9是本申请实施例提供的一种基于主区块链的数据验证装置的结构示意图;
图10是本申请实施例提供的一种基于侧区块链的数据验证装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1a,是本申请实施例提供的一种系统架构示意图。目前,随着网络技术的快速发展以及各大企业对交易数据安全的重视,区块链得到了极大的重视和应用;对于一个有公信力的区块链而言,其储存空间是有限的,所以当区块数量不断增加时,可能会导致该有公信力的区块链所对应的可用存储空间不够,这时就需要进行扩容,如扩容得到扩容区块链,为了保证扩容的效率,通常会采用私有链作为扩容区块链,在本申请中,将具有公信力的区块链称为主区块链,将扩容区块链称为侧区块链,即侧区块链的作用是为了扩容主区块链,如图1a所示,将区块链节点10所属的区块链称为主区块链,主区块链中的区块称为主链区块,生成主链区块的区块链节点10称为主链节点10;区块链节点集群20为扩容区块链的节点集群,区块链节点集群20可以包括侧链节点20a、侧链节点20b、…、侧链节点20c,将区块链节点集群20所属的区块链称为侧区块链,侧区块链中的区块称为侧链区块。
请参见图1a,业务服务器30(也包括业务服务器30a、业务服务器30b、…、业务服务器30c)将业务数据(即交易数据)发送至区块链节点集群20中的任一侧链节点(如侧链节点20a、侧链节点20b、…、或侧链节点20c)。以侧链节点20a为例,请一并参见图1b,是本申请实施例提供的一种基于区块链的交互示意图,如图1b所示,侧链节点20a接收到交易数据后,将上述交易数据生成侧链区块,并使侧链区块上链到侧区块链中;在T1时刻时,侧链节点20a发送数据上链请求至主链节点10,数据上链请求中包含第一区块参数,该第一区块参数为侧链区块在T1时刻下的区块参数,可以包括侧链区块的区块高度、T1时刻下的区块头以及T1时刻下的区块头哈希值,主链节点10获取到上述第一区块参数后,可以将上述第一区块参数作为交易数据的一部分来生成主链区块1008(即第一区块参数属于主链区块1008中区块体中的数据),并将上述主链区块1008上链到主链节点10所属的主区块链中;此后,侧链节点20a在T2时刻发送区块验证请求至主链节点10,区块验证请求包含第二区块参数,该第二区块参数可以包括上述侧链区块在T2时刻下的区块高度、T2时刻下的区块头以及T2时刻下的区块头哈希值,主链节点10获取到上述第二区块参数后,根据区块高度从主区块链中获取上述主链区块1008,继而获取上述主链区块1008的区块体中的上述第一区块参数,根据上述第一区块参数以及上述第二区块参数进行比较来确定区块验证结果,即确定在T1时刻下的侧链区块与在T2时刻下的侧链区块是否等同,继而验证出上述侧链区块是否在上链之后被篡改。通过上述可知,侧链节点20a存储业务服务器30发送的具体交易数据,主链节点10存储侧区块链中的区块参数(包括区块高度、区块高度对应的区块头以及区块高度对应的区块头哈希值),缓解了主链节点10以及主区块链的存储压力,并通过后续的验证也保证了侧区块链中交易数据的可靠性。
再请参见图1a,业务服务器30储存的交易数据可以相互交换,即业务服务器30a中的交易数据可以发送至业务服务器30b或业务服务器30c,同理业务服务器30b中的交易数据可以发送至业务服务器30a或业务服务器30c。
如图1a所示,业务服务器30a中的交易数据可以发送给侧链节点20a,也可以发送给侧链节点20b或侧链节点20c;业务服务器30b中的交易数据可以发送给侧链节点20a,也可以发送给侧链节点20b或侧链节点20c;同样,业务服务器30c中的交易数据可以发送给侧链节点20a,也可以发送给侧链节点20b或侧链节点20c;当业务服务器30a中的交易数据发送给侧链节点20a时,侧链节点20a先对交易数据进行校验,完成校验后,将交易数据存储至内存池中,并更新其用于记录交易数据的哈希树;之后,将更新时间戳更新为接收到交易数据的时间,利用哈希算法或其他密码算法对交易数据进行特征值计算,得到特征值(即哈希值)后将交易数据和对应的哈希值存储,生成区块头和区块主体,得到新生成的侧链区块;随后,侧链节点20a根据侧区块链中其他节点的节点标识,将新生成的侧链区块分别发送给侧链节点20a所在的侧区块链中的其他共识节点,如侧链节点20b和侧链节点20c,由其他共识节点对新生成的侧链区块进行校验,并在完成校验后将新生成的侧链区块添加至侧链节点20a存储的侧区块链中。同理,当业务服务器30a中的交易数据发送给侧链节点20b或20c时,或当业务服务器30c中的交易数据发送给侧链节点20b或20c等诸如其它情景时也以上述方法将新生成的侧链区块添加至侧链节点所属的侧区块链中。
前文提及到的是主链节点10以及区块链节点集群20之间的交互,或者说是主链节点10所属的主区块链以及区块链节点集群20所属的侧区块链之间的交互,实际上当有多条侧区块链时,也可以采用上述方式(区块链节点集群20向主链节点10发送侧链区块的区块参数以及主链节点10将侧链区块的区块参数上链)相互上链各自维护的区块中的区块参数,如有5条侧区块链,则其中1条侧区块链A可以将自己链上的区块高度、区块高度对应的区块头以及区块高度对应的区块头哈希值分别上链到另外4条侧区块链上,另外4条侧区块链都可以验证所接收到的区块高度、区块高度对应的区块头以及区块高度对应的区块头哈希值是否有异常,当4条侧区块链都验证通过时,说明侧区块链A中所存储的区块是可靠的,以此类推,可以验证其他侧区块链中存储的区块是否可靠。
其中,业务服务器30、区块链节点集群20以及主链节点10可以为计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internetdevice)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。
进一步地,请参见图2,是本申请实施例提供的一种基于区块链的数据验证的场景示意图。如图2所示,侧链节点20获取业务服务器30不同时间段发送的待上链交易数据,根据不同时间段的待上链交易数据可以分别生成对应的侧链区块(如侧区块链200中的侧链区块2007、侧链区块2008);在第一时刻T1时,侧链节点20将侧链区块2008的第一区块参数发送至主链节点10,上述的第一区块参数为侧链区块2008在第一时刻T1下的区块参数,该第一区块参数可以包括侧链区块2008的区块高度2008、T1时刻下的区块头以及T1时刻下的区块头哈希值;主链节点10获取到侧链节点发送的数据上链请求后,根据上述第一区块参数生成主链区块1008,并将主链区块1008添加到主区块链100中;在第二时刻T2时(T2>T1),侧链节点20将侧链区块2008的第二区块参数发送至主链节点10,上述的第二区块参数为侧链区块2008在第二时刻T2下的区块参数,该第二区块参数可以包括侧链区块2008的区块高度2008以及T2时刻下的区块头哈希值,主链节点在获取到区块验证请求后,根据侧链区块2008的区块高度2008可以从主区块链100中获取主链区块1008,然后根据主链区块1008的区块体中的交易数据(即第一区块参数)获取到T1时刻下的区块头哈希值,主链节点10通过验证T1时刻下的区块头哈希值以及第二区块参数中的T2时刻下的区块头哈希值,即可验证侧链区块2008在T1-T2时间段是否被篡改,若T1时刻下的区块头哈希值与T2时刻下的区块头哈希值相同,则确定侧链区块2008在T1-T2时间段没有被篡改,若T1时刻下的区块头哈希值与T2时刻下的区块头哈希值不相同,则确定侧链区块2008在T1-T2时间段被篡改了,在这种情况下,主链节点10需要返回验证异常信息至侧链节点20,提示侧链区块2008在T1-T2时间段被篡改,需要执行异常检测操作。
验证侧区块链200中的侧链区块2008是否在上链之后被篡改,除了向主链节点10发送区块验证请求外,侧链节点20还可以根据区块高度2008主动向主链节点10获取主区块链100中的第一区块参数,然后侧链节点20自己验证侧链区块2008是否在T1-T2时间段被篡改。
进一步地,请参见图3,是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图。如图3所示,上述方法可以包括:
步骤S101,主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块。
具体的,请一并参见图4a,是本申请实施例提供的一种基于区块链的数据上链的场景示意图。如图4a所示,当侧链节点20在TI时刻(即第一时刻)将新生成的侧链区块2008添加至侧区块链时,同时发送数据上链请求至主链节点10,主链节点10接收到数据上链请求后,获取数据上链请求中的第一区块参数,上述第一区块参数包括区块高度2008以及TI时刻下的侧链区块2008对应的区块头哈希值,可选的,上述第一区块参数还可以包括TI时刻下的侧链区块2008对应的区块头,为了便于理解和叙述,将TI时刻下的侧链区块2008对应的区块头称为第一区块头,TI时刻下的侧链区块2008对应的区块头哈希值称为第一区块头哈希值;第一区块头包括2007H、2008I、2008T,2007H代表侧链区块2008的前继区块(即区块2007)的区块头哈希值,2008I代表侧链区块2008的交易数据所对应的哈希值,如由侧链区块2008的区块体中数据1a至数据na的哈希值所构成的默克尔树根,2008T代表侧链区块2008的生成时间戳,用于更新侧区块链上的最大生成时间戳。以上述方式将刚刚新生成的侧链区块2008的第一区块参数发送至主链节点10,确保了主链节点10获取的第一区块参数的可靠性,避免了上链至主区块链的数据就是被篡改的数据的可能性。
还可以参考以下方式将侧区块链中的数据上链至主区块链中,请一并参见图4b,是本申请实施例提供的一种基于区块链的数据上链的场景示意图。如图4b所示,在侧区块链上以3个侧链区块为单位发送第一区块参数至主链节点10,则TI时刻发送的第一区块参数包括区块高度2007、T1时刻下的侧链区块2007对应的区块头、T1时刻下的侧链区块2007对应的区块头哈希值,区块高度2008、T1时刻下的侧链区块2008对应的区块头、T1时刻下的侧链区块2008对应的区块头哈希值,区块高度2009、T1时刻下的侧链区块2009对应的区块头以及T1时刻下的侧链区块2009对应的区块头哈希值。
步骤S102,根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中。
具体的,由步骤S101可知主链节点10获取侧链节点20发送的数据上链请求,主链节点根据上述数据上链请求中携带的第一区块参数生成主链区块1008,如图4a所示,主链区块1008的区块体中的数据2b存储有上述第一区块参数。上述图4b中的第一区块参数上链过程如上所述,此处不再赘述。
步骤S103,当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻。
具体的,请一并参见图5,是本申请实施例提供的一种基于区块链的数据验证的场景示意图。如图5所示,T2时刻(第二时刻),侧链节点20将侧链区块2008在T2时刻下的第二区块参数发送至主链节点10,第二区块参数可以包括侧链区块2008在T2时刻下的第二区块高度(与第一区块高度相同)以及在T2时刻下的第二区块高度对应的第二区块头哈希值。
步骤S104,根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
具体的,上述第二区块参数包括第二区块高度以及上述第二区块高度对应的第二区块头哈希值;根据上述第二区块高度,获取上述主区块链中的上述主链区块;获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块;当上述侧链区块为正常区块时,返回验证正常信息至上述侧链节点,以使上述侧链节点继续执行正常上链操作;当上述侧链区块为异常区块时,返回验证异常信息至上述侧链节点,以使上述侧链节点停止正常上链操作且执行异常检测操作。
请一并参见图5,在T2时刻,主链节点10获取到侧链节点20发送的区块验证请求,区块验证请求中包含有侧链区块2008在T2时刻下的第二区块参数,上述第二区块参数包括区块高度2008以及在T2时刻的区块高度2008所对应的区块头哈希值(即第二区块头哈希值);主链节点10根据区块高度2008在主区块链中获取主链区块1008,如图5所示,主链区块1008的区块体的数据2b为第一区块参数,获取第一区块参数中的第一区块头哈希值;根据第一区块头哈希值与第二区块参数中的第二区块头哈希值,主链节点10可以验证侧链区块2008是否在T1-T2时间段被篡改;若第一区块头哈希值等于第二区块头哈希值,则确定上述侧链区块2008为正常区块,即侧链区块2008在T1-T2时间段没有被篡改交易数据;若第一区块头哈希值不等于第二区块头哈希值,则确定上述侧链区块2008为异常区块,即侧链区块2008在T1-T2时间段被篡改了交易数据;当上述侧链区块2008为正常区块时,返回验证正常信息至上述侧链节点20,以使上述侧链节点20继续执行正常上链操作;当上述侧链区块2008为异常区块时,返回验证异常信息至上述侧链节点20,以使上述侧链节点20停止正常上链操作且执行异常检测操作。
本申请实施例通过主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块;根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻;根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。上述可知,侧区块链中的侧链区块存储交易数据,然后在第一时刻通过侧链节点将侧链区块中的第一区块参数发送至主链节点,主链节点获取到第一区块参数后生成主链区块并使之上链;在第二时刻,侧链节点将上述侧链区块的第二区块参数发送至主链节点,主链节点通过对比第二区块参数和主区块链中的第一区块参数,可以确定上述侧链区块中的交易数据是否被篡改,因此采用本申请不但可以对主区块链进行扩容,也保证了扩容后的侧区块链所存储的交易数据的可靠性。
可选的,主链节点10在获取到侧链节点发送的数据上链请求后,还可以先对数据上链请求中的第一区块参数进行合法性确认,具体如下:
上述第一区块参数包括上述第一区块高度、上述第一区块高度对应的第一区块头以及上述第一区块高度对应的第一区块头哈希值;基于上述第一区块高度,获取上述主区块链中的目标主链区块;上述目标主链区块的区块体包含历史区块参数,上述历史区块参数为上述侧链区块的前继侧链区块对应的区块参数,上述侧链区块的前继侧链区块可以为历史区块,上述历史区块参数包括历史区块头对应的区块头哈希值;获取上述第一区块头中的父区块哈希值,获取上述历史区块头对应的区块头哈希值;若上述父区块哈希值与上述历史区块头对应的区块头哈希值相同,则确定上述第一区块参数具备合法性;若上述父区块哈希值与上述历史区块头对应的区块头哈希值不相同,则确定上述第一区块参数不具备合法性;若上述第一区块参数不具备合法性,上述主链节点则返回上链失败信息至上述侧链节点,以使上述侧链节点停止上述正常上链操作且执行合法检测操作;若上述第一区块参数具备合法性,则根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中。
请一并参见图6,是本申请实施例提供的一种基于区块链的数据上链的场景示意图。如图6所示,在T1时刻,主链节点10获取到侧链节点20发送的数据上链请求,在将侧链区块2008的第一区块参数上链之前,需要确定第一区块参数具备合法性,上述第一区块参数包括区块高度2008、T1时刻区块高度2008所对应的区块头(第一区块头)以及T1时刻区块高度2008所对应的区块头哈希值(第一区块头哈希值);第一区块头包括2007H、2008I、2008T,2007H代表侧链区块2008的前继区块(即侧链区块2007)的区块头哈希值,2008I代表侧链区块2008的交易数据所对应的哈希值;主链节点10首先根据第一区块参数中的区块高度2008获取目标主链区块,假设主链区块1007为目标主链区块,则如图6所示,主链区块1007的区块体中包含有历史区块参数(如图6中的数据ne),上述历史区块参数包括侧链区块2007(侧链区块2007为侧链区块2008的前继区块)在上链时刻下(这里的上链时刻是指侧链区块2007的上链时间,在侧链区块2008上链时间T1之前)的第一区块高度2007、在上链时刻下的第一区块高度2007对应的第一区块头以及在上链时刻下的第一区块高度2007对应的第一区块头哈希值;根据历史区块参数中的第一区块高度2007对应的第一区块头哈希值和区块高度2008对应的第一区块头中2007H,主链节点10可以验证第一区块参数是否具备合法性,若第一区块高度2007对应的第一区块头哈希值和2007H等同,主链节点10确定第一区块参数具备合法性,若第一区块高度2007对应的第一区块头哈希值和2007H不等同,主链节点10确定第一区块参数不具备合法性;当上述第一区块参数不具备合法性时,即验证出侧链区块2007的交易数据已被篡改,主链节点10返回第一区块参数上链失败信息以及侧链区块2007的交易数据被篡改信息至侧链节点20,以使侧链节点20停止正常上链操作,并且执行合法检测操作,即对侧链区块2007进行检测,方法可以包括对侧区块链上的其他共识节点发起验证侧链区块2007的请求;若上述第一区块参数具备合法性,即验证出侧链区块2007的交易数据没被篡改,则根据上述第一区块参数生成主链区块1008,如图6所示,主链区块1008的区块体数据2b即为第一区块参数。
若侧链节点20发送数据上链请求至主链节点10的方式为图4b所示,主链节点10在接收第一区块参数后,仍依照上述过程对第一区块参数验证合法性,首先确定第一区块参数中最小的区块高度,在图4b中,第一区块参数包括区块高度2007、T1时刻区块高度2007对应的第一区块头、T1时刻区块高度2007对应的第一区块头哈希值,区块高度2008、T1时刻区块高度2008对应的第一区块头、T1时刻区块高度2008对应的第一区块头哈希值,区块高度2009、T1时刻区块高度2009对应的第一区块头以及T1时刻区块高度2009对应的第一区块头哈希值,则根据区块高度2007确定主区块链中的目标主链区块(包含侧链区块2007的前继区块,即侧链区块2006),获取上述目标主链区块的区块体中的历史区块参数,继而获取到历史区块头对应的区块头哈希值;然后根据上述T1时刻区块高度2007对应的第一区块头中的父区块哈希值与上述历史区块头对应的区块头哈希值验证第一区块参数是否具备合法性,后续过程与图4a的上述过程类似,此处不再一一赘述。
在上链之前进行第一区块参数验证是为了保证上链的第一区块参数是合法的,证明在T1时刻下,侧区块链中的交易数据没有被篡改。
进一步地,请参见图7,是本申请实施例提供的一种基于区块链的数据验证方法的流程示意图。如图7所示,上述方法可以包括以下步骤:
步骤S201,侧链节点获取业务服务器发送的交易数据,基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中。
具体的,从上述侧区块链中获取具有最大生成时间戳的区块作为父区块,将上述父区块的区块头哈希值作为父区块哈希值;基于上述父区块哈希值和上述交易数据,生成上述侧链区块;上述侧链区块中的生成时间戳用于更新上述侧区块链上的最大生成时间戳;将上述侧链区块广播至上述侧区块链上的所有共识节点;在确定上述侧区块链上的上述所有共识节点达成共识时,将上述侧链区块添加至上述侧区块链中。
请一并参见图8,是本申请实施例提供的另一种基于区块链的数据上链的场景示意图。如图8所示,侧链节点20获取业务服务器30发送的待上链交易数据,其中,待上链交易数据包括待上链交易数据1、待上链交易数据2、…、待上链交易数据n,假设侧区块链200中的每个侧链区块(也包括侧链区块2007、侧链区块2008)所存储的交易数据数量为100,则待上链交易数据1至待上链交易数据100存储在侧链区块2001中,以此类推,待上链交易数据701至待上链交易数据800存储在侧链区块2008中,待上链交易数据801至待上链交易数据900存储在侧链区块2009中;以侧链区块2008的生成过程为例,叙述侧链区块生成的详细过程,侧链节点20获取到业务服务器30发送的待上链交易数据701,首先验证待上链交易数据701,验证通过后将待上链交易数据701存储至内存池 并更新哈希树,根据获取到待上链交易数据701的时间戳更新哈希树的时间戳,然后利用哈希算法计算待上链交易数据701的哈希值;侧链节点20获取到业务服务器30发送的待上链交易数据702,通过上述过程得到待上链交易数据702的哈希值,直至计算得到待上链交易数据800的哈希值,然后将待上链交易数据701 至待上链交易数据800存储至侧链区块2008的区块体中,并根据上述待上链交易数据701的哈希值、…、上述待上链交易数据800的哈希值生成侧链区块2008对应的哈希值,侧链节点20根据侧链区块2007的区块头哈希值、侧链区块2008对应的哈希值以及待上链交易数据701至待上链交易数据800生成待上链的侧链区块2008,将待上链的侧链区块2008对外广播至侧区块链中的其他侧链节点,由其他侧链节点对待上链的侧链区块2008进行校验,并在完成校验后将待上链的侧链区块2008添加至侧链节点20存储的侧区块链200中。同理,主链节点获取到待上链的交易数据时,也是通过上述过程将新生成的主链区块添加至主区块链中。
步骤S202,上述侧链节点在第一时刻发送数据上链请求至主链节点,以使上述主链节点根据第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;上述数据上链请求包括上述侧链区块在上述第一时刻下的上述第一区块参数。
步骤S202的具体实行方法可以参见上述图3所对应的实施例中步骤S101的描述。
步骤S203,上述侧链节点在上述侧区块链中获取上述侧链区块在第二时刻下的第二区块参数,基于上述第二区块参数从上述主区块链中获取上述主链区块;上述第二时刻大于上述第一时刻。
具体的,上述图3所对应的实施例中步骤S103的描述是侧链节点将侧链区块在第二时刻下的第二区块参数发送至主链节点,以此让主链节点对侧链区块进行验证;在此步骤中,侧链节点主动通过主链节点获取主区块链中的主链区块,以此对侧链区块进行验证;在第二时刻,获取侧链区块的第二区块参数,第二区块参数包括侧链区块在第二时刻下的第二区块高度(与第一区块高度相同)以及第二区块高度对应的第二区块头哈希值,根据第二区块高度在主区块链中获取主链区块,上述主链区块为主链节点在第一时刻下根据侧链区块的第一区块参数生成的,上述第一区块参数包括第一区块高度以及第一区块高度对应的第一区块头哈希值。
步骤S204,根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
具体的,根据上述第二区块高度,获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。当上述侧链区块为正常区块时,上述侧链节点继续执行正常上链操作;当上述侧链区块为异常区块时,上述侧链节点停止正常上链操作且执行异常检测操作。
本申请实施例中的侧区块链中的侧链区块可以用于存储交易数据,然后在第一时刻通过侧链节点将侧链区块中的第一区块参数发送至主链节点,主链节点获取到第一区块参数后生成主链区块并使之上链;在第二时刻,侧链节点将上述侧链区块的第二区块参数(第二区块参数即为侧链区块在第二时刻下的区块参数)发送至主链节点,主链节点通过对比第二区块参数和主区块链中的第一区块参数,可以识别出上述侧链区块中的交易数据是否被篡改,因此采用本申请不但可以对主区块链进行扩容,也保证了扩容后的侧区块链所存储的交易数据的可靠性。
请参见图9,是本申请实施例提供的一种基于主区块链的数据验证装置的结构示意图。所述基于主区块链的数据验证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于主区块链的数据验证装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该数据验证装置1可以包括:获取请求模块11、生成添加模块12、获取参数模块13、验证模块14。
获取请求模块11,用于主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块;
生成添加模块12,用于根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;
获取参数模块13,用于当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻;
验证模块14,用于根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
其中,获取请求模块11、生成添加模块12、获取参数模块13、验证模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
再请参见图9,验证模块14可以包括:获取区块单元141、获取参数单元142、验证单元143。
获取区块单元141,用于根据上述第二区块高度,获取上述主区块链中的上述主链区块;
获取参数单元142,用于获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
验证单元143,用于根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
其中,获取区块单元141、获取参数单元142、验证单元143的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图9,验证单元143可以包括:确定区块子单元1431。
确定区块子单元1431,用于若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
上述确定区块子单元1431,还用于若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
其中,确定区块子单元1431的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图9,验证单元143还可以包括:返回信息子单元1432。
返回信息子单元1432,用于当上述侧链区块为正常区块时,返回验证正常信息至上述侧链节点,以使上述侧链节点继续执行正常上链操作。
上述返回信息子单元1432,还用于当上述侧链区块为异常区块时,返回验证异常信息至上述侧链节点,以使上述侧链节点停止正常上链操作且执行异常检测操作。
其中,返回信息子单元1432的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图9,生成添加模块12可以包括:获取目标单元121、确定合法单元122、生成添加单元123。
获取目标单元121,用于基于上述第一区块高度,获取上述主区块链中的目标主链区块;上述目标主链区块的区块体包含历史区块参数,上述历史区块参数为上述侧链区块的前继侧链区块对应的区块参数;
确定合法单元122,用于根据上述第一区块头和上述历史区块参数中的历史区块头,确定上述第一区块参数的合法性;
生成添加单元123,用于若上述第一区块参数具备合法性,则根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中。
其中,获取目标单元121、确定合法单元122、生成添加单元123的具体功能实现方式可以参见上述图6对应实施例,这里不再进行赘述。
再请参见图9,确定合法单122可以包括:获取哈希值子单元1221、确定合法子单元1222。
获取哈希值子单元1221,用于获取上述第一区块头中的父区块哈希值,获取上述历史区块头对应的区块头哈希值;
确定合法子单元1222,用于若上述父区块哈希值与上述历史区块头对应的区块头哈希值相同,则确定上述第一区块参数具备合法性;
上述确定合法子单元1222,还用于若上述父区块哈希值与上述历史区块头对应的区块头哈希值不相同,则确定上述第一区块参数不具备合法性。
其中,获取哈希值子单元1221、确定合法子单元1222的具体功能实现方式可以参见上述图6对应实施例,这里不再进行赘述。
再请参见图9,确定合法单122还可以包括:返回失败子单元1223。
返回失败子单元1223,用于若上述第一区块参数不具备合法性,上述主链节点则返回上链失败信息至上述侧链节点,以使上述侧链节点停止上述正常上链操作且执行合法检测操作。
其中,返回失败子单元1223的具体功能实现方式可以参见上述图6对应实施例,这里不再进行赘述。
请参见图10,是本申请实施例提供的一种基于侧区块链的数据验证装置的结构示意图。所述基于主区块链的数据验证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于主区块链的数据验证装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据验证装置2可以包括:生成添加模块21、发送请求模块22、获取模块23、验证模块24。
生成添加模块21,用于侧链节点获取业务服务器发送的交易数据,基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中;
发送请求模块22,用于上述侧链节点在第一时刻发送数据上链请求至主链节点,以使上述主链节点根据第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;上述数据上链请求包括上述侧链区块在上述第一时刻下的上述第一区块参数;
获取模块23,用于上述侧链节点在上述侧区块链中获取上述侧链区块在第二时刻下的第二区块参数,基于上述第二区块参数从上述主区块链中获取上述主链区块;上述第二时刻大于上述第一时刻;
验证模块24,用于根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
其中,生成添加模块21、发送请求模块22、获取模块23、验证模块24的具体功能实现方式可以参见上述图7对应实施例中的步骤S201-步骤S204,这里不再进行赘述。
再请参见图10,验证模块24可以包括:获取参数单元241、验证单元242。
获取参数单元241,用于根据上述第二区块高度,获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
验证单元242,用于根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
其中,获取参数单元241、验证单元242的具体功能实现方式可以参见上述图7对应实施例中的步骤S204,这里不再进行赘述。
再请参见图10,验证单元242可以包括:确定子单元2421。
确定子单元2421,用于若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
上述确定子单元2421,还用于若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
其中,确定子单元2421的具体功能实现方式可以参见上述图7对应实施例中的步骤S204,这里不再进行赘述。
再请参见图10,验证单元242还可以包括:上链子单元2422、检测子单元2423。
上链子单元2422,用于当上述侧链区块为正常区块时,上述侧链节点继续执行正常上链操作。
检测子单元2423,用于当上述侧链区块为异常区块时,上述侧链节点停止正常上链操作且执行异常检测操作。
其中,上链子单元2422、检测子单元2423的具体功能实现方式可以参见上述图7对应实施例中的步骤S204,这里不再进行赘述。
再请参见图10,生成添加模块21可以包括:获取单元211、生成单元212、广播单元213、添加单元214。
获取单元211,用于从上述侧区块链中获取具有最大生成时间戳的区块作为父区块,将上述父区块的区块头哈希值作为父区块哈希值;
生成单元212,用于基于上述父区块哈希值和上述交易数据,生成上述侧链区块;上述侧链区块中的生成时间戳用于更新上述侧区块链上的最大生成时间戳;
广播单元213,用于将上述侧链区块广播至上述侧区块链上的所有共识节点;
添加单元214,用于在确定上述侧区块链上的上述共识节点达成共识时,将上述侧链区块添加至上述侧区块链中。
其中,获取单元211、生成单元212、广播单元213、添加单元214的具体功能实现方式可以参见上述图7对应实施例中的步骤S201,这里不再进行赘述。
本申请实施例中的侧区块链中的侧链区块可以用于存储交易数据,然后在第一时刻通过侧链节点将侧链区块中的第一区块参数发送至主链节点,主链节点获取到第一区块参数后生成主链区块并使之上链;在第二时刻,侧链节点将上述侧链区块的第二区块参数(第二区块参数即为侧链区块在第二时刻下的区块参数)发送至主链节点,主链节点通过对比第二区块参数和主区块链中的第一区块参数,可以识别出上述侧链区块中的交易数据是否被篡改,因此采用本申请不但可以对主区块链进行扩容,也保证了扩容后的侧区块链所存储的交易数据的可靠性。
请参见图11,是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
主链节点获取侧链节点在第一时刻所发送的数据上链请求;上述数据上链请求包括侧链区块在上述第一时刻下的第一区块参数;上述侧链区块是指上述侧链节点所属的侧区块链中已上链的区块;
根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;
当获取到上述侧链节点在第二时刻所发送的区块验证请求时,获取上述区块验证请求所携带的第二区块参数;上述第二区块参数是指上述侧链区块在上述第二时刻下的区块参数;上述第二时刻大于上述第一时刻;
根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
在一个实施例中,上述第一区块参数包括第一区块高度以及上述第一区块高度对应的第一区块头哈希值;上述第二区块参数包括第二区块高度以及上述第二区块高度对应的第二区块头哈希值;
上述处理器1001在执行根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证时,具体执行以下步骤:
根据上述第二区块高度,获取上述主区块链中的上述主链区块;
获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
在一个实施例中,上述处理器1001在执行根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证时,具体执行以下步骤:
若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
在一个实施例中,上述处理器1001在执行根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证时,还执行以下步骤:
当上述侧链区块为正常区块时,返回验证正常信息至上述侧链节点,以使上述侧链节点继续执行正常上链操作。
当上述侧链区块为异常区块时,返回验证异常信息至上述侧链节点,以使上述侧链节点停止正常上链操作且执行异常检测操作。
在一个实施例中,上述第一区块参数包括上述第一区块高度和上述第一区块高度对应的第一区块头;
上述处理器1001在执行根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中时,具体执行以下步骤:
基于上述第一区块高度,获取上述主区块链中的目标主链区块;上述目标主链区块的区块体包含历史区块参数,上述历史区块参数为上述侧链区块的前继侧链区块对应的区块参数;
根据上述第一区块头和上述历史区块参数中的历史区块头,确定上述第一区块参数的合法性;
若上述第一区块参数具备合法性,则根据上述第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中。
在一个实施例中,上述处理器1001在执行根据上述第一区块头和上述历史区块参数中的历史区块头,确定上述第一区块参数的合法性时,具体执行以下步骤:
获取上述第一区块头中的父区块哈希值,获取上述历史区块头对应的区块头哈希值;
若上述父区块哈希值与上述历史区块头对应的区块头哈希值相同,则确定上述第一区块参数具备合法性;
若上述父区块哈希值与上述历史区块头对应的区块头哈希值不相同,则确定上述第一区块参数不具备合法性。
在一个实施例中,上述处理器1001在执行根据上述第一区块头和上述历史区块参数中的历史区块头,确定上述第一区块参数的合法性,还执行以下步骤:
若上述第一区块参数不具备合法性,上述主链节点则返回上链失败信息至上述侧链节点,以使上述侧链节点停止上述正常上链操作且执行合法检测操作。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3以及图7所对应实施例中对上述基于区块链的数据验证方法的描述,也可执行前文图9所对应实施例中对上述基于主区块链的数据验证装置的描述以及图10所对应实施例中对上述基于侧区块链的数据验证装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
请参见图12,是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,上述计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
侧链节点获取业务服务器发送的交易数据,基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中;
上述侧链节点在第一时刻发送数据上链请求至主链节点,以使上述主链节点根据第一区块参数生成主链区块,将上述主链区块添加至上述主链节点所属的主区块链中;上述数据上链请求包括上述侧链区块在上述第一时刻下的上述第一区块参数;
上述侧链节点在上述侧区块链中获取上述侧链区块在第二时刻下的第二区块参数,基于上述第二区块参数从上述主区块链中获取上述主链区块;上述第二时刻大于上述第一时刻;
根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证。
在一个实施例中,上述第一区块参数包括第一区块高度以及上述第一区块高度对应的第一区块头哈希值;上述第二区块参数包括第二区块高度以及上述第二区块高度对应的第二区块头哈希值;
上述处理器2001在执行根据上述主链区块和上述第二区块参数对上述侧链区块进行区块异常验证时,具体执行以下步骤:
根据上述第二区块高度,获取上述主链区块的区块体中的第一区块参数;上述第一区块参数中的上述第一区块高度与上述第二区块高度相同;
根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证。
在一个实施例中,上述处理器2001在执行根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证时,具体执行以下步骤:
若上述第一区块头哈希值等于上述第二区块头哈希值,则确定上述侧链区块为正常区块;
若上述第一区块头哈希值不等于上述第二区块头哈希值,则确定上述侧链区块为异常区块。
在一个实施例中,上述处理器2001在执行根据上述第一区块头哈希值和上述第二区块头哈希值,对上述侧链区块进行区块异常验证时,还执行以下步骤:
当上述侧链区块为正常区块时,上述侧链节点继续执行正常上链操作。
当上述侧链区块为异常区块时,上述侧链节点停止正常上链操作且执行异常检测操作。
在一个实施例中,上述处理器2001在执行基于上述交易数据生成侧链区块,将上述侧链区块添加至上述侧链节点所属的侧区块链中时,具体执行以下步骤:
从上述侧区块链中获取具有最大生成时间戳的区块作为父区块,将上述父区块的区块头哈希值作为父区块哈希值;
基于上述父区块哈希值和上述交易数据,生成上述侧链区块;上述侧链区块中的生成时间戳用于更新上述侧区块链上的最大生成时间戳;
将上述侧链区块广播至上述侧区块链上的所有共识节点;
在确定上述侧区块链上的上述所有共识节点达成共识时,将上述侧链区块添加至上述侧区块链中。
应当理解,本申请实施例中所描述的计算机设备2000可执行前文图3以及图7所对应实施例中对上述基于区块链的数据验证方法的描述,也可执行前文图9所对应实施例中对上述基于主区块链的数据验证装置的描述以及图10所对应实施例中对上述基于侧区块链的数据验证装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例中的侧区块链中的侧链区块可以用于存储交易数据,然后在第一时刻通过侧链节点将侧链区块中的第一区块参数发送至主链节点,主链节点获取到第一区块参数后生成主链区块并使之上链;在第二时刻,侧链节点将上述侧链区块的第二区块参数(第二区块参数即为侧链区块在第二时刻下的区块参数)发送至主链节点,主链节点通过对比第二区块参数和主区块链中的第一区块参数,可以识别出上述侧链区块中的交易数据是否被篡改,因此采用本申请不但可以对主区块链进行扩容,也保证了扩容后的侧区块链所存储的交易数据的可靠性。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的基于主区块链的数据验证装置1以及基于侧区块链的数据验证装置2所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3以及图7对应实施例中对上述基于区块链的数据验证方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (13)
1.一种基于区块链的数据验证方法,其特征在于,所述方法包括:
主链节点获取侧链节点在第一时刻所发送的数据上链请求;所述数据上链请求包括侧链区块在所述第一时刻下的第一区块参数;所述侧链区块是指所述侧链节点所属的侧区块链中已上链的区块;所述第一区块参数包括第一区块高度和所述第一区块高度对应的第一区块头;
基于所述第一区块高度,获取主区块链中的目标主链区块;所述目标主链区块的区块体包含历史区块参数,所述历史区块参数为所述侧链区块的前继侧链区块对应的区块参数;
根据所述第一区块头和所述历史区块参数中的历史区块头,确定所述第一区块参数的合法性;
若所述第一区块参数具备合法性,则根据所述第一区块参数生成主链区块,将所述主链区块添加至所述主链节点所属的主区块链中;
当获取到所述侧链节点在第二时刻所发送的区块验证请求时,获取所述区块验证请求所携带的第二区块参数;所述第二区块参数是指所述侧链区块在所述第二时刻下的区块参数;所述第二时刻大于所述第一时刻;
根据所述主链区块和所述第二区块参数对所述侧链区块进行区块异常验证。
2.根据权利要求1所述的方法,其特征在于,所述第一区块参数包括第一区块高度以及所述第一区块高度对应的第一区块头哈希值;所述第二区块参数包括第二区块高度以及所述第二区块高度对应的第二区块头哈希值;
所述根据所述主链区块和所述第二区块参数对所述侧链区块进行区块异常验证,包括:
根据所述第二区块高度,获取所述主区块链中的所述主链区块;
获取所述主链区块的区块体中的第一区块参数;所述第一区块参数中的所述第一区块高度与所述第二区块高度相同;
根据所述第一区块头哈希值和所述第二区块头哈希值,对所述侧链区块进行区块异常验证。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一区块头哈希值和所述第二区块头哈希值,对所述侧链区块进行区块异常验证,包括:
若所述第一区块头哈希值等于所述第二区块头哈希值,则确定所述侧链区块为正常区块;
若所述第一区块头哈希值不等于所述第二区块头哈希值,则确定所述侧链区块为异常区块。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述侧链区块为正常区块时,返回验证正常信息至所述侧链节点,以使所述侧链节点继续执行正常上链操作;
当所述侧链区块为异常区块时,返回验证异常信息至所述侧链节点,以使所述侧链节点停止正常上链操作且执行异常检测操作。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一区块头和所述历史区块参数中的历史区块头,确定所述第一区块参数的合法性,包括:
获取所述第一区块头中的父区块哈希值,获取所述历史区块头对应的区块头哈希值;
若所述父区块哈希值与所述历史区块头对应的区块头哈希值相同,则确定所述第一区块参数具备合法性;
若所述父区块哈希值与所述历史区块头对应的区块头哈希值不相同,则确定所述第一区块参数不具备合法性。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述第一区块参数不具备合法性,所述主链节点则返回上链失败信息至所述侧链节点,以使所述侧链节点停止正常上链操作且执行合法检测操作。
7.一种基于区块链的数据验证方法,其特征在于,所述方法包括:
侧链节点获取业务服务器发送的交易数据,基于所述交易数据生成侧链区块,将所述侧链区块添加至所述侧链节点所属的侧区块链中;
所述侧链节点在第一时刻发送数据上链请求至主链节点,以使所述主链节点在第一区块参数具备合法性时根据所述第一区块参数生成主链区块,将所述主链区块添加至所述主链节点所属的主区块链中;所述数据上链请求包括所述侧链区块在所述第一时刻下的所述第一区块参数;所述第一区块参数包括第一区块高度和所述第一区块高度对应的第一区块头;所述第一区块参数的合法性是根据所述第一区块头和历史区块参数中的历史区块头所确定的;所述历史区块参数存储于目标主链区块的区块体中,所述历史区块参数为所述侧链区块的前继侧链区块对应的区块参数,所述目标主链区块是基于所述第一区块高度从所述主区块链中获取到的;
所述侧链节点在所述侧区块链中获取所述侧链区块在第二时刻下的第二区块参数,基于所述第二区块参数从所述主区块链中获取所述主链区块;所述第二时刻大于所述第一时刻;
根据所述主链区块和所述第二区块参数对所述侧链区块进行区块异常验证。
8.根据权利要求7所述的方法,其特征在于,所述第一区块参数包括第一区块高度以及所述第一区块高度对应的第一区块头哈希值;所述第二区块参数包括第二区块高度以及所述第二区块高度对应的第二区块头哈希值;
所述根据所述主链区块和所述第二区块参数对所述侧链区块进行区块异常验证,包括:
根据所述第二区块高度,获取所述主链区块的区块体中的第一区块参数;所述第一区块参数中的所述第一区块高度与所述第二区块高度相同;
根据所述第一区块头哈希值和所述第二区块头哈希值,对所述侧链区块进行区块异常验证。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一区块头哈希值和所述第二区块头哈希值,对所述侧链区块进行区块异常验证,包括:
若所述第一区块头哈希值等于所述第二区块头哈希值,则确定所述侧链区块为正常区块;
若所述第一区块头哈希值不等于所述第二区块头哈希值,则确定所述侧链区块为异常区块。
10.根据权利要求9所述的方法,其特征在于,还包括:
当所述侧链区块为正常区块时,所述侧链节点继续执行正常上链操作;
当所述侧链区块为异常区块时,所述侧链节点停止正常上链操作且执行异常检测操作。
11.根据权利要求7所述的方法,其特征在于,所述基于所述交易数据生成侧链区块,将所述侧链区块添加至所述侧链节点所属的侧区块链中,包括:
从所述侧区块链中获取具有最大生成时间戳的区块作为父区块,将所述父区块的区块头哈希值作为父区块哈希值;
基于所述父区块哈希值和所述交易数据,生成所述侧链区块;所述侧链区块中的生成时间戳用于更新所述侧区块链上的最大生成时间戳;
将所述侧链区块广播至所述侧区块链上的所有共识节点;
在确定所述侧区块链上的所述所有共识节点达成共识时,将所述侧链区块添加至所述侧区块链中。
12.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至11任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254347.8A CN110690974B (zh) | 2019-12-10 | 2019-12-10 | 基于区块链的数据验证方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254347.8A CN110690974B (zh) | 2019-12-10 | 2019-12-10 | 基于区块链的数据验证方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110690974A CN110690974A (zh) | 2020-01-14 |
CN110690974B true CN110690974B (zh) | 2020-06-23 |
Family
ID=69117759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911254347.8A Active CN110690974B (zh) | 2019-12-10 | 2019-12-10 | 基于区块链的数据验证方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110690974B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324489B (zh) * | 2020-02-18 | 2023-04-07 | 杭州复杂美科技有限公司 | 主链游戏结果展示方法、设备和存储介质 |
CN111342972B (zh) * | 2020-02-24 | 2023-09-15 | 百度在线网络技术(北京)有限公司 | 一种区块链的事务实现方法、装置、设备和介质 |
CN112001730B (zh) * | 2020-08-25 | 2021-10-22 | 徐鹏飞 | 基于区块链和数字货币的数据安全检测方法及云计算中心 |
CN112256792A (zh) * | 2020-09-17 | 2021-01-22 | 南京数字星球科技有限公司 | 一种区块链跨链数据交互和验证方法、区块链系统及存储介质 |
CN112804322B (zh) * | 2021-01-11 | 2022-06-28 | 杭州复杂美科技有限公司 | 区块生成方法、计算机设备和存储介质 |
CN112765682B (zh) * | 2021-04-07 | 2022-08-05 | 暗链科技(深圳)有限公司 | 区块分布式区块链的区块数据结构、存储介质及电子设备 |
CN114463010B (zh) * | 2022-04-13 | 2022-06-17 | 南京金宁汇科技有限公司 | 基于双层链的本地节点区块数据完整性检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097467A (zh) * | 2019-05-05 | 2019-08-06 | 华中科技大学 | 一种针对智能合约安全性和稳定性的侧链测试方法 |
CN110474968A (zh) * | 2019-07-25 | 2019-11-19 | 南京邮电大学 | 一种自适感知式的区块链混合共识机制架构及其方法 |
CN110490282A (zh) * | 2019-08-21 | 2019-11-22 | 湖南道业信息科技有限公司 | 溯源方法、溯源装置、溯源系统和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488675B (zh) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN107464106B (zh) * | 2017-07-25 | 2021-01-26 | 北京果仁宝科技有限公司 | 区块链主链与侧链间交易的方法及系统 |
US10958418B2 (en) * | 2017-10-10 | 2021-03-23 | Chromata Corporation | System and method for a blockchain network with heterogeneous privacy |
CN107729471A (zh) * | 2017-10-13 | 2018-02-23 | 上海策赢网络科技有限公司 | 一种区块链及其生成方法与设备 |
US10721065B2 (en) * | 2018-03-29 | 2020-07-21 | Accenture Global Solutions Limited | Active state blockchain synchronization |
CN110033243B (zh) * | 2019-03-06 | 2023-01-10 | 华南师范大学 | 基于区块链智能合约的主链存证方法、系统及存储介质 |
CN110311958B (zh) * | 2019-06-14 | 2021-01-01 | 柳州市蓝海数链科技有限公司 | 一种区块链网络系统 |
-
2019
- 2019-12-10 CN CN201911254347.8A patent/CN110690974B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097467A (zh) * | 2019-05-05 | 2019-08-06 | 华中科技大学 | 一种针对智能合约安全性和稳定性的侧链测试方法 |
CN110474968A (zh) * | 2019-07-25 | 2019-11-19 | 南京邮电大学 | 一种自适感知式的区块链混合共识机制架构及其方法 |
CN110490282A (zh) * | 2019-08-21 | 2019-11-22 | 湖南道业信息科技有限公司 | 溯源方法、溯源装置、溯源系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110690974A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110690974B (zh) | 基于区块链的数据验证方法、装置、设备及可读存储介质 | |
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
US11580075B2 (en) | Systems and methods of providing immutable records | |
CN107396360B (zh) | 区块验证方法及装置 | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
CN107171810B (zh) | 区块链的验证方法及装置 | |
CN107276765B (zh) | 区块链中共识的处理方法及装置 | |
CN111600720B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US11343103B2 (en) | Sending cross-chain authenticatable messages | |
US9350728B2 (en) | Method and system for generating and authorizing dynamic password | |
CN111523890B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US11108545B2 (en) | Creating a blockchain account and verifying blockchain transactions | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN110599346A (zh) | 一种区块链信息获取方法及相关设备 | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN111209343A (zh) | 节点数据同步方法、装置、设备以及存储介质 | |
CN110928880A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN112184436B (zh) | 数据同步方法、电子设备及可读存储介质 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112035144A (zh) | 区块链系统的升级方法、装置、计算机设备及存储介质 | |
CN111488626A (zh) | 基于区块链的数据处理方法、装置、设备及介质 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN114584326A (zh) | 区块链数据处理方法、装置、电子设备及存储介质 | |
CN110730063A (zh) | 安全验证方法、系统、物联网平台、终端和可读存储介质 | |
CN112465516B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020887 Country of ref document: HK |