Associated transaction address mining method and device for block chain network

By building a directed graph of blockchain transactions and directed graph of connected components, using Tarjan algorithm and routing table generation technology, the problem of low mining efficiency of related transaction addresses in the blockchain network is solved, and efficient accessible path extraction and abnormal transaction detection are achieved.

CN119537441AActive Publication Date: 2025-02-28ZHONGKE LIANAN (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411403788.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-09
Publication Date
2025-02-28
Estimated Expiration
2044-10-09

AI Technical Summary

Technical Problem

The prior art is inefficient in mining related transaction addresses in blockchain networks, and requires a lot of time to find all accessible paths between two nodes in the topology graph.

Method used

By constructing a directed graph of blockchain transactions and directed graphs of connected components, the Tarjan algorithm is used to extract strong connected components, and a routing table is generated to store accessible path information, and the reachable path extraction is optimized through greedy algorithms and mining rate.

Benefits of technology

It improves the efficiency of mining related transaction address in the blockchain network, and enhances the efficiency and accuracy of subsequent applications such as abnormal transaction detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119537441A_ABST
    Figure CN119537441A_ABST
Patent Text Reader

Abstract

The invention provides an associated transaction address mining method and device for a block chain network. The method comprises the steps of determining a starting node and a destination node, corresponding to a starting vertex and a destination vertex in a block chain transaction directed graph, in a connected component directed graph; searching all adjacent nodes of the starting node in the connected component directed graph, and filling a routing table of the starting node according to respective routing tables of the adjacent nodes; and searching whether the unique identifier of the destination node is included in a routing table of the starting node, if so, extracting a reachable vector corresponding to the unique identifier of the destination node, and extracting a reachable path graph formed by strongly connected components corresponding to the reachable vector from the block chain transaction directed graph. The associated transaction address mining efficiency can be effectively improved on the basis of ensuring the comprehensiveness of associated transaction address mining in the block chain network, so that the efficiency of performing subsequent applications such as abnormal transaction detection according to the associated transaction address can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of blockchain technology, and in particular to a method and apparatus for mining related transaction addresses in blockchain networks. Background Technology

[0002] In scenarios involving anomaly detection and transaction risk identification on blockchain networks, it's necessary to first mine the connections between different transaction addresses within the blockchain network, i.e., to find reachable paths between them. In a blockchain network, if the sets of addresses of Party A and Party B in a transaction are known, then information that may be needed includes other related addresses along the flow of funds from Party A to Party B. For example, in an anomaly transaction event using blockchain, if the addresses of both Party A and Party B are disclosed, it's necessary to mine other related addresses between them. The mined related addresses can serve as clues for anomaly detection, making the anomaly detection event itself clearer and improving the effectiveness and reliability of subsequent applications such as anomaly monitoring.

[0003] However, in existing methods for mining related transaction addresses in blockchain networks, the sheer number of transaction addresses and their complex interactions mean that even using a topology graph to represent the relationships between various transaction addresses in the blockchain network still requires a significant amount of time to find all reachable paths between two nodes in the topology graph. Therefore, there is an urgent need to design a method that can improve the efficiency of related transaction address mining while ensuring its comprehensiveness. Summary of the Invention

[0004] In view of this, embodiments of this application provide a method and apparatus for mining related transaction addresses in blockchain networks, in order to eliminate or improve one or more defects existing in the prior art.

[0005] One aspect of this application provides a method for mining related transaction addresses in a blockchain network, comprising:

[0006] The starting vertex in the directed graph of blockchain transactions corresponds to the starting node in the directed graph of connected components, and the destination vertex in the directed graph of blockchain transactions corresponds to the destination node in the directed graph of connected components. Each vertex in the directed graph of blockchain transactions represents a transaction address in the blockchain network, and each edge in the directed graph of blockchain transactions represents a transaction between two vertices connected by that edge. Each node in the directed graph of connected components corresponds one-to-one with each strongly connected component of the directed graph of blockchain transactions, and each strongly connected component contains multiple vertices. Each edge in the directed graph of connected components represents a unidirectional connection between the strongly connected components.

[0007] In the connected component directed graph, all adjacent nodes corresponding to the starting node are found, and the routing table of the starting node is filled according to the routing table of each of the adjacent nodes. The routing table is used to store the unique identifier of each node that can be reached in the connected component directed graph and the correspondence between the reachable vectors used to represent reachable paths. The reachable vector is composed of at least one of the nodes.

[0008] The routing table of the populated starting node is searched to see if it contains the unique identifier of the destination node. If so, the reachable vector corresponding to the unique identifier of the destination node is extracted, and a reachable path graph consisting of each node in the reachable vector and the strongly connected components corresponding to the destination node is extracted from the directed blockchain transaction graph. This reachable path graph is used as the associated transaction address mining result data from the starting vertex to the destination vertex.

[0009] In some embodiments of this application, before determining that the starting vertex in the directed graph of blockchain transactions corresponds to the starting node in the directed graph of connected components and that the destination vertex in the directed graph of blockchain transactions corresponds to the destination node in the directed graph of connected components, the method further includes:

[0010] By treating each transaction address in the blockchain network as a different vertex and the transactions between each transaction address as different edges, a directed graph of blockchain transactions is constructed.

[0011] Construct the connected component directed graph corresponding to the blockchain transaction directed graph.

[0012] In some embodiments of this application, constructing the connected component directed graph corresponding to the blockchain transaction directed graph includes:

[0013] Based on the Tarjan algorithm, each strongly connected component is extracted from the directed graph of blockchain transactions;

[0014] Based on the connection relationship of each strongly connected component in the blockchain transaction directed graph, a connected component directed graph is constructed, with each strongly connected component as a node.

[0015] Each node in the connected component directed graph is assigned a unique identifier and a routing table.

[0016] In some embodiments of this application, before determining that the starting vertex in the directed graph of blockchain transactions corresponds to the starting node in the directed graph of connected components and that the destination vertex in the directed graph of blockchain transactions corresponds to the destination node in the directed graph of connected components, the method further includes:

[0017] Receive a related transaction address mining request, wherein the related transaction address mining request includes the starting transaction address and the ending transaction address;

[0018] The vertex corresponding to the starting transaction address in the directed graph of the blockchain transaction is determined as the starting vertex, and the vertex corresponding to the ending transaction address in the directed graph of the blockchain transaction is determined as the destination node.

[0019] In some embodiments of this application, the related transaction address mining request also includes a mining rate;

[0020] Correspondingly, the method for mining related transaction addresses in blockchain networks also includes:

[0021] If the associated transaction address mining results show that the reachable path between the starting vertex and the destination vertex is not unique, then the traffic loss rate of each reachable path in the associated transaction address mining results is calculated based on the greedy algorithm and the mining rate, and the reachable path corresponding to the maximum value of each traffic loss rate is determined as the target reachable path from the starting vertex to the destination vertex.

[0022] In some embodiments of this application, before determining that the starting vertex in the directed graph of blockchain transactions corresponds to the starting node in the directed graph of connected components and that the destination vertex in the directed graph of blockchain transactions corresponds to the destination node in the directed graph of connected components, the method further includes:

[0023] Construct a mapping data table, wherein the mapping data table is used to store the correspondence between each vertex and its corresponding node.

[0024] In some embodiments of this application, determining that the starting vertex in the directed graph of blockchain transactions corresponds to the starting node in the directed graph of connected components, and that the destination vertex in the directed graph of blockchain transactions corresponds to the destination node in the directed graph of connected components, includes:

[0025] The system searches the mapping data table to find the node corresponding to the starting vertex as the starting node, and searches the mapping data table to find the node corresponding to the destination vertex as the destination node.

[0026] Another aspect of this application provides a device for mining related transaction addresses in a blockchain network, comprising:

[0027] The connected component determination module is used to determine the starting vertex in the blockchain transaction directed graph and the destination vertex in the blockchain transaction directed graph and the destination node in the connected component directed graph. Each vertex in the blockchain transaction directed graph represents a transaction address in the blockchain network, and each edge in the blockchain transaction directed graph represents a transaction between two vertices connected by that edge. Each node in the connected component directed graph corresponds one-to-one with each strongly connected component of the blockchain transaction directed graph, and each strongly connected component contains multiple vertices. Each edge in the connected component directed graph represents a unidirectional connection between the strongly connected components.

[0028] The routing table filling module is used to find all adjacent nodes corresponding to the starting node in the connected component directed graph, and fill the routing table of the starting node according to the routing table of each of the adjacent nodes. The routing table is used to store the unique identifiers of each node reachable in the connected component directed graph and the correspondence between reachable vectors representing reachable paths. The reachable vectors are composed of at least one of the nodes.

[0029] The reachable path extraction module is used to search the routing table of the populated starting node for a unique identifier of the destination node. If so, it extracts the reachable vector corresponding to the unique identifier of the destination node and extracts a reachable path graph composed of each node in the reachable vector and the strongly connected components corresponding to the destination node from the directed blockchain transaction graph. The reachable path graph is used as the associated transaction address mining result data from the starting vertex to the destination vertex.

[0030] A third aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the aforementioned method for mining related transaction addresses for a blockchain network.

[0031] A fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the described method for mining related transaction addresses for a blockchain network.

[0032] The fifth aspect of this application provides a computer program product including a computer program that, when executed by a processor, implements the described method for mining related transaction addresses for a blockchain network.

[0033] The method for mining associated transaction addresses in a blockchain network provided in this application determines the starting vertex in the directed graph of blockchain transactions as corresponding to the starting node in the directed component graph, and the destination vertex in the directed graph of blockchain transactions as corresponding to the destination node in the directed component graph. Each vertex in the directed graph of blockchain transactions represents a transaction address in the blockchain network, and each edge in the directed graph of blockchain transactions represents a transaction between two vertices connected by that edge. Each node in the directed component graph corresponds one-to-one with each strongly connected component of the directed graph of blockchain transactions, and each strongly connected component contains multiple vertices. Each edge in the directed component graph of the directed graph of the connected components represents a unidirectional connection between the strongly connected components. The method then searches for all adjacent nodes corresponding to the starting node in the directed component graph, and fills the starting address with its corresponding routing table based on the routing table of each adjacent node. The routing table of the starting node stores the unique identifiers of each node reachable from the corresponding node in the directed graph of connected components, and the correspondence between the reachable vectors representing reachable paths. The reachable vectors are composed of at least one of the nodes. The routing table of the starting node, after being filled, is searched to see if it contains the unique identifier of the destination node. If so, the reachable vector corresponding to the unique identifier of the destination node is extracted, and a reachable path graph composed of each node in the reachable vector and the strongly connected components corresponding to the destination node is extracted from the directed graph of blockchain transactions. This reachable path graph is used as the associated transaction address mining result data from the starting vertex to the destination vertex. This can effectively improve the efficiency of associated transaction address mining while ensuring the comprehensiveness of associated transaction address mining in the blockchain network, thereby improving the efficiency of subsequent applications such as abnormal transaction detection based on associated transaction addresses.

[0034] Additional advantages, objectives, and features of this application will be set forth in part in the description which follows, and will in part become apparent to those skilled in the art upon review of the following description, or may be learned by practice of the application. The objectives and other advantages of this application can be realized and obtained by means of the structures specifically pointed out in the specification and drawings.

[0035] Those skilled in the art will understand that the purposes and advantages that can be achieved with this application are not limited to those specifically described above, and that the above and other purposes that this application can achieve will be more clearly understood from the following detailed description. Attached Figure Description

[0036] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, do not constitute a limitation thereof. The components in the drawings are not drawn to scale but are merely for illustrating the principles of this application. For ease of illustration and description of certain parts of this application, corresponding portions in the drawings may be enlarged, i.e., may appear larger relative to other components in an exemplary device actually manufactured according to this application. In the drawings:

[0037] Figure 1 This is a schematic diagram of the first process of a method for mining related transaction addresses in a blockchain network according to an embodiment of this application.

[0038] Figure 2 This is a schematic diagram of a second process for a method of mining related transaction addresses in a blockchain network according to an embodiment of this application.

[0039] Figure 3 This is a schematic diagram of the third process of the method for mining related transaction addresses in a blockchain network according to one embodiment of this application.

[0040] Figure 4(a) is a schematic diagram of the strongly connected components in the directed graph of blockchain transactions, which are distinguished by different colors in an example of this application.

[0041] Figure 4(b) is a directed graph of connected components formed after the strongly connected components in the aggregated graph 4(a) in an example of this application.

[0042] Figure 5 This is a connected component directed graph in another example of this application.

[0043] Figure 6 This is a schematic diagram of the associated transaction address mining results data corresponding to the starting vertex S to the destination vertex E in another example of this application.

[0044] Figure 7 This is a schematic diagram of the structure of a blockchain network-related transaction address mining device according to one embodiment of this application. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit it.

[0046] It should also be noted that, in order to avoid obscuring this application with unnecessary details, only the structures and / or processing steps closely related to the solution according to this application are shown in the accompanying drawings, while other details that are not closely related to this application are omitted.

[0047] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.

[0048] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.

[0049] In the following description, embodiments of the present application will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.

[0050] To improve the efficiency of related transaction address mining while ensuring its comprehensiveness, this application provides a method for mining related transaction addresses in a blockchain network, a device for mining related transaction addresses in a blockchain network, a physical device, a computer-readable storage medium, and a computer program product for executing the method. These methods effectively improve the efficiency of related transaction address mining while ensuring its comprehensiveness in the blockchain network, thereby enhancing the efficiency of subsequent applications such as abnormal transaction detection based on related transaction addresses.

[0051] The following examples will provide a detailed description.

[0052] Based on this, embodiments of this application provide a method for mining related transaction addresses in a blockchain network, which can be implemented by a device for mining related transaction addresses in a blockchain network. See [link to relevant documentation]. Figure 1 The method for mining related transaction addresses in a blockchain network specifically includes the following:

[0053] Step 100: Determine the starting vertex in the directed graph of blockchain transactions corresponding to the starting node in the directed graph of connected components, and the destination vertex in the directed graph of blockchain transactions corresponding to the destination node in the directed graph of connected components; wherein, each vertex in the directed graph of blockchain transactions represents a transaction address in the blockchain network, and each edge in the directed graph of blockchain transactions represents a transaction between two vertices connected by the edge; each node in the directed graph of connected components corresponds one-to-one with each strongly connected component of the directed graph of blockchain transactions, and each strongly connected component contains multiple vertices, and each edge in the directed graph of connected components is used to represent a unidirectional connection relationship between each strongly connected component.

[0054] It is understood that a directed graph of blockchain transactions consists of vertices and edges connecting different vertices. Each vertex represents a transaction address in the blockchain network, and each edge represents a transaction between two vertices connected by the edge. The edges in the directed graph of blockchain transactions are directed edges, and the direction is used to indicate the transaction direction. That is, if the transaction direction between the first transaction address and the second transaction address is a transfer from the first transaction address to the second transaction address, then the direction of the edge between the unique vertex corresponding to the first transaction address and the unique vertex corresponding to the second transaction address is from the unique vertex corresponding to the first transaction address to the unique vertex corresponding to the second transaction address.

[0055] In one or more embodiments of this application, the vertex refers to a point in a directed graph of blockchain transactions, and the node refers to a point in a directed graph of connected components.

[0056] It is understood that each node in the directed graph of connected components corresponds one-to-one with each strongly connected component in the directed graph of blockchain transactions, and each strongly connected component contains multiple vertices. Each edge in the directed graph of connected components is used to represent the unidirectional connection relationship between each strongly connected component.

[0057] In one or more embodiments of this application, a strongly connected component refers to a directed graph of blockchain transactions where two vertices are said to be strongly connected if there exists a directed path from any point to the other, and also a directed path from the other point to the first vertex. If every pair of vertices in a directed graph of blockchain transactions satisfies this condition, then the directed graph of blockchain transactions can be directly considered a strongly connected component, or simply a strongly connected graph. The maximal strongly connected subgraph of a strongly connected component directed graph is called a strongly connected component.

[0058] Step 200: Find all adjacent nodes corresponding to the starting node in the connected component directed graph, and fill the routing table of the starting node according to the routing table of each of the adjacent nodes. The routing table is used to store the unique identifiers of each node reachable in the connected component directed graph and the correspondence between the reachable vectors used to represent reachable paths. The reachable vectors are composed of at least one of the nodes.

[0059] Specifically, since addresses in a blockchain network are completely random, finding all paths from one address to another requires brute-force searches using Depth-First Search (DFS) or Breadth-First Search (BFS). Even using a reconstructed connected component directed graph, the search time is still enormous. A feasible solution is to add "routing" capabilities to the nodes in the connected component directed graph.

[0060] Therefore, embodiments of this application can generate a routing table for each node based on a connected component directed graph. In one or more embodiments of this application, the structure of the routing table differs from that of the traditional RIP protocol. In the RIP protocol, the next hop for each network segment is a scalar value, representing the shortest hop value. However, the next hop in the routing table of this application corresponds to a vector value. An example of a routing table is shown in Table 1 below.

[0061] Table 1

[0062] serial number Node number (a unique identifier for a node) Reachable vector 1 0x12abc [0x32amc,0x73ohy]

[0063] In this context, the node number in the routing table is used to represent the unique identifier generated for each node when the connected component directed graph (also known as the reconstructed graph) is generated. The reachability vector refers to the component (the unique identifier of other nodes) in the reachability vector that the current node corresponding to the routing table can reach from if it wants to reach the node indicated by the node number.

[0064] Assuming the unique identifier of the current node corresponding to the routing table shown in Table 1 is 0x99xyz, if this node wants to reach the node with the unique identifier 0x12abc, it can be routed through the node with the unique identifier 0x32amc or through the node with the unique identifier 0x73ohy.

[0065] Step 300: Check whether the routing table of the starting node contains the unique identifier of the destination node. If so, extract the reachable vector corresponding to the unique identifier of the destination node, and extract the reachable path graph composed of each node in the reachable vector and the strongly connected components corresponding to the destination node from the directed graph of blockchain transactions. Use the reachable path graph as the associated transaction address mining result data from the starting vertex to the destination vertex.

[0066] After step 300, the associated transaction address mining results data can be output for subsequent processing such as abnormal transactions or transaction risk prediction between the starting vertex and the destination vertex. If the reachable path between the starting vertex and the destination vertex shown in the associated transaction address mining results data is not unique, importance filtering can also be performed, which will be described in detail in subsequent embodiments.

[0067] As can be seen from the above description, the method for mining related transaction addresses in blockchain networks provided in this application embodiment can effectively improve the efficiency of related transaction address mining while ensuring the comprehensiveness of related transaction address mining in blockchain networks, thereby improving the efficiency of subsequent applications such as abnormal transaction detection based on related transaction addresses.

[0068] To further improve the efficiency, comprehensiveness, and reliability of related transaction address mining for blockchain networks, this application provides a method for related transaction address mining for blockchain networks, see [link to relevant documentation]. Figure 2 The method for mining associated transaction addresses in the blockchain network, prior to step 100, specifically includes the following:

[0069] Step 010: Construct a directed blockchain transaction graph by treating each transaction address in the blockchain network as a different vertex and the transactions between each transaction address as different edges.

[0070] Specifically, for each transaction address in a given blockchain network, this embodiment of the application models the transactions as edges and the addresses as vertices to form a directed graph of blockchain transactions.

[0071] Step 020: Construct the connected component directed graph corresponding to the blockchain transaction directed graph.

[0072] To further improve the effectiveness and reliability of connected component directed graph applications, and to further enhance the efficiency, comprehensiveness, and reliability of related transaction address mining for blockchain networks, this application provides a method for related transaction address mining for blockchain networks, see [link to relevant documentation]. Figure 3 Step 020 in the blockchain network's associated transaction address mining method specifically includes the following:

[0073] Step 021: Extract each strongly connected component from the directed graph of blockchain transactions based on the Tarjan algorithm;

[0074] Step 022: Based on the connection relationship of each strongly connected component in the blockchain transaction directed graph, construct a connected component directed graph with each strongly connected component as a node.

[0075] Specifically, this application embodiment uses the Tarjan algorithm on the directed graph of blockchain transactions to divide it into strongly connected components. In each strongly connected component, every pair of nodes is reachable. The Tarjan algorithm is a depth-first search (DFS) algorithm for graphs, used to find strongly connected components (SCCs) in the graph.

[0076] For each strongly connected component, it is abstracted into a node, and the graph is reconstructed to obtain a directed graph of connected components.

[0077] In one example, referring to Figure 4(a), this embodiment of the application uses the Tarjan algorithm to distinguish different strongly connected components in the directed graph of blockchain transactions using different colors. Each strongly connected component is treated as a point, and the aggregated strongly connected components form a directed graph of connected components as shown in Figure 4(b). In Figure 4(a), the magenta component has two edges pointing to the green component, while in Figure 4(b), there is only one edge. That is, the directed graph of connected components only reflects the connection relationship between components, not the actual connection situation. Therefore, the reconstructed directed graph of connected components greatly simplifies the directed graph of blockchain transactions, effectively reducing the complexity of the original directed graph. This, in turn, effectively improves the efficiency and reliability of related transaction address mining based on the directed graph of connected components while ensuring the comprehensiveness of related transaction address mining.

[0078] Step 023: Set a unique identifier and a routing table for each node in the connected component directed graph.

[0079] Specifically, see Figure 5 If the connected component directed graph generated in step 022 contains nodes C, B, A, M, and X, then the routing table generation process for each node is as follows:

[0080] Each node can query the routing table of its linked nodes. For example, node B first sends a routing table query request (such as a Hello request) to node A to inquire about node A's routing table. After receiving the Hello request, node A responds with its own routing table to node B. After receiving node A's response, node B completes its own routing table based on node A's routing table. The following example illustrates this. Figure 5 The following example illustrates the routing table update process:

[0081] (1) Assume that the routing table of node A is currently Table 2:

[0082] Table 2 - Routing table for Node A

[0083] serial number Node number Reachable vector 1 X [X]

[0084] This means that if node A wants to reach node X, it can directly go to the directly connected node X.

[0085] (2) Assume that the routing table of node M is Table 3 at this time, which is consistent with the current routing table of node A:

[0086] Table 3 - Routing table for node M

[0087] serial number Node number Reachable vector 1 X [X]

[0088] (3) At this time, the routing table of node B is Table 4:

[0089] Table 4 - Initial state of Node B's routing table

[0090] serial number Node number Reachable vector 1 A [A] 2 M [M]

[0091] (4) Since node B is directly connected to node A, node B sends a Hello request to node A. After receiving the Hello request, node A returns its own routing table. At this time, node B discovers that node A can reach node X, so node B also learns the method to reach node X through node A. At this point, node B's routing table changes to Table 5:

[0092] Table 5 - Node B modifies its own routing table after obtaining the routing table of its neighbor Node A.

[0093] serial number Node number Reachable vector 1 A [A] 2 M [M] 3 X [A]

[0094] (5) Similarly, node B can query M for routing information. When node M returns its routing table, node B discovers that there is more than one path to node X than node A. Therefore, node B adds node M to the reachable vector numbered 3 in its routing table. At this point, node B's routing table changes to Table 6:

[0095] Table 6 - Node B modifies its own routing table after obtaining the routing table of its neighboring node M.

[0096] serial number Node number Reachable vector 1 A [A] 2 M [M] 3 X [A,M]

[0097] (6) Similarly, node C queries the routing table of node B and finds that node B can reach node A, node M, and node X. Therefore, node C can also reach these three nodes through node B, and node C's routing table is changed to Table 7:

[0098] Table 7 - Node C modifies its own routing table after obtaining the routing table of its neighbor Node B.

[0099] serial number Node number Reachable vector 1 A [B] 2 M [B] 3 X [B] 4 B [B]

[0100] Therefore, when querying all reachable paths between two transaction addresses, one can first query the nodes corresponding to the strongly connected components containing the two transaction addresses, and then query all nodes along the path step by step through the routing table update process described above. Since all vertices within each connected component are mutually reachable, all vertices within the connected components along the path are vertices on the reachable path between the two addresses. Therefore, after determining these vertices, a reachable path graph from the starting vertex to the destination vertex can be obtained by performing a subgraph operation on the directed graph of blockchain transactions.

[0101] To further improve the application flexibility and applicability of related transaction address mining for blockchain networks, this application provides a method for related transaction address mining for blockchain networks, see [link to relevant documentation]. Figure 2 or Figure 3 The method for mining associated transaction addresses in the blockchain network, prior to step 100, specifically includes the following:

[0102] Step 030: Receive a related transaction address mining request, wherein the related transaction address mining request includes the starting transaction address and the ending transaction address;

[0103] Step 040: Determine the vertex corresponding to the starting transaction address in the directed blockchain transaction graph as the starting vertex, and determine the vertex corresponding to the ending transaction address in the directed blockchain transaction graph as the destination node.

[0104] In addition, while ensuring the comprehensiveness of related transaction address mining in the blockchain network and effectively improving the efficiency of related transaction address mining, it is also possible to consider which path is more important when the related transaction address mining results show that the reachable path between the starting vertex and the destination vertex is not unique, so as to further improve the accuracy of related transaction address mining for the blockchain network.

[0105] Based on this, in order to further improve the accuracy of related transaction address mining for blockchain networks, in a related transaction address mining method for blockchain networks provided in this application embodiment, the related transaction address mining request also includes a mining rate, see [link to relevant documentation]. Figure 2 or Figure 3 The method for mining associated transaction addresses in the blockchain network, after step 300, further includes the following:

[0106] Step 400: If the associated transaction address mining results show that the reachable path between the starting vertex and the destination vertex is not unique, then based on the greedy algorithm and the mining rate, the traffic loss rate of each reachable path in the associated transaction address mining results is calculated, and the reachable path corresponding to the maximum value of each traffic loss rate is determined as the target reachable path from the starting vertex to the destination vertex.

[0107] For example, see Figure 6The associated transaction address mining results data from the starting vertex S to the destination vertex E shown are obtained by quickly discovering the reachable path graph between the two when a starting vertex S and a destination vertex E are missing. This is the associated transaction address mining results data. If the reachable paths in the graph are not unique, then evaluating the importance of vertices H1 to H4 involved in these reachable paths becomes a core issue. In other words, this embodiment uses maximum flow loss to determine the importance of each group of vertices corresponding to each reachable path between the starting vertex S and the destination vertex E. Whenever a group of vertices is deleted, the maximum flow between the starting vertex S and the destination vertex E is necessarily reduced. If the loss between the starting vertex S and the destination vertex E is very large after deleting a group of vertices, then this group of vertices is very important (deleting this group of vertices significantly reduces the flow, indicating that this group of vertices plays a very important pivotal role between the starting vertex S and the destination vertex E). In this embodiment, the basis for evaluating the importance of a group of vertices constituting a reachable path is the flow loss rate Loss of that reachable path, which is the average maximum loss of deleting a group, i.e., the average loss caused by each vertex in the group.

[0108]

[0109] The higher the loss value of a certain group of nodes, the more important that group of nodes is. The exact size of this group is controlled by the mining rate R, which is determined by the parameters provided by the user. This algorithm, given a fixed mining rate R, aims to find the group with the largest loss (which can be simply called the maximum group).

[0110] In other words, in this embodiment, the transaction amount of each edge is considered a flow limit, and the maximum flow from the starting vertex S to the destination vertex is the overall maximum flow. When the group is deleted, the maximum flow is calculated again, and the maximum flow is subtracted from the overall maximum flow to obtain the maximum flow loss. The maximum flow loss represents the overall flow loss after deleting the nodes in the group. Therefore, the maximum group capacity MaxGroup can be adjusted according to the mining rate R.

[0111] MaxGroup = R * total number of nodes

[0112] Since finding the global optimum is extremely difficult, a greedy algorithm is used instead to find the local optimum. Because removing a vertex at a time results in only two possibilities for the maximum flow: no change or loss, we can sequentially remove MaxGroup vertices that incur the maximum loss each time (a greedy process). During the removal process, the current loss is calculated in real-time. The group with the maximum loss is the set of associated vertices, V.

[0113] In other words, the mining algorithm mentioned in this application refers to: in a given blockchain network, given a starting transaction address, an ending transaction address, and a mining rate R, mining the set V of associated nodes involved in the transaction path between the two addresses. These key nodes reflect the association between the starting address and the ending address.

[0114] To further improve the efficiency and convenience of mining related transaction addresses in blockchain networks, this application provides a method for mining related transaction addresses in blockchain networks, see [link to relevant documentation]. Figure 2 or Figure 3 The method for mining associated transaction addresses in the blockchain network, after step 010 and before step 030, specifically includes the following:

[0115] Step 050: Construct a mapping data table, wherein the mapping data table is used to store the correspondence between each vertex and its corresponding node.

[0116] Specifically, in this embodiment of the application, a mapping data table T1 is established, where the key of the mapping data table T1 is a node and the value is the strongly connected component to which it belongs.

[0117] Correspondingly, see Figure 2 or Figure 3 Step 100 in the blockchain network's associated transaction address mining method specifically includes the following:

[0118] Step 110: Find the node corresponding to the starting vertex in the mapping data table as the starting node, and find the node corresponding to the destination vertex in the mapping data table as the destination node.

[0119] Therefore, to query all reachable paths between two transaction addresses, one can first look up the unique identifier of the node corresponding to the strongly connected component in the mapping data table T1. Then, one can query all connected components traversed through the node's routing table step by step. Since all vertices within each connected component are mutually reachable, all vertices within the traversed connected components are vertices on the reachable path between the two addresses. Therefore, after determining these vertices, the reachable path graph between the two addresses can be obtained by performing a subgraph operation on the original blockchain transaction directed graph.

[0120] In summary, the blockchain network-based associated transaction address mining method provided in this application, through the extended application of the RIP protocol on the reconstruction graph and a greedy mining strategy based on operations research, has the advantages of high mining efficiency and high mining accuracy. High mining efficiency refers to the algorithm's characteristic that while it spends a relatively long time in the preprocessing stage, it has high query efficiency on the transaction network after processing. This characteristic is particularly crucial in large blockchain transaction networks. High mining accuracy refers to the algorithm's modeling of the problem from an operations research perspective and its use of a greedy algorithm to attempt to find a locally optimal solution.

[0121] From a software perspective, this application also provides an apparatus for performing all or part of the aforementioned method for mining related transaction addresses for blockchain networks, specifically for mining related transaction addresses for blockchain networks. (See also...) Figure 7 The device for mining related transaction addresses in a blockchain network specifically includes the following components:

[0122] The connected component determination module 10 is used to determine the starting vertex in the blockchain transaction directed graph corresponding to the starting node in the connected component directed graph, and the destination vertex in the blockchain transaction directed graph corresponding to the destination node in the connected component directed graph; wherein, each vertex in the blockchain transaction directed graph represents a transaction address in the blockchain network, and each edge in the blockchain transaction directed graph represents a transaction between two vertices connected by the edge; each node in the connected component directed graph corresponds one-to-one with each strongly connected component in the blockchain transaction directed graph, and each strongly connected component contains multiple vertices, and each edge in the connected component directed graph is used to represent a unidirectional connection relationship between each strongly connected component.

[0123] The routing table filling module 20 is used to find all adjacent nodes corresponding to the starting node in the connected component directed graph, and fill the routing table of the starting node according to the routing table of each of the adjacent nodes. The routing table is used to store the unique identifiers of each node reachable in the connected component directed graph and the correspondence between reachable vectors representing reachable paths. The reachable vectors are composed of at least one of the nodes.

[0124] The reachable path extraction module 30 is used to search in the routing table of the filled starting node whether it contains the unique identifier of the destination node. If so, it extracts the reachable vector corresponding to the unique identifier of the destination node, and extracts the reachable path graph composed of each node in the reachable vector and the strongly connected components corresponding to the destination node from the directed graph of blockchain transactions, so as to use the reachable path graph as the associated transaction address mining result data from the starting vertex to the destination vertex.

[0125] The embodiment of the related transaction address mining device for blockchain networks provided in this application can be used to execute the processing flow of the embodiment of the related transaction address mining method for blockchain networks in the above embodiment. Its function will not be repeated here, but can be referred to the detailed description of the embodiment of the related transaction address mining method for blockchain networks in the above embodiment.

[0126] The part of the blockchain network-related transaction address mining device that mines related transaction addresses can be executed on a server or on a client device. The choice can be made based on the processing power of the client device and the limitations of the user's usage scenario. This application does not impose any limitations in this regard. If all operations are completed on the client device, the client device may further include a processor for the specific processing of the blockchain network-related transaction address mining.

[0127] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0128] The server and the client device can communicate using any suitable network protocol, including those not yet developed as of the date of this application. Such network protocols may include, for example, TCP / IP, UDP / IP, HTTP, HTTPS, etc. Furthermore, such network protocols may also include RPC (Remote Procedure Call Protocol) and REST (Representational State Transfer Protocol) protocols used on top of the aforementioned protocols.

