Transaction traceability method for connection resetting based on private transactions in different stages

By using the method of resetting connections based on privacy transactions based on different stages in cryptocurrency transaction traceability, the problem of relying on node restart in the existing technology is solved, and a low-cost and controllable transaction traceability effect is achieved.

CN120087965APending Publication Date: 2025-06-03SICHUAN POLICE COLLEGE +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510084228.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-20
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

The existing cryptocurrency transaction traceability methods rely on the restart of the target node, resulting in high time costs, uncontrollable process, uncertain effects, and difficulty in maintaining the connection occupation state.

Method used

A transaction traceability method is proposed to reset the connection based on privacy transactions at different stages. By filling the whitelist and graylist node list of the target node, a privacy transaction that conflicts with double-spending transactions are created, disconnecting the incoming connection, selecting a new node for connection reset, realizing the occupation of incoming and outgoing connections of the target node.

Benefits of technology

It realizes cryptocurrency transaction traceability with low time cost, controllable process and certain effect, and can trigger the selection process of outgoing connections at any time. It is repeatable and does not depend on the restart of nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120087965A_ABST
    Figure CN120087965A_ABST
Patent Text Reader

Abstract

The invention discloses a transaction traceability method for connection resetting based on private transactions in different stages. The method comprises the following steps: filling a white list node list and a grey list node list of a target node; creating a first private transaction and a second private transaction which are conflicted with each other; the first private transaction in the step stage is sent to a target node for forwarding, and the second private transaction in the fluff stage is broadcasted through other nodes; after the target node judges that the received second private transaction and the first private transaction have the dual-private transaction conflict, the connection of the neighbor node sending the second private transaction to the target node is disconnected, and the occupation of the incoming connection is realized; the target node selects a new node from the node list to perform connection reset, so that occupation of outgoing connection is realized; an originating transaction for the target node is identified based on occupancy of incoming and outgoing connections for the target node. According to the invention, cryptocurrency transaction traceability with low time cost, controllable process and definite effect can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and particularly to a transaction traceability method for connection reset based on privacy transactions at different stages. Background Art

[0002] The cryptocurrency system is based on blockchain technology and peer-to-peer network, and has the characteristics of decentralized transactions, strong anonymity and decentralization. Transactions are difficult to trace and supervise. At present, the research on the network layer of transaction traceability and supervision of cryptocurrencies mainly includes the technology for tracing the network layer transactions of cryptocurrencies.

[0003] The network layer transaction traceability technology refers to the technology for identifying the origin node of a transaction in the cryptocurrency network by analyzing network traffic.

[0004] The technology for occupying the connections of a network node (also known as eclipse attack) is a technology that can completely control the incoming and outgoing connections of a target node, and can be used as the basis for transaction traceability. By occupying all the incoming and outgoing connections of the target node, all the import and export traffic of the target node can be monitored, so as to analyze the origin transaction and forwarding transaction of the target node and realize the transaction traceability of the network layer.

[0005] At present, a method for occupying the connections of a Bitcoin node fills the node list of the target node by actively sending ADDR messages to the target node and actively establishing connections with the target node, occupies the incoming connections of the target node, and waits for the target node to actively establish connections with the controlled nodes in the node list, and finally realizes the occupation of all the connections of the target node.

[0006] In practical applications, the inventors of the present invention found that the existing connection occupation methods usually rely on the restart of the target node to trigger the selection process of outgoing connections. Therefore, the existing connection occupation methods have problems such as high time cost, uncontrollable process, uncertain effect, and difficulty in maintaining the occupation state of connections. Therefore, the transaction traceability method based on connection occupation is difficult to be applied to practical scenarios. Summary of the Invention

[0007] In view of this, the purpose of the present invention is to propose a transaction traceability method for connection reset based on privacy transactions at different stages, which can realize the traceability of cryptocurrency transactions with low time cost, controllable process and definite effect.

[0008] Based on the above purpose, the present invention provides a transaction traceability method for connection reset based on privacy transactions at different stages, including:

