CN108961052B - 区块链数据的验证方法、存储方法、装置、设备和介质 - Google Patents

区块链数据的验证方法、存储方法、装置、设备和介质 Download PDF

Info

Publication number
CN108961052B
CN108961052B CN201810662650.0A CN201810662650A CN108961052B CN 108961052 B CN108961052 B CN 108961052B CN 201810662650 A CN201810662650 A CN 201810662650A CN 108961052 B CN108961052 B CN 108961052B
Authority
CN
China
Prior art keywords
transaction
block
identifier
transaction identifier
data
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
Application number
CN201810662650.0A
Other languages
English (en)
Other versions
CN108961052A (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.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing 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 Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN201810662650.0A priority Critical patent/CN108961052B/zh
Publication of CN108961052A publication Critical patent/CN108961052A/zh
Application granted granted Critical
Publication of CN108961052B publication Critical patent/CN108961052B/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例公开了一种区块链数据的验证方法、存储方法、装置、设备和介质。该区块链数据的验证方法包括:通过向区块链网络节点发起事务数据获取请求并接收反馈的事务数据;根据与事务数据对应的区块标识向区块链网络节点发送事务标识数组获取请求,并获取区块中的事务标识数组;从事务标识数组中提取基础事务标识和附加事务标识;根据提取的基础事务标识和附加事务标识对事务数据进行验证。本发明实施例在验证事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而可以验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据的情况。

Description

区块链数据的验证方法、存储方法、装置、设备和介质
技术领域
本发明实施例涉及区块链数据处理技术,尤其涉及区块链数据的验证方法、存储方法、装置、设备和介质。
背景技术
区块链技术的一个典型特点是需要区块链网络节点都存储完整的区块链数据,这显然对节点硬件存储能力要求很高,不适合硬件配置低的设备。例如不适合用户终端直接作为区块链网络节点。因此,用户终端等设备想参与区块链网络时,会需要从区块链网络节点获取区块链数据。
基于上述方案面对的问题时,当需要得到区块数据或事务数据时,需要向区块链网络中其他节点发送获取数据的请求,由其他节点反馈区块数据或事务数据。在此过程中的一个重要问题是,如何验证反馈的数据是正确的。
目前常见的区块链网络所处理的事务请求类型,一种是比特币(UTXO)形式的可读字段事务请求,另一种是以太坊(EVM)为代表的代码段形式的智能合约,也存在两种形式结合的事务请求,需要提供一种适用于各种形式事务请求的数据验证方法。
发明内容
本发明实施例提供了一种区块链数据的验证方法、存储方法、装置、设备和介质,以实现对各种形式区块链数据的有效验证。
第一方面,本发明实施例提供了一种区块链数据的验证方法,该方法包括:
向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;
根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;
从所述事务标识数组中提取基础事务标识和附加事务标识;
根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
第二方面,本发明实施例还提供了一种区块链数据的存储方法,应用于区块生成节点,所述方法包括:
获取区块链网络中的事务请求;
根据所述事务请求产生事务数据,并添加到区块中;
根据添加到区块中的事务数据产生基础事务标识;
运行所述事务请求中的智能合约,将运行结果添加到区块中;
根据添加到区块中的智能合约运行结果产生附加事务标识;
将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
第三方面,本发明实施例还提供了一种区块链数据的验证装置,该装置包括:
事务数据获取模块,用于向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;
事务标识数组获取模块,用于根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;
事务标识提取模块,用于从所述事务标识数组中提取基础事务标识和附加事务标识;
事务数据验证模块,用于根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
第四方面,本发明实施例还提供了一种区块链数据的存储装置,配置于区块生成节点,该装置包括:
事务请求获取模块,用于获取区块链网络中的事务请求;
事务数据产生模块,用于根据所述事务请求产生事务数据,并添加到区块中;
基础事务标识产生模块,用于根据添加到区块中的事务数据产生基础事务标识;
运行结果产生模块,用于运行所述事务请求中的智能合约,将运行结果添加到区块中;
附加事务标识产生模块,用于根据添加到区块中的智能合约运行结果产生附加事务标识;
事务标识关联存储模块,用于将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
第五方面,本发明实施例还提供了一种电子设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面实施例所提供的一种区块链数据的验证方法。
第六方面,本发明实施例还提供了一种电子设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第二方面实施例所提供的一种区块链数据的存储方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面实施例所提供的一种区块链数据的验证方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第二方面实施例所提供的一种区块链数据的存储方法。
本发明实施例通过向区块链网络节点发起事务数据获取请求并接收反馈的事务数据;根据与事务数据对应的区块标识向区块链网络节点发送事务标识数组获取请求,并获取区块中的事务标识数组;从事务标识数组中提取基础事务标识和附加事务标识;根据提取的基础事务标识和附加事务标识对事务数据进行验证。采用上述技术方案在验证事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而可以验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
附图说明
图1是本发明实施例一提供的一种区块链数据的验证方法的流程示意图;
图2是本发明实施例二提供的一种区块链数据的验证方法的流程示意图;
图3是本发明实施例三提供的一种区块链数据的验证方法的流程示意图;
图4是本发明实施例四提供的一种区块链数据的存储方法的流程示意图;
图5是本发明实施例五提供的一种区块链数据的验证装置的结构示意图;
图6是本发明实施例六提供的一种区块链数据的存储装置的结构示意图;
图7是本发明实施例七提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种区块链数据的验证方法的流程示意图,本实施例可适用于电子设备从区块链网络节点获取数据,并对获取的区块链数据加以验证的情况,该方法可以由区块链数据的验证装置来执行,该装置由软件和/或硬件实现并具体配置于电子设备中,该电子设备可以是区块链网络中的常规节点或轻量级节点,也可以是非区块链网络节点。
本发明实施例可适用于处理多种形式的事务数据验证,特别适用于事务数据的内容不能单一地进行哈希签名形成事务标识的情况。以下举例说明比特币(UTXO)结合以太坊(EVM)智能合约形式的事务数据形式。
根据事务的需要,出现了可读字段形式的事务请求与代码段形式的事务请求结合的形式。例如,在UTXO的某个字段中嵌入EVM的智能合约代码。处理该事务请求时,一方面要处理字段内容,形成事务数据,另一方面还要运行智能合约,产生智能合约的运行结果。运行结果一般与事务数据都存储在区块中,但是并不存储在一起。且通常是先产生事务数据添加至区块中,对该事务数据进行哈希计算产生事务标识,而后运行智能合约,其运行结果继续存储在区块中。因此运行结果的内容是无法体现在事务标识中的,所以现有技术中难以验证。
本发明实施例针对这种事务数据形式多样,不能统一由单一事务标识验证的情况,提供了解决方案。该区块链数据的验证方法具体包括:
S110、向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式存储***。而区块中所存储的事务数据其生成过程可以理解为:当有事务请求发送到区块生成节点时,区块生成节点会对事务请求进行处理并生成事务数据存储到区块中。
其中,区块链网络节点可以理解为参与到区块链所包含的各区块的生成、存储和/或验证等过程的具备一定的数据处理能力的硬件载体。示例性地区块链网络节点可以是服务器、移动终端或服务器集群等电子设备。
对于区块链网络中或网络外的电子设备,或承载于电子设备的客户端,有可能会需要获取区块链网络节点中存储的事务数据。此时,可以向任意一个或多个区块链网络节点发起事务数据获取请求,从而接收反馈的事务数据。
示例性地,向区块链网络节点发起事务数据获取请求可以是:向自身的可信节点发起事务数据获取请求,以提高所获取的事务数据的可信度。其中,可信节点可以是信用较高的节点,也可以是该电子设备经常联系的节点。
示例性地,向区块链网络节点发起事务数据获取请求还可以是:向区块链网络广播事务数据获取请求,当具备存储能力的节点接收到该事务数据获取请求之后,反馈相应的事务数据。当然,为了提高事务数据的获取效率,节约网络资源,电子设备还可以仅向选取的设定数量的具备存储能力的节点发起事务数据获取请求。
S120、根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组。
需要说明的是,区块的数据结构包括区块头和区块体。其中,区块生成节点基于各事务请求所生成的事务数据存储于区块体中;基于事务数据通过哈希签名计算得到的基础事务标识存储于区块头的事务标识数组中;基于各基础事务标识的两两哈希签名所构成的梅克尔树的根所确定的区块标识也对应存储于区块头中。
可以根据要获取的事务数据的事务标识来确定对应的区块标识,进而基于区块标识要求获取事务标识数组。或者,还可以直接提供事务标识,从而在区块链网络中查询对应的区块标识。
获取事务标识数组时,区块链网络节点可以直接反馈数组,也可以将区块头或整个区块均反馈提供,而后再供电子设备自行提取事务标识数组。
即,根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求,并接收反馈的区块;从所述区块中提取事务标识数组。
S130、从所述事务标识数组中提取基础事务标识和附加事务标识。
其中,事务标识数组用以存储唯一表征事务数据的事务标识。其中,事务标识可以包括用以表征事务数据的基础事务标识,还可以包括用以表征智能合约的运行结果的附加事务标识。
需要说明的是,同一区块中存储的事务数据可以至少为一个,因此相应的基础事务标识至少为一个;同一事务数据中所嵌入的智能合约至少为一个,或者运行结果为至少一个,因此相应的附加事务标识也至少为一个。
通常,能够查询到的事务数据的标识地址,是指基础事务标识,因此,可以通过关联存储位置或建立索引的方式,体现基础事务标识和附加事务标识的关联关系,从而方便能够一并提取。
S140、根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
由于区块生成节点在处理事务请求时一方面通过处理字段内容形成事务数据,另一方面通过运行智能合约产生运行结果。而事务数据与运行结果存储在区块的不同存储区域。因此,需要分别对与字段内容相应的事务数据以及智能合约运行结果加以验证,才实现了对区块中事务数据的完整验证。
其中,对字段内容相应的事务数据的验证方式可以是:如果查询到的基础事务标识与事务数据获取请求所包含的基础事务标识相同,或者查询到的基础事务标识与电子设备本地存储的基础事务标识相同,则确定电子设备所获取的事务数据正确。
其中,对字段内容相应的事务数据的验证方式还可以是:对反馈的所述事务数据进行哈希计算以确定对应的事务标识,将计算的事务标识与基础事务标识进行比对验证,以确定所述事务数据的正确性。具体地,如果计算的事务标识与基础事务标识相一致,则表明电子设备所获取的事务数据正确。
其中,对智能合约运行结果加以验证方式可以是:如果确定存在所述附加事务标识,则确定所述事务数据对应的智能合约运行结果存在于所述事务数据所在区块中。此时,即可确定智能合约在区块链网络中被执行过,并且附加事务标识的成功存储表明智能合约的运行结果的正确性已经得到区块链网络中各网络节点的验证,所以电子设备可直接确定各智能合约的运行结果正确。
其中,对智能合约运行结果加以验证方式还可以是:重新运行各智能合约并获取相应的运行结果;对运行结果进行哈希计算确定相应的哈希值;将计算的哈希值与附加事务标识进行比对验证,以确定智能合约运行结果的正确性。具体地,如果所确定的哈希值与提取的附加事务标识相一致,则表明该事务数据中各智能合约被执行过且运行结果正确。
电子设备可以根据对区块的验证程度,根据电子设备自身硬件条件和区块链网络参与程度,来决定具体采用哪种验证方式。优选地,本发明实施例的执行主体为区块链网络轻量级节点。其中,区块链网络轻量级节点未存储或存储部分区块数据和事务数据。其中,区块链网络轻量级节点所存储的部分区块数据可以包括位于区块头中的事务标识等。
需要说明的是,本发明实施例仅以UTXO结合EVM智能合约形式的事务请求形式进行示例性说明,当事务请求经区块生成节点处理后所生成的事务数据包含两部分且存储区域不同时,均可以采用本发明实施例的验证方法对事务数据进行验证。示例性地,当事务请求是EVM代码段形式的智能合约形式时,由于智能合约本身所对应的事务数据与智能合约的运行结果存储区域也不同,因此同样可以采用本发明实施例的验证方法对事务数据进行验证。
优选地,事务数据对应于可读字段形式的数字货币交易账单,所述事务数据中包括代码段形式的智能合约。
本发明实施例通过向区块链网络节点发起事务数据获取请求并接收反馈的事务数据;根据与事务数据对应的区块标识向区块链网络节点发送事务标识数组获取请求,并获取区块中的事务标识数组;从事务标识数组中提取基础事务标识和附加事务标识;根据提取的基础事务标识和附加事务标识对事务数据进行验证。采用上述技术方案在验证事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而可以验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
实施例二
图2是本发明实施例二所提供的一种区块链数据的验证方法的流程示意图。本发明实施例在上述各实施例的技术方案的基础上进行了追加优化。进一步地,在操作“根据所述基础事务标识和附加事务标识对所述事务数据进行验证”之后,追加“根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求;根据本地获取的当前区块标识和前一区块标识,以及反馈区块的当前区块标识和前一区块标识,对所述区块进行验证”,以验证事务数据所在区块是否有效。
如图2所示的区块链数据的验证方法,具体包括:
S210、向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据。
电子设备直接获取本地存储的基础事务标识,或者从事务发起方直接获取基础事务标识,或者从其他区块链网络节点获取基础事务标识;基于基础事务标识形成事务数据获取请求并向区块链网络节点发送该事务数据获取请求;当区块链网络节点接收到事务数据获取请求后,向电子设备反馈与基础事务标识相对应的事务数据。
S220、根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组。
S230、从所述事务标识数组中提取基础事务标识和附加事务标识。
S240、根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
S250、根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求。
电子设备可以根据获取到的事务数据相对应的区块标识向其他区块链网络节点发起区块获取请求,当相应的区块链网络节点接收到区块获取请求后,向电子设备反馈与区块标识相对应的区块。
此步骤可以与S220一并执行,即区块获取请求就相当于事务标识数组获取请求,从获取的区块中可以提取事务标识数组。
S260、根据本地获取的当前区块标识和前一区块标识,以及反馈区块的当前区块标识和前一区块标识,对所述区块进行验证。
本发明实施例对区块的验证方法可以由数学归纳法确定:
1)创世区块block[0]的区块标识blockid[0]公认有效,因此默认区块链网络中各网络节点的创世区块的区块数据有效。
2)当从其他区块链网络节点所获取的区块链中连接在创世区块block[0]后的第一区块block[1]所存储的前一区块标识blockid[0]与电子设备本地存储的前一区块标识blockid[0]相同,且从其他区块链节点所获取的第一区块block[1]符合共识算法和第一区块block[1]的数字签名等于电子设备本地存储的当前区块标识blockid[1],那么表明电子设备获取的其他区块链网络节点的第一区块block[1]有效。
3)假设电子设备所获取的区块链中的任一区块block[i]正确且有效,那么电子设备从其他区块链网络节点获取的后一区块block[i+1]所存储的前一区块标识blockid[i]与电子设备本地存储的前一区块标识blockid[i]相同,且从其他区块链网络节点所获取的后一区块block[i+1]符合共识算法和后一区块block[i+1]的数字签名等于电子设备本地存储的当前区块标识blockid[i+1],那么表明电子设备获取的其他区块链网络节点的后一区块block[i+1]有效。
基于上述内容可归纳得出验证区块是否有效的步骤可以是:电子设备从获取的区块中获取当前区块标识与本地存储的当前区块标识相比对,获取第一比对结果;电子设备从获取的区块中获取前一区块标识与本地存储的前一区块标识相比对,获得第二比对结果;当第一比对结果为相同且第二比对结果为相同时,表明所获取的区块有效。
需要说明的是,在区块链网络节点生成区块时,需要遵循一定的共识算法,产生设定的数据至于区块中,从而表明区块的生成节点是哪个。因此,在验证时,不仅需要通过当前区块标识验证区块数据的正确性,还需要基于共识算法所添加的数据验证区块数据是否由正确的节点产生。
本发明实施例的技术方案通过追加区块验证步骤,进一步验证事务数据所在区块的数据的有效性,防止由于获取的事务数据所存储的区块已被回滚,也即所接收的事务数据并未真实存储在区块链中,提高了事务数据验证结果的可信度。
实施例三
图3是本发明实施例三所提供的一种区块链数据的验证方法的流程示意图。本发明实施例在上述各实施例的技术方案的基础上进行了细分优化。本实施例以电子设备为轻量级节点为例进行说明
进一步地,将操作“从所述事务标识数组中提取基础事务标识和附加事务标识”,细化为“基于本地获取的基础事务标识在所述事务标识数组中查找对应的基础事务标识,并进行提取;从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识”,以完善基础事务标识和附加事务标识的提取方式。
如图3所示的区块链数据的验证方法,具体包括:
S310、向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据。
轻量级节点直接获取本地存储的基础事务标识,并基于该基础事务标识生成事务数据获取请求;轻量级节点向区块链网络节点发送该事务数据获取请求;当区块链网络节点接收到事务数据获取请求后,向轻量级节点反馈与基础事务标识相对应的事务数据。
优选地,区块链网络节点为轻量级节点可信的一个或多个区块链网络节点。
S320、根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组。
轻量级节点在获取到事务标识的同时也会直接获取到与该事务标识相对应的区块标识,或者轻量级节点根据反馈的事务数据获取到与事务数据相对应的区块标识;轻量级节点基于区块标识形成区块获取请求,并向区块链网络节点发送该区块获取请求;当区块链网络节点接收到该区块获取请求后,向轻量级节点反馈与区块标识相对应的区块;轻量级节点接收该区块并从区块的区块头中提取事务标识数组。
需要说明的是,在S320中所涉及的区块链网络节点与S310中所涉及的区块链网络节点可以相同也可以不同。
S331、基于本地获取的基础事务标识在所述事务标识数组中查找对应的基础事务标识,并进行提取。
由于轻量级节点在向其他区块链网络节点获取事务数据时,需要采用基础事务标识作为获取依据,因此为了便于事务数据的查找获取,存储在区块头中的各基础事务标识可按照区块中各事务数据的存储顺序对应存储在事务标识数组中。相应地,轻量级节点基于本地获取的基础事务标识在事务标识数组中查找与之相同的基础事务标识,并进行提取。
S332、从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识。
可以理解的是,为了便于区分各事务数据中智能合约的运行结果,各事务数据的附加事务标识也将与基础事务标识关联存储。
示例性地,从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识可以是:从所述事务标识数组中提取与所述基础事务标识处于关联位置的待定信息;基于所述待定信息的预置位内容确定所述待定信息为附加事务标识。
由于基础事务标识和附加事务标识均是采用哈希算法将数据压缩成由数字和字母组合成的散列字符串,因此为了对基础事务标识和附加事务标识加以区分,区块生成节点在存储附加事务标识时通常会对附加事务标识存储时设定相应的预置位。其中,预置位可以是某个字节或某个特殊位。
示例性地,从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识还可以是:从所述事务标识数组中提取,与所述基础事务标识的存储空间连续位置的附加事务标识;或从所述事务标识数组中提取,与所述基础事务标识的存储位置存在索引关系的附加事务标识。其中,当与基础事务标识存在索引关系的附加事务标识存储在附加事务标识数组时,可以仅设置一个预置标识,用以表征该数组所存储的事务标识为附加事务标识。
优选是采用基础事务标识与附加事务标识连续存储的方式。这样在事务标识数组中查找到基础事务标识时,就能立即获得后续的附加事务标识了,提高了查询效率,也减少了所需的索引数据。
S340、根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
本发明实施例通过细化基础事务标识和附加事务标识的提取操作,进一步完善了区块链数据的验证方法。采用上述技术方案,在验证事务数据时可以验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
实施例四
图4是本发明实施例四提供的一种区块链数据的存储方法的流程示意图,本实施例可适用于区块生成节点响应事务请求并产生事务数据的情况,该方法可以由区块链数据的存储装置来执行,该装置由软件和/或硬件实现并具体配置于作为区块生成节点的电子设备中。
本发明实施例可适用于处理多种形式的事务数据验证,特别适用于事务数据的内容不能单一地进行哈希签名形成事务标识的情况。以下举例说明比特币(UTXO)结合以太坊(EVM)智能合约形式的事务数据形式。
如图4所示的区块链数据的存储方法,具体包括:
S410、获取区块链网络中的事务请求。
当用户需要处理事务时,会在区块链网络中发送事务请求。当区块链网络中的各节点基于共识机制确定区块生成节点后,区块生成节点获取区块链网络中的事务请求。
S420、根据所述事务请求产生事务数据,并添加到区块中。
区块生成节点对事务请求进行处理产生事务数据并将所产生的事务数据添加至区块的区块体中。
S430、根据添加到区块中的事务数据产生基础事务标识。
区块生成节点根据添加到区块体中的事务数据采用哈希计算产生相应的基础事务标识,用以作为事务数据的唯一标识,便于事务数据的查找和验证。
S440、运行所述事务请求中的智能合约,将运行结果添加到区块中。
区块生成节点运行事务请求中的智能合约,并将智能合约的运行结果添加至区块中。
S450、根据添加到区块中的智能合约运行结果产生附加事务标识。
区块生成节点对添加到区块中的智能合约运行结果进行哈希计算产生附加事务标识,用以作为智能合约运行结果验证依据。
S460、将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
虽然智能合约的运行结果与事务数据均存储在区块中,但并不存储在一起。而是由区块生成节点将基础事务标识和附加事务标识关联存储到区块头中的事务标识数组中。
需要说明的是,当区块生成节点产生区块或事务数据之后,会按照常规方式经过区块链网络中的其他节点验证所生成的区块或所添加的事务数据是否正确。当区块经过区块链网络中的其他节点验证之后,区块链网络中其他节点才会将区块生成节点所生成的区块存储或部分存储到本地。当存在电子设备向区块链网络获取该区块中的事务数据时,可以采用本发明上述各实施例的技术方案对区块链数据加以验证。
由于基础事务标识和附加事务标识均是采用哈希算法将数据压缩成由数字和字母组合成的散列字符串,因此为了对基础事务标识和附加事务标识加以区分,区块生成节点在存储附加事务标识时通常会对附加事务标识存储时设定相应的预置位。其中,预置位可以是某个字节或某个特殊位。其中,预置位可以设定至少一个。
示例性地,当事务标识的第一预置位为预设字符时,表明当前的事务标识为附加事务标识。示例性地,还可以设定事务标识的第二预置位为当前事务标识所对应的事务数据所嵌入的智能合约的数量。示例性地,还可以设定事务标识的第三预置位为当前附加事务标识的编号。或者,在基础事务标识和附加事务标识分别存储时,可以通过附加事务标识中的预置位来存储基础事务标识的指针,从而能够通过附加事务标识的预置位确定其与哪个基础事务标识对应。
其中,区块中所包含的事务标识数组的数量可以为至少一个。
示例性地,当区块中仅存在一个事务标识数组时,区块生成节点可以在生成并存储事务数据时,可以按照事务数据所嵌入的智能合约的嵌入顺序将智能合约的运行结果相对应的附加事务标识依次存储在事务数据相对应的基础事务标识的存储空间之后或之前的连续的存储空间。优选地,附加事务标识存储在相应的基础事务标识存储位置之后的连续的存储空间。
示例性地,当区块中存在两个事务标识数组时,区块生成节点可以在生成事务数据时,会将基础事务标识存储在基础事务标识数组中;将相应的各附加事务标识依照事务数据所嵌入的智能合约的嵌入顺序或运行顺序依次存储在附加事务标识数组中。需要说明的是,附加事务标识数组可单独设置一个预置位用于标识该数组用于存储各附加事务标识。
示例性地,当区块中存在两个事务标识数组时,区块生成节点可以在生成事务数据时,会将基础事务标识存储在基础事务标识数组中;与基础事务标识相应的各附加事务标识的存储位置依次添加在索引数组中;附加事务标识存储在索引数组的各索引值相应的存储空间。
示例性地,当区块中存在至少三个事务标识数组时,区块生成节点还可以在生成并存储事务数据时,会将基础事务标识存储在基础事务标识数组中;将与基础事务标识相应的各附加事务标识的存储位置依次添加在索引数组中;相应的各附加事务标识可以顺序存储在附加事务标识数组中;还可以针对该事务数据重新创建一个新的附加事务标识数组;然后在所创建的附加事务标识数组中顺序存储与该事务数据相关的各附加事务标识。
需要说明的是,本发明实施例仅以UTXO结合EVM智能合约形式的事务请求形式进行示例性说明,当事务请求经区块生成节点处理后所生成的事务数据包含两部分且存储区域不同时,均可以采用本发明实施例的存储方法引入了附加事务标识,从而对事务数据标识分区域存储。示例性地,当事务请求是EVM代码段形式的智能合约形式时,由于智能合约本身所对应的事务数据与智能合约的运行结果存储区域也不同,因此同样可以采用本发明实施例的存储方法对将事务数据标识分区域存储。
本发明实施例通过区块生成节点获取区块链网络中的事务请求,并根据该事务请求产生事务数据添加至区块中;根据添加到区块中的事务数据产生基础事务标识;运行事务数据中的智能合约,将运行结果添加至区块中,并根据智能合约运行结果产生附加事务标识;将基础事务标识和附加事务标识关联存储到区块的事务标识数组中。采用上述技术方案在存储事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而在验证事务数据时,能够验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
在上述各实施例的技术方案的基础上,进一步地,将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中,包括:
将所述基础事务标识和附加事务标识连续存储到所述区块的事务标识数组中,并在附加事务标识中设置预置位;或
将所述基础事务标识和附加事务标识分别存储到所述区块的事务标识数组中,建立所述基础事务标识和附加事务标识之间的索引关系。
本发明实施例的技术方案通过将基础事务标识和附加事务标识关联存储步骤细化为连续关联存储并设置附加服务标识预置位以对事务标识有效区分,或者通过引入索引确定基础事务标识与附加事务标识之间的关联关系,使得区块生成节点在存储事务数据时,考虑到不同形式的事务数据,引入附加事务标识,从而在验证事务数据时,能够验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
实施例五
图5是本发明实施例五提供的一种区块链数据的验证装置的结构示意图,本发明实施例适用于电子设备从其他区块链网络节点获取数据,并对获取的区块链数据加以验证的情况,该装置由软件和/或硬件实现并配置于电子设备中。该区块链数据的验证装置包括:事务数据获取模块510,事务标识数组获取模块520,事务标识提取模块530以及事务数据验证模块540。
其中,事务数据获取模块510,用于向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;
事务标识数组获取模块520,用于根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;
事务标识提取模块530,用于从所述事务标识数组中提取基础事务标识和附加事务标识;
事务数据验证模块540,用于根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
本发明实施例通过事务数据获取模块向区块链网络节点发起事务数据获取请求并接收反馈的事务数据;通过事务标识数组获取模块根据与事务数据对应的区块标识向区块链网络节点发送事务标识数组获取请求,并获取区块中的事务标识数组;通过事务标识提取模块从事务标识数组中提取基础事务标识和附加事务标识;通过事务数据验证模块根据提取的基础事务标识和附加事务标识对事务数据进行验证。采用上述技术方案在验证事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而可以验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据的情况。
进一步地,所述事务数据提取模块530,包括:
基础事务标识提取单元,用于基于本地获取的基础事务标识在所述事务标识数组中查找对应的基础事务标识,并进行提取;
附加事务标识提取单元,用于从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识。
进一步地,所述附加事务标识提取单元,具体用于:
从所述事务标识数组中提取与所述基础事务标识处于关联位置的待定信息;
基于所述待定信息的预置位内容确定所述待定信息为附加事务标识。
进一步地,所述附加事务标识提取单元,具体用于:
从所述事务标识数组中提取,与所述基础事务标识的存储空间连续位置的附加事务标识;或
从所述事务标识数组中提取,与所述基础事务标识的存储位置存在索引关系的附加事务标识。
进一步地,所述事务标识数组获取模块520,包括:
区块获取单元,用于根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求,并接收反馈的区块;
事务标识数组提取单元,用于从所述区块中提取事务标识数组。
进一步地,所述装置还包括,区块验证模块,具体用于:
根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求;
根据本地获取的当前区块标识和前一区块标识,以及反馈区块的当前区块标识和前一区块标识,对所述区块进行验证。
进一步地,所述事务数据验证模块540,包括:
事务数据验证单元,用于对反馈的所述事务数据进行哈希计算以确定对应的事务标识,将计算的事务标识与基础事务标识进行比对验证,以确定所述事务数据的正确性;
运行结果验证单元,用于在确定存在所述附加事务标识时,确定所述事务数据对应的智能合约运行结果存在于所述事务数据所在区块中。
进一步地,所述事务数据对应于可读字段形式的数字货币交易账单,所述事务数据中包括代码段形式的智能合约。
进一步地,所述装置配置于区块链网络轻量级节点,所述轻量级节点未存储或存储部分区块数据和事务数据,所述事务数据中包括代码段形式的智能合约。
本发明实施例所提供的区块链数据的验证装置可执行本发明任意实施例所提供的区块链数据的验证方法,具备执行区块链数据的验证方法相应的功能模块和有益效果。
实施例六
图6是本发明实施例六提供的一种区块链数据的存储装置的结构示意图。本发明实施例可适用于区块生成节点响应事务请求并产生事务数据对应存储于区块的情况,该装置由软件和/或硬件实现并具体配置于作为区块生成节点的电子设备中。该区块链数据的存储装置具体包括:事务请求获取模块610,事务数据产生模块620,基础事务标识产生模块630,运行结果产生模块640,附加事务标识产生模块650以及事务标识关联存储模块660。
其中,事务请求获取模块610,用于获取区块链网络中的事务请求;
事务数据产生模块620,用于根据所述事务请求产生事务数据,并添加到区块中;
基础事务标识产生模块630,用于根据添加到区块中的事务数据产生基础事务标识;
运行结果产生模块640,用于运行所述事务请求中的智能合约,将运行结果添加到区块中;
附加事务标识产生模块650,用于根据添加到区块中的智能合约运行结果产生附加事务标识;
事务标识关联存储模块660,用于将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
本发明实施例通过事务请求获取模块获取区块链网络中的事务请求;通过事务数据产生模块根据该事务请求产生事务数据添加至区块中;通过基础事务标识产生模块根据添加到区块中的事务数据产生基础事务标识;通过运行结果产生模块运行事务数据中的智能合约,将运行结果添加至区块中;通过附加事务标识产生模块根据智能合约运行结果产生附加事务标识;通过事务标识关联存储模块将基础事务标识和附加事务标识关联存储到区块的事务标识数组中。采用上述技术方案在存储事务数据时,考虑到不同形式的事务数据,引入了附加事务标识,从而在验证事务数据时,能够验证在区块链中存储的多个部分的事务数据内容,适合不同形式事务数据进行验证的情况。
进一步地,将所述事务标识关联存储模块660,具体用于:
将所述基础事务标识和附加事务标识连续存储到所述区块的事务标识数组中,并在附加事务标识中设置预置位;或
将所述基础事务标识和附加事务标识分别存储到所述区块的事务标识数组中,建立所述基础事务标识和附加事务标识之间的索引关系。
本发明实施例所提供的区块链数据的存储装置可执行本发明任意实施例所提供的区块链数据的存储方法,具备执行区块链数据的存储方法相应的功能模块和有益效果。
实施例七
图7为本发明实施例七提供的一种电子设备的硬件结构示意图。图7示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图7显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
电子设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的区块链数据的验证方法。
实施例八
本发明实施例提供了另一种电子设备,该电子设备的结构示意图同样可参见图7。
本发明实施例与实施例七的区别仅在于:处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的区块链数据的存储方法。
实施例九
本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种区块链数据的验证方法,该方法包括:向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;从所述事务标识数组中提取基础事务标识和附加事务标识;根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
本发明实施例九还提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的区块链数据的存储方法,该方法包括:获取区块链网络中的事务请求;根据所述事务请求产生事务数据,并添加到区块中;根据添加到区块中的事务数据产生基础事务标识;运行所述事务请求中的智能合约,将运行结果添加到区块中;根据添加到区块中的智能合约运行结果产生附加事务标识;将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (17)

