WO2020177488A1 - 一种区块链交易追溯的方法及装置 - Google Patents

一种区块链交易追溯的方法及装置 Download PDF

Info

Publication number
WO2020177488A1
WO2020177488A1 PCT/CN2020/071551 CN2020071551W WO2020177488A1 WO 2020177488 A1 WO2020177488 A1 WO 2020177488A1 CN 2020071551 W CN2020071551 W CN 2020071551W WO 2020177488 A1 WO2020177488 A1 WO 2020177488A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
traced
block
bloom filter
output value
Prior art date
Application number
PCT/CN2020/071551
Other languages
English (en)
French (fr)
Inventor
许玉壮
周钰
Original Assignee
中国银联股份有限公司
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 中国银联股份有限公司 filed Critical 中国银联股份有限公司
Priority to US17/281,459 priority Critical patent/US20220005004A1/en
Priority to CN202080029743.5A priority patent/CN113711265A/zh
Priority to KR1020217028551A priority patent/KR20210125522A/ko
Priority to EP20767224.7A priority patent/EP3933743A4/en
Priority to JP2021551810A priority patent/JP7303321B2/ja
Publication of WO2020177488A1 publication Critical patent/WO2020177488A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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
    • 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment
    • 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/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

Definitions

  • the embodiment of the present invention provides a method and device for blockchain transaction traceability, which are used to quickly construct a traceability path of a transaction and save system overhead.
  • An embodiment of the present invention provides a method for tracing blockchain transactions, including:
  • Acquiring information of the transaction to be traced includes the input value of the transaction to be traced;
  • the leaf node of the transaction to be traced is determined; the bloom filter stores the block containing The output value of the transaction;
  • the trace path of the transaction to be traced is generated.
  • the traceability path of the traceability transaction can be quickly generated based on the input value of the traceability transaction, which improves the traceability efficiency of the traceability route and reduces system overhead.
  • the determining the leaf node of the transaction to be traced based on the input value of the transaction to be traced and the bloom filter corresponding to each block in the blockchain system includes:
  • the traceability is terminated; otherwise, the first transaction is determined as the leaf node of the transaction to be traced, and the The input value of the first transaction is determined as the output value to be traced, and the transaction dependent on the transaction to be traced is continuously determined until it is determined that the traceability is terminated.
  • Hash the output value to be traced using the m hash functions in the bloom filter to obtain m values at corresponding positions;
  • the block is determined as the block in which the exchange to be traced depends on.
  • the method further includes:
  • the output values of all transactions in the first block are stored in the Bloom filter corresponding to the first block.
  • an embodiment of the present invention also provides a device for tracing blockchain transactions, including:
  • An obtaining unit for obtaining information of a transaction to be traced includes the input value of the transaction to be traced;
  • the processing unit is configured to determine the leaf node of the transaction to be traced based on the input value of the transaction to be traced and the bloom filter corresponding to each block in the blockchain system; the bloom filter stores The output value of the transaction contained in the block; and generating the traceability path of the transaction to be traced according to the leaf node of the transaction to be traced.
  • the traceability is terminated; otherwise, the first transaction is determined as the leaf node of the transaction to be traced, and the The input value of the first transaction is determined as the output value to be traced, and the transaction dependent on the transaction to be traced is continuously determined until it is determined that the traceability is terminated.
  • processing unit is specifically configured to:
  • Hash the output value to be traced using the m hash functions in the bloom filter to obtain m values at corresponding positions;
  • the block is determined as the block in which the exchange to be traced depends on.
  • processing unit is further configured to:
  • the output values of all the transactions in the first block are stored in the Bloom filter corresponding to the first block.
  • an embodiment of the present invention also provides a computing device, including: a memory and a processor; the memory stores one or more executable programs that are used to configure the processor; the processor, One or more executable programs are configured, and the one or more executable programs are used to execute the blockchain transaction traceability method described in any one of the above.
  • FIG. 1 is a schematic diagram of a system architecture provided by an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a method for tracing blockchain transactions according to an embodiment of the present invention
  • Figure 5 is a schematic diagram of a leaf node provided by an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a Bloom filter array provided by an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a device for tracing blockchain transactions according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
  • Fig. 1 is a system architecture applicable to an embodiment of the present invention.
  • the system architecture may include multiple clients 100 and a blockchain system 200.
  • the client 100 may be connected to the blockchain system 200 through a network.
  • FIG. 1 is only an example, which is not limited in the embodiment of the present invention.
  • FIG. 2 exemplarily shows the flow of a blockchain transaction traceability method provided by an embodiment of the present invention.
  • the flow can be executed by a block chain transaction traceability device, which may be the block Chain system.
  • the process specifically includes:
  • Step 201 Obtain information about transactions to be traced.
  • the information of the transaction to be traced may include the input value of the transaction to be traced.
  • each transaction will have an input value and an output value, and the output value of each transaction is the input value of the next transaction of the transaction. Therefore, all historical transactions on which it depends can be traced through the input value of the current transaction.
  • each block Before obtaining the information of the transaction to be traced, it is also necessary to set the corresponding bloom filter when generating each block, and each block will correspond to a bloom filter. Specifically, when the first block is generated, the output values of all transactions in the first block may be stored in the Bloom filter corresponding to the first block.
  • the bloom filter may be located in the block header of the first block, or may be located in the bloom filter array of the database of the blockchain system. If the Bloom filter is located in the block header, the specific structure of the block can be shown in Figure 3.
  • Step 202 Determine the leaf node of the transaction to be traced based on the input value of the transaction to be traced and the bloom filter corresponding to each block in the blockchain system.
  • the leaf node of the transaction to be traced can be determined according to the Bloom filter corresponding to each block.
  • the leaf node is also the node in the traceability path, which can be called a leaf transaction , Is the transaction that the transaction to be traced depends on.
  • each block first determine the input value of the transaction to be traced as the output value to be traced, and determine according to the output value to be traced and the Bloom filter corresponding to each block in the blockchain system The block where the exchange to be traced depends on is located. Then, according to the output value to be traced, the first transaction that is the same as the output value to be traced is found in the block where the transaction to be traced depends on. Finally, a judgment is made.
  • the traceability is terminated; otherwise, the first transaction is determined as the leaf node of the transaction to be traced, and the The input value of a transaction is determined as the output value to be traced, and the transaction that the transaction to be traced depends on is determined until the termination of traceability is determined.
  • the preset termination condition can be set based on experience. Of course, when determining the first transaction here, it can also be determined whether the first transaction is a transaction in the genesis block or a transaction less than the preset block height, etc., and reasonable adjustments can be made in the specific implementation process.
  • the m hash functions in the Bloom filter can be used to hash the output value to be traced to obtain m corresponding positions value. Then a judgment is made.
  • the block is determined as the block in which the exchange to be traced depends on.
  • the preset value here can be set based on experience, for example, it can be 1.
  • the values of m corresponding positions are all 1, it can be determined that the transaction that the transaction to be traced depends on is in the block.
  • Step 203 Generate a traceability path of the transaction to be traced based on the leaf node of the transaction to be traced.
  • the traceability path of the transaction to be traced can be generated based on these leaf nodes.
  • the traceability path is a tree structure. Of course, it can also have other structures in specific implementation, such as graphs. structure.
  • multiple threads can be used for simultaneous traceability, thus speeding up the efficiency of traceability.
  • a bloom filter with a size of 1024 bits and a false positive rate of 0.001 is selected. Tracing the path of transaction T, assuming that its path has four levels of transactions, each transaction has two input values. The specific process is as follows:
  • T7, T8, T9, and T10 are coinbase transactions.
  • Preparation stage First, for each block, build a Bloom filter array based on the output values of all transactions in the block, and store it in the database in the structure shown in Figure 7.
  • T7, T8, T9, and T10 are coinbase transactions.
  • the above embodiment shows that the information of the transaction to be traced is obtained, and the information of the transaction to be traced includes the input value of the transaction to be traced.
  • the Bloom filter stores the output value of the transaction contained in the block, and generates the trace path of the transaction to be traced according to the leaf node of the transaction to be traced.
  • FIG. 8 exemplarily shows a block chain transaction traceability device provided by an embodiment of the present invention, and the device can execute the block chain transaction traceability process.
  • the device specifically includes:
  • the obtaining unit 801 is configured to obtain information of the transaction to be traced; the information of the transaction to be traced includes the input value of the transaction to be traced;
  • the processing unit 802 is configured to determine the leaf node of the transaction to be traced according to the input value of the transaction to be traced and the bloom filter corresponding to each block in the blockchain system; the bloom filter is stored There is an output value of the transaction contained in the block; and a traceability path of the transaction to be traced is generated according to the leaf node of the transaction to be traced.
  • the traceability is terminated; otherwise, the first transaction is determined as the leaf node of the transaction to be traced, and the The input value of the first transaction is determined as the output value to be traced, and the transaction dependent on the transaction to be traced is continuously determined until it is determined that the traceability is terminated.
  • processing unit 802 is specifically configured to:
  • Hash the output value to be traced using the m hash functions in the bloom filter to obtain m values at corresponding positions;
  • the block is determined as the block in which the exchange to be traced depends on.
  • processing unit 802 is further configured to:
  • the output values of all the transactions in the first block are stored in the Bloom filter corresponding to the first block.
  • the bloom filter corresponding to the first block is located in the block header or in the bloom filter array of the database of the blockchain system.
  • the embodiments of the present invention also provide a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to make the computer execute the above-mentioned area.
  • the method of blockchain transaction traceability is not limited to:
  • an embodiment of the present invention also provides a computing device.
  • the computing device 900 can be applied to the foregoing embodiment of the present invention.
  • the computing device 900 may include: a memory 901 and a processor 902, where:
  • the memory 901 stores one or more executable programs and is used to configure the processor 902;
  • the processor 902 is configured with one or more executable programs, and the one or more executable programs are used to execute the following method: acquiring information of a transaction to be traced, and the information of the transaction to be traced includes the transaction to be traced According to the input value of the transaction to be traced and the bloom filter corresponding to each block in the blockchain system, determine the leaf node of the transaction to be traced; the bloom filter stores The output value of the transaction contained in the block; according to the leaf node of the transaction to be traced, a trace path of the transaction to be traced is generated.
  • the memory 901 is used to store programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • the memory 901 may be a volatile memory (volatile memory), such as a random-access memory (random-access memory, RAM for short); it may also be a non-volatile memory (non-volatile memory), such as a flash memory (flash memory). ), a hard disk drive (HDD for short) or a solid-state drive (SSD for short); it can also be any one or a combination of any of the above-mentioned volatile memories and non-volatile memories.
  • volatile memory volatile memory
  • RAM random-access memory
  • non-volatile memory such as a flash memory (flash memory).
  • flash memory flash memory
  • HDD hard disk drive
  • SSD solid-state drive
  • the memory 901 stores the following elements, executable modules or data structures, or their subsets, or their extended sets:
  • Operating instructions including various operating instructions, used to implement various operations.
  • Operating system including various system programs, used to implement various basic services and process hardware-based tasks.
  • the processor 902 may be a central processing unit (central processing unit, CPU for short), a network processor (NP for short), or a combination of CPU and NP. It can also be a hardware chip.
  • the aforementioned hardware chip may be an application-specific integrated circuit (ASIC for short), a programmable logic device (PLD for short), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD may be a complex programmable logic device (complex programmable logic device, CPLD), field-programmable gate array (FPGA), general array logic (generic array logic, GAL), or any of them combination.
  • the memory 901 may also be integrated with the processor 902.
  • the bus 903 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in FIG. 9, but it does not mean that there is only one bus or one type of bus.
  • the processor 902 is specifically configured to:
  • the traceability is terminated; otherwise, the first transaction is determined as the leaf node of the transaction to be traced, and the The input value of the first transaction is determined as the output value to be traced, and the transaction dependent on the transaction to be traced is continuously determined until it is determined that the traceability is terminated.
  • Hash the output value to be traced using the m hash functions in the bloom filter to obtain m values at corresponding positions;
  • the block is determined as the block in which the exchange to be traced depends on.
  • the processor 902 is further configured to:
  • the output values of all the transactions in the first block are stored in the Bloom filter corresponding to the first block.
  • the bloom filter corresponding to the first block is located in the block header or in the bloom filter array of the database of the blockchain system.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

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

