CN109345388A - 区块链智能合约验证方法、装置及存储介质 - Google Patents

区块链智能合约验证方法、装置及存储介质 Download PDF

Info

Publication number
CN109345388A
CN109345388A CN201811101341.2A CN201811101341A CN109345388A CN 109345388 A CN109345388 A CN 109345388A CN 201811101341 A CN201811101341 A CN 201811101341A CN 109345388 A CN109345388 A CN 109345388A
Authority
CN
China
Prior art keywords
block
node
mei keer
keer tree
root node
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
CN201811101341.2A
Other languages
English (en)
Other versions
CN109345388B (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
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811101341.2A priority Critical patent/CN109345388B/zh
Publication of CN109345388A publication Critical patent/CN109345388A/zh
Priority to US16/969,752 priority patent/US20200412526A1/en
Priority to PCT/CN2019/091475 priority patent/WO2020057196A1/zh
Priority to KR1020207019610A priority patent/KR102431459B1/ko
Priority to EP19863164.0A priority patent/EP3678346B1/en
Priority to JP2020544505A priority patent/JP7018517B2/ja
Application granted granted Critical
Publication of CN109345388B publication Critical patent/CN109345388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提出一种区块链智能合约验证方法、装置及存储介质。其中方法包括:从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,交易列表包括交易标识和智能合约的执行结果,区块头部信息包括第一梅克尔树的根节点、第二梅克尔树的根节点和指定区块的上一个区块标识;对第一梅克尔树的根节点和交易标识进行验证;对第二梅克尔树的根节点和智能合约执行结果进行验证;验证指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;如果以上验证通过,则确定智能合约的执行结果有效。本发明实施例无须下载全量的区块信息且无须在轻量级节点本地重复执行智能合约,即可判断智能合约执行结果有效性,节省资源,提高效率。

Description

区块链智能合约验证方法、装置及存储介质
技术领域
本发明涉及信息技术领域,尤其涉及一种区块链智能合约验证方法、装置及计算机可读存储介质。
背景技术
区块链网络通常是由大量的全节点组成的,这些全节点维护有全量的账本数据。全节点会实时同步每个区块的完整数据,因而可以对区块的有效性做出正确的判断。
区块链网络中也会存在一些轻量级节点,例如手机移动客户端。因为他们的存储空间有限,所以不能存储全部的历史区块数据。另外,移动客户端的带宽有限,流量费用较高,当区块大小较大且出块速度较快时,实时同步每个区块的完整数据到移动客户端也是不现实的。另一方面,由于轻量级节点的硬件能力较弱,在本地重复执行智能合约,并验证智能合约的执行结果与从区块链网络同步来的区块是否一致的代价过高。
目前市面上有轻量级节点技术,但是无法在不重复执行智能合约的情况下在轻量级节点上有效验证智能合约的执行结果。
发明内容
本发明实施例提供一种区块链智能合约验证方法、装置及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种区块链智能合约验证方法,包括:从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;对所述第一梅克尔树的根节点和所述交易标识进行验证;对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;如果以上验证通过,则确定所述智能合约的执行结果有效。
在一种实施方式中,对所述第一梅克尔树的根节点和所述交易标识进行验证,包括:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
在一种实施方式中,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证,包括:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
在一种实施方式中,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中之前,还包括:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
第二方面,本发明实施例提供了一种区块链智能合约验证装置,包括:获取单元,用于从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;第一验证单元,用于对所述第一梅克尔树的根节点和所述交易标识进行验证;第二验证单元,用于对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;第三验证单元,用于验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;确定单元,用于:如果以上验证通过,则确定所述智能合约的执行结果有效。
在一种实施方式中,所述第一验证单元还用于:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
在一种实施方式中,所述第二验证单元还用于:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
在一种实施方式中,还包括第四验证单元,用于:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
在一个可能的设计中,区块链智能合约验证装置的结构中包括处理器和存储器,所述存储器用于存储支持区块链智能合约验证装置执行上述第一方面中区块链智能合约验证方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述区块链智能合约验证装置还可以包括通信接口,用于区块链智能合约验证装置与其他设备或通信网络通信。
第三方面,本发明实施例提供了一种区块链智能合约验证装置,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。
上述技术方案具有如下优点或有益效果:不需要下载和存储全量的区块信息,也不需要在轻量级客户端本地重复执行智能合约,即可在区块链网络中帮助轻量级节点判断智能合约执行结果有效性,节省了系统资源,提高了执行效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明一实施例提供的区块链智能合约验证方法的流程图。
图2为本发明另一实施例提供的区块链智能合约验证方法的流程图。
图3为本发明另一实施例提供的区块链智能合约验证方法中的全节点计算第二梅克尔树的流程图。
图4为本发明另一实施例提供的区块链智能合约验证方法的流程图。
图5为本发明另一实施例提供的区块链智能合约验证方法的流程图。
图6为本发明另一实施例提供的区块链智能合约验证方法的流程图。
图7为本发明另一实施例提供的区块链智能合约验证方法的在轻量级节点上的有效性校验流程图。
图8为本发明一实施例提供的区块链智能合约验证装置的结构框图。
图9为本发明又一实施例提供的区块链智能合约验证装置的结构框图。
图10为本发明又一实施例提供的区块链智能合约验证装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1为本发明一实施例提供的区块链智能合约验证方法的流程图。如图1所示,本发明实施例的区块链智能合约验证方法包括:步骤S110,从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;步骤S120,对所述第一梅克尔树的根节点和所述交易标识进行验证;步骤S130,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;步骤S140,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;步骤S150,如果以上验证通过,则确定所述智能合约的执行结果有效。
梅克尔树(Merkle trees)是区块链的重要数据结构,能够快速归纳和校验区块数据的存在性和完整性。梅克尔树通常包含区块体的底层(交易)数据库、区块头的根哈希值(即Merkle根)以及所有沿底层区块数据到根哈希的分支。梅克尔树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到梅克尔树中,如此递归直到只剩最后一个根哈希值并记为区块头的Merkle根。最常见的梅克尔树是比特币采用的二叉梅克尔树,其每个哈希节点总是包含两个相邻的数据块或其哈希值。
区块链网络中存在一些轻量级节点,例如手机移动客户端。轻量级节点存储空间有限、硬件能力较弱。需要寻求可行的方法在轻量级节点上验证从网络中新同步的涉及智能合约执行的结果的有效性。本发明实施例提供了一种在区块链网络中帮助轻量级节点判断智能合约执行结果有效性的方法。本发明实施例的具体验证方法包括:
在步骤S120中,验证区块头部信息中的第一梅克尔树的根节点和交易列表中的交易标识是否匹配;
在步骤S130中,验证区块头部信息中的第二梅克尔树的根节点和交易列表中的智能合约执行结果是否匹配;
在步骤S140中,验证区块头部信息中的指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
其中,步骤S120和步骤S130的执行顺序可以互换。或者,在另一种实施方式中,步骤S120和步骤S130可并行执行。
本发明实施例可以应用在任何使用区块链技术的轻量级节点上,包括但不限于移动客户端设备。
图2为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图2所示,本发明实施例具体的实施步骤如下:
步骤S105:在本地维护一个区块头部的链式数据结构。
A.区块头部的包含以下数据:
i.区块id(identification,标识)
ii.上一个区块id
iii.第一梅克尔树的根节点hash(哈希值)。第一梅克尔树的最下层叶子节点由该区块所包含的所有UTXO(Unspent Transaction Output,未花费的交易输出)交易id组成。其中,交易id由交易内容进行哈希算出,但是交易内容中不包括智能合约的执行结果。
iv.第二梅克尔树的根节点hash。第二梅克尔树的最下层叶子节点由该区块所包含的所有智能合约的执行结果组成。一个交易如果涉及到智能合约的执行,其执行结果会存储在一个新的字段上。这些新的字段会组成一棵梅克尔树。
v.每个交易的智能合约的执行结果由以下两部分内容组成:
v-1.一棵梅克尔树的根节点。每次VM(Virtual Machine,虚拟机)在执行完毕一个交易所涉及的智能合约后,会修改存储智能合约的数据内容的数据结构。所有的数据组成这棵梅克尔树。
v-2.本次交易所涉及的智能合约执行后所产生的执行结果。
B.每个区块头部指向上一个区块的区块头部,由此维护了一个链式的数据结构。创世区块的区块头部所指向的上一个区块id为0。
图3为本发明另一实施例提供的区块链智能合约验证方法中的全节点计算第二梅克尔树的流程图。在图3中,State–Key表示智能合约的执行结果相对应的值和键值数据。“Key state snapshots when Smart Contract has been Invoked”表示当智能合约执行后产生执行结果相对应的值和键值数据的快照。对State–Key1和State–Key2分别进行哈希计算,得到两个叶子节点Hash L–LEAF。再对两个叶子节点Hash L–LEAF进行哈希计算,得到树枝结点Hash X–BRANCH。对两个树枝节点Hash X–BRANCH和Hash You–BRANCH进行哈希计算,产生上述步骤v-1中的梅克尔树的根节点,即“State DB merkle root when SmartContract has been Invoked–Tx B(执行智能合约B后的梅克尔树根值的数据库)”。“SmartContract Invoke Result”表示智能合约执行结果。“Smart Contract Invoke Response–Tx B”表示智能合约B的执行结果。将“State DB merkle root when Smart Contract hasbeen Invoked–Tx B”进行哈希计算得到Hash 4–LEAF,将“Smart Contract InvokeResponse–Tx B”进行哈希计算得到Hash 3–LEAF,再将Hash 4–LEAF和Hash 3–LEAF进行哈希计算得到树枝结点“Hash6–BRANCH(Hash of smart contract result-Tx B,即智能合约B的执行结果的哈希值)”。最后再将Hash 6–BRANCH和“Hash 5–BRANCH(Hash of smartcontract result-Tx A,即智能合约A的执行结果的哈希值)”进行哈希计算得到根节点“Hash 7–Root(Hash of Branches,即树枝的哈希值)”。“Merkle Tree used forGenerating Root”表示产生根节点的梅克尔树。
在步骤S110中,从区块链网络随机选择或由用户指定第一节点来进行数据同步,拉取需要指定区块的区块头部和交易列表。用X表示指定区块,这一步骤中获得区块X的部分信息:区块头部、UTXO交易列表(含有交易id、交易涉及的智能合约的执行结果等)。其中,第一节点是区块链网络中的全节点。
步骤S115:对比从第一节点和第二节点获取的数据是否一致。
图4为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图4所示,在一种可能的实现方式中,在步骤S140,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中之前,执行步骤S115。步骤S115具体可包括:步骤S410,分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;步骤S420,对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;步骤S430,如果一致,则确定所述指定区块有效;步骤S440,在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
在一个示例中,步骤S115具体可包括如下步骤:
再从区块链网络随机选择或由用户指定第二节点来进行查询,查询条件是步骤S110中获得的区块X的头部中所包含的区块id。然后获得根据该目标区块id在第二节点中查询到与区块X对应的区块头部Z。其中,第二节点是区块链网络中的全节点。
对比区块X头部的第一梅克尔树的树根、第二梅克尔树的树根、上一个区块id,是否与从第二节点获得的区块头部Z的信息所匹配。如果匹配,说明区块X真实有效。
图5为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图5所示,在一种可能的实现方式中,步骤S120,对所述第一梅克尔树的根节点和所述交易标识进行验证,具体可包括:步骤S210,使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;步骤S220,对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;步骤S230,如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
具体地,先校验区块X的区块头部和交易id列表是否匹配。将交易id组成一个梅克尔树,即第三梅克尔树,并计算出其最终的梅克尔树根。然后对比计算出的第三梅克尔树树根和区块头部所包含的第一梅克尔树的根节点hash是否一致。如果一致,说明校验区块X的区块头部和交易id列表匹配,也就是第一梅克尔树的根节点和所述交易标识匹配,对所述第一梅克尔树的根节点和所述交易标识的验证通过。
图6为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图6所示,在一种可能的实现方式中,步骤S130,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证,具体可包括:步骤S310,使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;步骤S320,对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;步骤S330,如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
具体地,再校验区块X的区块头部和智能合约执行结果列表是否匹配。将智能合约执行结果组成一个梅克尔树,即第四梅克尔树,并计算出其最终的梅克尔树根。然后对比计算出的第四梅克尔树树根和区块头部所包含的第二梅克尔树的根节点hash是否一致。如果一致,说明校验区块X的区块头部和智能合约执行结果列表匹配,也就是第二梅克尔树的根节点和所述智能合约执行结果匹配,对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
在步骤S140中,再判断区块X的区块头部所包含的上一个区块id是否在本地维护的区块头部链式结构中。
在步骤S150中,如果以上验证步骤S115、步骤S120、步骤S130和步骤S140通过,则确定所述智能合约的执行结果有效。如果在最后一个验证步骤S140中,判断区块X的区块头部所包含的上一个区块id在本地维护的区块头部链式结构中,则将真实有效的区块X的区块头保存到本地维护的区块头链数据库。
在上述步骤中,步骤S115是可以省略的执行步骤,在对验证的响应时间要求比较高的场景下,可将不执行步骤S115。
另外,步骤S115、步骤S120和步骤S130可以互换执行顺序,或者,在另一种实施方式中,步骤S115、步骤S120和步骤S130可并行执行。这三个步骤执行完成之后再执行步骤S140。
图7为本发明另一实施例提供的区块链智能合约验证方法的在轻量级节点上的有效性校验流程图。如图7所示,在一个示例中,区块链智能合约验证方法的的具体执行步骤如下:
1.轻量级节点从全节点1同步最新区块的头部(要包含2棵梅克尔树)及交易id列表、智能合约执行结果列表。
2.进行区块合法性校验。校验的具体步骤可包括上述步骤S115、步骤S120、步骤S130和步骤S140。
3.在全节点2查询同一个区块的区块头,对比2个梅克尔树根、指向的上一个区块id,与从全节点1中同步的数据是否一致。对比的具体步骤可包括上述步骤S115。
4.检验交易列表和智能合约执行结果。
4.1.判断tx(Transaction,交易)列表和区块头的第一梅克尔树根是否匹配,例如纯付款交易的验证。
4.2.判断智能合约执行结果列表和区块头的第二梅克尔树根是否匹配,即验证涉及到智能合约的交易。如果以上步骤都验证成功,则存储新的真实有效的区块头。
上述技术方案具有如下优点或有益效果:不需要下载和存储全量的区块信息,也不需要在轻量级客户端本地重复执行智能合约,即可在区块链网络中帮助轻量级节点判断智能合约执行结果有效性,节省了系统资源,提高了执行效率。
图8为本发明一实施例提供的区块链智能合约验证装置的结构框图。如图8所示,本发明实施例的区块链智能合约验证装置包括:获取单元100,用于从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;第一验证单元200,用于对所述第一梅克尔树的根节点和所述交易标识进行验证;第二验证单元300,用于对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;第三验证单元400,用于验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;确定单元500,用于:如果以上验证通过,则确定所述智能合约的执行结果有效。
在一种实施方式中,所述第一验证单元200还用于:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
在一种实施方式中,所述第二验证单元300还用于:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
图9为本发明又一实施例提供的区块链智能合约验证装置的结构框图。如图9所示,在一种实施方式中,还包括第四验证单元600,用于:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
本发明实施例的区块链智能合约验证装置中各单元的功能可以参见上述方法的相关描述,在此不再赘述。
在一个可能的设计中,区块链智能合约验证装置的结构中包括处理器和存储器,所述存储器用于存储支持区块链智能合约验证装置执行上述区块链智能合约验证方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述区块链智能合约验证装置还可以包括通信接口,用于区块链智能合约验证装置与其他设备或通信网络通信。
图10为本发明又一实施例提供的区块链智能合约验证装置的结构框图。如图10所示,该装置包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的区块链智能合约验证方法。所述存储器101和处理器102的数量可以为一个或多个。
该装置还包括:
通信接口103,用于与外界设备进行通信,进行数据交互传输。
存储器101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。
又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述区块链智能合约验证方法中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种区块链智能合约验证方法,其特征在于,包括:
从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;
对所述第一梅克尔树的根节点和所述交易标识进行验证;
对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;
验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;
如果以上验证通过,则确定所述智能合约的执行结果有效。
2.根据权利要求1所述的方法,其特征在于,对所述第一梅克尔树的根节点和所述交易标识进行验证,包括:
使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;
对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;
如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
3.根据权利要求1所述的方法,其特征在于,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证,包括:
使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;
对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;
如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
4.根据权利要求1-3中任一项所述的方法,其特征在于,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中之前,还包括:
分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;
对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;
如果一致,则确定所述指定区块有效;
在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
5.一种区块链智能合约验证装置,其特征在于,包括:
获取单元,用于从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;
第一验证单元,用于对所述第一梅克尔树的根节点和所述交易标识进行验证;
第二验证单元,用于对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;
第三验证单元,用于验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;
确定单元,用于:如果以上验证通过,则确定所述智能合约的执行结果有效。
6.根据权利要求5所述的装置,其特征在于,所述第一验证单元还用于:
使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;
对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;
如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。
7.根据权利要求5所述的装置,其特征在于,所述第二验证单元还用于:
使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;
对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;
如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。
8.根据权利要求5-7中任一项所述的装置,其特征在于,还包括第四验证单元,用于:
分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;
对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;
如果一致,则确定所述指定区块有效;
在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。
9.一种区块链智能合约验证装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201811101341.2A 2018-09-20 2018-09-20 区块链智能合约验证方法、装置及存储介质 Active CN109345388B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201811101341.2A CN109345388B (zh) 2018-09-20 2018-09-20 区块链智能合约验证方法、装置及存储介质
US16/969,752 US20200412526A1 (en) 2018-09-20 2019-06-17 Method and apparatus for verifying smart contracts in blockchain, and storage medium
PCT/CN2019/091475 WO2020057196A1 (zh) 2018-09-20 2019-06-17 区块链智能合约验证方法、装置及存储介质
KR1020207019610A KR102431459B1 (ko) 2018-09-20 2019-06-17 블록체인 스마트 계약 검증 방법, 장치 및 저장 매체
EP19863164.0A EP3678346B1 (en) 2018-09-20 2019-06-17 Blockchain smart contract verification method and apparatus, and storage medium
JP2020544505A JP7018517B2 (ja) 2018-09-20 2019-06-17 ブロックチェーン上のスマートコントラクトの検証方法、装置、記憶媒体、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811101341.2A CN109345388B (zh) 2018-09-20 2018-09-20 区块链智能合约验证方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109345388A true CN109345388A (zh) 2019-02-15
CN109345388B CN109345388B (zh) 2020-09-08

Family

ID=65305888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811101341.2A Active CN109345388B (zh) 2018-09-20 2018-09-20 区块链智能合约验证方法、装置及存储介质

Country Status (6)

Country Link
US (1) US20200412526A1 (zh)
EP (1) EP3678346B1 (zh)
JP (1) JP7018517B2 (zh)
KR (1) KR102431459B1 (zh)
CN (1) CN109345388B (zh)
WO (1) WO2020057196A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335131A (zh) * 2019-06-04 2019-10-15 阿里巴巴集团控股有限公司 基于树的相似度匹配的金融风险控制方法及装置
CN110336677A (zh) * 2019-07-15 2019-10-15 杭州复杂美科技有限公司 区块打包、广播方法和系统、设备及存储介质
CN110365768A (zh) * 2019-07-15 2019-10-22 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
CN110809876A (zh) * 2019-03-04 2020-02-18 阿里巴巴集团控股有限公司 对智能合约执行链外测试的方法和设备
WO2020057196A1 (zh) * 2018-09-20 2020-03-26 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN111159750A (zh) * 2020-04-07 2020-05-15 南京邮电大学 基于联盟链的汽车维修数据存储方法
CN111368003A (zh) * 2020-03-06 2020-07-03 安徽中科智链信息科技有限公司 一种多链锚定数据的管理方法
CN111432027A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111523896A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 防攻击方法、设备和存储介质
CN111695991A (zh) * 2019-03-14 2020-09-22 北京沃东天骏信息技术有限公司 基于区块的合约处理方法、装置、区块链节点及存储介质
CN112037055A (zh) * 2020-08-17 2020-12-04 成都质数斯达克科技有限公司 交易处理方法、装置、电子设备及可读存储介质
CN112769894A (zh) * 2020-12-17 2021-05-07 国网浙江省电力有限公司信息通信分公司 一种基于区块链Merkle树验证的设备认证方法
CN112948350A (zh) * 2021-02-02 2021-06-11 中央财经大学 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法
CN113282798A (zh) * 2021-05-07 2021-08-20 广州中国科学院计算机网络信息中心 一种基于梅克尔树的标识资源版本验证方法及系统
CN113362068A (zh) * 2021-08-10 2021-09-07 北京连琪科技有限公司 一种轻节点验证区块链状态转移的方法
CN113592645A (zh) * 2021-07-02 2021-11-02 中国人民银行数字货币研究所 数据验证的方法和装置
CN114175011A (zh) * 2020-10-27 2022-03-11 支付宝(杭州)信息技术有限公司 具有高效世界状态数据结构的区块链系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111884807B (zh) * 2020-07-13 2021-10-26 腾讯科技(深圳)有限公司 基于区块链的物品预约方法、装置、设备以及介质
CN111915301B (zh) * 2020-08-05 2022-08-26 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、电子设备及可读介质
CN112085504B (zh) * 2020-11-16 2021-02-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN113220795B (zh) * 2021-02-19 2022-06-24 腾讯科技(深圳)有限公司 基于分布式存储的数据处理方法、装置、设备以及介质
CN113259135B (zh) * 2021-07-06 2022-01-21 常州市建筑科学研究院集团股份有限公司 用于检测数据防篡改的轻量级区块链通信认证装置及其方法
CN113254163B (zh) * 2021-07-06 2021-11-09 支付宝(杭州)信息技术有限公司 区块链数据的处理方法及装置
CN113657900B (zh) * 2021-07-13 2024-03-22 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统
CN113542396B (zh) * 2021-07-13 2024-03-08 华润数字科技有限公司 一种区块链存储及通讯方法、系统及其相关组件
CN113626532B (zh) * 2021-09-03 2023-11-24 杭州复杂美科技有限公司 非法节点识别方法、防作弊方法、计算机设备和存储介质
CN113704271A (zh) * 2021-09-03 2021-11-26 杭州复杂美科技有限公司 默克尔树生成方法、非法节点识别方法、设备和存储介质
CN114401091B (zh) * 2021-12-16 2023-10-24 北京航空航天大学 基于区块链的设备跨域认证管理方法及装置
WO2023148042A1 (en) * 2022-02-07 2023-08-10 Nchain Licensing Ag Blockchain based privacy enhanced outsourced data storage
GB2615752B (en) * 2022-02-15 2024-04-24 Nchain Licensing Ag Attesting to membership of a set
CN116028990B (zh) * 2023-03-30 2023-07-18 中国科学技术大学 一种基于区块链的防篡改隐私保护日志审计方法
CN116308368B (zh) * 2023-05-24 2023-07-18 国网区块链科技(北京)有限公司 一种中继区块链跨链数据安全存储方法、装置及相关设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145768B (zh) * 2016-03-01 2021-02-12 华为技术有限公司 版权管理方法和系统
WO2017189027A1 (en) 2016-04-29 2017-11-02 Digital Asset Holdings Digital asset modeling
US10447478B2 (en) * 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
EP3491605A1 (en) * 2016-08-01 2019-06-05 Cryptowerk Corp. Computer-implemented method and system of tamper-evident recording of a plurality of service data items
KR101849917B1 (ko) * 2016-10-13 2018-05-31 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
US10554746B2 (en) * 2016-11-14 2020-02-04 International Business Machines Corporation Decentralized immutable storage blockchain configuration
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN107025559B (zh) 2017-01-26 2020-09-18 创新先进技术有限公司 一种业务处理方法及装置
CN107040582B (zh) 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
CN111614655A (zh) * 2017-03-24 2020-09-01 创新先进技术有限公司 一种共识校验的方法及装置
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
EP3631721A1 (en) * 2017-05-26 2020-04-08 Nchain Holdings Limited Script based blockchain interaction
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US11281644B2 (en) * 2017-07-28 2022-03-22 Hitachi, Ltd. Blockchain logging of data from multiple systems
US11416942B1 (en) * 2017-09-06 2022-08-16 State Farm Mutual Automobile Insurance Company Using a distributed ledger to determine fault in subrogation
US20190253256A1 (en) * 2018-02-13 2019-08-15 Texas Precious Metals LLC Tracking and verifying authenticity of an asset via a distributed ledger
US10904009B2 (en) * 2018-05-30 2021-01-26 International Business Machines Corporation Blockchain implementing delta storage
US11334439B2 (en) * 2018-08-29 2022-05-17 International Business Machines Corporation Checkpointing for increasing efficiency of a blockchain
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020057196A1 (zh) * 2018-09-20 2020-03-26 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN110809876A (zh) * 2019-03-04 2020-02-18 阿里巴巴集团控股有限公司 对智能合约执行链外测试的方法和设备
CN111695991B (zh) * 2019-03-14 2024-02-06 北京沃东天骏信息技术有限公司 基于区块的合约处理方法、装置、区块链节点及存储介质
CN111695991A (zh) * 2019-03-14 2020-09-22 北京沃东天骏信息技术有限公司 基于区块的合约处理方法、装置、区块链节点及存储介质
CN110335131A (zh) * 2019-06-04 2019-10-15 阿里巴巴集团控股有限公司 基于树的相似度匹配的金融风险控制方法及装置
CN110335131B (zh) * 2019-06-04 2023-12-05 创新先进技术有限公司 基于树的相似度匹配的金融风险控制方法及装置
CN110365768A (zh) * 2019-07-15 2019-10-22 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
CN110336677A (zh) * 2019-07-15 2019-10-15 杭州复杂美科技有限公司 区块打包、广播方法和系统、设备及存储介质
CN111368003A (zh) * 2020-03-06 2020-07-03 安徽中科智链信息科技有限公司 一种多链锚定数据的管理方法
CN111368003B (zh) * 2020-03-06 2020-10-16 安徽中科智链信息科技有限公司 一种多链锚定数据的管理方法
CN111159750A (zh) * 2020-04-07 2020-05-15 南京邮电大学 基于联盟链的汽车维修数据存储方法
CN111432027A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111432027B (zh) * 2020-04-14 2023-04-14 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111523896A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 防攻击方法、设备和存储介质
CN112037055A (zh) * 2020-08-17 2020-12-04 成都质数斯达克科技有限公司 交易处理方法、装置、电子设备及可读存储介质
CN112037055B (zh) * 2020-08-17 2023-05-05 成都质数斯达克科技有限公司 交易处理方法、装置、电子设备及可读存储介质
CN114175011A (zh) * 2020-10-27 2022-03-11 支付宝(杭州)信息技术有限公司 具有高效世界状态数据结构的区块链系统
CN112769894A (zh) * 2020-12-17 2021-05-07 国网浙江省电力有限公司信息通信分公司 一种基于区块链Merkle树验证的设备认证方法
CN112769894B (zh) * 2020-12-17 2022-05-17 国网浙江省电力有限公司信息通信分公司 一种基于区块链Merkle树验证的设备认证方法
CN112948350A (zh) * 2021-02-02 2021-06-11 中央财经大学 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法
CN113282798B (zh) * 2021-05-07 2022-03-25 广州中国科学院计算机网络信息中心 一种基于梅克尔树的标识资源版本验证方法及系统
CN113282798A (zh) * 2021-05-07 2021-08-20 广州中国科学院计算机网络信息中心 一种基于梅克尔树的标识资源版本验证方法及系统
CN113592645A (zh) * 2021-07-02 2021-11-02 中国人民银行数字货币研究所 数据验证的方法和装置
CN113592645B (zh) * 2021-07-02 2023-11-14 中国人民银行数字货币研究所 数据验证的方法和装置
CN113362068B (zh) * 2021-08-10 2022-03-29 北京连琪科技有限公司 一种轻节点验证区块链状态转移的方法
CN113362068A (zh) * 2021-08-10 2021-09-07 北京连琪科技有限公司 一种轻节点验证区块链状态转移的方法

Also Published As

Publication number Publication date
JP7018517B2 (ja) 2022-02-10
EP3678346A4 (en) 2021-09-29
EP3678346A1 (en) 2020-07-08
KR102431459B1 (ko) 2022-08-11
WO2020057196A1 (zh) 2020-03-26
CN109345388B (zh) 2020-09-08
US20200412526A1 (en) 2020-12-31
EP3678346B1 (en) 2022-09-07
JP2021515311A (ja) 2021-06-17
KR20200095540A (ko) 2020-08-10

Similar Documents

Publication Publication Date Title
CN109345388A (zh) 区块链智能合约验证方法、装置及存储介质
CN109242500A (zh) 区块链交易有效性验证方法、装置及存储介质
CN113329031B (zh) 一种区块的状态树的生成方法及装置
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN107392608B (zh) 基于区块链系统的数字资产交易方法及区块链系统
CN108932348B (zh) 区块链的合并处理方法、装置、区块链节点及存储介质
CA3087297A1 (en) Blockchain-based data verification method and apparatus, and electronic device
EP3321819A1 (en) Device, method and program for securely reducing an amount of records in a database
CN106603698A (zh) 基于dpos的区块链共识方法和节点
CN108171601B (zh) 区块链溯源追踪方法、装置和系统
US20220036350A1 (en) Cross-border resource transfer authenticity verification method, device and electronic equipment
CN110235162B (zh) 区块链系统数据处理方法和区块的生成方法
CN109189859A (zh) 区块链网络中的节点初始化方法和装置
CN110458677A (zh) 基于区块链的票据核销方法及装置、电子设备、存储介质
CN109446208A (zh) 一种数据存储方法、计算机可读存储介质及服务器
CN108009445A (zh) 一种半中心化的可信数据管理系统
CN112990941A (zh) 一种针对智能合约中庞氏骗局的漏洞检测方法及系统
CN115358856A (zh) 一种基于区块链的电力交易数据存储、溯源方法及系统
CN111552738B (zh) 基于物联网的区块链生态系统和区块链上链方法
CN116938523A (zh) 区块链系统、运行方法、电子设备和存储介质
CN110517135A (zh) 一种区块生成方法及装置
CN114358948A (zh) Nft原子交换方法、系统、计算机可读存储介质及终端设备
CN108304467A (zh) 用于文本间匹配的方法
CN106547799B (zh) 数据的导入方法及装置
CN109389477A (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