[0009] Filling the whitelist and gray list node lists of the target node;

[0010] Create a first private transaction and a second private transaction that are mutually double-spend transaction conflicts;

[0011] Send the first private transaction in the stem phase to the target node for forwarding, and broadcast the second private transaction in the fluff phase through other nodes;

[0012] After the target node receives the second private transaction and determines that there is a double-spend transaction conflict between the second private transaction and the first private transaction, disconnect the connection with the neighbor node that sent the second private transaction to the target node, and achieve the occupation of the incoming connection of the target node;

[0013] Furthermore, the target node selects a new node from the node list to reset the connection, and achieves the occupation of the outgoing connection of the target node;

[0014] Based on the occupation of the incoming and outgoing connections of the target node, identify the originating transaction of the target node.

[0015] Preferably, the method for populating the node list of the gray list of the target node is specifically as follows:

[0016] Establish an incoming connection with the target node and respond to the time synchronization request of the target node; and

[0017] Add the IP address of the invalid node to the response, so as to populate the IP address of the invalid node into the node list of the gray list of the target node.

[0018] Preferably, there are at least 20 incoming connections established with the target node; and

[0019] Each established incoming connection sends 250 IP addresses of invalid nodes to the target node when responding to the time synchronization request.

[0020] Preferably, the method for populating the node list of the white list of the target node is specifically as follows:

[0021] Frequently establish incoming connections with the target node through a large number of controlled nodes; and

[0022] Disconnect the connection after responding to the Ping request of the target node, so as to achieve populating the IP address of the controlled node into the node list of the white list of the target node.

[0023] Preferably, the process of populating the node list of the white list of the target node is completed within 1 minute.

[0024] Preferably, the target node selects a new node from the node list to reset the connection, which specifically includes:

[0025] The target node selects a controlled node from the node list of the whitelist to perform connection reset.

[0026] Further, when the target node selects a new node from the node list to perform connection reset, it further includes:

[0027] The target node selects a node from the node list of the gray list, and after determining that the node is an invalid node, then selects a controlled node from the node list of the whitelist to perform connection reset.

[0028] Preferably, the identification of the origin transaction of the target node based on the occupation of the incoming and outgoing connections of the target node specifically includes:

[0029] After achieving the occupation of the incoming and outgoing connections of the target node, monitor all incoming and outgoing transaction data of the target node;

[0030] If it is found that a transaction is only sent from the target node, then identify this transaction as the origin transaction of the target node.

[0031] The present invention also provides a computer device, which includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, it is used to implement the steps of the above-mentioned transaction tracing method for connection reset based on privacy transactions in different stages.

[0032] The present invention also provides a computer-readable storage medium, in which a computer program is stored, and the computer program can be executed by at least one processor, so that the at least one processor executes the steps of the above-mentioned transaction tracing method for connection reset based on privacy transactions in different stages.

[0033] In the technical solution of the present invention, the whitelist and the graylist node list of the target node are filled; the first privacy transaction and the second privacy transaction that are mutually double-spending transaction conflicts are created; the first privacy transaction in the stem stage is sent to the target node for forwarding, and the second privacy transaction in the fluff stage is broadcast through other nodes; after the target node receives the second privacy transaction and determines that there is a double-spending transaction conflict between the second privacy transaction and the first privacy transaction, the connection with the neighbor node that sends the second privacy transaction to it is disconnected, so as to achieve the occupation of the incoming connection of the target node; furthermore, the target node selects a new node from the node list for connection reset, so as to achieve the occupation of the outgoing connection of the target node; based on the occupation of the incoming and outgoing connections of the target node, the originating transaction of the target node is identified. Compared with the existing transaction tracing method that relies on the restart of the node to trigger the selection process of the outgoing connection, the transaction tracing method based on the connection reset of the privacy transaction in different stages of the present invention effectively realizes the control of the connection of the target node, can trigger the selection process of the outgoing connection at any time, has repeatability, and does not have to rely on the restart of the node to trigger the selection process of the outgoing connection, so as to realize the cryptocurrency transaction tracing with low time cost, controllable process and definite effect. Description of the Drawings