1.一种区块链数据的验证方法,其特征在于,包括:
向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;
根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;
从所述事务标识数组中提取基础事务标识和附加事务标识;所述基础事务标识用于表征所述事务数据;所述附加事务标识用于表征所述事务数据中所嵌入智能合约的智能合约运行结果;
根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
2.根据权利要求1所述的方法,其特征在于,所述从所述事务标识数组中提取基础事务标识和附加事务标识,包括:
基于本地获取的基础事务标识在所述事务标识数组中查找对应的基础事务标识,并进行提取;
从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识。
3.根据权利要求2所述的方法,其特征在于,所述从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识,包括:
从所述事务标识数组中提取与所述基础事务标识处于关联位置的待定信息;
基于所述待定信息的预置位内容确定所述待定信息为附加事务标识。
4.根据权利要求2所述的方法,其特征在于,所述从所述事务标识数组中提取与所述基础事务标识处于关联位置的附加事务标识,包括:
从所述事务标识数组中提取,与所述基础事务标识的存储空间连续位置的附加事务标识;或
从所述事务标识数组中提取,与所述基础事务标识的存储位置存在索引关系的附加事务标识。
5.根据权利要求1所述的方法,其特征在于,所述根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组,包括:
根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求,并接收反馈的区块;
从所述区块中提取事务标识数组。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据所述事务数据对应的区块标识,向区块链网络节点发起区块获取请求;
根据本地获取的当前区块标识和前一区块标识,以及反馈区块的当前区块标识和前一区块标识,对所述区块进行验证。
7.根据权利要求1-6任一所述的方法,其特征在于,所述根据所述基础事务标识和附加事务标识对所述事务数据进行验证,包括:
对反馈的所述事务数据进行哈希计算以确定对应的事务标识,将计算的事务标识与基础事务标识进行比对验证,以确定所述事务数据的正确性;
如果确定存在所述附加事务标识,则确定所述事务数据对应的智能合约运行结果存在于所述事务数据所在区块中。
8.根据权利要求7所述的方法,其特征在于:所述事务数据对应于可读字段形式的数字货币交易账单,所述事务数据中包括代码段形式的智能合约。
9.根据权利要求1-6任一所述的方法,其特征在于:所述方法的执行主体为区块链网络轻量级节点,所述轻量级节点未存储或存储部分区块数据和事务数据。
10.一种区块链数据的存储方法,其特征在于,应用于区块生成节点,所述方法包括:
获取区块链网络中的事务请求;
根据所述事务请求产生事务数据,并添加到区块中;
根据添加到区块中的事务数据产生基础事务标识;
运行所述事务请求中的智能合约,将运行结果添加到区块中;
根据添加到区块中的智能合约运行结果产生附加事务标识;
将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
11.根据权利要求10所述的方法,其特征在于,所述将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中,包括:
将所述基础事务标识和附加事务标识连续存储到所述区块的事务标识数组中,并在附加事务标识中设置预置位;或
将所述基础事务标识和附加事务标识分别存储到所述区块的事务标识数组中,建立所述基础事务标识和附加事务标识之间的索引关系。
12.一种区块链数据的验证装置,其特征在于,包括:
事务数据获取模块,用于向区块链网络节点发起事务数据获取请求,并接收反馈的事务数据;
事务标识数组获取模块,用于根据所述事务数据对应的区块标识,向区块链网络节点发起事务标识数组获取请求,并获取区块中的事务标识数组;
事务标识提取模块,用于从所述事务标识数组中提取基础事务标识和附加事务标识;所述基础事务标识用于表征所述事务数据;所述附加事务标识用于表征所述事务数据中所嵌入智能合约的智能合约运行结果;
事务数据验证模块,用于根据所述基础事务标识和附加事务标识对所述事务数据进行验证。
13.一种区块链数据的存储装置,其特征在于,配置于区块生成节点,所述装置包括:
事务请求获取模块,用于获取区块链网络中的事务请求;
事务数据产生模块,用于根据所述事务请求产生事务数据,并添加到区块中;
基础事务标识产生模块,用于根据添加到区块中的事务数据产生基础事务标识;
运行结果产生模块,用于运行所述事务请求中的智能合约,将运行结果添加到区块中;
附加事务标识产生模块,用于根据添加到区块中的智能合约运行结果产生附加事务标识;
事务标识关联存储模块,用于将所述基础事务标识和附加事务标识关联存储到所述区块的事务标识数组中。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9任一项所述的一种区块链数据的验证方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求10或11所述的一种区块链数据的存储方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一项所述的一种区块链数据的验证方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求10或11所述的一种区块链数据的存储方法。
CN201810662650.0A 2018-06-25 2018-06-25 区块链数据的验证方法、存储方法、装置、设备和介质 Active CN108961052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810662650.0A CN108961052B (zh) 2018-06-25 2018-06-25 区块链数据的验证方法、存储方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810662650.0A CN108961052B (zh) 2018-06-25 2018-06-25 区块链数据的验证方法、存储方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN108961052A CN108961052A (zh) 2018-12-07
CN108961052B true CN108961052B (zh) 2022-02-22