[0129] As can be seen from the above description, the related transaction address mining device for blockchain networks provided in this application embodiment can effectively improve the efficiency of related transaction address mining while ensuring the comprehensiveness of related transaction address mining in the blockchain network, thereby improving the efficiency of subsequent applications such as abnormal transaction detection based on related transaction addresses.

[0130] This application also provides an electronic device, which may include a processor, a memory, a receiver, and a transmitter. The processor is used to execute the method for mining related transaction addresses in a blockchain network mentioned in the above embodiments. The processor and the memory can be connected via a bus or other means, taking a bus connection as an example. The receiver can be connected to the processor and the memory via wired or wireless means.

[0131] The processor can be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0132] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the blockchain network-related transaction address mining method in the embodiments of this application. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory, thereby implementing the blockchain network-related transaction address mining method in the above method embodiments.

[0133] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0134] The one or more modules are stored in the memory, and when executed by the processor, they perform the method for mining related transaction addresses for the blockchain network in the embodiment.

[0135] In some embodiments of this application, the user equipment may include a processor, a memory, and a transceiver unit. The transceiver unit may include a receiver and a transmitter. The processor, memory, receiver, and transmitter may be connected via a bus system. The memory is used to store computer instructions, and the processor is used to execute the computer instructions stored in the memory to control the transceiver unit to send and receive signals.