[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0035] Figure 1 It is a flowchart of a transaction tracing method based on connection reset of privacy transactions in different stages provided by an embodiment of the present invention;

[0036] Figure 2 It is a schematic diagram of the process of filling the graylist of the target node provided by an embodiment of the present invention;

[0037] Figure 3 It is a schematic diagram of the process of filling the whitelist of the target node provided by an embodiment of the present invention;

[0038] Figure 4 It is a flowchart of a method based on connection reset of privacy transactions in different stages provided by an embodiment of the present invention;

[0039] Figure 5 It is a schematic diagram of the connection reset success rate in the experiment of connection reset attempt based on privacy transactions in different stages provided by an embodiment of the present invention;

[0040] Figure 6Schematic diagram of the time span of a connection reset attempt in an experiment on connection reset attempts based on privacy transactions at different stages provided by an embodiment of the present invention;

[0041] Figure 7 Schematic diagram of the hardware structure of a computer device provided by an embodiment of the present invention. Detailed implementation manners

[0042] To make the objectives, technical solutions, and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to specific embodiments and the accompanying drawings.

[0043] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present invention should have the ordinary meanings understood by those of ordinary skill in the art to which the present disclosure belongs. The "first", "second", and similar terms used in the present disclosure do not denote any order, quantity, or importance, but are only used to distinguish different components. The terms such as "including" or "comprising" mean that the elements or objects appearing before the term cover the elements or objects listed after the term and their equivalents, without excluding other elements or objects. The terms such as "connected" or "coupled" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The terms such as "upper", "lower", "left", and "right" are only used to represent relative positional relationships, and when the absolute position of the object being described changes, the relative positional relationship may also change accordingly.

[0044] The technical solutions of the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0045] A transaction traceability method for connection reset based on privacy transactions at different stages proposed by an embodiment of the present invention, the specific process is as Figure 1 shown, and includes the following steps:

[0046] Step S101: Populate the gray list node list of the target node;

[0047] Specifically, each node in the network usually maintains two node lists at the same time, one is the white list node list, and the other is the gray list node list. The white list node list stores the node records that have been verified and can accept connections, while the node records retained in the gray list have not passed the node connectivity check. The gray list node list stores the node list shared by other nodes but not verified for connectivity by this node; that is, when a node record is added to the gray list, the node does not check its connectivity (ability to accept incoming connections).

[0048] In this step, a large number of invalid node records are used to populate the gray list node list of the target node, creating conditions for occupying the outgoing connections of the target node. Among them, these invalid nodes can be artificially constructed non-real nodes; the records of invalid nodes can be composed of random IP addresses and ports, not corresponding to real nodes in the network.

[0049] Specifically, the inventors of the present invention found that peer nodes include node records in the Handshake / TimedSync response of the target node; therefore, responding to the Handshake / Timed Sync request of the target node is the only way to populate the gray list of the target node. In addition, the inventors of the present invention also considered that the target node only sends Handshake requests to peer nodes when establishing outgoing connections, with few times and uncontrollable timing; however, the Timed Sync request is initiated every minute and targets all incoming and outgoing connections. Therefore, in the present invention, an incoming connection can be established with the target node, and in response to the Timed Sync request of the target node, an invalid node record (i.e., the IP address of the invalid node) can be added in the response, so as to populate the invalid node record (the IP address of the invalid node) into the node list of the gray list of the target node. The whole process is as Figure 2 shown.

[0050] Furthermore, the inventors of the present invention also considered that since a response can contain at most 250 IP (Internet Protocol) addresses of invalid nodes, and the default maximum size of the gray list node list is 5000, it is possible to establish more than 20 incoming connections with the target node, and each established incoming connection will send 250 IP addresses of invalid nodes to the target node when responding to the Timed Sync request, so as to achieve a complete population of all positions of the gray list node list of the target node.