一种区块链交易追溯的方法及装置
相关申请的交叉引用
本申请要求在2019年03月01日提交中国专利局、申请号为201910155057.1、申请名称为“一种区块链交易追溯的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链交易追溯的方法及装置。
背景技术
在进行基于区块链的数字货币技术项目研究时,经常需要在一个拥有UTXO(Unspent Transaction Output,未使用交易输出)账户系统的区块链系统中,追溯某一笔交易从当前区块到某个祖先区块(包括创世区块)的交易路径。如果依次对每个区块链进行扫描,在空间和时间上的开销比较大,造成系统资源浪费。
发明内容
本发明实施例提供一种区块链交易追溯的方法及装置,用以实现快速构建交易的追溯路径,节省系统开销。
本发明实施例提供的一种区块链交易追溯的方法,包括:
获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
根据所述待追溯交易的输入值和区块链系统中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;
根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
上述技术方案中,通过设置每个区块对应的布隆过滤器,依据待追溯交易的输入值,可以快速生成待追溯交易的追溯路径,提高追溯路径的追溯效率,降低系统开销。
可选的,所述根据所述待追溯交易的输入值和区块链系统中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点,包括:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链系统中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
可选的,所述根据所述待追溯输出值和所述区块链系统中每个区块对应的布隆过滤器,确定出所述待追溯交易的所依赖的交易所在的区块,包括:
使用所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
可选的,在所述获取待追溯交易的信息之前,还包括:
在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链系统的数据库的布隆过滤器数组中。
相应的,本发明实施例还提供了一种区块链交易追溯的装置,包括:
获取单元,用于获取待追溯交易的信息;所述待追溯交易的信息包括所述待追溯交易的输入值;
处理单元,用于根据所述待追溯交易的输入值和区块链系统中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;以及根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。
可选的,所述处理单元具体用于:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链系统中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
可选的,所述处理单元具体用于:
使用所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
可选的,所述处理单元还用于:
在所述获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链系统的数据库的布隆过滤器数组中。
相应的,本发明实施例还提供了一种计算机可读存储介质,所述计算机 可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述区块链交易追溯的方法。
相应的,本发明实施例还提供了一种计算设备,包括:存储器和处理器;所述存储器,存储有一个或多个可执行程序,被用于配置所述处理器;所述处理器,被配置了一个或多个可执行程序,所述一个或多个可执行程序用于执行上述任一项所述的区块链交易追溯的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种区块链交易追溯的方法的流程示意图;
图3为本发明实施例提供的一种区块的结构示意图;
图4为本发明实施例提供的一种布隆过滤器的示意图;
图5为本发明实施例提供的一种叶子节点的示意图;
图6为本发明实施例提供的一种追溯路径的示意图;
图7为本发明实施例提供的一种布隆过滤器数组的示意图;
图8为本发明实施例提供的一种区块链交易追溯的装置的结构示意图;
图9为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的 范围。
图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的输入值为{T i1,T i2},针对每个输入值T ik,令待追溯输出值T ok=T ik,创建一个线程,执行第3-5步操作。
3、扫描所有区块的区块头。从区块头中取出布隆过滤器A,对待追溯输出值T ok,用布隆过滤器的m个哈希函数对其进行哈希处理,判断布隆过滤器A的对应位置的值是否为1。如果m个对应位置的值均为1,则说明产生待追溯输出值T ok的交易在此区块中。具体如图4所示。
4、扫描此区块的所有交易,找到产生待追溯输出值T ok的交易T1,将T1作为交易T的叶子节点,如图5所示。
5、针对交易T1,如果T1是coinbase交易,则终止追溯;否则转入第2步。
最终产生一个树状的交易追溯路径,如图6所示,其中T7、T8、T9、T10为coinbase交易。
实施例二
本实施例选择一个大小为1024位,误判率为0.001的布隆过滤器。追溯交易T的路径,假设其路径有四层交易,每个交易有两个输入值。具体的流程如下:
1、准备阶段:首先对每个区块,根据区块内所有交易的输出值,构建布隆过滤器数组,并以如图7所示的结构存入数据库中。
2、追溯某一笔待追溯交易T。假设T的输入值为{T i1,T i2},针对每个输 入值T ik,令待追溯输出值T ok=T ik,创建一个线程,执行第3-5步操作。
3、扫描所有区块的区块头。从数据库中取出布隆过滤器数组A,对待追溯输出值T ok,用布隆过滤器的m个哈希函数对其进行哈希处理,判断布隆过滤器数组A的对应位置的值是否为1。如果m个对应位置的值均为1,则说明产生待追溯输出值T ok的交易在此区块中。具体如图4所示。
4、扫描此区块的所有交易,找到产生待追溯输出值T ok的交易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还用于:
在所述获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
可选的,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链系统的数据库的布隆过滤器数组中。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述区块链交易追溯的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,参见图9,该计算设备900可应用于本发明的上述实施例。该计算设备900可包括:存储器901、处理器902,其中:
存储器901,存储一个或多个可执行程序,被用于配置处理器902;
处理器902,被配置了一个或多个可执行程序,所述一个或多个可执行程序用于执行以下方法:获取待追溯交易的信息,所述待追溯交易的信息包括所述待追溯交易的输入值;根据所述待追溯交易的输入值和区块链系统中每个区块对应的布隆过滤器,确定所述待追溯交易的叶子节点;所述布隆过滤器中存储有所述区块包含的交易的输出值;根据所述待追溯交易的叶子节点,生成所述待追溯交易的追溯路径。其中,存储器901用于存储程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器901可以为易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);也可以为非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);还可以为上述任一种或任多种易失性存储器和非易失性存储器的组合。
存储器901存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器902可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。还可以是硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。一种可能的设计中,存储器901也可以和处理器902集成在一起。
总线903可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture, 简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一种可能的实现方式,处理器902具体用于:
将所述待追溯交易的输入值确定为待追溯输出值;
根据所述待追溯输出值和所述区块链系统中每个区块对应的布隆过滤器,确定出所述待追溯交易所依赖的交易所在的区块;
根据所述待追溯输出值,在待追溯交易的所依赖的交易所在的区块中查找出与所述待追溯输出值相同的第一交易;
若所述第一交易为挖矿交易的交易或符合预设终止条件的区块的交易,则终止追溯;否则将所述第一交易确定为所述待追溯交易的叶子节点,并将所述第一交易的输入值确定为所述待追溯输出值,继续确定所述待追溯交易所依赖的交易,直到确定出终止追溯为止。
一种可能的实现方式,处理器902具体用于:
使用所述布隆过滤器中的m个哈希函数对所述待追溯输出值进行哈希处理,得到m个对应位置的值;
若所述m个对应位置的值都为预设值,则将所述区块确定为所述待追溯交易所依赖的交易所在的区块。
一种可能的实现方式,处理器902还用于:
获取待追溯交易的信息之前,在生成第一区块时,将所述第一区块中的所有交易的输出值存储在所述第一区块对应的布隆过滤器中。
一种可能的实现方式,所述第一区块对应的布隆过滤器位于所述区块头中或所述区块链系统的数据库的布隆过滤器数组中。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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中任一项所述的方法。
PCT/CN2020/071551 2019-03-01 2020-01-10 一种区块链交易追溯的方法及装置 WO2020177488A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
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 一种区块链交易追溯的方法及装置
KR1020217028551A KR20210125522A (ko) 2019-03-01 2020-01-10 블록체인 거래를 추적하기 위한 방법 및 장치
EP20767224.7A EP3933743A4 (en) 2019-03-01 2020-01-10 BLOCKCHAIN TRANSACTION TRACKING METHOD AND DEVICE
JP2021551810A JP7303321B2 (ja) 2019-03-01 2020-01-10 ブロックチェーントランザクションを追跡するための方法およびデバイス

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910155057.1 2019-03-01
CN201910155057.1A CN111640012A (zh) 2019-03-01 2019-03-01 一种区块链交易追溯的方法及装置