[0136] As one implementation method, the functions of the receiver and transmitter in this application can be implemented by transceiver circuits or dedicated transceiver chips, and the processor can be implemented by dedicated processing chips, processing circuits or general-purpose chips.

[0137] As another implementation approach, the server provided in this application embodiment can be implemented using a general-purpose computer. That is, the program code implementing the processor, receiver, and transmitter functions is stored in memory, and the general-purpose processor implements the processor, receiver, and transmitter functions by executing the code in memory.

[0138] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned method for mining related transaction addresses for a blockchain network. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.

[0139] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned method for mining related transaction addresses for a blockchain network.

[0140] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave.

[0141] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0142] In this application, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0143] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to the embodiments of this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for mining associated transaction addresses in a blockchain network, characterized in that: include: Determine that the starting vertex in the blockchain transaction directed graph corresponds to the starting node in the connected component directed graph and the destination vertex in the blockchain transaction directed graph corresponds to the destination node in the connected component directed graph; wherein each vertex in the blockchain transaction directed graph represents each transaction address in the blockchain network, and an edge in the blockchain transaction directed graph represents a transaction between two vertices connected by the edge; each node in the connected component directed graph corresponds one-to-one to each strongly connected component corresponding to the blockchain transaction directed graph, and each of the strongly connected components includes multiple vertices, and each edge in the connected component directed graph is used to represent a unidirectional connection relationship between each of the strongly connected components; Searching for all adjacent nodes corresponding to the start node in the connected component directed graph, and filling the routing table of the start node according to the respective routing tables of the adjacent nodes, wherein the routing table is used to store the corresponding relationship between the unique identifiers of the respective nodes reachable by the corresponding node in the connected component directed graph and the reachable vectors used to represent the reachable path, wherein the reachable vectors are composed of at least one of the nodes; In the filled routing table of the starting node, check whether the unique identifier of the destination node is included. If so, extract the reachable vector corresponding to the unique identifier of the destination node, and extract the reachable path graph consisting of each node in the reachable vector and the strongly connected components corresponding to each destination node from the blockchain transaction directed graph, so as to use the reachable path graph as the associated transaction address mining result data from the starting vertex to the destination vertex.