[0051] Since the population of the gray list adopts a first-in-first-out management method, attention should be paid to the timing when responding to the Timed Sync request. It should be ensured that the response carrying the invalid node record is processed after the response of the non-controlled node as much as possible, so as to minimize the number of other non-invalid node records in the gray list population process. Therefore, this purpose can be achieved by adding a sending delay to the TimedSync response.

[0052] In addition, under normal circumstances, a peer node maintains a "shared node" history for each connection. For an uncontrolled peer connection to a target node, the longer the connection duration, the fewer node records carried by the uncontrolled peer node in the Timed Sync response. This is beneficial for populating the gray list because the fewer node records in the uncontrolled node response, the smaller the impact on the gray list population effect.

[0053] Step S102: Populate the whitelist node list of the target node;

[0054] In this step, the IP addresses of a large number of controlled nodes are used to populate the whitelist node list of the target node, creating conditions for occupying the outgoing connections of the target node;

[0055] Specifically, according to the management mechanism of the whitelist, there are three ways to add node records to the whitelist of the target node: (1) During the selection stage of the outgoing connection, directly attempt to establish an outgoing connection with the nodes in the gray list; (2) Periodically call gray_peerlist_housekeeping() to filter the nodes in the gray list into the whitelist; (3) Establish an incoming connection with the target node and add the node IP to the whitelist of the target node. Among these three methods, only the third method is controllable. Therefore, the technical solution of the present invention fills the whitelist of the target node by establishing an incoming connection with the target node.

[0056] During the management of the node whitelist, the only opportunity for an incoming connection to be filled into the whitelist and update the last_seen timestamp, that is, the timestamp of the most recent confirmation of connectability, to the latest is before the incoming connection is established and the IP address corresponding to this incoming connection does not exist in the whitelist. Therefore, it is only possible to add the IP to the whitelist through an incoming connection when the IP does not exist in the whitelist.

[0057] If there are a sufficient number (greater than or equal to the maximum value of the target node whitelist capacity) of controlled nodes, then by manipulating these large numbers of controlled nodes to frequently establish incoming connections with the target node and respond to the Ping (heartbeat) requests of the target node (the transaction process of the Ping message is as Figure 3 shown), and then disconnect the connection, in order to achieve the effect of filling the IP addresses of the controlled nodes into the whitelist node list of the target node, and the last_seen time of the newly filled controlled node records in the whitelist node list is the latest, thereby increasing the competitiveness of the controlled nodes in the outgoing connection selection. Among them, the controlled node refers to a node that is completely controlled by a supervisor, and the supervisor can completely control all behaviors and runtime information of the node.

[0058] If the number of controlled nodes is large, then during the filling process, if the last_seen time of other nodes in the whitelist is not updated in a timely manner, the controlled nodes that continuously establish incoming connections with the target node can replace all the benign node records in the whitelist node list, thus achieving a complete filling of the whitelist.

[0059] In addition, the inventors of the present invention considered that since the target node synchronizes with all its connections every 1 minute (1 min), the last_seen time of the outgoing connections of the target node in the whitelist will be updated when the timed synchronization is completed. Therefore, the process of completely filling the whitelist should be completed within 1 minute as much as possible, otherwise the outgoing connection records of the target node will affect the filling effect of the whitelist.

[0060] By filling the graylist and the whitelist, it is possible to occupy all positions in the target node list. Since the target node usually only selects from the graylist and the whitelist when establishing outgoing connections, after completing the occupation of the node list, by triggering the selection process of the target node's outgoing connections, the target node can actively establish connections with the controlled nodes in the node list, thus achieving the occupation of the target node's outgoing connections.

[0061] Step S103: Reset the connections based on privacy transactions in different stages to achieve the occupation of the incoming and outgoing connections of the target node;

