A heuristic rule-based coin mixing transaction tracing method

CN117314444BActive Publication Date: 2026-10-20FUZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311303045.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2026-10-20
Estimated Expiration
2043-10-10

AI Technical Summary

Technical Problem

由于Tornado Cash等混币器的出现,使本就难以追踪的数字货币交易变得更加难以实现

Benefits of technology

[0013]相较于现有技术,本发明具有以下有益效果:本发明一种基于启发式规则的混币交易追溯方法,提出了六种启发式规则,在进行混币交易追溯时,利用启发式规则逐步缩小混币池匿名集大小,提高追溯的效率,在生成可疑地址集后,分别利用差值参数、交易时间范围以及地址出现频率作为权重对可疑地址进行可疑值的评估,降低了以太坊上混币交易的不可链接性,极大提升了混币交易追溯的准确性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117314444B_ABST
    Figure CN117314444B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of heuristic rule-based coin mixing transaction tracing method.Based on heuristic rule, a kind of coin mixing transaction tracing method is proposed, belongs to the field of blockchain application technology, including six heuristic rules, wherein address reuse, time analysis these two heuristic rules are used to initially narrow the size of coin mixing pool anonymous set, provide the possibility for further tracing suspicious address;Multiple denomination, contract address, on-chain transaction and gas price these four heuristic rules are used to generate suspicious address set, it is the sufficient condition for suspicious value evaluation of address.In existing coin mixing transaction tracing method, the present application increases the combination of heuristic rule, greatly improves the accuracy of coin mixing transaction tracing, provides convenience for the reconnaissance of illegal activities using coin mixing service, also provides clues for the supervision of digital currency transaction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of blockchain application technology, specifically relating to a method for tracing mixed-coin transactions based on heuristic rules. Background Technology

[0002] Mixing transactions, also known as obfuscation or privacy coin transactions, are a method of protecting transaction privacy by obfuscating and mixing digital currency transactions. This method aims to increase the anonymity and untraceability of digital currency transactions, making it difficult to identify and track participants. Tornado Cash is a decentralized privacy mixing protocol based on Ethereum, designed to help users increase the privacy and untraceability of Ethereum transactions by obfuscating the input, output, and amount information.

[0003] However, beyond the privacy needs of ordinary users, many criminals exploit the anonymity and untraceability of coin mixing transactions for illegal money laundering activities. According to SlowMist Technology, 80% of hackers use the coin mixing platform Tornado.Cash during the money laundering process. The emergence of coin mixers like Tornado Cash has made already difficult-to-trace cryptocurrency transactions even more challenging.

[0004] Therefore, the risks and compliance issues associated with cryptocurrency mixing are urgent. On the one hand, cryptocurrency mixing may be used for illegal activities such as money laundering, tax evasion, and smuggling, raising concerns about compliance and legal regulation. On the other hand, some countries and regions may restrict or prohibit cryptocurrency mixing, requiring cryptocurrency trading platforms to regulate and manage compliance. Summary of the Invention

[0005] The purpose of this invention is to provide a heuristic rule-based method for tracing mixed transactions. This method uses heuristic rules to reduce the size of the anonymity set in the mixed pool, thereby narrowing the search range and improving the accuracy of tracing.

[0006] To achieve the above objectives, the technical solution of the present invention is: a method for tracing coin mixing transactions based on heuristic rules, comprising the following steps: Step 1: Divide the initial dataset using time intervals; Step 2: Calculate the initial dataset; Step 3: Use heuristic rules to reduce the size of the anonymous set and construct the address set; Step 4: Calculate the address set; Step 5: Generate a set of suspicious addresses using heuristic rules; Step 6: Evaluation of suspicious values ​​in the suspicious address set.

[0007] In one embodiment of the present invention, step one is specifically implemented as follows: Enter the address to be searched; Use a coin mixing server to retrieve the coin mixing transaction records of the address to be queried; View the time range of all deposit records for the address to be searched, and divide transactions with predetermined time intervals into different datasets.

[0008] In one embodiment of the present invention, step two is specifically implemented as follows: Calculate the total deposit amount at the address to be searched, and denote it as M1; Calculate the deposit time range for the address to be searched, denoted as T1; The mixing contracts selected when recording deposits at the address to be checked are denoted as S1, S2, ..., SK.

[0009] In one embodiment of the present invention, step three is specifically implemented as follows: Retrieve the mixing transaction records of different mixing contracts separately; Using heuristic rule one, address reuse, we determine whether there is a deposit address that is the same as the withdrawal address in the mixing contract. If there is, the address is discarded directly; otherwise, address set C1 is formed. Using heuristic rule two, namely time analysis, we determine whether the withdrawal operation time T2...TK of each withdrawal address in address set C1 is much earlier than the deposit time range T1 of the address to be queried. If so, the address is discarded directly; otherwise, address set C2 is formed.