2. The method for mining associated transaction addresses for a blockchain network according to claim 1, characterized in that: Before determining that the starting vertex in the blockchain transaction directed graph corresponds to the starting node in the connected component directed graph and the destination vertex in the blockchain transaction directed graph corresponds to the destination node in the connected component directed graph, the method further includes: Each transaction address in the blockchain network is used as a different vertex, and the transactions between each transaction address are used as different edges to construct a blockchain transaction directed graph; Construct a connected component directed graph corresponding to the blockchain transaction directed graph.

3. The method for mining associated transaction addresses for a blockchain network according to claim 2, characterized in that: The step of constructing a connected component directed graph corresponding to the blockchain transaction directed graph includes: Extracting each strongly connected component from the blockchain transaction directed graph based on the Tarjan algorithm; According to the connection relationship between each of the strongly connected components in the blockchain transaction directed graph, a connected component directed graph is constructed with each of the strongly connected components as a node; A unique identifier and a routing table are respectively set for each of the nodes in the connected component directed graph.

4. The method for mining associated transaction addresses for a blockchain network according to claim 1, characterized in that: Before determining that the starting vertex in the blockchain transaction directed graph corresponds to the starting node in the connected component directed graph and the destination vertex in the blockchain transaction directed graph corresponds to the destination node in the connected component directed graph, the method further includes: Receiving a request for mining an associated transaction address, wherein the request for mining an associated transaction address includes a starting transaction address and an end transaction address; The vertex corresponding to the starting point transaction address is determined from the blockchain transaction directed graph as the starting vertex, and the vertex corresponding to the ending point transaction address is determined from the blockchain transaction directed graph as the destination node.