[0062] The method of resetting connections based on privacy transactions in different stages in this step is a method for resetting node connections for the Dandelion++ protocol, which can achieve the control of the connections of the target node. Through the connection reset method, all other connections of the target node can be quickly disconnected, so that the number of the target node's outgoing connections drops sharply, thereby triggering the selection process of the node's outgoing connections and selecting controlled nodes from the node list for connection.

[0063] Specifically, the node connection reset method for the Dandelion++ protocol proposed by the present invention utilizes the propagation characteristics of the Dandelion++ protocol and the connection management mechanism of nodes. The Dandelion++ protocol divides the propagation of a transaction into two stages: the stem stage and the fluff stage. In the stem stage, a node only sends a transaction to a randomly selected neighbor node with an outgoing connection. After several random hops in the stem stage, the transaction enters the fluff stage. In the fluff stage, the node broadcasts the transaction to all neighbor nodes after a separate random delay. Therefore, in the stem stage of transaction propagation, it is difficult for a transaction to spread quickly throughout the network, while transactions in the fluff stage will be broadcast by almost all nodes, and their propagation speed in the network is much faster than that of transactions in the stem stage. In the stem stage, it is metaphorically described that the transaction propagates unidirectionally in the network like along the stem of a dandelion according to the regulations of the Dandelion++ protocol; in the fluff stage, it is metaphorically described that the transaction spreads in the network like the fluff of a dandelion, spreading out in all directions.

[0064] Based on the above analysis of the propagation characteristics of transactions under the Dandelion++ protocol, during the double-spending transaction conflict between the target node and its neighbor nodes in the present invention, two mutually double-spending conflicting transactions tx1 and tx2 can be sent to the target node and other nodes in the Monero network respectively. Among them, tx1 is sent to the target node in the stem manner, while tx2 is sent to other nodes in the Monero network in the fluff manner. The transaction tx1 in the stem stage will spread slowly in a small range in the Monero network, while the transaction tx2 in the fluff stage will spread quickly in the network and finally reach most of the neighbor nodes of the target node. Eventually, most of the neighbor nodes of the target node will receive the transaction tx2 first and reject the transaction tx1 that has a double-spending conflict with it, and these neighbor nodes will forward the transaction tx2 to the target node. Since the target node receives the transaction tx1 first, when the neighbor nodes send the transaction tx2 to it, a double-spending transaction conflict will occur.

[0065] Based on the above analysis, in this step, the specific process of connection reset based on privacy transactions in different stages is as Figure 4 shown, including the following sub-steps:

[0066] Sub-step S401: Create a first privacy transaction and a second privacy transaction that are mutually double-spending conflicting;

[0067] In this sub-step, using the same UTXO (Unspent Transaction Output), two mutually double-spending conflicting first privacy transaction tx1 and second privacy transaction tx2 are created.

[0068] Sub-step S402: Send the first private transaction in the stem phase to the target node for forwarding, and broadcast the second private transaction in the fluff phase through other nodes;

[0069] In this sub-step, on the one hand, send the first private transaction in the stem phase to the target node for forwarding; according to the provisions of the Dandelion++ protocol, the target node will forward the transaction tx1 in the stem manner to one of its outgoing connections with an 80% probability, which will cause the transaction tx1 to spread in a small range of the Monero network.

[0070] In this sub-step, on the other hand, set up a proxy Monero node to directly broadcast the transaction tx2 in the fluff phase through the proxy Monero node; specifically, connect the wallet program to the proxy Monero node. When the wallet generates the transaction tx2, the transaction tx2 will be automatically sent to the proxy Monero node; the proxy Monero node has modified relevant parameters before and can directly spread the received transaction tx2 in the fluff manner; the transaction tx2 will always be in the fluff phase subsequently. In addition, the proxy Monero node can be pre-set not to send private transactions to the target node. Therefore, when the proxy Monero node directly spreads the received transaction tx2 in the fluff manner, it will not directly broadcast the transaction tx2 to the target node.

[0071] Send the second private transaction in the fluff phase to other nodes except the target node, and let other nodes broadcast the second private transaction in the network; so that the second private transaction in the fluff phase can spread quickly in the network, and most of the neighbor nodes of the target node will receive the second private transaction in the fluff phase first.