[0010] In one embodiment of the present invention, step four is specifically implemented as follows: Calculate the total number of withdrawals for each withdrawal address in address set C2, denoted as N2, N3, ..., NK respectively; Calculate the total withdrawal amount for each withdrawal address in address set C2, and denote them as M2, M3, ..., MK respectively; Calculate the time range for withdrawal operations for each withdrawal address in address set C2, denoted as T2, T3, ..., TK respectively.

[0011] In one embodiment of the present invention, step five uses heuristic rules to generate a set of suspicious addresses, wherein the heuristic rules are as follows: Using heuristic rule three, namely multiple face value, address association is performed. If an address A deposits into different mixing pools ten times, five times, and three times respectively, and an address B withdraws from different mixing pools ten times, five times, and three times respectively, then there is a multiple face value association between address A and address B, and it is determined that there is an association between A and B. Heuristic rule four, namely contract address association, is used. If address A deposits 1 ETH into the mixing pool, and after a period of time, address A, as the caller of the contract, withdraws the funds to another address B, then it is determined that there is an association between address A and address B. Heuristic rule five, namely on-chain transactions, is used to associate addresses. For deposit address A and withdrawal address B in the mixing pool, trace back 1 to 2 layers forward or backward respectively. If there is a direct or indirect on-chain transaction between address A and address B, then A and B are considered to be associated. Using heuristic rule six, namely gas price, if there is a gas price for a deposit address A and a withdrawal address B in the coin mixing transaction record, then it is determined that there is a correlation between A and B. Based on address set C2, a set of suspicious addresses is generated using heuristic rules three through six.

[0012] In one embodiment of the present invention, step six is ​​specifically implemented as follows: 1) Verification of suspicious address sets: Each dataset will eventually form a set of suspicious addresses. The intersection of the suspicious address sets s1, s2, ..., sK is taken to obtain the set of withdrawal addresses S' with the most occurrences. In S', the occurrence frequency of each address is recorded as the weight coefficient for the suspicious value evaluation. 2) Suspicious Value Assessment: Step 1. Set the difference parameter P P, as a weighting coefficient, means the difference coefficient between the total deposit amount M1 of the address to be investigated and the total withdrawal amount Mk (k takes the values ​​2, ..., K) of the suspicious address. Let M1 / Mk = P' (k takes the values ​​2, ..., K). If P' <= P, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 2. Transaction time range T T, as the second weighting coefficient, represents the difference coefficient between the deposit operation time range T1 of the address to be investigated and the withdrawal operation time range Tk (k takes the value of 2, ..., K) of the withdrawal address. Let T1 / Tk = T' (k takes the value of 2, ..., K). If T' / T = 1, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 3. Frequency N N is used as the weighting coefficient three; Step 4. Suspicious Value Assessment Based on the weight coefficients P, T, and N, output the suspicious evaluation value of each suspicious address in the suspicious address set S', where the suspicious value W = aP * bT * cN (where a, b, and c are constant values ​​that can be adjusted according to different heuristic rules).

[0013] Compared with existing technologies, the present invention has the following advantages: The present invention provides a heuristic rule-based method for tracing mixed transactions. It proposes six heuristic rules, which are used to gradually reduce the size of the anonymity set of the mixed pool during the tracing of mixed transactions, thereby improving the efficiency of tracing. After generating a set of suspicious addresses, the difference parameter, transaction time range, and address frequency are used as weights to evaluate the suspiciousness of the suspicious addresses, thereby reducing the unlinkability of mixed transactions on Ethereum and greatly improving the accuracy of tracing mixed transactions. Attached Figure Description

[0014] Figure 1 This is a flowchart illustrating the system functions of the present invention.

[0015] Figure 2 A graph for address reuse.

[0016] Figure 3 A time-based correlation diagram.

[0017] Figure 4 This is a diagram showing the relationship between multiple denominations.

[0018] Figure 5 This is a diagram showing the association between contract addresses.

[0019] Figure 6 This is a diagram showing the relationships between on-chain transactions.

[0020] Figure 7 This is a graph showing the relationship between gas prices.

[0021] Figure 8 This is a heuristic rule combination diagram. Detailed Implementation

[0022] The technical solution of the present invention will now be described in detail with reference to the accompanying drawings.

