CN112132574A - 区块链数据校验方法、数据处理方法、装置及设备 - Google Patents

区块链数据校验方法、数据处理方法、装置及设备 Download PDF

Info

Publication number
CN112132574A
CN112132574A CN201910557202.9A CN201910557202A CN112132574A CN 112132574 A CN112132574 A CN 112132574A CN 201910557202 A CN201910557202 A CN 201910557202A CN 112132574 A CN112132574 A CN 112132574A
Authority
CN
China
Prior art keywords
block
transaction data
characteristic value
target
blockchain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910557202.9A
Other languages
English (en)
Other versions
CN112132574B (zh
Inventor
刘勋
徐嗣焘
檀景辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910557202.9A priority Critical patent/CN112132574B/zh
Publication of CN112132574A publication Critical patent/CN112132574A/zh
Application granted granted Critical
Publication of CN112132574B publication Critical patent/CN112132574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种区块链数据校验方法、数据处理方法、装置及设备,属于区块链技术领域。本方法通过将第一区块中存储的第一目标特征值与目标区块的上一个区块的特征值进行对比,以确定该目标区块的上一个区块是否合法,并将该第二区块中存储的第二目标特征值与该目标区块的下一个区块的特征值进行比对,以确定该目标区块是否合法。即使区块内的交易数据发生改变,区块内存储的第一目标特征值和第二目标特征值不会发生改变,因此,直接根据第一目标特征值或第二目标特征值来校验区块是否合法,不会影响到最终的校验结果,从而校验结果较为准确。

Description

区块链数据校验方法、数据处理方法、装置及设备
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链数据校验方法、数据处理方法、装置、计算机设备以及存储介质。
背景技术
区块链系统中的节点设备可以共同维护同一个存储交易数据的区块链,区块链中每个区块内都存储本区块的特征值以及父特征值,父特征值为本区块上一个区块的特征值,从而使得的多个区块可以组成一个区块链,为了保证区块链内各个区块之间的连接性,区块链系统内的节点设备需要校验区块链中的各个区块是否合法。
区块链数据校验可以是以下过程:对于任一区块,获取该区块的特征值以及区块的父特征值;再获取该区块的上一个区块的特征值以及该区块的下一个区块的父特征值,当该区块的父特征值与上一个区块的特征值一致,且该区块的特征值与下一个区块的父特征值一致时,该区块合法,否则,该区块不合法。
有的时候区块链内的交易数据需要被合法修改,那么修改后的区块实际上应该是合法,由于区块的特征值取决于区块内存储的交易数据,当区块内的交易数据被修改时,区块的特征值也会随之改变,一旦区块的特征值发生改变,该区块的特征值与下一个区块的父特征值不一致,若按照上述校验方法,则该区块不合法。因此,通过上述校验方法来校验区块链上的区块是否合法时,校验结果不准确。
发明内容
本发明实施例提供了一种区块链数据校验方法、数据处理方法、装置及设备,能够解决校验结果不准确的问题。该技术方案如下:
第一方面,提供一种区块链数据校验方法,所述方法用于校验区块链上的区块数据是否合法,所述区块链中包括第一区块,所述第一区块中存储有第一目标特征值,所述区块链中还包括第二区块,所述第二区块中存储有第二目标特征值,所述方法包括:
获取所述区块链上的一个目标区块;
当所述目标区块为第一区块时,将所述第一区块中存储的第一目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法;
当所述目标区块为第二区块时,将所述第二区块中存储的第二目标特征值与所述目标区块的下一个区块的特征值进行比对,以确定所述目标区块是否合法。
在一种可能实现方式中,所述第二区块中还包括第三目标特征值,当所述目标区块为第二区块时,所述方法还包括:将所述第三目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法。
在一种可能实现方式中,所述第二区块中还包括原始特征值以及修改特征值,所述原始特征值是所述第二区块的交易数据修改前的特征值,所述更新特征值是所述第二区块的交易数据修改后的特征值,当所述目标区块为第一区块,且所述目标区块的上一区块为第二区块时,所述方法还包括:将目标区块的第一目标特征值与所述目标区块的上一区块的原始特征值进行对比,以确定所述目标区块的上一区块是否合法。
基于上述可能的实现方式,通过将第一区块中存储的第一目标特征值与目标区块的上一个区块的特征值进行对比,以确定该目标区块的上一个区块是否合法,并将该第二区块中存储的第二目标特征值与该目标区块的下一个区块的特征值进行比对,以确定该目标区块是否合法。即使区块内的交易数据发生改变,区块内存储的第一目标特征值和第二目标特征值不会发生改变,因此,直接根据第一目标特征值或第二目标特征值来校验区块是否合法,不会影响到最终的校验结果,从而校验结果较为准确。
第二方面,提供了一种数据处理方法,该方法包括:
查询区块链系统的区块链上的区块;
当在所述区块链上的第一区块内查询到第一交易数据时,生成第二交易数据,所述第二交易数据携带所述第一交易数据在所述区块链上的位置信息;
在所述区块链系统中广播所述第二交易数据;
将第二区块存储在所述区块链上,所述第二区块携带所述第二交易数据;
基于所述第一交易数据在所述区块链上的位置信息以及所述第二交易数据,对所述区块链上的所述第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
基于上述可能的实现方式,通过当在区块链上查询到第一交易数据时,生成携带第一交易数据在区块链上的位置信息的第二交易数据,当第二交易数据被存储至区块链上时,将在区块链上查询到的第一交易数据替换为第二交易数据,当该第一交易数据携带非法信息时,通过将第一交易数据替换为目标交易数据,从而可以去除第一交易数据中的非法信息,当将该区块链上的所有携带非法信息的交易数据都替换后,无需人为操作,就能够在区块链系统中实现对非法信息的大范围的去除,大大提高了非法信息的处理效率。
在一种可能实现方式中,所述查询区块链系统的区块链上的区块包括:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
基于上述可能的实现方式,通过实时查询区块链上的区块,可以提高查询区块的实时性,或每经过预设时长后,监管节点设备才会对区块链上的区块进行一次查询操作,从而可以避免监管节点设备进行多次查询操作。
在一种可能实现方式中,所述对所述区块链上的所述第一区块内的所述第一交易数据进行替换包括:
将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
在一种可能实现方式中,所述第二交易数据还携带第一特征值,所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
在一种可能实现方式中,所述方法还包括:
获取所述第一区块的区块内容;
将所述区块内容中的所述第一交易数据替换为所述第二交易数据;
计算替换后的所述第一区块的特征值,得到所述第一特征值。
在一种可能实现方式中,所述第二交易数据中的交易内容为空或为非空的预设内容。
在一种可能实现方式中,所述对所述区块链上的所述第一区块内的所述第一交易数据进行替换包括:
当所述第二交易数据携带第三交易数据时,将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第三交易数据;
所述方法还包括:
根据所述第三区块之后、所述第二区块之前的所有区块,重新生成多个区块;
将所述第三区块之后、所述第二区块之前的所有区块替换为所述多个区块。
基于上述可能的实现方式,将该第三区块之后、该第二区块之前的所有区块替换为该多个区块后,就可以保证区块链的完整性。
在一种可能实现方式中,所述第二交易数据还携带第四特征值,所述第四特征值为所述多个区块中最后一个区块的特征值。
在一种可能实现方式中,获取所述第一区块的区块内容和所述第一区块之后所有区块的区块内容;
将所述第一区块的区块内容中的所述第一交易数据替换为所述第三交易数据;
根据替换后的所述第一区块的区块内容、所述第一区块之后所有区块的区块内容,重新生成多个区块;
将所述多个区块中最后一块区块的特征值确定为所述第四特征值。
在一种可能实现方式中,所述方法还包括:
当在所述区块链上的第一区块内查询到第一交易数据时,在所述区块链系统内广播停止服务消息,所述停止服务消息用于指示停止将监管节点设备以外的节点设备所广播的普通交易数据打包至区块的服务。
在一种可能实现方式中,所述第三交易数据中的交易内容为空或为非空的预设内容。
基于上述可能的实现方式,由于交易内容为空,若将区块链上的第一交易数据替换为该第三交易数据,相当于删除了区块链上的该第一交易数据,由于交易内容为非空,若将区块链上的第一交易数据替换为该第三交易数据,相当于修改了区块链上的该第一交易数据。
第三方面,提供了一种数据处理方法,该方法包括:
查询区块链系统的区块链上的区块;
当在所述区块链上的第二区块内查询到第二交易数据时,获取所述第二区块内的所述第二交易数据,所述第二交易数据携带第一交易数据在所述区块链上的位置信息;
根据所述第二交易数据携带的位置信息以及所述第二交易数据,对所述区块链上的第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
在一种可能实现方式中,所述区块链系统的查询区块链上的区块包括:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
在一种可能实现方式中,所述对所述区块链上的第一区块内的所述第一交易数据进行替换包括:
将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
在一种可能实现方式中,所述第二交易数据还携带第一特征值;所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
在一种可能实现方式中,所述方法还包括:
当所述第二交易数据内的第一特征值以及第二特征值均通过验证时,执行交易数据替换的步骤;或,
当所述第二交易数据内的第一特征值以及第三特征值均通过验证时,执行交易数据替换的步骤。
基于上述可能的实现方式,通过验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。
在一种可能实现方式中,当所述区块链上的创世区块内存储有所述监管节点设备的公钥时,所述监管节点设备的签名通过验证,否则,所述监管节点设备的签名未通过验证;
若将所述第一区块内的所述第一交易数据替换后,所得到的区块的特征值与所述第一特征值一致时,则所述第一特征值通过验证,否则,所述第一特征值未通过验证;
当所述第一区块相邻的区块的特征值与所述第二特征值一致时,则所述第二特征值希通过验证,否则,所述第二特征值未通过验证;
当所述区块链上与所述第一区块后一块区块的父特征值与所述第三特征值一致时,则所述第三特征值通过验证,否则,所述第三特征值未通过验证。
基于上述可能的实现方式,通过上述对第一特征值的验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与监管节点设备得到的第三区块相同,进而可以保证区块链系统中的每个节点设备配置的区块链上的第三区块相同。并且,通过上述对第二特征值或第三特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第四区块的连接性。
在一种可能实现方式中,所述第二交易数据中的交易内容为空或为非空的预设内容。
基于上述可能的实现方式,由于交易内容为空,若将区块链上的第一交易数据替换为该第二交易数据,相当于删除了区块链上的该第一交易数据,或由于交易内容为非空,若将区块链上的第一交易数据替换为该第二交易数据,相当于修改了区块链上的该第一交易数据。
在一种可能实现方式中,所述方法还包括:
接收所述第二交易数据;
当所述第二交易数据验证通过时,生成所述第二区块;
当区块链系统对携带所述第二区块共识通过时,将所述第二区块存储在所述区块链系统内的区块链上。
在一种可能实现方式中,所述对所述区块链上的第一区块内的所述第一交易数据进行替换包括:
当所述第二交易数据携带第三交易数据时,将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第三交易数据;
所述方法还包括:
根据所述第三区块之后、所述第二区块之前的所有区块,重新生成多个区块;
将所述第三区块之后、所述第二区块之前的所有区块替换为所述多个区块。
在一种可能实现方式中,所述第二交易数据还携带第四特征值,所述第四特征值为所述多个区块中最后一个区块的特征值。
在一种可能实现方式中,当所述第二交易数据内的所述第四特征值均通过验证时,执行交易数据替换的步骤。
基于上述可能的实现方式,通过验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。并且,通过上述对第四特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第一区块后的所有区块的连接性,从而可以保证区块链的完整性。
在一种可能实现方式中,所述第三交易数据中的交易内容为空或为非空的预设内容。
在一种可能实现方式中,所述方法还包括:
接收广播停止服务消息,所述停止服务消息用于指示停止将监管节点设备以外的节点设备所广播的普通交易数据打包至区块的服务;
当接收到多个交易数据时,仅对所述多个交易数据中的第二交易数据进行验证,当所述第二交易数据验证通过时,生成所述第二区块;
当所述区块链系统对携带所述第二区块共识通过时,将所述第二区块存储在所述区块链系统内的区块链上。
第四方面,提供一种区块链数据校验装置,所述装置用于校验区块链上的区块数据是否合法,所述区块链中包括第一区块,所述第一区块中存储有第一目标特征值,所述区块链中还包括第二区块,所述第二区块中存储有第二目标特征值,所述装置包括:
获取模块,用于获取所述区块链上的一个目标区块;
对比模块,用于当所述目标区块为第一区块时,将所述第一区块中存储的第一目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法;
所述对比模块,还用于当所述目标区块为第二区块时,将所述第二区块中存储的第二目标特征值与所述目标区块的下一个区块的特征值进行比对,以确定所述目标区块是否合法。
在一种可能实现方式中,所述第二区块中还包括第三目标特征值,当所述目标区块为第二区块时,所述对比模块还用于:将所述第三目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法。
在一种可能实现方式中,所述第二区块中还包括原始特征值以及修改特征值,所述原始特征值是所述第二区块的交易数据修改前的特征值,所述更新特征值是所述第二区块的交易数据修改后的特征值,当所述目标区块为第一区块,且所述目标区块的上一区块为第二区块时,所述对比模块还用于将目标区块的第一目标特征值与所述目标区块的上一区块的原始特征值进行对比,以确定所述目标区块的上一区块是否合法。
第四方面,提供了一种应用于区块链数据校验装置,用于执行上述应用于数据处理方法。具体地,该区块链数据校验装置包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的应用于区块链数据校验方法的功能模块。
第五方面,提供了一种应用于数据处理装置,用于执行上述应用于数据处理方法。具体地,该数据处理装置包括用于执行上述第二方面或上述第二方面的任一种可选方式提供的应用于数据处理方法的功能模块。
第六方面,提供了一种应用于数据处理装置,用于执行上述应用于数据处理方法。具体地,该数据处理装置包括用于执行上述第三方面或上述第三方面的任一种可选方式提供的应用于数据处理方法的功能模块。
第七方面,提供一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令,该指令由该处理器加载并执行以实现如上述区块链数据校验方法所执行的操作。
第八方面,提供一种存储介质,该存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现如上述区块链数据校验方法所执行的操作。
第九方面,提供一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令,该指令由该处理器加载并执行以实现如上述数据处理方法所执行的操作。
第十方面,提供一种存储介质,该存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现如上述数据处理方法所执行的操作。
第十一方面,提供一种数据结构,所述数据结构包括第一特征值以及目标特征值,所述第一特征值为存储具有所述数据结构的交易数据的区块的特征值,所述目标特征值为所述具有所述数据结构的交易数据的区块的下一个区块的特征值或父特征值。
在一种可能实现方式中,所述数据结构包括第一交易数据在区块链上的位置信息,所述第一交易数据为不符合目标条件的交易数据。
在一种可能实现方式中,所述该数据结构中的交易内容为空或为非空的预设内容。
在一种可能实现方式中,该数据结构包括具有监管权限的节点设备的签名。
第十二方面,提供一种该数据结构,所述数据结构包括第三交易数据以及目标特征值,所述目标特征值为存储具有所述数据结构的交易数据的区块的上一个区块的特征值。
在一种可能实现方式中,所述数据结构包括第一交易数据在所述区块链上的位置信息,所述第一交易数据为不符合目标条件的交易数据。
在一种可能实现方式中,所述第三交易数据中的交易内容为空或为非空的预设内容。
在一种可能实现方式中,所述数据结构包括具有监管权限的节点设备的签名。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种区块链系统的示意图;
图2是本发明实施例提供的一种节点设备的结构示意图;
图3是本发明实施例提供的一种数据处理方法的流程图;
图4是本发明实施例提供的一种交易数据的示意图;
图5是本发明实施例提供的一种交易数据替换的示意图;
图6是本发明实施例提供的一种数据处理方法的流程图;
图7是本发明实施例提供的一种数据处理方法的示意图;
图8是本发明实施例提供的一种区块链数据校验方法的流程图;
图9是本发明实施例提供的一种数据处理装置的结构示意图;
图10是本发明实施例提供的一种数据处理装置的结构示意图;
图11是本发明实施例提供的一种区块链数据校验装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种区块链系统的示意图,参见图1,该区块链系统包括多个节点设备。其中,多个节点设备可以配置有同一条区块链,也即是,该多个节点设备可以组成区块链系统,该多个节点设备可以是同一机构的多个设备,还可以是属于不同机构的多个设备,还可以是普通用户的设备。
该多个节点设备均可以生成交易数据,将至少一个交易数据打包,并生成区块,但区块链系统存储数据时,因各个节点设备用途不同,可以分为监管节点设备和普通节点设备。
监管节点设备可以作为监管方,用于监管该区块链系统中的区块链上的区块内是否存储有不良信息,当监管节点设备发现该区块链系统的区块链上所存储的交易数据携带不良信息时,该监管节点设备可以生成用于替换携带不良信息的交易数据的交易数据,当监管节点设备生成的交易数据被存储在区块链上时,普通节点设备可以将其配置的区块链上携带非法信息的交易数据替换为监管节点设备生成的交易数据。
区块链系统中的监管节点设备具有签发特殊交易数据的权限,监管节点设备所签发的特殊交易数据可以有不同的类型,例如,用于替换携带不良信息的交易数据的交易数据即是一种特殊交易数据,当然,也可以是不同类型的监管节点设备签发不同类型的特殊交易数据。
普通节点设备可以对特殊交易数据进行权限的鉴定以及特殊交易数据的执行,为了便于普通节点设备进行权限的鉴定,在一些实施例中,区块链系统在创建区块链时,可以将监管节点设备的验证信息存储在创世区块中,监管节点设备的验证信息可以是指监管节点设备的公钥,当然也可以是表示监管节点设备的其他信息,本发明实施例对该验证信息不做具体限定。
图2是本发明实施例提供的一种计算机设备的结构示意图,计算机设备200包括可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)201和一个或一个以上的存储器202,其中,该存储器202中存储有至少一条指令,该至少一条指令由该处理器201加载并执行以实现下述各个方法实施例提供的方法。当然,该计算机200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备200还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中的数据存储的方法和数据浏览的方法。例如,该存储介质可以是只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
以上是对区块链系统以及计算机设备的描述,其中,计算机设备可以是区块链中的节点设备,该区块链系统中的节点设备可以将自己所配置的区块链上携带非法信息的交易数据替换为监管节点设备所生成的交易数据,以对区块链上携带非法信息的交易数据进行处理,为了进一步体现这个处理过程,参见图3,图3是本发明实施例提供的一种数据处理方法的流程图,该方法具体包括:
301、监管节点设备查询区块链系统的区块链上的区块。
该监管节点设备为该区块链系统中任一具有监管权限的节点设备,该区块链可以是该节点设备在区块链系统中所配置的区块链,该监管节点设备可以查询该区块链上的至少一个区块,该监管节点设备可以实时查询区块链上的区块,也可以非实时的查询区块链上的区块。
在一种可能的实现方式中,该监管节点设备每将一个区块存储在该区块链上后,检测该区块,从而可以实现实时查询区块链上的区块,通过实时查询区块链上的区块,可以提高查询区块的实时性。
在一种可能的实现方式中,该监管节点设备每经过预设时长后,检测该预设时长内被存储至该区块链上的区块,从而可以实现非实时查询区块链上的区块,该预设时长可以是任一时长,本发明实施例对该预设时长不做具体限定。因此,每经过预设时长后,监管节点设备才会对区块链上的区块进行一次查询操作,从而可以避免监管节点设备进行多次查询操作。
在一些实施方式中,监管节点设备还可以基于查询区块链请求,执行本步骤301。其中,查询区块链请求用于指示查询区块链上不符合目标条件的交易数据,在一种可能的实现方式中,当监管节点设备接收到查询区块链请求时,该监管节点设备执行本步骤301。该查询区块链请求可以由用户的操作触发,例如,当具有监管权限的用户需要查询区块链上的交易数据时,该用户可以在监管节点设备的查询界面上点击查询按钮,以触发该查询区块链请求,从而监管节点设备可以接收到该查询区块链请求。
302、当在该区块链上的第一区块内查询到第一交易数据时,监管节点设备生成第二交易数据,该第二交易数据携带该第一交易数据在该区块链上的位置信息。
该第一区块为该区块链上的任一区块,该第一交易数据为待替换的交易数据,该第一交易数据可以为不符合目标条件的交易数据,该目标条件可以是交易数据的内容合法,当第一交易数据的内容是非法内容时,该第一交易数据为不符合目标条件的交易数据。
该监管节点设备可以通过查询该第一区块内的交易数据中是否存储有敏感词,来判断该交易数据是否为非法内容,当该交易数据中存在敏感词时,该交易数据的内容是非法内容,也即是该交易数据为第一交易数据,否则,该交易数据的内容不是非法内容,也即是,该交易数据不是第一交易数据。例如,该敏感词可以是xxx,该监管节点设备可以查询第一区块内是否存储有携带敏感词xxx的交易数据,当该第一区块内的交易数据携带敏感词xxx时,则携带该敏感词xxx的交易数据为第一交易数据。本发明实施例对该监管节点设备确定第一区块内是否有第一交易数据的方式以及目标条件不做具体限定。
该第一交易数据在该区块链上的位置信息包括该第一交易数据所在区块的区块信息以及第一交易数据在区块中序列号,区块信息可以是区块的高度、区块的编号等,本发明实施对该区块信息不做具体限定。
在本发明实施例中,该第二交易数据用于替换的第一交易数据,该第二交易数据还可以携带监管节点设备的签名,监管节点设备的签名可以是该监管节点设备使用私钥对第二交易数据的签名,用于表明该第二交易数据由监管节点设备生成。
该第二交易数据还可以携带第一特征值,该第一特征值为该第一区块未存储该第一交易数据时的特征值,以便其他节点设备验证未存储第一区块内的第一交易数据时,区块的特征值是否为第一特征值,若其他节点设备的第一区块未存储第一交易数据时,区块的特征值是为第一特征值,那么,则表明其他节点设备和监管节点设备对替换第一区块内的第一交易数据达成共识。
该第二交易数据还可以携带第二特征值和第三特征值中的至少一项,该第二特征值为该区块链上该第一区块相邻的区块的特征值,第三特征值该第一区块未进行交易数据替换时的特征值,第二特征值或第三特征值用于证明第一区块与相邻区块的连接性,其他节点设备可以根据第二特征值或第三特征值来验证区块链上的第一区块与相邻区块的连接性。在一些实施例中,第一区块内原有的交易数据可能已经被其他第二交易数据替换,那么,该第一区块为替换其他第二交易数据后新生成的区块,那么,此时第一区块的特征值相对于替换其他第二交易数据之前的区块的特征值有所改变,则第二交易数据中的第三特征值为第一区块内其他第二交易数据中的第三特征值,也就是说,对于任一区块内替换后的所有第二交易数据中的第三特征值均一致。
上述第一特征值、第二特征值以及第三特征值均为区块的特征值,区块的特征值用于表示区块的特征,可以为区块的区块哈希,当然还可以是表示区块特征的其他值,本发明实施例对该区块的特征值不做限定。该第一区块相邻的区块可以是在区块链上该第一区块的后一块区块,也可以是在该区块链上该第一交区块的前一块区块。
该第二交易数据还可以携带交易内容,该交易内容可以是空,也即是,第二交易数据中用于存储交易内容的字段为空,那么,由于交易内容为空,若将区块链上的第一交易数据替换为该第二交易数据,相当于删除了区块链上的该第一交易数据,该交易内容也可以为非空的预设内容,也即是,第二交易数据中用于存储交易内容的字段存储有预设的非空内容,例如,为新的业务信息,那么,由于交易内容为非空,若将区块链上的第一交易数据替换为该第二交易数据,相当于修改了区块链上的该第一交易数据,本发明实施例对该非空的预设内容不做具体限定。
为了便于理解第二交易数据的内容,参见图4,图4是本发明实施例提供的一种交易数据的示意图,交易数据序列号为3的交易数据为第一交易数据,当监管节点设备在区块4中查询到交易数据3为第一交易数据后,生成图4中的第二交易数据,此时n=3,其中,第二交易数据中的信息(message)为第二交易数据的交易内容,第二交易数据中的位置(position)为4.3,该位置相当于第一交易数据在区块链上的位置信息,4用于指示区块4,3用于指示第一交易数据的序列号,因此,根据位置信息可以确定第一交易数据在区块链上的位置,第二交易数据中的老哈希(old hash)为当前区块4的区块哈希,该老哈希也即是第二交易数据中的第二特征值,下一个哈希(after hash)为区块4后的区块5的区块哈希,该下一个哈希也即是第二交易数据中的第二特征值,其中,老哈希和下一个哈希在第二交易数据中存在一个即可,新哈希(new hash)为区块4删除第一交易数据后的区块哈希,新哈希为也即是第二交易数据中的第一特征值,签名(signature)为监管节点设备私钥的签名。
该监管节点设备在生成第二交易数据时,需要获取第一特征值,获取第一特征值可以通过下述步骤3021-3023所示的过程来实现。
步骤3021、监管节点设备获取第一区块的区块内容。
该监管节点在查询该第一区块之前,可以从该监管节点设备所配置的区块链上获取该第一区块的区块内容,该区块内容中可以包括至少一条交易数据。
步骤3022、该监管节点设备将该区块内容中的该第一交易数据替换为该第二交易数据。
当该监管节点设备在该区块内容中查询到该第一交易数据时,该监管节点设备可以执行本步骤3022。
步骤3023、该监管节点设备计算替换后的该第一区块的特征值,得到该第一特征值。
当该第一特征值为区块哈希时,由于从区块内容中删除了该第一交易数据,该监管节点设备可以根据区块内容中除该第一交易数据以外的所有交易数据,获取该第一区块的默克尔根哈希,将该第一区块的区块头内的默克尔根哈希替换为该计算得到的默克尔根哈希,然后计算该区块头的哈希,得到区块哈希,也即是得到该第一特征值。当然还可以通过其他方法计算该第一特征值,本发明实施例对该第一特征值的计算方法不做具体限定。由于将区块内容中的第一交易数据替换为第二交易数据,因此,替换后的第一区块内未存储第一交易数据,则第一特征值为未存储第一区块未存储第一交易数据时的特征值。
303、该监管节点设备在区块链系统中广播该第二交易数据。
该监管节点设备在该区块链系统广播该第二交易数据,以便除该监管节点设备以外的其他节点设备能够接收到该第二交易数据。
该监管节点设备广播该第二交易数据,可以使用下述方式1-2中的任一种方式来实现。
方式1、该监管节点设备直接在该区块链系统中广播该第二交易数据。
方式2、该监管节点设备生成携带该第二交易数据的消息,该监管节点设备广播该消息,从而实现在区块链系统中广播该第二交易数据。
304、第一节点设备接收该第二交易数据。
该第一节点设备为区块链系统中的任一节点设备。该第一节点设备接收到该第二交易数据可以是接收到监管节点设备所广播的第二交易数据,还可以是从监管节点设备所广播的消息中获得的第二交易数据。
需要说明的是,当第一节点设备从消息中获得第二交易数据时,该第一节点设备无需将该第二交易数据存储至区块内,可以执行步骤310。
305、当该第二交易数据通过验证时,第一节点设备生成第二区块,该第二区块携带该第二交易数据。
该第一节点设备可以通过验证第二交易数据的格式来验证该第二交易数据,在一种可能的实施方式中,当该第二交易数据的格式符合该区块链系统存储区块内存储的交易数据的格式时,该第二交易数据通过验证,否则,该第二交易数据未通过验证。本发明实施例对该第二数据进行验证的方式不做具体限定。
当该第二交易数据通过验证后,该第一节点设备可以将该第二交易数据进行存储,当该第一节点设备存储有多个验证通过的交易数据时,该第一节点设备可以将该第二交易数据以及其他通过验证的交易数据进行打包,生成第二区块,那么,该第二区块内就存储有该第二交易数据。
需要说明的是,此时该第一节点设备为生成第二区块的设备,当然,生成第二区块的设备也可以是区块链系统内的任一节点设备。
306、该第一节点设备在该区块链系统中广播该第二区块。
该第一节点设备在该区块链系统广播该第二区块,以便除该第一节点设备以外的其他节点设备能够接收到该第二区块。
当区块链系统中除该第一节点设备以外的其他节点设备接收到第二区块后,可以对第二区块进行验证,当第二区块的区块高度比当前区块链上的最后一个区块的区块高度大1时,第二区块通过验证,否则第二区块未通过验证,或者,当第二区块的父哈希与当前区块链上的最后一个区块的区块哈希一致时,第二区块通过验证,否则第二区块未通过验证。那么,当该区块链系统中预设数目的节点设备均对该第二区块验证通过时,则该区块链系统对该第二区块共识通过,否则,对该第二区块不共识通过,本发明实施例对该预设数目不做具体限定。
307、当区块链系统对第二区块共识通过时,该第一节点设备将该第二区块存储在该区块链系统内的区块链上。
具体地,该第一节点设备可以将该第二区块存储在该第一节点设备配置的区块链上。需要说明的是,该区块链系统中的任一节点设备都会执行本步骤307。
308、该第一节点设备查询区块链系统的区块链上的区块。
对于第一节点设备而言,当将任一区块存储至第一节点设备配置的区块链上时,并不确定该存储的区块内是否存储有第二交易数据,所以,该第一节点设备可以查询该区块链上的至少一个区块,以查询区块中是否存储有第二交易数据,该第一节点设备可以实时查询区块链上的区块,也可以非实时的查询区块链上的区块。
在一种可能的实现方式中,该第一节点设备每将一个区块存储在该区块链上后,查询该区块,从而可以实现实时查询区块链上的区块,通过实时查询区块链上的区块,可以提高查询区块的实时性。例如,当该第一节点设备将第二区块存储在该区块链系统内的区块链上时,该第一节点设备立即查询第二区块内是否存储有第二交易数据。
在一种可能的实现方式中,该第一节点设备每经过预设时长后,查询该预设时长内被存储至该区块链上的区块,从而可以实现非实时查询区块链上的区块,该预设时长可以是任一时长,本发明实施例对该预设时长不做具体限定。因此,每经过预设时长后,第一节点设备才会对区块链上的区块进行一次查询操作,从而可以避免监管节点设备进行多次查询操作。
309、当在该区块链上的第二区块内查询到第二交易数据时,该第一节点设备获取该第二区块内的该第二交易数据,该第二交易数据携带第一交易数据在该区块链上的位置信息,该第一交易数据为不符合目标条件的交易数据。
由于第一节点设备不确定第二区块内是否存储有第二交易数据,所以,对于该第一节点设备而言,该第二区块为区块链上的任一区块,该第一节点设备可以通过查询该任一区块中的交易数据内是否携带监管节点设备的签名,来确定该交易数据是否为第二交易数据,当该任一区块中的任一交易数据携带监管节点设备的签名时,该任一交易数据为第二交易数据,从而该第一节点设备可以获取该第二交易数据。
310、该第一节点设备根据该第二交易数据携带的位置信息以及该第二交易数据,对该区块链上的第一区块内的该第一交易数据进行替换,得到该区块链上的第三区块。
本发明实施例中的第二交易数据用于替换第一交易数据,则该第一节点设备可以将该区块链上的该第一区块内的该第一交易数据替换为该第二交易数据,以对该区块链上的第一区块内的该第一交易数据进行替换。
该第一节点设备可以根据该第二交易数据携带的位置信息,可以确定该第一交易数据所在的第一区块以及第一区块内的第一交易数据,该第一节点设备可以从区块链上获取该第一区块的区块内容,并将区块容中的第一交易数据替换为第二交易数据,生成第三区块,并将区块链上的第一区块替换为第三区块,从而可以得到区块链上的第三区块。
由于第一节点设备不是生成第二交易数据的设备,该第一节点设备在将第一交易数据进行替换之前,还需要对第二交易数据进行验证,当第二交易数据通过验证后,该第一节点设备才能执行本步骤310,第一节点设备对第二交易数据进行验证可以通过下述步骤3101至3106所示的过程来实现。
步骤3101、该第一节点设备对该第二交易数据中的监管节点设备的签名进行验证,当该区块链上的创世区块内存储有该监管节点设备的公钥时,该第二交易数据内的监管节点设备的签名通过验证,否则,该第二交易数据内的监管节点设备的签名未通过验证。
区块链系统可以在创世区块中存储该区块链系统中所有监管节点设备的公钥,以便区块链系统中的节点设备可以验证第二交易数据是否由监管节点设备生成,当监管节点设备的签名通过验证,则说明该第二交易数据由监管节点设备生成,否则,该第二交易数据不是由监管节点设备生成,该第一节点设备就可以直接丢弃该第二交易数据。
第一节点设备可以根据创世区块中存储的监管节点设备的公钥能否解密该第二交易数据中的签名,来验证创世区块中是否存储有该第二交易数据内的监管节点设备的公钥。在一种可能的实现方式中,第一节点设备可以将创世区块中存储的监管节点设备的公钥对该第二交易数据内的签名进行解密,当该创世区块中存储的任一监管节点设备的公钥对该第二交易数据内的签名解密成功时,则认为该创世区块中存储有该第二交易数据内的监管节点设备的公钥,否则,该创世区块中没有存储该第二交易数据内的监管节点设备的公钥。
需要说明的是,后续会将第一区块内的第一交易数据进行替换,为了保证替换后的第一区块与相邻区块的连接性,该第一节点设备还需要对第二交易数据中的第一特征值和第二特征值进行验证,或者是对第二交易数据中的第一特征值和第三特征值进行验证。第一节点设备对第一特征值进行验证的步骤,参见步骤3102,第一节点设备对第二特征值进行验证的步骤,参见步骤3103,第一节点设备对第三特征值进行验证的步骤,参见步骤3104。
另外,在一些实施例中,会默认区块链上存储的第二交易数据均为监管节点设备生成,那么,此时,该第一节点设备不需要验证第二交易数据中的签名,可以直接执行下述步骤3102。
步骤3102、当该第二交易数据内的监管节点设备的签名通过验证时,该第一节点设备对该二交易数据中的第一特征值进行验证,若将第一区块内的第一交易数据替换后,所得到的区块的特征值与该第一特征值一致时,则该第一特征值通过验证,否则,该第一特征值未通过验证。
该第一节点设备可以根据该第二交易数据携带的位置信息,可以确定该第一交易数据所在的第一区块以及第一区块内的第一交易数据,该第一节点设备可以从区块链上获取该第一区块的区块内容,并将第二交易数据所指示的第一交易数据替换为第二交易数据,得到第三区块,计算第三区块的特征值,进而可以将第三区块的特征值与第一特征值进行对比,根据对比结果,可以得知第一特征能否通过验证。
当第一节点设备所得到的第三区块与监管节点设备得到的第三区块相同时,该第一节点设备才能对第一区块内的第一交易数据进行替换,如果第一特征值通过验证,则说明第一节点设备得到的第三区块与监管节点设备得到的第三区块相同,那么,第一节设备可以将第一区块中的第一交易数据进行替换。而如果第一特征值未通过验证,则说明第一节点设备得到的第三区块与监管节点设备得到的第三区块不相同,那么,第一节设备也就不能将第一区块中的第一交易数据进行替换,因此,当第一特征值未通过验证时,第一节点设备可以丢弃该第二交易数据,无需执行后续的步骤。所以,通过上述对第一特征值的验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与监管节点设备得到的第三区块相同,进而可以保证区块链系统中的每个节点设备配置的区块链上的第三区块相同。
步骤3103、当该第一特征值通过验证时,该第一节点设备查询该第一区块相邻的区块的特征值是否与该第二特征值一致,当该第一区块相邻的区块的特征值与该第二特征值一致时,则该第二特征值希通过验证,否则,所述第二特征值未通过验证。
为了方便叙述,将第一区块相邻的区块视为第四区块,当第四区块为该第一区块后一块区块时,该第一节点设备可以获取第四区块的特征值,并将第四区块的特征值与第二特征值进行对比,根据对比结果可以判断第四区块的特征值是否与第二特征值一致,若第四区块的特征值与第二特征值一致,则说明当第一节点设备将第一区块内的第一交易数据进行替换后,根据第二交易数据就可以保持替换后的区块与第四区块的连接性。若第四区块的特征值与第二特征值不一致,则说明当第一节点设备将第一区块内的第一交易数据进行替换后,根据第二交易数据就可以无法保持替换后的区块与第四区块的连接性,则该第一节点设备丢弃该第二交易数据。所以,通过上述对第二特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第四区块的连接性。
需要说明的是,在一些实施例中,第二交易数据可能未携带第二特征值,但携带了第三特征值,则第一节设备需要通过验证第三特征值,来保证的第三区块与第四区块的连接性。
步骤3104、当该第一特征值通过验证时,该第一节点设备查询该第一区块后一块区块的父特征值是否与该第三特征值一致,当该区块链上与该第一区块后一块区块的父特征值与该第三特征值一致时,则该第三特征值通过验证,否则,该第三特征值未通过验证。
区块的父特征值为该区块前一块区块的特征值,区块的父特征值可以是区块的父哈希。
该第一节点设备可以获取第四区块的父特征值,并将第四区块的父特征值与第三特征值进行对比,根据对比结果可以判断第四区块的父特征值是否与第三特征值一致,若第四区块的特征值与第父特征值一致,则说明当第一节点设备将第一区块内的第一交易数据进行替换后,根据第二交易数据就可以保持替换后的区块与第四区块的连接性。若第四区块的特征值与第二特征值不一致,则说明当第一节点设备将第一区块内的第一交易数据进行替换后,根据第二交易数据就可以无法保持替换后的区块与第四区块的连接性,则该第一节点设备丢弃该第二交易数据。所以,通过上述对第三特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第四区块的连接性,从而可以保证区块链的完整性。
需要说明的是,在一些实施例中,第一区块中还可能存储其他的第二交易数据,这个其他的第二交易数据已经替换第一区块中的交易数据,为了便于叙述,将这个其他的第二交易数据视为第四交易数据,因为只要区块中的交易数据进行替换,区块的特征值一定会发生变化,那么,第二交易数据中的第三特征值可能是第一区块进行了其他交易数据替换后的特征值,则此时的第三特征值本身就不会与第四区块的父特征值一致,该第一节点设备可以将第四交易数据中的第三特征值作为第一区块的特征值,那么,第一节点设备需要根据第一区块内的第四交易数据来验证第一区块与第四区块的连接性。
在一种可能的实施方式中,当第一区块内存储有第四交易数据时,该第一节点设备可以不验证第二交易数据中的第三特征值,而验证第四交易数据中的第三特征值,当第四交易数据中的第三特征值与第四区块的父特征值一致时,则说明可以根据第四交易数据保持第三区块与第四区块的连接性,那么,该第二交易数据中的第三特征值可以通过验证,否则,该第二交易数据中的第三特征值不可以通过验证。
步骤3105、当该第二交易数据内的第一特征值以及第二特征值均通过验证时,则第一节点设备对该第二交易数据验证通过,否则,第一节点设备不对该第二交易数据验证通过。
当第一节点设备没有对第二交易数据中的监管节点设备的签名进行验证时,若第一特征值以及第二特征值均通过验证,第二交易数据也通过验证,否则,第二交易数据未通过验证。当第二交易数据通过验证时,则第一节点设备可以执行交易数据替换的步骤。需要说明的是,当第一节点设备没有执行步骤3103时,无需执行本步骤3105。
步骤3106、当该第二交易数据内的第一特征值以及第三特征值均通过验证时,则第一节点设备对该第二交易数据验证通过,第一节点设备不对该第二交易数据验证通过。
当第一节点设备没有对第二交易数据中的监管节点设备的签名进行验证时,若第一特征值以及第三特征值均通过验证,第二交易数据也通过验证,否则,第二交易数据未通过验证。当第二交易数据通过验证时,则第一节点设备可以执行交易数据替换的步骤。需要说明的是,当第一节点设备没有执行步骤3104时,无需执行本步骤3106。
需要说明的是,当该第二交易数据内的监管节点设备的签名、第一特征值、第二特征值第三特征值没有通过验证时,该第一节点设备将丢弃该第二交易数据,不在执行本步骤310以及后续的步骤,从而通过验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。
为了进一说明交易数据替换的过程,参见图5,图5是本发明实施例提供的一种交易数据替换的示意图。从图5中可知,区块4中交易数据3为第一交易数据,区块链系统的中的任一节点设备将从其配置的区块链上获取区块4,并将获取的区块4中的交易数据3替换为第二交易数据,得到重新生成的区块4,该节点设备再将区块链上原来的区块4替换成重新生成的区块4,从而可以实现将区块链上的第一交易数据替换成第二交易数据。
为了更进一步表明步骤301-310所示的过程中,在此对图3的执行逻辑进行如下5点总结:
第1点、在创建区块链时,需要将具有特殊修改权限的节点(监管节点)设备的验证信息写进创世区块,监管节点设备拥有签发特殊交易的权限,权限的鉴定以及特殊交易的执行由区块链系统保证,是区块链系统需要提供的基础能力之一。
第2点、监管节点设备如果发现区块链中已经存入了不法信息,那么,监管节点设备可以根据业务实际情况,生成特殊交易(即是第二交易数据)替换原来包含不法信息的交易(即是第一交易数据),特殊交易可以不包含任何业务信息(相当于删除操作),也可以包含新的业务信息(相当于修改操作)。
第2点具体可以表现为下述2.1-2.3所示的内容。
2.1、为保证特殊交易可以被区块链系统中的所有节点设备正确地替换,特殊交易需要包含与区块链中的具体哪一个区块中的哪一条交易进行替换的信息(即是第一交易数据的位置信息)。
2.2、为保证被修改的区块(即是第一区块)的不可篡改性,特殊交易需要包含被修改的区块的新哈希值(即是第一特征值)。
具体地,需要删除第一区块中将要被特殊交易替代的原始交易(即是第一交易数据),然后计算删除后的第一区块的哈希值,即为新哈希值。
2.3、为保证区块链完整性,特殊交易需要包含使得第一区块与后一区块(即是第四区块)保持连接的信息。
具体地,a)特殊交易可以包含被第一区块被修改前哈希值的信息(即是第二特征值),相应地,校验区块链连接性时,若发现某一区块包含特殊交易,则以特殊交易中的oldhash作为本区块的哈希值,然后,校验后一区块的父哈希(prehash)是否与old hash相同,若相同,则校验通过。
b)特殊交易可以包含指向后一区块的哈希值的信息(即是第三特征值),相应地,校验区块链连接性时,若发现某一区块包含特殊交易,且其正确地指向了后一区块的哈希值,即后一区块的哈希值与特殊交易中的after hash相同,则校验通过,且后一区块无需校验prehash。
2.4、为保证特殊交易的不可篡改性和可验证性,监管节点设备需要为该特殊交易进行签名(即是监管节点设备的签名)。
第3点、监管节点设备发起交易替换请求,也即是监管节点设备在区块链系统中广播第二交易数据。
请求的发起可以有两种形式:a)交易形式,生成的特殊交易的形式符合区块链系统中一般交易的形式,区块链系统中的节点设备部正常进行交易数据打包,一旦该特殊交易被打包,则任意节点设备收到包含该特殊交易的区块(即是第二区块)时,按照前述规则进行交易替换。b)消息形式,将殊交易以消息的形式,直接在区块链网络中进行广播,则任意节点设备接收到包含该特殊交易的消息时,用特殊交易替换包含不法信息的交易。
第4点、任意节点设备收到交易替换请求以后,首先校验特殊交易是否由监管节点设备签发(即使用写入创世区块的验证信息进行签名验证),然后,重新计算的本区块哈希,分别算的本区块哈希校验是否与特殊交易中的对应信息保持一致以及本区块与后一区块的连接性,若均校验通过,则进行交易数据替换,否则,抛弃该特殊交易数据。
需要注意的是,如果发现区块链系统中不同节点设备相同位置的区块不同,则以包含特殊交易的区块为准。
第5点、处理完以上交易替换请求以后,则区块链系统继续按照正常流程运行。
本发明实施例所提供的方法,通过当在区块链上查询到第一交易数据时,生成携带第一交易数据在区块链上的位置信息的第二交易数据,当第二交易数据被存储至区块链上时,将在区块链上查询到的第一交易数据替换为第二交易数据,当该第一交易数据携带非法信息时,通过将第一交易数据替换为目标交易数据,从而可以去除第一交易数据中的非法信息,当将该区块链上的所有携带非法信息的交易数据都替换后,无需人为操作,就能够在区块链系统中实现对非法信息的大范围的去除,大大提高了非法信息的处理效率。并且,通过实时查询区块链上的区块,可以提高查询区块的实时性。并且,每经过预设时长后,监管节点设备才会对区块链上的区块进行一次查询操作,从而可以避免监管节点设备进行多次查询操作。通过验证监管节点设备的签名,可以保证第二交易为监管节点设备所生成。并且通过上述对第一特征值的验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与监管节点设备得到的第三区块相同,进而可以保证区块链系统中的每个节点设备配置的区块链上的第三区块相同。并且,通过上述对第二特征值或第三特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第四区块的连接性。并且,通过验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。
图3中第一节点设备直接将第一交易数据替换为第二交易数据,在一些实施例中,目标交易数据还可以将第一交易数据替换为第二交易数据所携带的第三交易数据,为了体现通过第二交易数据中的第三交易数据处理该区块链系统上的第一交易数据的过程,参见图6,图6是本发明实施例提供的一种数据处理方法的流程图,该方法具体包括;
601、监管节点设备查询区块链系统的区块链上的区块。
本步骤601与步骤301所述的过程同理,在此,本发明实施例对该步骤601不做赘述。
602、当在该区块链上的第一区块内查询到第一交易数据时,该监管节点设备广播停止服务消息,该停止服务消息用于指示停止将监管节点设备以外的节点设备所广播的普通交易数据打包至区块的服务。
在区块链系统中广播该停止服务的消息,以便区块链系统中的其他节点设备可以接收到该广播该停止服务的消息。
603、第一节点设备接收该停止服务消息。
该第一节点设备为该区块链系统中除该监管节点设备以外的任一节点设备,当该第一节点设备接收到该停止服务消息后,不再将普通交易数据的打包进区块,仅将监管节点设备所生成的第二交易数据打包至区块,普通交易数据为除第二交易数据以外的交易数据。
604、当在该区块链上的第一区块内查询到第一交易数据时,监管节点设备生成第二交易数据,该第二交易数据携带该第一交易数据在该区块链上的位置信息。
该第二交易数据还携带第三交易数据,该第三交易数据用于替换该第一交易数据,该第三交易数据的内容可以是空,也即是,第三交易数据中用于存储交易内容的字段为空,那么,由于该第三交易数据的内容为空,将第一交易数据替换为该第三交易数据,相当于删除了区块链上的该第一交易数据,该第三交易数据的内容也可以为非空的预设内容,也即是,第三交易数据中用于存储交易内容的字段存储有预设的非空内容,例如,为新的业务信息,那么,由于该第三交易数据的内容为非空,将第一交易数据替换为该第三交易数据,相当于修改了区块链上的该第一交易数据,本发明实施例对该非空的预设内容不做具体限定。
该监管节点设备查询第一区块内的第一交易数据的过程与步骤302中所示的监管节点设备查询第一交易数据的过程同理,在此,本发明实施例对该监管节点设备查询第一区块内的第一交易数据不做赘述。
该第二交易数据还可以包括监管节点设备的签名以及第四特征值,监管节点设备的签名用于表明第二交易数据由监管节点设备生成,该监管节点设备可以通过下述步骤6041-6044所示的过程成来获取该第四特征值。
步骤6041、该监管节点设备获取该第一区块的区块内容以及该第一区块之后所有区块的区块内容。
该监管节点设备可以从该监管节点所配置的区块链上获取第一区块的区块内容以及第一区块以后所有区块的区块内容。
步骤6042、该监管节点设备将该第一区块的区块内容中的该第一交易数据替换为该第三交易数据。
步骤6043、该监管节点设备根据替换后的该第一区块的区块内容、该第一区块之后所有区块的区块内容,重新生成多个区块。
重新生成的多个区块为重新生成的第一区块之后的所有区块。第一区块内的交易数据若发生了替换,则第一区块内的默克尔根哈希会出现变化,那么,若将第一区块内的第一交易数据进行替换,得到第三区块,第三区块的特征值与第一区块的特征值不同,则第三区块与第四区块之间将不会存在连接性关系,若仅重新生成第四区块,重新生成的第四区块与后面的区块将不会存在连接性关系,所以为了保持第一区块之后的所有区块之间的连接性关系,区块链系统中的节点设备需要重新生成第一区块之后的所有区块,由于,该区块链系统中的节点设备还都未对第一区块之后的所有区块进行重新生成,则监管节点设备可以先模拟重新生成该第一区块之后的所有区块,得到多个区块,并可以多个区块中的最后一块区块的特征值存储在第二交易数据中,当其他节点设备都认同最后一个区块的特征值时,可以对第一交易数据进行替换。
在模拟生成多个区块时,随着默克尔根哈希的变化,新生成的第一区块的区块哈希也会发生变化,那么,当监管节点设备在生成该第一区块后一块区块时,后一块区块的父哈希由原来的第一区块的区块哈希替换为新生成的第一区块的区块哈希,那么,监管节点设备新生成的后一块区块的区块哈希,会随着父哈希的改变出现改变,也即是,监管节点设备新生成的后一块区块的区块哈希出现变化,以此类的推,该监管节点设备最终生成的该第一区块后所有区块中最后一个区块的区块哈希会出现变化,因此,可以将该重新生成的该第一区块以后所有区块中的最后一个区块的区块哈希作为该第四特征值,从而使得第三区块与多个区块之间存在连接性关系。
步骤6044、该监管节点设备将该多个区块中最后一块区块的特征值确定为该第四特征值。
605、该监管节点设备在区块链系统中广播该第二交易数据。
本步骤605广播该第二交易数据的过程与步骤303监管节点设备在区块链系统中广播第二交易数据的过程同理,在此,本发明实施例对本步骤605不做赘述。
606、第一节点设备接收该第二交易数据。
607、当接收到多个交易数据时,仅对该多个交易数据中的第二交易数据进行验证,当该第二交易数据验证通过时,生成第二区块,该第二区块携带该第二交易数据。
当第一节点设备接收到停止服务消息后,会对后续接收到的交易数据进行判定,当任一交易数据中携带监管节点设备的签名时,该任一交易数据为第二交易数据。然后,该第一节点设备会对该第二交易数据进行验证。当第二交易数据通过验证时,该第一节点设备将第二交易数据进行打包,生成第二区块。
需要说明的是,对第二交易数据进行验证的方式与步骤305中对第二交易数据进行验证的方式同理在此,在此,本发明实施例二交易数据进行验证的方式不做赘述。另外,此时该第一节点设备为生成第二区块的设备,当然,生成第二区块的设备也可以是区块链系统内的任一节点设备。
608、该第一节点设备在该区块链系统中广播该第二区块。
该第一节点设备在该区块链系统广播该第二区块,以便除该第一节点设备以外的其他节点设备能够接收到该第二区块。
609、当区块链系统对该第二区块共识通过时,该第一节点设备将该第二区块存储在该区块链系统内的区块链上。
具体地,该第一节点设备可以将该第二区块存储在该第一节点设备配置的区块链上。需要说明的是,该区块链系统中的任一节点设备都会执行本步骤609。
需要说明的是,当将第二区块存储在该区块链上时,该第一节点设备可以将区块链系统中的普通交易数据打包成区块,也即是,当将第二区块存储在该区块链上时,监管节点设备之前正在区块链系统中广播的停止服务消息默认失效,区块链系统中节点可以将普通交易数据打包成区块。
610、该第一节点设备查询区块链系统的区块链上的区块。
本步骤611与步骤308所示的过程同理,在此,本发明实施例对本步骤610不做赘述。
611、当在该区块链上的第二区块内查询到第二交易数据时,该第一节点设备获取该任一区块内的该第二交易数据,该第二交易数据携带第一交易数据在该区块链上的位置信息,该第一交易数据为不符合目标条件的交易数据。
本步骤611与步骤309所示的过程同理,在此,本发明实施例对本步骤611不做赘述。
612、该第一节点设备根据该第二交易数据携带的位置信息以及该第二交易数据,对该区块链上的第一区块内的该第一交易数据进行替换,得到该区块链上的第三区块。
本发明实施例中的第三交易数据用于替换第一交易数据,那么,当该第二交易数据携带第三交易数据时,该第一节点设备可以将该区块链上的该第一区块内的该第一交易数据替换为该第三交易数据,以对该区块链上的第一区块内的该第一交易数据进行替换。
由于第一节点设备不是生成第二交易数据的设备,该第一节点设备在将第一交易数据进行替换之前,还需要对第二交易数据进行验证,当第二交易数据通过验证后,该第一节点设备才能执行本步骤612,第一节点设备对第二交易数据进行验证可以通过下述步骤6121至6126所示的过程来实现。
步骤6121、该第一节点设备对该第二交易数据中的监管节点设备的签名进行验证,当该区块链上的创世区块内存储有该监管节点设备的公钥时,该第二交易数据内的监管节点设备的签名通过验证,否则,该第二交易数据内的监管节点设备的签名未通过验证。
第一节点设备对监管节点设备的签名进行验证的过程,与步骤3101所示的验证监管节点设备的签名的过程同理,在此,本发明实施例不对验证监管节点设备的签名的过程进行赘述。
需要说明的是,当监管节点设备的签名通过验证,则说明该第二交易数据由监管节点设备生成,否则,该第二交易数据不是有监管节点生成,该第一节点设备就可以直接丢弃该第二交易数据。另外,在一些实施例中,会默认区块链上存储的第二交易数据均为监管节点设备生成,那么,此时,该第一节点设备不需要验证第二交易数据中的签名,可以直接执行下述步骤6122-6125,以验证第四特征值。
由于第一节点设备后续可能会将第一区块内的第一交易数据进行替换,为了保证替换后的第一区块与第一区块之后区块的连接性,该第一节点设备还需要对第二交易数据中的第四特征值进行验证,第一节点设备对第四特征值进行验证的步骤,参见步骤6122-6125。
步骤6122、当该第二交易数据内的监管节点设备的签名通过验证时,该第一节点设备获取该第一区块的区块内容、该第一区块之后以及第二区块之前的所有区块的区块内容。
由于区块链系统中的节点设备在接收到停止服务消息后,不会根据普通交易数据生成区块,仅会根据第二交易数据生成区块,因此,在监管节点设备在广播停止服务消息之后时间内,区块链系统中的区块链上新存储的区块为携带第二交易数据的区块,也即是第二区块,那么,可以重新生成第二区块前一块区块,通过重新生成的第二区块前一块区块的特征值,来验证该第四特征值。
步骤6123、该第一节点设备将该第一区块的区块内容中的该第一交易数据替换为该第三交易数据。
步骤6124、该第一节点设备根据替换后的该第一区块的区块内容以及该第一区块之后、该第二区块之前的所有区块的区块内容,重新生成多个区块。
第一节点设备执行本步骤6124的过程与步骤6041中监管节点设备生成多个区块的过程同理,在此,本发明实施例对本步骤6124进行赘述。
步骤6125、当该多个区块中的最后一个区块的特征值与该第四特征值一致时,该第一节点设备对该第四特征值验证通过,否则,第一节点设备不对该第四特征值验证通过。
多个区块中的最后一个区块,也即是,重新生成的第二区块前一块区块,该第一节点设备可以将多个区块中的最后一个区块的特征值与第四特征值进行对比,根据对比结果,来确定多个区块中的最后一个区块的特征值是否与该第四特征值一致。那么,当该多个区块中的最后一个区块的特征值与该第四特征值一致时,该第四特征值通过验证,否则,该第四特征值未通过验证,当该第四特征值未通过验证时,该第一节点设备可以直接丢弃该第二交易数据,而不再执行本步骤612以及后续步骤。所以,通过上述对第四特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第一区块后的所有区块的连接性,从而可以保证区块链的完整性。
步骤6126、当该监管节点设备的签名以及该第四特征值,均通过验证时,该第二交易数据通过验证,否则,该第二交易数据未通过验证,该第一节点丢弃未通过验证的第二交易数据。
当第一节点设备没有对第二交易数据中的监管节点设备的签名进行验证时,若第四特征值通过验证,第二交易数据也通过验证,否则,第二交易数据未通过验证。当第二交易数据通过验证时,则第一节点设备可以执行交易数据替换的步骤。那么,通过上述步骤6121-6126所述的过程验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。
需要说明的是,区块链系统内的任一节点设备都可以执行本步骤612,而对生成第二交易数据的监管节点设备而言,无需验证第二交易数据,可以直接执行本步骤612。
613、该第一节点设备根据该第三区块之后、该第二区块之前的所有区块,重新生成多个区块。
该第一节点设备可以先从区块链上获取第三区块之后、该第二区块之前的所有区块的区块内容,再根据所有区块的区块内容,重新生成多个区块,这多个区块为重新生成的第三区块之后、该第二区块之前的所有区块。
需要说明的是,由于第一节点设备在验证第四特征值时,已经生成了多个区块,所以,当第一节点设备对第四特征值验证通过,第一节点设备也可以不用执行本步骤613。
614、该第一节点设备将该第三区块之后、该第二区块之前的所有区块替换为该多个区块。
由于这多个区块和第三区块之间存在连接性关系,当将该第三区块之后、该第二区块之前的所有区块替换为该多个区块后,就可以保证区块链的完整性。
需要说明的是,区块链系统中的节点设备都需执行本步骤613,从而区块链系统内的区块链上将不存在第一交易数据。
为了进步说明步骤613-614所示的过程,参见图7,图7为本发明实施例提供的一种数据处理方法的示意图。当监管节点设备查询到区块链中的区块4中有第一交易数据3时,区块链系统内的区块链上有9个区块,分别为区块0-8,当将携带第二交易数据的区块9存储在区块链上后,区块链系统中的节点设备将区块4中的第一交易数据3替换为第二交易数据所携带的第三交易数据,并重新生成替换后的区块4以及区块5-8,得到重新生成的区块4-8,节点设备将区块链上原来的区块4-8替换为重新生成的区块4-8。
为了更进一步表明步骤601-614所示的过程中,在此对图6的执行逻辑进行如下4点总结:
第1点、在创建区块链时,需要将具有特殊修改权限的节点(监管节点)设备的验证信息写进创世区块,监管节点设备拥有签发特殊交易的权限,权限的鉴定以及特殊交易的执行由区块链系统保证,是区块链系统需要提供的基础能力之一。
第2点、监管节点设备如果发现区块链中已经存入了不法信息,那么,监管节点设备可以根据业务实际情况,生成删除不法消息或者修改不法消息的特殊交易(即是第二交易数据)。
第3点、监管节点设备在区块链网络中广播特殊交易,任意节点设备收到特殊交易以后,进行验证签名,校验通过以后,则根据特殊交易的内容直接删除包含不法信息的交易或者修改包含不法消息的交易(即是第一交易数据),特殊交易的内容相当于第三交易数据。然后,重新生成原包含不法消息的区块(重新生成的区块即是第二区块)及以后的全部区块(每个区块中所包含的交易不变、交易顺序不变)
具体地,a)在特殊交易发起前,先停止区块链系统对外的服务,不再接受任何普通交易打包请求(即是广播停止服务消息);b)在特殊交易发起前,监管节点设备需要模拟重新生成原包含不法消息的区块及以后的全部区块这一过程,然后,在特殊交易中附加重新生成的最后一个区块的哈希值(即是第四特征值),以此保证重新生成的区块链的不可篡改性;c)在区块链系统中广播特殊交易,特殊交易被打包在重新生成的区块链的最后一个区块之后,需保证特殊交易中所记录的区块哈希与其所在区块的prehash相同;d)以上过程执行成功以后,区块链系统方可重新对外提供服务,接受普通交易打包请求。
第4点、处理完以上特殊交易以后,则区块系统继续按照正常流程运行。
本发明实施例提供的方法,通过当在区块链上查询到第一交易数据时,生成携带第一交易数据在区块链上的位置信息的第二交易数据,当第二交易数据被存储至区块链上时,将在区块链上查询到的第一交易数据替换为第二交易数据,当该第一交易数据携带非法信息时,通过将第一交易数据替换为目标交易数据,从而可以去除第一交易数据中的非法信息,当将该区块链上的所有携带非法信息的交易数据都替换后,无需人为操作,就能够在区块链系统中实现对非法信息的大范围的去除,大大提高了非法信息的处理效率。并且,每经过预设时长后,监管节点设备才会对区块链上的区块进行一次查询操作,从而可以避免监管节点设备进行多次查询操作。通过验证监管节点设备的签名,可以保证第二交易为监管节点设备所生成,并且,通过上述对第四特征值进行验证,可以保证第一节点设备后续对第一交易数据进行替换后得到的第三区块与第一区块后的所有区块的连接性,从而可以保证区块链的完整性。并且,通过验证第二交易数据,可以保证第二交易数据的有效性,避免第一节点设备处理无效的第二交易数据,降低了第一节点设备的工作量。并且,将该第三区块之后、该第二区块之前的所有区块替换为该多个区块后,就可以保证区块链的完整性。
本发明实施例提供一种数据结构,该数据结构包括第一特征值以及目标特征值,该第一特征值为存储具有该数据结构的交易数据的区块的特征值,该目标特征值为具有该数据结构的交易数据的区块的下一个区块的特征值或父特征值。
可选地,该数据结构包括第一交易数据在区块链上的位置信息,该第一交易数据为不符合目标条件的交易数据。
可选地,该数据结构中的交易内容为空或为非空的预设内容。
可选地,该数据结构包括具有监管权限的节点设备的签名。
本发明实施例提供一种该数据结构,该数据结构包括第三交易数据以及目标特征值,该目标特征值为存储具有该数据结构的交易数据的区块的上一个区块的特征值。
可选地,该数据结构包括第一交易数据在该区块链上的位置信息,该第一交易数据为不符合目标条件的交易数据。
可选地,该第三交易数据中的交易内容为空或为非空的预设内容。
可选地,该数据结构包括具有监管权限的节点设备的签名。
为了保证区块链系统内的数据不被恶意修改,可以通过上述数据数据结构来验证区块之间的连接性,以保证区块链系统内存储的数据不被恶意修改,以图8所示的本发明实施例提供的一种区块链数据校验方法的流程图为例,说明校验的过程。
该方法用于校验区块链上的区块数据是否合法,该区块链中包括第一区块,该第一区块中存储有第一目标特征值,该区块链中还包括第二区块,该第二区块中存储有第二目标特征值,该方法包括下述步骤801-805所示的过程:
801、节点设备获取该区块链上的一个目标区块。
该节点设备为区块链系统中的任一节点设备,该目标区块为该区块链上的任一区块,该节点设备可以通过步骤301所示的查询过程,来获取目标区块,在此,本发明实施例对本步骤801不做赘述。
802、当该目标区块为第一区块时,该节点设备将该第一区块中存储的第一目标特征值与该目标区块的上一个区块的特征值进行对比,以确定该目标区块的上一个区块是否合法。
第一区块内的交易数据未经过任何修改,该第一目标特征值为第一区块的父特征值。由于区块链系统内的任一区块的父特征值为任一区块的上一个区块的特征值,因此,可通过任一区块的父特征值,来验证任一区块的上一个区块是否合法。
当将该第一区块中存储的第一目标特征值与该目标区块的上一个区块的特征值进行对比时,若第一目标特征值与该目标区块的上一个区块的特征值一致,则说明目标区块与目标区块的上一个区块之间的连接正确,则认为目标区块的上一个区块合法;否则说明目标与目标区块的上一个区块之间的连接不正确,则认为目标区块的上一个区块不合法。
803、当该目标区块为第二区块时,节点设备将该第二区块中存储的第二目标特征值与该目标区块的下一个区块的特征值进行比对,以确定该目标区块是否合法。
第二区块内的交易数据被修改过,第二目标特征值可以被存储在被修改过的交易数据内,该被修改的交易数据可以是第二交易数据,该第二目标特征值为目标区块被修改前目标区块的下一个区块的特征值,例如,第二交易数据内的第二特征值,由图3所示的数据处理方法可知,可以使用该第二目标特征值以及目标区块的下一个区块的特征值,来验证目标区块是否合法。
当将该第二区块中存储的第二目标特征值与该目标区块的下一个区块的特征值进行比对时,若第二目标特征值与目标区块的下一个区块的特征值一致,则说明目标区块与目标区块的下一个区块之间的连接正确,则认为目标区块合法,否则说明目标区块与目标区块的下一个区块之间的连接不正确,则认为目标区块不合法。
804、当该目标区块为第二区块时,节点设备将该第三目标特征值与该目标区块的上一个区块的特征值进行对比,以确定该目标区块的上一个区块是否合法,该第二区块中还包括第三目标特征值。
第三目标特征值为第二区块的父特征值,因此,节点设备可以使用该第三目标特征值以及目标区块的上一个区块的特征值,来验证目标区块的上一个区块是否合法。
当将该第三目标特征值与该目标区块的上一个区块的特征值进行对比时,若第三目标特征值与目标区块的上一个区块的特征值一致,说明目标区块与目标区块的上一个区块之间的连接正确,则认为目标区块的上一个区块合法,否则说明目标区块与目标区块的上一个区块之间的连接不正确,则认为目标区块的上一个区块不合法。
上述步骤803和804所示的过程,根据目标区块内存储的特征值,来验证目标区块本身是否合法以及目标区块的上一个区块是否合法,从而可以验证区块链上两个相邻的区块是否合法。
对于两个相邻的区块可能包括第一区块与第二块相邻、第二区块与第二区块相邻以及第一区块与第一区块相邻三种情况。当第一区块与第二区块相邻时,可以分为两种情况,第一种情况为第一区块在第二区块的前面,第二种情况为第二区块在第一区块的前面,对于第一种情况可以使用步骤803和804的过程来验证,对于第二种情况,可以使用下述步骤805所示的过程来验证。
当第二区块与第二区块相邻时,可以使用步骤803和804的过程来验证,对于第一区块与第一区块相邻可以使用步骤802所示的过程来验证。
805、当该目标区块为第一区块,且该目标区块的上一区块为第二区块时,该节点设备将目标区块的第一目标特征值与该目标区块的上一区块的原始特征值进行对比,以确定该目标区块的上一区块是否合法,该第二区块中还包括原始特征值以及修改特征值,该原始特征值是该第二区块的交易数据修改前的特征值,该更新特征值是该第二区块的交易数据修改后的特征值。
该原始特征值以及修改特征值可以被存储在第二区块内修改后的交易数据内,该原始特征值可以是第二交易数据内的第三特征值,修改特征值可以是该第二交易数据内的第一特征值。
当将目标区块的第一目标特征值与该目标区块的上一区块的原始特征值进行对比时,若第一目标特征值与述目标区块的上一区块的原始特征值一致,则说明目标区块与目标区块的上一区块之间的连接正确,则认为目标区块的上一区块合法,否则说明目标区块与目标区块的上一区块之间的连接不正确,则目标区块的上一区块不合法。
本发明实施例提供的方法,通过将第一区块中存储的第一目标特征值与目标区块的上一个区块的特征值进行对比,以确定该目标区块的上一个区块是否合法,并将该第二区块中存储的第二目标特征值与该目标区块的下一个区块的特征值进行比对,以确定该目标区块是否合法。即使区块内的交易数据发生改变,区块内存储的第一目标特征值和第二目标特征值不会发生改变,因此,直接根据第一目标特征值或第二目标特征值来校验区块是否合法,不会影响到最终的校验结果,从而校验结果较为准确。
图9是本发明实施例提供的一种数据处理装置的结构示意图,该装置包括:
查询模块901,用于执行上述步骤301;
生成模块902,用于执行上述步骤302;
广播模块903,用于执行上述步骤303;
存储模块904,用于执行上述步骤307;
替换模块905,用于执行上述步骤310。
可选地,所述查询模块901用于:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
可选地,所述替换模块905,用于将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
可选地,所述第二交易数据还携带第一特征值,所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
可选地,所述装置还包括第一获取模块和计算模块,
所述第一获取模块,用于执行上述步骤3021;
所述替换模块905,还用于执行上述步骤3022;
所述计算模块,用于执行上述步骤3023。
可选地,所述第二交易数据中的交易内容为空或为非空的预设内容。
可选地,所述替换模块905,还用于当所述第二交易数据携带第三交易数据时,将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第三交易数据;
所述生成模块902,还用于执行上述步骤613;
所述替换模块905、还用于执行上述步骤614。
可选地,所述第二交易数据还携带第四特征值,所述第四特征值为所述多个区块中最后一个区块的特征值。
可选地,所述装置还包括第二获取模块和确定模块,
所述第二获取模块,用于执行上述步骤6122;
所述替换模块905,还用于执行上述步骤6123;
所述生成模块902,还用于执行上述步骤6124;
所述确定模块,用于执行上述步骤6125。
可选地,所述广播模块903,还用于执行上述步骤602。
可选地,所述第三交易数据中的交易内容为空或为非空的预设内容。
图10是本发明实施例提供的一种数据处理装置的结构示意图,该装置包括:
查询模块1001,用于执行上述步骤601;
获取模块1002,用于执行上述步骤603;
替换模块1003,用于执行上述步骤611。
可选地,所述查询模块1001用于:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
可选地,所述替换模块1003用于:
将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
可选地,所述第二交易数据还携带第一特征值;所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
可选地,所述装置还包括:
执行模块,用于当所述第二交易数据内的第一特征值以及第二特征值均通过验证时,执行交易数据替换的步骤;或,
所述执行模块,还用于当所述第二交易数据内的第一特征值以及第三特征值均通过验证时,执行交易数据替换的步骤。
可选地,当所述区块链上的创世区块内存储有所述监管节点设备的公钥时,所述监管节点设备的签名通过验证,否则,所述监管节点设备的签名未通过验证;
若将所述第一区块内的所述第一交易数据替换后,所得到的区块的特征值与所述第一特征值一致时,则所述第一特征值通过验证,否则,所述第一特征值未通过验证;
当所述第一区块相邻的区块的特征值与所述第二特征值一致时,则所述第二特征值希通过验证,否则,所述第二特征值未通过验证;
当所述区块链上与所述第一区块后一块区块的父特征值与所述第三特征值一致时,则所述第三特征值通过验证,否则,所述第三特征值未通过验证。
可选地,所述第二交易数据中的交易内容为空或为非空的预设内容。
可选地,所述装置还包括:
第一接收模块,用于执行上述步骤304;
第一生成模块,用于执行上述步骤305;
存储模块,用于执行上述步骤307。
可选地,所述替换模块1003,还用于:
当所述第二交易数据携带第三交易数据时,将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第三交易数据;
所述装置还包括第二生成模块,所述第二生成模块,用于执行上述步骤613;
所述替换模块1003,还用于执行上述步骤614。
可选地,所述第二交易数据还携带第四特征值,所述第四特征值为所述多个区块中最后一个区块的特征值。
可选地,当所述第二交易数据内的所述第四特征值均通过验证时,执行交易数据替换的步骤。
可选地,所述第三交易数据中的交易内容为空或为非空的预设内容。
可选地,所述装置还包括第二接收模块和存储模块,所述第二接收模块,用于执行上述步骤603;
所述第二生成模块,还用于执行上述步骤607;
所述存储模块,用于执行上述步骤609。
图11是本发明实施例提供的一种区块链数据校验装置的结构图,所述装置用于校验区块链上的区块数据是否合法,所述区块链中包括第一区块,所述第一区块中存储有第一目标特征值,所述区块链中还包括第二区块,所述第二区块中存储有第二目标特征值,所述装置包括:
获取模块1101,用于执行上述步骤801;
对比模块1102,用于执行上述步骤802;
该对比模块1102,还用于执行上述步骤803。
可选地,所述第二区块中还包括第三目标特征值,当所述目标区块为第二区块时,该对比模块1102,还用于执行上述步骤804。
可选地,所述第二区块中还包括原始特征值以及修改特征值,所述原始特征值是所述第二区块的交易数据修改前的特征值,所述更新特征值是所述第二区块的交易数据修改后的特征值,当所述目标区块为第一区块,且所述目标区块的上一区块为第二区块时,该对比模块1102,还用于执行上述步骤805。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据处理装置在处理数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述实施例提供的区块链数据校验在校验数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链数据校验方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (28)