Family

ID=64486489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810662650.0A Active CN108961052B (zh) 2018-06-25 2018-06-25 区块链数据的验证方法、存储方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN108961052B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493057A (zh) * 2018-12-10 2019-03-19 联动优势科技有限公司 一种基于utxo模型的交易方法及装置
CN109863521A (zh) 2018-12-13 2019-06-07 阿里巴巴集团控股有限公司 在区块链网络中的数据隔离
CN109710695B (zh) * 2018-12-26 2021-10-08 百度在线网络技术(北京)有限公司 事务请求有效性识别和发起方法、装置、设备和介质
CN109766389B (zh) * 2019-01-09 2020-09-22 华东师范大学 一种基于位图索引的区块链轻客户端验证查询方法
CN109858914A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 区块链数据验证方法、装置、计算机设备及可读存储介质
CN109981750B (zh) * 2019-03-06 2021-09-17 北京百度网讯科技有限公司 业务流程***、业务数据处理方法和装置
CN111695991B (zh) * 2019-03-14 2024-02-06 北京沃东天骏信息技术有限公司 基于区块的合约处理方法、装置、区块链节点及存储介质
US10917231B2 (en) 2019-04-04 2021-02-09 Advanced New Technologies Co., Ltd. Data storage method, apparatus, system and device
CN109981673B (zh) * 2019-04-04 2021-10-08 上海人行道网络信息技术有限公司 基于区块链的数据存证方法、装置、设备及存储介质
CN112487492B (zh) * 2019-04-04 2023-11-17 创新先进技术有限公司 数据验证方法、***及设备
US11055277B2 (en) 2019-04-04 2021-07-06 Advanced New Technologies Co., Ltd. Integrity verification method, apparatus, and system and device for data in a blockchain-type ledger
CN110099108B (zh) * 2019-04-26 2022-04-01 深圳前海微众银行股份有限公司 一种区块链事件去重方法、装置、计算机设备及存储介质
CN110310205B (zh) * 2019-06-28 2022-02-25 百度在线网络技术(北京)有限公司 一种区块链数据监控方法、装置、设备和介质
CN110363687A (zh) * 2019-07-12 2019-10-22 百度在线网络技术(北京)有限公司 旅游信息的记录方法、装置、电子设备、终端及介质
CN110457396A (zh) * 2019-08-15 2019-11-15 北京北科融智云计算科技有限公司 一种基于区块链科研数据处理方法、装置、设备和存储介质
CN110535970B (zh) * 2019-09-16 2022-04-12 百度在线网络技术(北京)有限公司 司法链的证据存证和处理方法、装置、设备和介质
CN110808839B (zh) * 2019-10-30 2022-07-12 百度在线网络技术(北京)有限公司 一种区块链异常数据的处理方法、装置、设备和介质
CN110781192B (zh) * 2019-10-30 2021-11-30 支付宝(杭州)信息技术有限公司 区块链数据的验证方法、装置及设备
CN111212126B (zh) * 2019-12-27 2023-05-26 百度在线网络技术(北京)有限公司 一种区块链网络的数据传输方法、装置、设备和介质
CN111339202B (zh) * 2020-02-28 2023-05-09 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN111339114B (zh) * 2020-02-28 2023-05-09 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN112560078B (zh) * 2020-08-05 2024-05-17 北京京东振世信息技术有限公司 区块链数据处理方法、装置、设备及介质
CN113935069B (zh) * 2021-12-10 2022-04-05 北京百度网讯科技有限公司 一种基于区块链的数据验证方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111957A (zh) * 2013-04-22 2014-10-22 阿里巴巴集团控股有限公司 一种分布式事务同步的方法及***
CN106682984A (zh) * 2016-10-27 2017-05-17 上海亿账通区块链科技有限公司 基于区块链的交易事务处理方法及***
CN106951307A (zh) * 2017-03-06 2017-07-14 钱德君 一种智能合约虚拟机实现方法
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107360238A (zh) * 2017-07-25 2017-11-17 光载无限(北京)科技有限公司 基于区块链cpow共识算法的智能合约网关
CN107368259A (zh) * 2017-05-25 2017-11-21 阿里巴巴集团控股有限公司 一种向区块链***中写入业务数据的方法和装置
CN107464117A (zh) * 2017-08-04 2017-12-12 平安科技(深圳)有限公司 基于区块链的数据管理方法及区块链***
CN107833060A (zh) * 2017-11-13 2018-03-23 中国银行股份有限公司 一种区块链中智能合约交易的验证方法以及***
CN107886006A (zh) * 2017-11-28 2018-04-06 北京博晨技术有限公司 数据操作方法、装置及电子设备
CN107977910A (zh) * 2017-12-04 2018-05-01 四川长虹电器股份有限公司 一种基于区块链的学历签发方法和***
CN108122159A (zh) * 2017-12-22 2018-06-05 中链科技有限公司 一种基于区块链的保理信息处理方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170213221A1 (en) * 2016-01-26 2017-07-27 Bank Of America Corporation System for tracking and validation of multiple instances of an entity in a process data network

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111957A (zh) * 2013-04-22 2014-10-22 阿里巴巴集团控股有限公司 一种分布式事务同步的方法及***
CN106682984A (zh) * 2016-10-27 2017-05-17 上海亿账通区块链科技有限公司 基于区块链的交易事务处理方法及***
CN106951307A (zh) * 2017-03-06 2017-07-14 钱德君 一种智能合约虚拟机实现方法
CN107368259A (zh) * 2017-05-25 2017-11-21 阿里巴巴集团控股有限公司 一种向区块链***中写入业务数据的方法和装置
CN107360238A (zh) * 2017-07-25 2017-11-17 光载无限(北京)科技有限公司 基于区块链cpow共识算法的智能合约网关
CN107464117A (zh) * 2017-08-04 2017-12-12 平安科技(深圳)有限公司 基于区块链的数据管理方法及区块链***
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107833060A (zh) * 2017-11-13 2018-03-23 中国银行股份有限公司 一种区块链中智能合约交易的验证方法以及***
CN107886006A (zh) * 2017-11-28 2018-04-06 北京博晨技术有限公司 数据操作方法、装置及电子设备
CN107977910A (zh) * 2017-12-04 2018-05-01 四川长虹电器股份有限公司 一种基于区块链的学历签发方法和***
CN108122159A (zh) * 2017-12-22 2018-06-05 中链科技有限公司 一种基于区块链的保理信息处理方法及***