[0023] This invention proposes a heuristic rule-based method for tracing mixed transactions. By utilizing heuristic rules to reduce the size of the anonymity set in the mixing pool, the search scope is narrowed, thereby improving the accuracy of tracing. The overall functional flowchart is shown below. Figure 1 As shown, the specific steps are as follows: Step 1: Divide the initial dataset using time intervals. 1. Enter the address to be searched 2. Use a mixing server to retrieve the mixing transaction records of the address to be queried. 3. View the time range of all deposit records for the address to be searched, and divide transactions with obvious time intervals into different datasets.

[0024] Step 2: Calculate the initial dataset 1. Calculate the total deposit amount at the address to be searched, and denote it as M1. 2. Calculate the deposit time range for the address to be searched, denoted as T1. 3. Record the mixing contracts selected when depositing funds into the address to be checked, denoted as S1, S2, ..., SK, such as S1=0.1ETH, S2=1ETH, S3=10ETH... Step 3: Reduce the size of the anonymous set using heuristic rules 1. Retrieve the mixing transaction records of different mixing contracts separately. 2. Address Reuse – Heuristic Rule 1 Determine if any withdrawal addresses in the mixing contract match deposit addresses. If they do, discard the address; otherwise, form address set C1. Figure 2 As shown.

[0025] 3. Time Analysis – Heuristic Rule Two Determine if the withdrawal operation time T2...TK of each withdrawal address in address set C1 is significantly earlier than the deposit time range T1 of the address to be queried. If so, discard the address; otherwise, form address set C2. Figure 3 As shown.

[0026] Step 4: Calculate the C2 address set 1. Calculate the total number of withdrawals for each withdrawal address in C2, denoted as N2, N3, ..., NK respectively; 2. Calculate the total withdrawal amount for each withdrawal address in C2, and denote them as M2, M3, ..., MK respectively; 3. Calculate the withdrawal operation time range for each withdrawal address in C2, denoted as T2, T3, ..., TK respectively.

[0027] Step 5: Generate a set of suspicious addresses using heuristic rules. 1. Multiple Denominations – Heuristic Rule Three If address A deposits 1 ETH, 10 ETH, and 100 ETH into the mixing pool ten times, five times, and three times respectively, and address B withdraws 1 ETH, 10 ETH, and 100 ETH from the mixing pool ten times, five times, and three times respectively, then... Figure 4 As shown in the figure, there are multiple denominations associated with address A and address B, indicating a certain degree of correlation between A and B.

[0028] 2. Contract Address --- Heuristic Rule Four If address A deposits 1 ETH into a mixing pool, and after a period of time, address A, as the caller of the contract, withdraws the funds to another address B, then it is determined that there is a certain correlation between address A and address B. Figure 5 As shown.

[0029] 3. On-chain transactions – Heuristic Rule Five For deposit address A and withdrawal address B in the mixing pool, trace back 1-2 layers forward or backward respectively. If there are direct or indirect on-chain transactions between address A and address B, then a certain correlation is considered to exist between A and B. Figure 6 As shown.

[0030] 4. Gas Price – Heuristic Rule Six If a coin mixing transaction record shows that the gas price of a deposit address A is the same as the gas price of a withdrawal address B, then it is considered that there is a certain correlation between A and B. Figure 7 As shown.

[0031] 5. Combination of heuristic rules, see [link / reference] Figure 8 .

[0032] Step Six: Evaluation of Suspicious Values ​​in the Suspicious Address Set 1. Verification of suspicious address sets Each dataset eventually forms a set of suspicious addresses. The intersection of the suspicious address sets s1, s2, ..., sK is taken to obtain the set of withdrawal addresses S' that appear most frequently. In S', the frequency of each address is recorded as a weight coefficient for subsequent suspicious value evaluation.

[0033]

[0034] 2. Suspicious Value Assessment: Step 1. Set the difference parameter P P, as a weighting coefficient, means the difference coefficient between the total deposit amount M1 of the address to be investigated and the total withdrawal amount Mk (k takes the values ​​2, ..., K) of the suspicious address. Let M1 / Mk = P' (k takes the values ​​2, ..., K). If P' <= P, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 2. Transaction time range T T, as the second weighting coefficient, represents the difference coefficient between the deposit operation time range T1 of the address to be investigated and the withdrawal operation time range Tk (k takes the value of 2, ..., K) of the withdrawal address. Let T1 / Tk = T' (k takes the value of 2, ..., K). If T' / T = 1, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 3. Frequency N N is the weighting coefficient.

[0035] Step 4. Suspicious Value Assessment Based on the weight coefficients P, T, and N, output the suspicious evaluation value W1, ..., Wn for each suspicious address in the suspicious address set S', where W = aP * bT * cN (where a, b, and c are constant values ​​that can be adjusted according to different heuristic rules). See Table 2.

[0036]