[0072] Sub-step S403: The neighbor nodes of the target node forward the received second private transaction to the target node;

[0073] Specifically, since most of the neighbor nodes of the target node will receive the second private transaction in the fluff phase first; after these neighbor nodes receive the second private transaction in the fluff phase, they will send the second private transaction to the target node and refuse to receive the first private transaction.

[0074] In this sub-step, when the neighbor node (such as node A) of the target node receives the second private transaction, the node will broadcast the second private transaction, that is, forward it to all its neighbor nodes, including the target node.

[0075] Sub-step S404: The target node disconnects from this neighbor node to achieve the occupation of the incoming connection of the target node;

[0076] Specifically, since the target node already has the transaction tx1 that has a double-spending conflict with tx2 at this time, according to the transaction management mechanism of the cryptocurrency, the earlier obtained transaction tx1 will be retained, and the target node will actively disconnect the neighbor node that sends the double-spending transaction to it, thereby realizing the reset of the connections of the target node.

[0077] In this sub-step, after the target node receives the second private transaction sent by one of its neighbor nodes and determines that there is a double-spending transaction conflict between the second private transaction and the first private transaction in the transaction pool, it disconnects the connection with this neighbor node;

[0078] As the target node continuously receives the second private transaction from its neighbor nodes and disconnects the connections with its neighbor nodes one by one, the occupation of the incoming connections of the target node is thus realized.

[0079] Sub-step S405: The target node selects a new node from the node list for connection reset to realize the occupation of the outgoing connections of the target node;

[0080] In this sub-step, as the number of connections of the target node drops sharply, the target node will start a new outgoing connection selection process: the target node selects a controlled node from the node list of the whitelist for connection reset; or, the target node selects a node from the node list of the gray list and, after determining that the node is an invalid node, then selects a controlled node from the node list of the whitelist for connection reset.

[0081] The connection reset method for the Dandelion++ protocol is applicable to all cryptocurrencies that use the Dandelion++ protocol and adopt a similar connection management mechanism. Its effect is mainly affected by the number of nodes among the neighbor nodes of the target node that have received the transaction tx2, that is, the more neighbor nodes that receive tx2 before tx1, the more connections that can be reset, and the better the effect of the connection reset attack.

[0082] Through the above process, as the number of connections of the target node drops sharply, the target node will start a new outgoing connection selection process, thereby connecting to the controlled nodes pre-injected in the node list, and finally realizing the complete occupation of the outgoing connections of the target node.

[0083] For the incoming connections, since by continuously performing connection reset, it is possible to disconnect the incoming connections of some existing and newly added uncontrolled nodes, thereby maintaining the complete occupation of the connections of the target node.

[0084] Step S104: Based on the occupation of the incoming and outgoing connections of the target node, realize the tracing of the cryptocurrency transactions of the target node.

[0085] In this step, based on the occupation of the incoming and outgoing connections of the target node, the origin transaction of the target node is identified, thereby realizing the traceability of the cryptocurrency transactions of the target node.

[0086] Specifically, after achieving the occupation of the incoming and outgoing connections of the target node, all incoming and outgoing transaction data of the target node can be monitored;

[0087] Combined with the analysis of the cryptocurrency network layer transaction traffic, if it is found that a transaction is only sent from the target node and has not been sent to the target node before, it means that this transaction is the origin transaction of the target node, thereby realizing the traceability of the cryptocurrency transactions of the target node.

[0088] Since all connections of the target node are controlled, it is also possible to analyze and identify the origin transactions of the target node and decide whether to intercept the transactions. For regulators, if the origin transaction of the target node is an illegal transaction, it is intercepted to achieve refined supervision.

[0089] Based on the connection reset for privacy transactions in different stages, we conducted an experiment of 40 successful connection reset attempts on the target node, as Figure 5 shown. The sending interval between tx2 and tx1 is set to 2.4 s. Among the 40 connection reset attempts, 15 times (37.5%) achieved a complete reset of the target node connection, and 33 times (82.5%) reset more than 90% of the target node connections, with an average connection reset rate reaching 86.60%.