1.一种区块链数据校验方法,其特征在于,所述方法用于校验区块链上的区块数据是否合法,所述区块链中包括第一区块,所述第一区块中存储有第一目标特征值,所述区块链中还包括第二区块,所述第二区块中存储有第二目标特征值,所述方法包括:
获取所述区块链上的一个目标区块;
当所述目标区块为第一区块时,将所述第一区块中存储的第一目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法;
当所述目标区块为第二区块时,将所述第二区块中存储的第二目标特征值与所述目标区块的下一个区块的特征值进行比对,以确定所述目标区块是否合法。
2.根据权利要求1所述的方法,其特征在于,所述第二区块中还包括第三目标特征值,当所述目标区块为第二区块时,所述方法还包括:将所述第三目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法。
3.根据权利要求1所述的方法,其特征在于,所述第二区块中还包括原始特征值以及修改特征值,所述原始特征值是所述第二区块的交易数据修改前的特征值,所述更新特征值是所述第二区块的交易数据修改后的特征值,当所述目标区块为第一区块,且所述目标区块的上一区块为第二区块时,所述方法还包括:将目标区块的第一目标特征值与所述目标区块的上一区块的原始特征值进行对比,以确定所述目标区块的上一区块是否合法。
4.一种数据处理方法,其特征在于,所述方法包括:
查询区块链系统的区块链上的区块;
当在所述区块链上的第一区块内查询到第一交易数据时,生成第二交易数据,所述第二交易数据携带所述第一交易数据在所述区块链上的位置信息;
在所述区块链系统中广播所述第二交易数据;
将第二区块存储在所述区块链上,所述第二区块携带所述第二交易数据;
基于所述第一交易数据在所述区块链上的位置信息以及所述第二交易数据,对所述区块链上的所述第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
5.根据权利要求4所述的方法,其特征在于,所述查询区块链系统的区块链上的区块包括:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
6.根据权利要求4所述的方法,其特征在于,所述对所述区块链上的所述第一区块内的所述第一交易数据进行替换包括:
将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
7.根据权利要求6所述的方法,其特征在于,所述第二交易数据还携带第一特征值,所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述第一区块的区块内容;
将所述区块内容中的所述第一交易数据替换为所述第二交易数据;
计算替换后的所述第一区块的特征值,得到所述第一特征值。
9.根据权利要求6所述的方法,其特征在于,所述第二交易数据中的交易内容为空或为非空的预设内容。
10.根据权利要求4所述的方法,其特征在于,所述对所述区块链上的所述第一区块内的所述第一交易数据进行替换包括:
当所述第二交易数据携带第三交易数据时,将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第三交易数据;
所述方法还包括:
根据所述第三区块之后、所述第二区块之前的所有区块,重新生成多个区块;
将所述第三区块之后、所述第二区块之前的所有区块替换为所述多个区块。
11.根据权利要求10所述的方法,其特征在于,所述第二交易数据还携带第四特征值,所述第四特征值为所述多个区块中最后一个区块的特征值。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
获取所述第一区块的区块内容和所述第一区块之后所有区块的区块内容;
将所述第一区块的区块内容中的所述第一交易数据替换为所述第三交易数据;
根据替换后的所述第一区块的区块内容、所述第一区块之后所有区块的区块内容,重新生成多个区块;
将所述多个区块中最后一块区块的特征值确定为所述第四特征值。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当在所述区块链上的第一区块内查询到第一交易数据时,在所述区块链系统内广播停止服务消息,所述停止服务消息用于指示停止将监管节点设备以外的节点设备所广播的普通交易数据打包至区块的服务。
14.根据权利要求10所述的方法,其特征在于,所述第三交易数据中的交易内容为空或为非空的预设内容。
15.一种数据处理方法,其特征在于,所述方法包括:
查询区块链系统的区块链上的区块;
当在所述区块链上的第二区块内查询到第二交易数据时,获取所述第二区块内的所述第二交易数据,所述第二交易数据携带第一交易数据在所述区块链上的位置信息;
根据所述第二交易数据携带的位置信息以及所述第二交易数据,对所述区块链上的第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
16.根据权利要求15所述的方法,其特征在于,所述对所述区块链上的第一区块内的所述第一交易数据进行替换包括:
将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
17.根据权利要求16所述的方法,其特征在于,所述第二交易数据还携带第一特征值;所述第一特征值为所述第一区块未存储所述第一交易数据时的特征值;
所述第二交易数据还携带第二特征值和第三特征值中的至少一项,所述第二特征值为所述区块链上所述第一区块相邻的区块的特征值,所述第三特征值为所述第一区块未进行交易数据替换时的特征值。
18.根据权利要求15所述的方法,其特征在于,所述方法还包括:
接收所述第二交易数据;
当所述第二交易数据验证通过时,生成所述第二区块;
当区块链系统对携带所述第二区块共识通过时,将所述第二区块存储在所述区块链系统内的区块链上。
19.根据权利要求15所述的方法,其特征在于,所述方法还包括:
接收广播停止服务消息,所述停止服务消息用于指示停止将监管节点设备以外的节点设备所广播的普通交易数据打包至区块的服务;
当接收到多个交易数据时,仅对所述多个交易数据中的第二交易数据进行验证,当所述第二交易数据验证通过时,生成所述第二区块;
当所述区块链系统对携带所述第二区块共识通过时,将所述第二区块存储在所述区块链系统内的区块链上。
20.一种区块链数据校验装置,其特征在于,所述方法用于校验区块链上的区块数据是否合法,所述区块链中包括第一区块,所述第一区块中存储有第一目标特征值,所述区块链中还包括第二区块,所述第二区块中存储有第二目标特征值,所述装置包括:
获取模块,用于获取所述区块链上的一个目标区块;
对比模块,用于当所述目标区块为第一区块时,将所述第一区块中存储的第一目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法;
所述对比模块,还用于当所述目标区块为第二区块时,将所述第二区块中存储的第二目标特征值与所述目标区块的下一个区块的特征值进行比对,以确定所述目标区块是否合法。
21.根据权利要求20所述的装置,其特征在于,所述第二区块中还包括第三目标特征值,当所述目标区块为第二区块时,所述对比模块还用于:将所述第三目标特征值与所述目标区块的上一个区块的特征值进行对比,以确定所述目标区块的上一个区块是否合法。
22.根据权利要求20所述的装置,其特征在于,所述第二区块中还包括原始特征值以及修改特征值,所述原始特征值是所述第二区块的交易数据修改前的特征值,所述更新特征值是所述第二区块的交易数据修改后的特征值,当所述目标区块为第一区块,且所述目标区块的上一区块为第二区块时,所述对比模块还用于:将目标区块的第一目标特征值与所述目标区块的上一区块的原始特征值进行对比,以确定所述目标区块的上一区块是否合法。
23.一种数据处理装置,其特征在于,所述装置包括:
查询模块,用于查询区块链系统的区块链上的区块;
生成模块,用于当在所述区块链上的第一区块内查询到第一交易数据时,生成第二交易数据,所述第二交易数据携带所述第一交易数据在所述区块链上的位置信息;
广播模块,用于在所述区块链系统中广播所述第二交易数据;
存储模块,用于将第二区块存储在所述区块链上,所述第二区块携带所述第二交易数据;
替换模块,用于基于所述第一交易数据在所述区块链上的位置信息以及所述第二交易数据,对所述区块链上的所述第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
24.根据权利要求23所述的装置,其特征在于,所述查询模块用于:
每将一个区块存储在所述区块链上后,检测所述区块;或,
每经过预设时长后,检测所述预设时长内被存储至所述区块链上的区块。
25.根据权利要求23所述的装置,其特征在于,所述替换模块,用于将所述区块链上的所述第一区块内的所述第一交易数据替换为所述第二交易数据。
26.一种数据处理装置,其特征在于,所述装置包括:
查询模块,用于查询区块链系统的区块链上的区块;
获取模块,用于当在所述区块链上的第二区块内查询到第二交易数据时,获取所述第二区块内的所述第二交易数据,所述第二交易数据携带第一交易数据在所述区块链上的位置信息;
替换模块,用于根据所述第二交易数据携带的位置信息以及所述第二交易数据,对所述区块链上的第一区块内的所述第一交易数据进行替换,得到所述区块链上的第三区块。
27.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求19任一项所述的方法所执行的操作。
28.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求19任一项所述的方法所执行的操作。
CN201910557202.9A 2019-06-25 2019-06-25 区块链数据校验方法、数据处理方法、装置及设备 Active CN112132574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910557202.9A CN112132574B (zh) 2019-06-25 2019-06-25 区块链数据校验方法、数据处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910557202.9A CN112132574B (zh) 2019-06-25 2019-06-25 区块链数据校验方法、数据处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112132574A true CN112132574A (zh) 2020-12-25
CN112132574B CN112132574B (zh) 2024-08-02