[0037] The above are preferred embodiments of the present invention. Any changes made to the technical solution of the present invention that do not exceed the scope of the technical solution of the present invention shall fall within the protection scope of the present invention.

Claims

1. A method for tracing coin mixing transactions based on heuristic rules, characterized in that, Includes the following steps: Step 1: Divide the initial dataset using time intervals; Step 2: Calculate the initial dataset; Step 3: Use heuristic rules to reduce the size of the anonymous set and construct the address set; Step 4: Calculate the address set; Step 5: Generate a set of suspicious addresses using heuristic rules; Step Six: Evaluation of Suspicious Values ​​in the Suspicious Address Set; Step three is implemented as follows: Retrieve the mixing transaction records of different mixing contracts separately; Using heuristic rule one, address reuse, we determine whether there is a deposit address that is the same as the withdrawal address in the mixing contract. If there is, the address is discarded directly; otherwise, address set C1 is formed. Using heuristic rule two, namely time analysis, we determine whether the withdrawal operation time T2...TK of each withdrawal address in address set C1 is much earlier than the deposit time range T1 of the address to be queried. If so, the address is discarded directly; otherwise, address set C2 is formed. Step five uses heuristic rules to generate a set of suspicious addresses, where each heuristic rule is as follows: Using heuristic rule three, namely multiple face value, address association is performed. If an address A deposits into different mixing pools ten times, five times, and three times respectively, and an address B withdraws from different mixing pools ten times, five times, and three times respectively, then there is a multiple face value association between address A and address B, and it is determined that there is an association between A and B. Heuristic rule four, namely contract address association, is used. If address A deposits 1 ETH into the mixing pool, and after a period of time, address A, as the caller of the contract, withdraws the funds to another address B, then it is determined that there is an association between address A and address B. Heuristic rule five, namely on-chain transactions, is used to associate addresses. For deposit address A and withdrawal address B in the mixing pool, trace back 1 to 2 layers forward or backward respectively. If there is a direct or indirect on-chain transaction between address A and address B, then A and B are considered to be associated. Using heuristic rule six, namely gas price, if there is a gas price for a deposit address A and a withdrawal address B in the coin mixing transaction record, then it is determined that there is a correlation between A and B. Based on address set C2, a set of suspicious addresses is generated using heuristic rules three to six. Step six is ​​implemented as follows: 1) Verification of suspicious address sets: Each dataset will eventually form a set of suspicious addresses. The intersection of the suspicious address sets s1, s2, ..., sK is taken to obtain the set of withdrawal addresses S' with the most occurrences. In S', the occurrence frequency of each address is recorded as the weight coefficient for the suspicious value evaluation. 2) Suspicious Value Assessment: Step 1. Set the difference parameter P P, as a weighting coefficient, means the difference coefficient between the total deposit amount M1 of the address to be investigated and the total withdrawal amount Mk of the suspicious address. Let M1 / Mk = P', where k takes the values ​​2, ..., K. If P' <= P, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 2. Transaction time range T T, as the second weighting factor, represents the difference coefficient between the deposit operation time range T1 of the address to be investigated and the withdrawal operation time range Tk of the withdrawal address. Let T1 / Tk = T'. If T' / T = 1, it means that the suspicious address meets the difference condition; otherwise, it is discarded. Step 3. Frequency N N is used as the weighting coefficient three; Step 4. Suspicious Value Assessment Based on the weighting coefficients P, T, and N, output the suspicious evaluation value of each suspicious address in the suspicious address set S', where the suspicious value W = aP * bT * cN, and a, b, and c are constant values.

2. The heuristic rule-based method for tracing coin mixing transactions according to claim 1, characterized in that, Step one is implemented as follows: Enter the address to be searched; Use a coin mixing server to retrieve the coin mixing transaction records of the address to be queried; View the time range of all deposit records for the address to be searched, and divide transactions with predetermined time intervals into different datasets.

3. The heuristic rule-based method for tracing coin mixing transactions according to claim 2, characterized in that, Step two is implemented as follows: Calculate the total deposit amount at the address to be searched, and denote it as M1; Calculate the deposit time range for the address to be searched, denoted as T1; The mixing contracts selected when recording deposits at the address to be checked are denoted as S1, S2, ..., SK.

4. The heuristic rule-based method for tracing coin mixing transactions according to claim 1, characterized in that, Step four is implemented as follows: Calculate the total number of withdrawals for each withdrawal address in address set C2, denoted as N2, N3, ..., NK respectively; Calculate the total withdrawal amount for each withdrawal address in address set C2, and denote them as M2, M3, ..., MK respectively; Calculate the time range for withdrawal operations for each withdrawal address in address set C2, denoted as T2, T3, ..., TK respectively.