CN111640012A - 一种区块链交易追溯的方法及装置 - Google Patents
一种区块链交易追溯的方法及装置 Download PDFInfo
- Publication number
- CN111640012A CN111640012A CN201910155057.1A CN201910155057A CN111640012A CN 111640012 A CN111640012 A CN 111640012A CN 201910155057 A CN201910155057 A CN 201910155057A CN 111640012 A CN111640012 A CN 111640012A
- Authority
- CN
- China
- Prior art keywords
- transaction
- traced
- block
- bloom filter
- determining
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种区块链交易追溯的方法及装置,该方法包括获取待追溯交易的信息,待追溯交易的信息包括待追溯交易的输入值,根据待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定待追溯交易的叶子节点,布隆过滤器中存储有区块包含的交易的输出值,根据待追溯交易的叶子节点,生成待追溯交易的追溯路径。通过设置每个区块对应的布隆过滤器,依据待追溯交易的输入值,可以快速生成待追溯交易的追溯路径,提高追溯路径的追溯效率,降低***开销。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链交易追溯的方法及装置。
背景技术
在进行基于区块链的数字货币技术项目研究时,经常需要在一个拥有UTXO(Unspent Transaction Output,未使用交易输出)账户***的区块链***中,追溯某一笔交易从当前区块到某个祖先区块(包括创世区块)的交易路径。如果依次对每个区块链进行扫描,在空间和时间上的开销比较大,造成***资源浪费。
发明内容
本发明实施例提供一种区块链交易追溯的方法及装置,用以实现快速构建交易的追溯路径,节省***开销。
本发明实施例提供的一种区块链交易追溯的方法,包括:
获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;
根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
上述技术方案中,通过设置每个区块对应的布隆过滤器,依据待追溯交易的输入值,可以快速生成待追溯交易的追溯路径,提高追溯路径的追溯效率,降低***开销。
可选的,所述根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点,包括:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
可选的,所述根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易的所依赖的交易所在的区块,包括:
将所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
可选的,在所述获取待追溯交易的信息之前,还包括:
在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链***的数据库的布隆过滤器数组中。
相应的,本发明实施例还提供了一种区块链交易追溯的装置,包括:
获取单元,用于获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
处理单元,用于根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;以及根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
可选的,所述处理单元具体用于:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
可选的,所述处理单元具体用于:
将所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
可选的,所述处理单元还用于:
在所述获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链***的数据库的布隆过滤器数组中。
相应的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述区块链交易追溯的方法。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链交易追溯的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构的示意图;
图2为本发明实施例提供的一种区块链交易追溯的方法的流程示意图;
图3为本发明实施例提供的一种区块的结构示意图;
图4为本发明实施例提供的一种布隆过滤器的示意图;
图5为本发明实施例提供的一种叶子节点的示意图;
图6为本发明实施例提供的一种追溯路径的示意图;
图7为本发明实施例提供的一种布隆过滤器数组的示意图;
图8为本发明实施例提供的一种区块链交易追溯的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例所适用的***架构。参考图1所示,该***架构可以包括多个客户端100和区块链***200。客户端100可以通过网络与区块链***200连接。
该多个客户端100可以是不同组织机构所使用的客户端,可以通过该客户端100接入区块链***200。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种区块链交易追溯的方法的流程,该流程可以由区块链交易追溯的装置执行,该装置可以为上述区块链***。
如图2所示,该流程具体包括:
步骤201,获取待追溯交易的信息。
在本发明实施例中,该待追溯交易的信息可以包括待追溯交易的输入值。对于UTXO账户***的区块链***,每笔交易都会有输入值和输出值,每笔交易的输出值是该交易的下一次交易的输入值。因此,可以通过当前交易的输入值,来追溯其所依赖的所有历史交易。
在获取该待追溯交易的信息之前,还需要在生成每个区块时,设置相应的布隆过滤器,每个区块都会对应一个布隆过滤器。具体的,在生成第一区块时,可以将该第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
需要说明的是,该布隆过滤器可以位于该第一区块的区块头中,也可以位于区块链***的数据库的布隆过滤器数组中。若布隆过滤器位于区块头中,区块的具体结构可以如图3所示。
步骤202,根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点。
当得到待追溯交易的输入值之后,就可以根据每个区块对应的布隆过滤器,来确定该待追溯交易的叶子节点,该叶子节点也就是追溯路径中的节点,可以称为叶子交易,是该待追溯交易所依赖的交易。
具体的,针对每个区块,首先将所述待追溯交易的输入值确定为待追溯输出值,根据该待追溯输出值和区块链***中每个区块对应的布隆过滤器,确定出该待追溯交易所依赖的交易所在的区块。然后根据该待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与该待追溯输出值相同的第一交易。最后进行判断,若第一交易为挖矿(coinbase)交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将第一交易确定为待追溯交易的叶子节点,并将第一交易的输入值确定为待追溯输出值,继续确定待追溯交易所依赖的交易,直到确定出终止追溯为止。该预设终止条件可以依据经验进行设置。当然,这里在判断第一交易时,也可以判断第一交易是否为创世区块的交易或小于预设区块高度的交易等,在具体实施过程中可以进行合理调整。
在确定出待追溯交易所依赖的交易所在的区块的过程中,可以通过将布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值。然后进行判断,在m个对应位置的值都为预设值时,将该区块确定为待追溯交易所依赖的交易所在的区块。这里的预设值可以依据经验进行设置,例如可以为1。当m个对应位置的值都为1时,可以确定待追溯交易所依赖的交易在该区块中。
步骤203,根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
当得到该待追溯交易的所有叶子节点时,就可以根据这些叶子节点,生成待追溯交易的追溯路径,该追溯路径为树状结构,当然,在具体实施时也可以为其它结构,例如图状结构。
此外,在进行交易追溯时,可以通过多个线程进行同时追溯,从而加快追溯的效率。
为了更好的解释本发明实施例下面将通过具体的实施场景来描述区块链交易追溯的流程。
实施例一
本发明实施例选择一个大小为1024位,误判率为0.001的布隆过滤器。追溯交易T的路径,假设其路径有四层交易,每个交易有两个输入值。具体的流程如下:
1、生成区块时,在区块头记录一个布隆过滤器。将本区块中所有交易的每个输出值添加到布隆过滤器中。
2、追溯某一笔待追溯交易T。假设T的输入值为{Ti1,Ti2},针对每个输入值Tik,令待追溯输出值Tok=Tik,创建一个线程,执行第3-5步操作。
3、扫描所有区块的区块头。从区块头中取出布隆过滤器A,对待追溯输出值Tok,用布隆过滤器的m个哈希函数对其进行哈希处理,判断布隆过滤器A的对应位置的值是否为1。如果m个对应位置的值均为1,则说明产生待追溯输出值Tok的交易在此区块中。具体如图4所示。
4、扫描此区块的所有交易,找到产生待追溯输出值Tok的交易T1,将T1作为交易T的叶子节点,如图5所示。
5、针对交易T1,如果T1是coinbase交易,则终止追溯;否则转入第2步。
最终产生一个树状的交易追溯路径,如图6所示,其中T7、T8、T9、T10为coinbase交易。
实施例二
本实施例选择一个大小为1024位,误判率为0.001的布隆过滤器。追溯交易T的路径,假设其路径有四层交易,每个交易有两个输入值。具体的流程如下:
1、准备阶段:首先对每个区块,根据区块内所有交易的输出值,构建布隆过滤器数组,并以如图7所示的结构存入数据库中。
2、追溯某一笔待追溯交易T。假设T的输入值为{Ti1,Ti2},针对每个输入值Tik,令待追溯输出值Tok=Tik,创建一个线程,执行第3-5步操作。
3、扫描所有区块的区块头。从数据库中取出布隆过滤器数组A,对待追溯输出值Tok,用布隆过滤器的m个哈希函数对其进行哈希处理,判断布隆过滤器数组A的对应位置的值是否为1。如果m个对应位置的值均为1,则说明产生待追溯输出值Tok的交易在此区块中。具体如图4所示。
4、扫描此区块的所有交易,找到产生待追溯输出值Tok的交易T1,将T1作为交易T的叶子节点,如图5所示。
5、针对交易T1,如果T1是coinbase交易,则终止追溯;否则转入第2步。
最终产生一个树状的交易追溯路径,如图6所示,其中T7、T8、T9、T10为coinbase交易。
上述实施例表明,通过获取待追溯交易的信息,待追溯交易的信息包括待追溯交易的输入值,根据待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定待追溯交易的叶子节点,布隆过滤器中存储有区块包含的交易的输出值,根据待追溯交易的叶子节点,生成待追溯交易的追溯路径。通过设置每个区块对应的布隆过滤器,依据待追溯交易的输入值,可以快速生成待追溯交易的追溯路径,提高追溯路径的追溯效率,降低***开销。
基于相同的技术构思,图8示例性的示出了本发明实施例提供的一种区块链交易追溯的装置,该装置可以执行区块链交易追溯的流程。
如图8所示,该装置具体包括:
获取单元801,用于获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
处理单元802,用于根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;以及根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
可选的,所述处理单元802具体用于:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
可选的,所述处理单元802具体用于:
将所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
可选的,所述处理单元802还用于:
在所述获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链***的数据库的布隆过滤器数组中。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述区块链交易追溯的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链交易追溯的方法。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种区块链交易追溯的方法,其特征在于,包括:
获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;
根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
2.如权利要求1所述的方法,其特征在于,所述根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点,包括:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
3.如权利要求2所述的方法,其特征在于,所述根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易的所依赖的交易所在的区块,包括:
将所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
4.如权利要求1至3任一项所述的方法,其特征在于,在所述获取待追溯交易的信息之前,还包括:
在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
5.如权利要求4所述的方法,其特征在于,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链***的数据库的布隆过滤器数组中。
6.一种区块链交易追溯的装置,其特征在于,包括:
获取单元,用于获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
处理单元,用于根据所述待追溯交易的输入值和区块链***中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;以及根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
7.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链***中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
8.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:
将所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
9.如权利要求6至8任一项所述的装置,其特征在于,所述处理单元还用于:
在所述获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
10.如权利要求9所述的装置,其特征在于,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链***的数据库的布隆过滤器数组中。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1至5中任一项所述的方法。
12.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5中任一项所述的方法。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910155057.1A CN111640012A (zh) | 2019-03-01 | 2019-03-01 | 一种区块链交易追溯的方法及装置 |
KR1020217028551A KR20210125522A (ko) | 2019-03-01 | 2020-01-10 | 블록체인 거래를 추적하기 위한 방법 및 장치 |
PCT/CN2020/071551 WO2020177488A1 (zh) | 2019-03-01 | 2020-01-10 | 一种区块链交易追溯的方法及装置 |
US17/281,459 US20220005004A1 (en) | 2019-03-01 | 2020-01-10 | Method and device for blockchain transaction tracing |
CN202080029743.5A CN113711265A (zh) | 2019-03-01 | 2020-01-10 | 一种区块链交易追溯的方法及装置 |
JP2021551810A JP7303321B2 (ja) | 2019-03-01 | 2020-01-10 | ブロックチェーントランザクションを追跡するための方法およびデバイス |
EP20767224.7A EP3933743A4 (en) | 2019-03-01 | 2020-01-10 | BLOCKCHAIN TRANSACTION TRACKING METHOD AND DEVICE |
TW109103162A TWI727639B (zh) | 2019-03-01 | 2020-02-03 | 一種區塊鏈交易追溯的方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910155057.1A CN111640012A (zh) | 2019-03-01 | 2019-03-01 | 一种区块链交易追溯的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111640012A true CN111640012A (zh) | 2020-09-08 |
Family
ID=72330473
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910155057.1A Pending CN111640012A (zh) | 2019-03-01 | 2019-03-01 | 一种区块链交易追溯的方法及装置 |
CN202080029743.5A Pending CN113711265A (zh) | 2019-03-01 | 2020-01-10 | 一种区块链交易追溯的方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080029743.5A Pending CN113711265A (zh) | 2019-03-01 | 2020-01-10 | 一种区块链交易追溯的方法及装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220005004A1 (zh) |
EP (1) | EP3933743A4 (zh) |
JP (1) | JP7303321B2 (zh) |
KR (1) | KR20210125522A (zh) |
CN (2) | CN111640012A (zh) |
TW (1) | TWI727639B (zh) |
WO (1) | WO2020177488A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3852305B1 (en) * | 2020-01-17 | 2022-11-16 | Fetch.ai Limited | Transaction verification system and method of operation thereof |
GB2595489A (en) * | 2020-05-28 | 2021-12-01 | Nchain Holdings Ltd | Probabilistic membership test for blockchain transaction outputs |
CN112950211B (zh) * | 2021-05-14 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 一种交易验重方法、装置、设备以及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247773A (zh) * | 2017-06-07 | 2017-10-13 | 北京邮电大学 | 一种基于区块链的在分布式数据库中进行交易查询的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US11170395B2 (en) * | 2016-12-02 | 2021-11-09 | Stack Fintech Inc. | Digital banking platform and architecture |
CN107077674B (zh) * | 2016-12-29 | 2021-06-11 | 达闼机器人有限公司 | 交易验证处理方法、装置及节点设备 |
CN107025559B (zh) * | 2017-01-26 | 2020-09-18 | 创新先进技术有限公司 | 一种业务处理方法及装置 |
GB201711879D0 (en) * | 2017-07-24 | 2017-09-06 | Nchain Holdings Ltd | Computer-implemented system and method |
CN108615156A (zh) * | 2018-05-09 | 2018-10-02 | 上海魅联信息技术有限公司 | 一种基于区块链的数据结构 |
CN108711056A (zh) * | 2018-05-16 | 2018-10-26 | 四川大学 | 一种中心化的可追溯的区块链***及方法 |
CN109299038A (zh) * | 2018-08-29 | 2019-02-01 | 南京数睿数据科技有限公司 | 一种适用于区块链的海量数据摘要生成***和方法 |
TWM572512U (zh) * | 2018-09-28 | 2019-01-01 | 彰化商業銀行股份有限公司 | 使用區塊鏈技術之跨行帳戶交易查詢系統 |
US10698728B1 (en) * | 2019-11-15 | 2020-06-30 | Blockstack Pbc | Systems and methods for forming application-specific blockchains |
-
2019
- 2019-03-01 CN CN201910155057.1A patent/CN111640012A/zh active Pending
-
2020
- 2020-01-10 KR KR1020217028551A patent/KR20210125522A/ko not_active Application Discontinuation
- 2020-01-10 WO PCT/CN2020/071551 patent/WO2020177488A1/zh active Application Filing
- 2020-01-10 CN CN202080029743.5A patent/CN113711265A/zh active Pending
- 2020-01-10 EP EP20767224.7A patent/EP3933743A4/en active Pending
- 2020-01-10 JP JP2021551810A patent/JP7303321B2/ja active Active
- 2020-01-10 US US17/281,459 patent/US20220005004A1/en not_active Abandoned
- 2020-02-03 TW TW109103162A patent/TWI727639B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247773A (zh) * | 2017-06-07 | 2017-10-13 | 北京邮电大学 | 一种基于区块链的在分布式数据库中进行交易查询的方法 |
Non-Patent Citations (2)
Title |
---|
CAI,LINXIANG 等: "research on tracking and tracing bitcoin fund flows" * |
CHEN,WANGHU 等: "blockchain based provenance sharing of scientific workflows" * |
Also Published As
Publication number | Publication date |
---|---|
WO2020177488A1 (zh) | 2020-09-10 |
US20220005004A1 (en) | 2022-01-06 |
EP3933743A4 (en) | 2022-04-27 |
EP3933743A1 (en) | 2022-01-05 |
JP2022522790A (ja) | 2022-04-20 |
KR20210125522A (ko) | 2021-10-18 |
JP7303321B2 (ja) | 2023-07-04 |
CN113711265A (zh) | 2021-11-26 |
TWI727639B (zh) | 2021-05-11 |
TW202034265A (zh) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111640012A (zh) | 一种区块链交易追溯的方法及装置 | |
CN110099108B (zh) | 一种区块链事件去重方法、装置、计算机设备及存储介质 | |
CN110555700A (zh) | 区块链智能合约执行方法、装置、计算机可读存储介质 | |
CN110009347B (zh) | 一种区块链交易信息审计的方法及装置 | |
CN106021296B (zh) | 核心银行***批量作业路径的检测方法及装置 | |
CN111105277A (zh) | 一种区块链状态变更交易追溯的方法及装置 | |
CN108846085A (zh) | 一种id生成方法、装置、电子设备及*** | |
CN112433757A (zh) | 一种确定接口调用关系的方法和装置 | |
CN111193631B (zh) | 信息处理方法、***和计算机可读存储介质 | |
CN113342500B (zh) | 任务执行方法、装置、设备及存储介质 | |
CN111160403B (zh) | 一种api接口复用发现的方法及装置 | |
CN104991963B (zh) | 文件处理方法和装置 | |
CN109559225B (zh) | 一种交易方法及装置 | |
CN112667463A (zh) | 一种应用***基线状态监控方法及装置 | |
CN112306675A (zh) | 数据处理方法、相关设备以及计算机可读存储介质 | |
CN106484725A (zh) | 一种数据处理方法、装置和*** | |
CN110008028A (zh) | 计算资源分配方法、装置、计算机设备和存储介质 | |
CN110134502A (zh) | 任务处理方法、装置、***、计算机设备和存储介质 | |
CN113792247A (zh) | 基于代码特征生成功能流程图的方法、装置、设备和介质 | |
CN112000414B (zh) | 参数信息的可配置化显示方法及装置 | |
CN112215703B (zh) | 银行业务数据的分箱方法及*** | |
CN109634857B (zh) | 测试页面对象的方法、装置和存储介质 | |
CN112364075A (zh) | 一种数据挖掘方法及装置 | |
CN111090466B (zh) | 调用指令的优化方法、装置、设备和存储介质 | |
CN105912140A (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 |