[0090] The time span of each connection reset attempt, the results are as Figure 6 shown, can be completed in a relatively short time, with an average time consumption of 28.55 seconds. However, due to network problems or internal reasons of the target node, some neighbor nodes did not forward the double-spending tx2 to the target node in time, resulting in a longer time to complete the connection reset attempt. The frequency of this situation is relatively low and has little impact on the stability of the attack.

[0091] In the technical solution of the present invention, the white list and the gray list node list of the target node are filled; the first privacy transaction and the second privacy transaction that are mutually double-spending transaction conflicts are created; the first privacy transaction in the stem stage is sent to the target node for forwarding, and the second privacy transaction in the fluff stage is broadcast through other nodes; after the target node receives the second privacy transaction and determines that there is a double-spending transaction conflict between the second privacy transaction and the first privacy transaction, the connection with the neighbor node that sends the second privacy transaction to it is disconnected, so as to occupy the incoming connection of the target node; furthermore, the target node selects a new node from the node list to reset the connection, so as to occupy the outgoing connection of the target node; based on the occupation of the incoming and outgoing connections of the target node, the originating transaction of the target node is identified. Compared with the existing transaction tracing method that relies on the restart of the node to trigger the selection process of the outgoing connection, the transaction tracing method based on the connection reset of the privacy transaction in different stages of the present invention effectively realizes the control of the connection of the target node, can trigger the selection process of the outgoing connection at any time, has repeatability, and does not have to rely on the restart of the node to trigger the selection process of the outgoing connection, so as to realize the cryptocurrency transaction tracing with low time cost, controllable process and definite effect.

[0092] Figure 7 FIG. schematically shows a hardware architecture diagram of a computer device 1300 for a transaction tracing method based on connection reset of privacy transactions in different stages according to an embodiment of the present application. In this embodiment, the computer device 1300 is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions. For example, it can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a rack-mounted server, a blade server, a tower server or a cabinet server (including an independent server, or a server cluster composed of multiple servers), etc. As Figure 7 shown, the computer device 1300 at least includes, but is not limited to: a memory 1310, a processor 1320, and a network interface 1330 that can communicate with each other through a system bus. Among them:

[0093] The memory 1310 includes at least one type of computer-readable storage medium. The readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 1310 may be an internal storage module of the computer device 1300, such as the hard disk or memory of the computer device 1300. In other embodiments, the memory 1310 may also be an external storage device of the computer device 1300, such as a plug-in hard disk equipped on the computer device 1300, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Of course, the memory 1310 may also include both the internal storage module and the external storage device of the computer device 1300. In this embodiment, the memory 1310 is generally used to store the operating system and various application software installed on the computer device 1300, such as the program code of the transaction traceability method for connection reset based on privacy transactions at different stages. In addition, the memory 1310 may also be used to temporarily store various data that have been output or will be output.

[0094] In some embodiments, the processor 1320 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips. The processor 1320 is generally used to control the overall operation of the computer device 1300, such as performing control and processing related to data interaction or communication with the computer device 1300. In this embodiment, the processor 1320 is used to run the program code stored in the memory 1310 or process data.

[0095] The network interface 1330 may include a wireless network interface or a wired network interface, which is generally used to establish a communication link between the computer device 1300 and other computer devices. For example, the network interface 1330 is used to connect the computer device 1300 to an external terminal through a network, and establish a data transmission channel and a communication link between the computer device 1300 and the external terminal, etc. The network may be an enterprise intranet (Intranet), the Internet, the Global System of Mobile communication (GSM for short), Wideband Code Division Multiple Access (WCDMA for short), 4G network, 5G network, Bluetooth, Wi-Fi and other wireless or wired networks.

[0096] It should be noted that Figure 7 Only the computer device with components 1310 - 1330 is shown, but it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively.