5. The method for mining associated transaction addresses for a blockchain network according to claim 4, characterized in that: The associated transaction address mining request also includes a mining rate; Correspondingly, the method for mining associated transaction addresses for a blockchain network also includes: If the associated transaction address mining result data shows that the reachable path from the starting vertex to the destination vertex is not unique, the traffic loss rate of each reachable path in the associated transaction address mining result data is solved based on the greedy algorithm and the mining rate, and the reachable path corresponding to the maximum value of each traffic loss rate is confirmed as the target reachable path from the starting vertex to the destination vertex.

6. The method for mining associated transaction addresses for a blockchain network according to claim 4, characterized in that: Before determining that the starting vertex in the blockchain transaction directed graph corresponds to the starting node in the connected component directed graph and the destination vertex in the blockchain transaction directed graph corresponds to the destination node in the connected component directed graph, the method further includes: A mapping data table is constructed, wherein the mapping data table is used to store the corresponding relationship between each of the vertices and the corresponding nodes.

7. The method for mining associated transaction addresses for a blockchain network according to claim 6, characterized in that: The step of determining that a starting vertex in the blockchain transaction directed graph corresponds to a starting node in the connected component directed graph and a destination vertex in the blockchain transaction directed graph corresponds to a destination node in the connected component directed graph includes: The node corresponding to the starting vertex is searched from the mapping data table to serve as the starting node, and the node corresponding to the destination vertex is searched from the mapping data table to serve as the destination node.