Also Published As

Publication number Publication date
CN108961052A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108961052B (zh) 区块链数据的验证方法、存储方法、装置、设备和介质
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
US10747721B2 (en) File management/search system and file management/search method based on block chain
CN109361734B (zh) 一种区块链的数据处理方法、装置、设备及介质
CN109040341B (zh) 智能合约地址的生成方法、装置、计算机设备及可读存储介质
CN109241192B (zh) 区块链的数据修改及区块验证方法、装置、设备和介质
CN109361740B (zh) 一种区块链的区块生成方法、装置、设备和介质
US10073916B2 (en) Method and system for facilitating terminal identifiers
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN108960797B (zh) 区块生成及验证方法、装置、设备和存储介质
CN109213901B (zh) 一种区块链的数据同步方法、装置、设备及介质
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
CN109766707B (zh) 基于区块链的数据处理方法、装置、设备和介质
CN109101664B (zh) 一种轻量级节点的数据传输方法、装置、设备和介质
CN109635256B (zh) 用于校验数据的方法和装置
CN109002349B (zh) 应用程序交互方法、实现方法、装置、设备和介质
CN110019873B (zh) 人脸数据处理方法、装置及设备
CN111597567A (zh) 数据处理方法、装置、节点设备及存储介质
CN109347803B (zh) 一种区块链的数据处理方法、装置、设备及介质
CN110597922A (zh) 数据处理方法、装置、终端及存储介质
CN109254999B (zh) 一种区块链的数据处理方法、装置、设备及介质
CN109858285B (zh) 区块链数据的处理方法、装置、设备和介质
CN112559482A (zh) 一种基于分布式的二进制数据分类处理方法和***
US8572231B2 (en) Variable-length nonce generation
CN110020040B (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