[0097] In this embodiment, the transaction traceability method for connection reset based on privacy transactions in different stages stored in the memory 1310 can also be divided into one or more program modules and executed by one or more processors (processor 1320 in this embodiment) to complete the embodiments of the present application.

[0098] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information accessible by a computing device.

[0099] Those of ordinary skill in the art should understand that any discussion of the above embodiments is merely exemplary and is not intended to imply that the scope of the present disclosure (including the claims) is limited to these examples; under the concept of the present invention, the technical features in the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations in different aspects of the present invention as described above, and they are not provided in detail for the sake of brevity.

[0100] In addition, for simplicity of explanation and discussion, and in order not to make the present invention difficult to understand, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Further, the devices may be shown in block diagram form in order to avoid making the present invention difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform on which the present invention is to be implemented (i.e., these details should be fully within the understanding of those skilled in the art). In cases where specific details (such as circuits) are set forth to describe exemplary embodiments of the present invention, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details or with variations of these specific details. Accordingly, these descriptions should be regarded as illustrative rather than restrictive.

[0101] Although the present invention has been described in connection with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art based on the foregoing description. For example, other memory architectures (such as dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0102] Embodiments of the present invention are intended to cover all such alternatives, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A transaction tracing method for connection reset based on privacy transactions at different stages, characterized in that: include: Populate the whitelist and greylist node lists of the target node; Create a first privacy transaction and a second privacy transaction that conflict with each other; Send the first private transaction in the stem phase to the target node for forwarding, and broadcast the second private transaction in the fluff phase through other nodes; After the target node receives the second privacy transaction and determines that there is a double-spending transaction conflict between the second privacy transaction and the first privacy transaction, the connection of the neighboring node that sent the second privacy transaction to it is disconnected to occupy the incoming connection of the target node; Then the target node selects a new node from the node list to reset the connection, thereby occupying the outgoing connection of the target node; Based on the occupation of the incoming and outgoing connections of the target node, the originating transaction of the target node is identified.

2. The method according to claim 1, characterized in that The method for filling the node list of the gray list of the target node is specifically as follows: establishing an incoming connection with a target node and responding to a time synchronization request from the target node; and The IP address of the invalid node is added to the response, thereby filling the IP address of the invalid node into the node list of the grey list of the target node.

3. The method according to claim 2, characterized in that There are at least 20 incoming connections established with the target node; and Each incoming connection established sends 250 IP addresses of invalid nodes to the target node in response to a time synchronization request.

4. The method according to claim 1, characterized in that: The method for filling the node list of the whitelist of the target node is specifically as follows: frequently establishing incoming connections with the target node through a large number of controlled nodes; as well as After responding to the Ping request of the target node, the connection is disconnected to fill the IP address of the controlled node into the whitelist node list of the target node.

5. The method according to claim 4, characterized in that The process of filling the node list of the whitelist of the target node is completed within 1 minute.

6. The method according to claim 5, characterized in that The target node selects a new node from the node list to reset the connection, specifically including: The target node selects a controlled node from the node list in the whitelist to reset the connection.

7. The method according to claim 6, characterized in that The target node selects a new node from the node list to reset the connection, further comprising: The target node selects a node from the node list of the gray list, and after determining that the node is an invalid node, further selects a controlled node from the node list of the white list to reset the connection.

8. The method according to claim 1, characterized in that The identifying the originating transaction of the target node based on the occupation of the incoming and outgoing connections of the target node specifically includes: After achieving occupation of the incoming and outgoing connections of the target node, all incoming and outgoing transaction data of the target node are monitored; If a transaction is found to be sent only from the target node, the transaction is identified as the originating transaction of the target node.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, it is used to implement the steps of the transaction tracing method for resetting the connection based on privacy transactions at different stages as described in any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which can be executed by at least one processor so that the at least one processor performs the steps of the transaction tracing method for resetting the connection based on privacy transactions at different stages as described in any one of claims 1 to 8.