8. A device for mining associated transaction addresses for a blockchain network, characterized in that: include: A connected component determination module, used to determine that the starting vertex in the blockchain transaction directed graph corresponds to the starting node in the connected component directed graph and the destination vertex in the blockchain transaction directed graph corresponds to the destination node in the connected component directed graph; wherein each vertex in the blockchain transaction directed graph represents each transaction address in the blockchain network, and an edge in the blockchain transaction directed graph represents a transaction between two vertices connected by the edge; each node in the connected component directed graph corresponds to each strongly connected component corresponding to the blockchain transaction directed graph in a one-to-one correspondence, and each of the strongly connected components includes multiple vertices, and each edge in the connected component directed graph is used to represent a unidirectional connection relationship between each of the strongly connected components; A routing table filling module, used for searching all adjacent nodes corresponding to the starting node in the connected component directed graph, and filling the routing table of the starting node according to the respective routing tables of the adjacent nodes, wherein the routing table is used to store the corresponding relationship between the unique identifiers of the respective nodes reachable by the corresponding node in the connected component directed graph and the reachable vectors used to represent the reachable path, wherein the reachable vector is composed of at least one of the nodes; A reachable path extraction module is used to search whether the unique identifier of the destination node is included in the filled routing table of the starting node. If so, the reachable vector corresponding to the unique identifier of the destination node is extracted, and each node in the reachable vector and the reachable path graph consisting of the strongly connected components corresponding to the destination node are extracted from the blockchain transaction directed graph, so as to use the reachable path graph as the associated transaction address mining result data from the starting vertex to the destination vertex.

9. An electronic 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, the method for mining associated transaction addresses for a blockchain network is implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for mining associated transaction addresses for a blockchain network is implemented.

Citation Information

Patent Citations

  • Virtual currency address analysis method and system

    CN117788158A

  • Block chain transaction association address discovery method and device

    CN118690342A