CN112131235A - 一种区块链系统内交易可信校验实现方法 - Google Patents

一种区块链系统内交易可信校验实现方法 Download PDF

Info

Publication number
CN112131235A
CN112131235A CN202010993452.XA CN202010993452A CN112131235A CN 112131235 A CN112131235 A CN 112131235A CN 202010993452 A CN202010993452 A CN 202010993452A CN 112131235 A CN112131235 A CN 112131235A
Authority
CN
China
Prior art keywords
block
transaction
chain
chainroothash
hash
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.)
Pending
Application number
CN202010993452.XA
Other languages
English (en)
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.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security 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 China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN202010993452.XA priority Critical patent/CN112131235A/zh
Publication of CN112131235A publication Critical patent/CN112131235A/zh
Priority to PCT/CN2021/116849 priority patent/WO2022057678A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种区块链系统内交易可信校验实现方法。本发明基于默克尔树的交易上链验证可以使用户快速的验证交易是否已经被记录到区块链上,提高了交易上链的可信程度,省去了其他验证交易上链方式的繁复操作;本发明对于分布式部署的区块链系统节点,只需比较他们在同一个区块高度上的ChainRootHash即可确认所有节点的链数据是否一致。

Description

一种区块链系统内交易可信校验实现方法
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链系统内交易可信校验实现方法。
背景技术
现有区块链系统存在的问题为缺乏交易可信校验的功能。由于区块链系统是以链式存储来保证交易数据的安全性,因此,对用户而言如何校验交易数据被链式存储在区块链上显得至关重要。而现有区块链系统提供的部分查询接口,只能够提供单一的区块查询与交易数据查询,并没有提供一种有效的校验方法去证明某条交易确实被记录到链上。
发明内容
针对现有技术中的上述不足,本发明提供的一种区块链系统内交易可信校验实现方法解决了没有一种有效的校验方法去证明某条交易确实被记录到链上的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种区块链系统内交易可信校验实现方法,包括以下步骤:
S1、生成区块的默克尔树;
S2、根据区块的默克尔树生成区块链的默克尔树;
S3、基于区块链的默克尔树对区块链上的交易进行验证。
进一步地:所述步骤S1的具体步骤为:对区块增加Metadata扩展字段,并在Metadata扩展字段中存放链根hash及区块默克尔树;
所述区块默克尔树由区块中的交易计算得到,其中区块的默克尔树根hash为BlockRootHash。
进一步地:所述步骤S2的具体步骤为:利用区块建立区块链,区块链的ChainRootHash为ChainRootHash0,在第一个区块创建后,第一个区块的默克尔树根hash为BlockRootHash1,将ChainRootHash0和BlockRootHash1结合进行计算得到链的新根ChainRootHash1,并将BlockRootHash1和ChainRootHash1写入到一个区块的Metadata扩展字段中,对后续区块进行处理,直至处理到第N个区块;
其中,ChainRootHash为区块链的根hash,ChainRootHash0为第零个区块的DataHash。
进一步地:所述步骤S3的具体步骤为:
S31、通过区块链系统定期对外公布最新的ChainRootHash,通过用户输入已有信息到接口GrtHashPath,并返回给用户数据;
所述已有信息包括交易的hash和transactionID,所述transactionID为交易的ID;
S32、根据用户数据计算ChainRootHash′,如果ChainRootHash′与ChainRootHash相等,则该笔交易被真实的记录到了链上,否则,该笔交易没有被记录到链上;
所述ChainRootHash′为根据用户数据计算的链根Hash。
进一步地:所述区块链系统中有三个数据库,为存储区块数据的区块数据库BlockDB、存储已经公布过的根hash数据库ChainRootHash DB以及存储区块链上区块hash路径的区块hash路径数据库HashPath DB。
进一步地:所述Block DB上存储了所有交易生成的区块数据,每个区块数据中又包含了该区块内所有交易生成的默克尔树;用户使用交易ID进行hash路径查询,查询服务在接收到请求后先查询区块数据库,获取到交易ID所在的区块高度h和该交易ID在区块内的默克尔树hash路径tx_hashPath。
进一步地:所述ChainRootHash DB上存储了所有公布过的根hash和其对应的区块高度,在取得交易ID所在的区块高度h后对ChainRootHash DB进行查询,获取已经公布的根hash中距离区块高度h最近的区块高度H。
进一步地:所述HashPath DB终对区块链上由区块构成的hash路径进行了分段存储,根据取得交易ID所在的区块高度h和区块高度H对HashPath DB进行查询,获得区块高度h到区块高度H的hash路径block_h_H_hashPath。
进一步地:所述返回给用户的数据为tx_hashPath和block_h_H_hashPath组成的hashPath。
本发明的有益效果为:
(1)高效的交易上链验证。本发明基于默克尔树的交易上链验证可以使用户快速的验证交易是否已经被记录到区块链上,提高了交易上链的可信程度,省去了其他验证交易上链方式的繁复操作。
(2)分布式节点区块一致性的快速验证。本发明对于分布式部署的区块链系统节点,只需比较他们在同一个区块高度上的ChainRootHash即可确认所有节点的链数据是否一致。
附图说明
图1为本发明流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,一种区块链系统内交易可信校验实现方法,包括以下步骤:
S1、生成区块的默克尔树;
具体步骤为:对区块增加Metadata扩展字段,并在Metadata扩展字段中存放链根hash及区块默克尔树;
所述区块默克尔树由区块中的交易计算得到,其中区块的默克尔树根hash为BlockRootHash。
S2、根据区块的默克尔树生成区块链的默克尔树;
具体步骤为:利用区块建立区块链,区块链的根(ChainRootHash)为创世区块(第0个区块)的DataHash(ChainRootHash0),在第一个区块创建后,第一个区块的默克尔树根hash为BlockRootHash1,将ChainRootHash0和BlockRootHash1结合进行计算得到链的新根Hash(ChainRootHash1),并将BlockRootHash1和ChainRootHash1写入到一个区块的Metadata扩展字段中,对后续区块进行处理,直至处理到第N个区块;
其中,ChainRootHash为区块链的根hash,ChainRootHash0为第零个区块的DataHash。
S3、基于区块链的默克尔树对区块链上的交易进行验证。
具体步骤为:
S31、通过区块链系统定期对外公布最新的ChainRootHash,假设公布时的区块高度为100,ChainRootHash的版本为ChainRootHashX。公布数据的模板如下:
Figure BDA0002691610320000041
Figure BDA0002691610320000051
用户要查询某个交易是否被记录到了区块链系统上。通过用户输入已有信息到接口GrtHashPath,并返回给用户数据;所述已有信息包括交易的hash和transactionID,所述transactionID为交易的ID;GetHashPath接口的输入参数模板如下:
字段名 是否必填 字段说明
transactionID 交易的ID
hash 交易的hash
S32、根据用户数据计算链根Hash(ChainRootHash′),如果ChainRootHash′与ChainRootHash相等,则该笔交易被真实的记录到了链上,否则,该笔交易没有被记录到链上;GetHashPath接口的输出结果模板如下:
Figure BDA0002691610320000052
所述区块链系统中有三个数据库,为存储区块数据的区块数据库Block DB、存储已经公布过的根hash数据库ChainRootHash DB以及存储区块链上区块hash路径的区块hash路径数据库HashPath DB。
所述Block DB上存储了所有交易生成的区块数据,每个区块数据中又包含了该区块内所有交易生成的默克尔树;用户使用交易ID进行hash路径查询,查询服务在接收到请求后先查询区块数据库,获取到交易ID所在的区块高度h和该交易ID在区块内的默克尔树hash路径tx_hashPath。
所述ChainRootHash DB上存储了所有公布过的根hash和其对应的区块高度,在取得交易ID所在的区块高度h后对ChainRootHash DB进行查询,获取已经公布的根hash中距离区块高度h最近的区块高度H。
所述HashPath DB终对区块链上由区块构成的hash路径进行了分段存储,根据取得交易ID所在的区块高度h和区块高度H对HashPath DB进行查询,获得区块高度h到区块高度H的hash路径block_h_H_hashPath。
所述返回给用户的数据为tx_hashPath和block_h_H_hashPath组成的hashPath。