Publications (1)

Publication Number Publication Date
WO2020177488A1 true WO2020177488A1 (zh) 2020-09-10

Family

ID=72330473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071551 WO2020177488A1 (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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2595489A (en) * 2020-05-28 2021-12-01 Nchain Holdings Ltd Probabilistic membership test for blockchain transaction outputs
EP4216130A4 (en) * 2021-05-14 2024-04-24 Tencent Tech Shenzhen Co Ltd METHOD AND DEVICE FOR VERIFYING TRANSACTION REPEATS AND DEVICE AND MEDIUM

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247773A (zh) * 2017-06-07 2017-10-13 北京邮电大学 一种基于区块链的在分布式数据库中进行交易查询的方法
US20180097779A1 (en) * 2016-09-30 2018-04-05 Nec Europe Ltd. Method and system for providing a transaction forwarding service in blockchain implementations
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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
US11170395B2 (en) * 2016-12-02 2021-11-09 Stack Fintech Inc. Digital banking platform and architecture
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN107025559B (zh) * 2017-01-26 2020-09-18 创新先进技术有限公司 一种业务处理方法及装置
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180097779A1 (en) * 2016-09-30 2018-04-05 Nec Europe Ltd. Method and system for providing a transaction forwarding service in blockchain implementations
CN107247773A (zh) * 2017-06-07 2017-10-13 北京邮电大学 一种基于区块链的在分布式数据库中进行交易查询的方法
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3933743A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2595489A (en) * 2020-05-28 2021-12-01 Nchain Holdings Ltd Probabilistic membership test for blockchain transaction outputs
EP4216130A4 (en) * 2021-05-14 2024-04-24 Tencent Tech Shenzhen Co Ltd METHOD AND DEVICE FOR VERIFYING TRANSACTION REPEATS AND DEVICE AND MEDIUM

Also Published As

Publication number Publication date
JP7303321B2 (ja) 2023-07-04
KR20210125522A (ko) 2021-10-18
US20220005004A1 (en) 2022-01-06
CN113711265A (zh) 2021-11-26
CN111640012A (zh) 2020-09-08
EP3933743A1 (en) 2022-01-05
TWI727639B (zh) 2021-05-11
JP2022522790A (ja) 2022-04-20
EP3933743A4 (en) 2022-04-27
TW202034265A (zh) 2020-09-16

Similar Documents

Publication Publication Date Title
CN110520853B (zh) 直接存储器访问的队列管理
WO2019128475A1 (zh) 数据训练方法及装置、存储介质、电子装置
US10572456B2 (en) Method, apparatus, and computer program product for data quality analysis
WO2018045753A1 (zh) 用于分布式图计算的方法与设备
WO2020177488A1 (zh) 一种区块链交易追溯的方法及装置
WO2020248982A1 (zh) 一种区块链中交易处理的方法及装置
WO2020216077A1 (zh) 一种区块链事件去重方法、装置、计算机设备及存储介质
WO2022166294A1 (zh) 一种目标检测方法和装置
TW202006642A (zh) 風險防控方法、系統及終端設備
CN115237599B (zh) 一种渲染任务处理方法和装置
CN106649344B (zh) 一种网络日志压缩方法和装置
WO2020211622A1 (zh) 一种基于区块链的消息存储方法及装置
CN115964374A (zh) 一种基于预计算场景的查询处理方法及其装置
CN105988995B (zh) 一种基于HFile批量加载数据的方法
WO2022160856A1 (zh) 一种分类网络及其实现方法和装置
CA3094727C (en) Transaction processing method and system, and server
WO2021004266A1 (zh) 数据插入方法、装置、设备和储存介质
WO2021115002A1 (zh) 一种区块链交易记录的处理方法及装置
US20230325149A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
CN106502842A (zh) 数据恢复方法及系统
US11924116B2 (en) Resource address allocation method, system and apparatus for PCI device
TWI662486B (zh) 檢查分布式業務處理完整度的方法及裝置
Li et al. An extraction algorithm for a set of elementary siphons based on mixed-integer programming
CN113132261B (zh) 一种流量数据包分类方法、装置及电子设备
WO2015062035A1 (zh) 一种列式数据库处理方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20767224

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021551810

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217028551

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2020767224

Country of ref document: EP