Family

ID=73849574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910557202.9A Active CN112132574B (zh) 2019-06-25 2019-06-25 区块链数据校验方法、数据处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112132574B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331443A (zh) * 2022-03-10 2022-04-12 南京金宁汇科技有限公司 一种删除区块链数据的方法及装置
CN114500433A (zh) * 2022-01-21 2022-05-13 北京送好运信息技术有限公司 基于区块链与默克尔树的多邮件数据保全方法
CN116781697A (zh) * 2023-07-08 2023-09-19 武昌理工学院 基于大数据处理技术的5g信号处理系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171810A (zh) * 2017-06-27 2017-09-15 中国联合网络通信集团有限公司 区块链的验证方法及装置
CN107465698A (zh) * 2017-09-26 2017-12-12 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN109067541A (zh) * 2018-06-29 2018-12-21 阿里巴巴集团控股有限公司 基于区块链的数据验证方法及装置、电子设备
CN109493044A (zh) * 2018-11-08 2019-03-19 深圳壹账通智能科技有限公司 区块链区块删除方法、装置以及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171810A (zh) * 2017-06-27 2017-09-15 中国联合网络通信集团有限公司 区块链的验证方法及装置
CN107465698A (zh) * 2017-09-26 2017-12-12 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN109067541A (zh) * 2018-06-29 2018-12-21 阿里巴巴集团控股有限公司 基于区块链的数据验证方法及装置、电子设备
CN109493044A (zh) * 2018-11-08 2019-03-19 深圳壹账通智能科技有限公司 区块链区块删除方法、装置以及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李双远;张明齐;: "浅谈区块链技术及应用价值", 吉林化工学院学报, no. 03, 15 March 2019 (2019-03-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500433A (zh) * 2022-01-21 2022-05-13 北京送好运信息技术有限公司 基于区块链与默克尔树的多邮件数据保全方法
CN114500433B (zh) * 2022-01-21 2024-04-19 北京送好运信息技术有限公司 基于区块链与默克尔树的多邮件数据保全方法
CN114331443A (zh) * 2022-03-10 2022-04-12 南京金宁汇科技有限公司 一种删除区块链数据的方法及装置
CN114331443B (zh) * 2022-03-10 2022-06-21 南京金宁汇科技有限公司 一种删除区块链数据的方法及装置
CN116781697A (zh) * 2023-07-08 2023-09-19 武昌理工学院 基于大数据处理技术的5g信号处理系统及其方法

Also Published As

Publication number Publication date
CN112132574B (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
CN108985757B (zh) 信息处理方法、装置及系统、存储介质、电子设备
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN110869967B (zh) 用于并行处理区块链交易的系统和方法
US10601598B2 (en) System and method for storing the location on a blockchain of a hash of a digital item within said digital item
CN109831487B (zh) 分片文件验证方法及终端设备
CN109933629B (zh) 数据同步方法、装置、计算机设备以及可读存储介质
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
CN110597839B (zh) 交易数据处理方法、装置、设备以及存储介质
US10938565B2 (en) Method and apparatus for inter-blockchain transmission of authenticable message
CN112132574A (zh) 区块链数据校验方法、数据处理方法、装置及设备
US20120324229A1 (en) System and method for generating keyless digital multi-signatures
CN109525403B (zh) 一种支持用户全动态并行操作的抗泄露公开云审计方法
CN110597918B (zh) 一种账户管理方法、装置及计算机可读存储介质
CN109634615B (zh) 应用安装包的发布方法、验证方法和装置
CN111275438B (zh) 区块链网络的共识方法、装置、设备和存储介质
US20200110905A1 (en) Security hardened software footprint in a computing environment
US20200169389A1 (en) Creating a blockchain account and verifying blockchain transactions
CN117251889B (zh) 区块链共识方法、相关装置和介质
US20200401317A1 (en) Method, device, and computer program product for managing data placement
CN114329622A (zh) 一种文件保护方法、验证方法、装置、设备和介质
CN110971393B (zh) 基于区块链动态社交外包数据关键词查询验证方法及装置
CN110474968B (zh) 一种自适感知式的区块链混合共识机制架构及其方法
CN113300837B (zh) 一种基于区块证明的跨链验证方法、装置和电子设备
CN112804066A (zh) 一种基于中继设备跨链中转消息的方法和装置
CN111400328A (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