Claims (9)

1.一种区块链系统内交易可信校验实现方法,其特征在于,包括以下步骤:
S1、生成区块的默克尔树;
S2、根据区块的默克尔树生成区块链的默克尔树;
S3、基于区块链的默克尔树对区块链上的交易进行验证。
2.根据权利要求1所述的区块链系统内交易可信校验实现方法,其特征在于,所述步骤S1的具体步骤为:对区块增加Metadata扩展字段,并在Metadata扩展字段中存放链根hash及区块默克尔树;
所述区块默克尔树由区块中的交易计算得到,其中区块的默克尔树根hash为BlockRootHash。
3.根据权利要求1所述的区块链系统内交易可信校验实现方法,其特征在于,所述步骤S2的具体步骤为:利用区块建立区块链,区块链的ChainRootHash为ChainRootHash0,在第一个区块创建后,第一个区块的默克尔树根hash为BlockRootHash1,将ChainRootHash0和BlockRootHash1结合进行计算得到链的新根ChainRootHash1,并将BlockRootHash1和ChainRootHash1写入到一个区块的Metadata扩展字段中,对后续区块进行处理,直至处理到第N个区块;
其中,ChainRootHash为区块链的根hash,ChainRootHash0为第零个区块的DataHash。
4.根据权利要求3所述的区块链系统内交易可信校验实现方法,其特征在于,所述步骤S3的具体步骤为:
S31、通过区块链系统定期对外公布最新的ChainRootHash,通过用户输入已有信息到接口GrtHashPath,并返回给用户数据;
所述已有信息包括交易的hash和transactionID,所述transactionID为交易的ID;
S32、根据用户数据计算ChainRootHash′,如果ChainRootHash′与ChainRootHash相等,则该笔交易被真实的记录到了链上,否则,该笔交易没有被记录到链上;
所述ChainRootHash′为根据用户数据计算的链根Hash。
5.根据权利要求4所述的区块链系统内交易可信校验实现方法,其特征在于,所述区块链系统中有三个数据库,为存储区块数据的区块数据库Block DB、存储已经公布过的根hash数据库ChainRootHash DB以及存储区块链上区块hash路径的区块hash路径数据库HashPath DB。
6.根据权利要求5所述的区块链系统内交易可信校验实现方法,其特征在于,所述Block DB上存储了所有交易生成的区块数据,每个区块数据中又包含了该区块内所有交易生成的默克尔树;用户使用交易ID进行hash路径查询,查询服务在接收到请求后先查询区块数据库,获取到交易ID所在的区块高度h和该交易ID在区块内的默克尔树hash路径tx_hashPath。
7.根据权利要求6所述的区块链系统内交易可信校验实现方法,其特征在于,所述ChainRootHash DB上存储了所有公布过的根hash和其对应的区块高度,在取得交易ID所在的区块高度h后对ChainRootHash DB进行查询,获取已经公布的根hash中距离区块高度h最近的区块高度H。
8.根据权利要求7所述的区块链系统内交易可信校验实现方法,其特征在于,所述HashPath DB终对区块链上由区块构成的hash路径进行了分段存储,根据取得交易ID所在的区块高度h和区块高度H对HashPath DB进行查询,获得区块高度h到区块高度H的hash路径block_h_H_hashPath。
9.根据权利要求8所述的区块链系统内交易可信校验实现方法,其特征在于,所述返回给用户的数据为tx_hashPath和block_h_H_hashPath组成的hashPath。
CN202010993452.XA 2020-09-21 2020-09-21 一种区块链系统内交易可信校验实现方法 Pending CN112131235A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010993452.XA CN112131235A (zh) 2020-09-21 2020-09-21 一种区块链系统内交易可信校验实现方法
PCT/CN2021/116849 WO2022057678A1 (zh) 2020-09-21 2021-09-07 一种区块链系统内交易可信校验实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010993452.XA CN112131235A (zh) 2020-09-21 2020-09-21 一种区块链系统内交易可信校验实现方法

Publications (1)

Publication Number Publication Date
CN112131235A true CN112131235A (zh) 2020-12-25

Family

ID=73841707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010993452.XA Pending CN112131235A (zh) 2020-09-21 2020-09-21 一种区块链系统内交易可信校验实现方法

Country Status (2)

Country Link
CN (1) CN112131235A (zh)
WO (1) WO2022057678A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022057678A1 (zh) * 2020-09-21 2022-03-24 中国电子科技网络信息安全有限公司 一种区块链系统内交易可信校验实现方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086067B (zh) * 2022-07-19 2022-11-15 江西农业大学 一种数据处理方法、网关、传感器及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法
CN109087101A (zh) * 2018-08-07 2018-12-25 北京三快在线科技有限公司 交易校验方法、装置、存储介质及电子设备
CN109684375A (zh) * 2018-12-07 2019-04-26 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、记账节点和介质
CN110175840A (zh) * 2019-04-19 2019-08-27 华中科技大学 联盟链中实现轻钱包机制的方法、客户端、联盟链及系统
CN111080298A (zh) * 2019-12-26 2020-04-28 电子科技大学 一种适用于能源区块链的区块生成与交易验证方法
CN111382164A (zh) * 2020-03-06 2020-07-07 腾讯科技(深圳)有限公司 一种基于区块链网络的业务处理方法
CN111415161A (zh) * 2020-04-27 2020-07-14 财付通支付科技有限公司 基于区块链的数据验证方法、装置及计算机可读存储介质
CN111445236A (zh) * 2019-11-14 2020-07-24 杭州复杂美科技有限公司 一种区块链交易验证方法、设备及存储介质
CN111596862A (zh) * 2020-05-20 2020-08-28 南京如般量子科技有限公司 一种区块链历史交易数据自主优化方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972279B2 (en) * 2018-06-07 2021-04-06 International Business Machines Corporation Efficient validation for blockchain
CN109408551B (zh) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 数据查询方法及系统、共识方法及系统、设备和存储介质
US10951408B2 (en) * 2018-09-05 2021-03-16 Nec Corporation Method and system for publicly verifiable proofs of retrievability in blockchains
CN111640018B (zh) * 2020-05-06 2021-08-03 深圳前海微众银行股份有限公司 一种区块链交易存在性验证方法及装置
CN112131235A (zh) * 2020-09-21 2020-12-25 中国电子科技网络信息安全有限公司 一种区块链系统内交易可信校验实现方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法
CN109087101A (zh) * 2018-08-07 2018-12-25 北京三快在线科技有限公司 交易校验方法、装置、存储介质及电子设备
CN109684375A (zh) * 2018-12-07 2019-04-26 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、记账节点和介质
CN110175840A (zh) * 2019-04-19 2019-08-27 华中科技大学 联盟链中实现轻钱包机制的方法、客户端、联盟链及系统
CN111445236A (zh) * 2019-11-14 2020-07-24 杭州复杂美科技有限公司 一种区块链交易验证方法、设备及存储介质
CN111080298A (zh) * 2019-12-26 2020-04-28 电子科技大学 一种适用于能源区块链的区块生成与交易验证方法
CN111382164A (zh) * 2020-03-06 2020-07-07 腾讯科技(深圳)有限公司 一种基于区块链网络的业务处理方法
CN111415161A (zh) * 2020-04-27 2020-07-14 财付通支付科技有限公司 基于区块链的数据验证方法、装置及计算机可读存储介质
CN111596862A (zh) * 2020-05-20 2020-08-28 南京如般量子科技有限公司 一种区块链历史交易数据自主优化方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022057678A1 (zh) * 2020-09-21 2022-03-24 中国电子科技网络信息安全有限公司 一种区块链系统内交易可信校验实现方法

Also Published As

Publication number Publication date
WO2022057678A1 (zh) 2022-03-24

Similar Documents

Publication Publication Date Title
US7765215B2 (en) System and method for providing a trustworthy inverted index to enable searching of records
AU2005239366B2 (en) Partial query caching
US8176088B2 (en) Incremental cardinality estimation for a set of data values
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
CN107145537B (zh) 一种表格数据导入方法及系统
CN107085570B (zh) 数据处理方法、应用服务器和路由器
US8150836B2 (en) System, method, and computer-readable medium for reducing row redistribution costs for parallel join operations
CN112131235A (zh) 一种区块链系统内交易可信校验实现方法
CN112579602B (zh) 多版本数据存储方法、装置、计算机设备及存储介质
CN106815326A (zh) 一种检测无主键数据表一致性的系统及方法
CN112256698B (zh) 一种基于多哈希函数的表关系自动关联方法
US11126751B2 (en) Index creation for data records
US20090292704A1 (en) Adaptive aggregation: improving the performance of grouping and duplicate elimination by avoiding unnecessary disk access
CN109597829B (zh) 一种实现可搜索加密关系型数据库缓存的中间件方法
CN110727693A (zh) 访问异构数据库的方法、装置、设备、插件及存储介质
WO2021057127A1 (zh) 一种基于多条业务属性的数据存储方法、装置及设备
CN110543495A (zh) 游标遍历存储方法及装置
CN110413631B (zh) 一种数据查询方法及装置
CN113704248B (zh) 一种基于外置索引的区块链查询优化方法
CN112948898A (zh) 一种区块链中防止应用数据被篡改的方法和安全模块
CN104050291A (zh) 一种账户余额数据的并行处理方法和系统
CN114647659A (zh) 数据处理方法、装置、电子设备、存储介质
CN103559272A (zh) 向维度表里导入数据的方法和装置
CN112860802A (zh) 数据库操作语句的处理方法、装置及电子设备
US11204933B2 (en) Data manipulation record storage method, system, apparatus, and device

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201225

RJ01 Rejection of invention patent application after publication