Public chain anti-anonymity analysis method and device fusing public network data
By reading block information from Zcash full nodes and performing cluster analysis, the problem of traditional regulatory methods being unable to monitor Zcash transactions has been solved. This enables the analysis of fund flows and correlations within the Zcash transaction network, providing tools to identify suspicious activities and prevent financial crimes.
Patent Information
- Application Number
- CN202411894427.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2044-12-20
AI Technical Summary
Traditional financial regulatory methods are insufficient to effectively monitor and analyze transaction activities of digital currencies based on zero-knowledge proof technology, such as Zcash, leading to an increased risk of criminal activities such as illicit fund flows.
The system reads block information from a Zcash full node via RPC requests, traverses transaction hash values to obtain transaction information, stores it in a database, and performs cluster analysis to generate cluster results in different dimensions, including cluster results for Zcash founders, users, specific amounts, and the same input, providing data for regulatory agencies to analyze.
It enables the analysis of fund flows and correlations in anonymous transaction records, providing an effective tool to identify suspicious activities and prevent financial crimes.
Smart Images

Figure CN119904307B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of digital currency and privacy protection technology, in particular to a public chain anti-anonymity analysis method and device fusing public network data. BACKGROUND
[0002] With the rapid development of the digital currency market, the anonymity and privacy protection function of digital currency have brought unprecedented challenges to financial supervision.
[0003] Traditional financial supervision methods mainly rely on tracking bank accounts, transaction records and other means for monitoring and analysis. However, for digital currencies with strong privacy, especially Zcash, which is a cryptocurrency based on zero-knowledge proof (ZKP) technology, its main feature is to realize transaction privacy protection through zero-knowledge proof, so that transaction amount, transaction parties and other information are invisible on the chain. However, this privacy protection also makes it difficult for regulatory agencies to monitor and analyze transaction activities, especially the tracking and regulation of illegal fund flows and other behaviors become more difficult. In traditional financial supervision methods, the encryption and concealment of transaction content make it difficult for regulatory agencies to directly obtain transaction details through on-chain data, resulting in certain regulatory loopholes and increasing the risk of illegal fund flows and other criminal activities. SUMMARY
[0004] Therefore, it is necessary to provide a public chain anti-anonymity analysis method and device fusing public network data, which can analyze the transfer relationship between different addresses in the transaction network, find out possible fund flow and association in anonymous transaction records, and provide effective tools for regulatory agencies to identify suspicious activities and prevent financial crimes.
[0005] The present application provides a public chain anti-anonymity analysis method fusing public network data, the method comprising:
[0006] reading block information from a Zcash full node through an RPC request, and traversing transaction hash values to initiate the RPC request to obtain transaction information, so as to determine input and output addresses and their corresponding input and output amounts according to the transaction information;
[0007] storing the block information, transaction information, and input and output addresses and input and output amounts in block tables, transaction tables, and input and output tables respectively, to generate block chain data and store it in a database;
[0008] parsing the block chain data to cluster transaction information in different dimensions in the block chain data, to obtain different clustering results;
[0009] receiving a GET request from a display layer, sending corresponding block information, transaction information and clustering results in the database to the display layer through a POST in response to the GET request to generate display data;
[0010] The Zcash full node is configured to provide a full network block and transaction data source, the clustering results include Zcash founder clustering results, user clustering results, specific amount clustering results and same input clustering results, the display data is data meeting display requirements of the display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query and clustering results.
[0011] In one of the embodiments, the block information is read from the Zcash full node through an RPC request, and the RPC request is initiated to obtain transaction information by traversing a transaction hash value, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information, including:
[0012] The RPC request is sent to the Zcash full node, the block information is obtained by the Zcash full node in response to the RPC request, and the RPC request is initiated one by one by traversing the transaction hash value to obtain transaction information corresponding to each transaction hash value;
[0013] The input and output addresses are obtained according to the transaction information, and the input and output amounts corresponding to each of the input and output addresses are extracted to trace the currency source transaction of the input address.
[0014] In one of the embodiments, the block information, transaction information and input and output addresses and input and output amounts are stored in a block table, a transaction table and an input and output table respectively to generate block chain data and store in a database, including:
[0015] The block information is stored in the block table, the transaction information is stored in the transaction table, and the input and output addresses and corresponding input and output amounts are stored in the input and output table by calling a data storage layer;
[0016] The block table, the transaction table and the input and output table are stored in the database, and the block chain data is generated.
[0017] In one of the embodiments, the block chain data is parsed to cluster transaction information in different dimensions in the block chain data to obtain different clustering results, including:
[0018] Obtaining a founder address from the blockchain data, and parsing the founder address to obtain the founder address with the same transaction behavior, and the transaction amount in the transaction behavior has an integer multiple relationship with the receiving amount of the founder address;
[0019] Querying and analyzing the transaction table in the database based on the founder address and the transaction behavior to match the address information controlled by the founder in the database, and storing the address information in the founder transaction table to obtain the founder clustering result.
[0020] In one of the embodiments, the parsing of the blockchain data to cluster the transaction information in different dimensions in the blockchain data to obtain different clustering results further includes:
[0021] Storing the transaction address in the user transaction table, and storing the user transaction table in the database to obtain the user clustering result.
[0022] In one of the embodiments, the parsing of the blockchain data to cluster the transaction information in different dimensions in the blockchain data to obtain different clustering results further includes:
[0023] Respectively obtaining first transaction information from the first address to the second address and second transaction information from the second address to the first address, and when the transaction amount corresponding to the first transaction information and the second transaction information matches the set amount fingerprint, and the first transaction information and the second transaction information occur in a time sequence, the first address and the second address are associated;
[0024] Querying and analyzing the transaction table in the database, converting the number after the decimal point of the transaction amount into a string for decimal comparison, and verifying the transaction time, so as to store the associated address in the specific amount transaction table after verification to obtain the specific amount clustering result.
[0025] In one of the embodiments, the parsing of the blockchain data to cluster the transaction information in different dimensions in the blockchain data to obtain different clustering results further includes:
[0026] Obtaining an address cluster list and initializing the address cluster list, and the initialized address cluster list is used to store the clustered address;
[0027] Querying and obtaining all the same input transaction information containing transparent input addresses from the database, and removing all the input addresses of the same input transaction information, and storing the removed input addresses in a temporary set;
[0028] Traverse the address cluster list and, when there is an intersection between the temporary set and an address cluster in the address cluster list, update the address cluster of the intersection as the union of the address cluster list and the temporary set, and when there is no intersection between the temporary set and any address cluster in the address cluster list, add the temporary set to the address cluster list.
[0029] The application further provides a public chain anti-anonymity analysis device fusing public network data, which is used for implementing the public chain anti-anonymity analysis method fusing public network data.
[0030] The data acquisition module is configured to read block information from a Zcash full node through an RPC request, and initiate the RPC request to acquire transaction information by traversing a transaction hash value, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information.
[0031] The data storage module is configured to store the block information, the transaction information, and the input and output addresses and the input and output amounts in a block table, a transaction table, and an input and output table respectively, so as to generate block chain data and store the block chain data in a database.
[0032] The data clustering processing module is configured to parse the block chain data, so as to cluster transaction information of different dimensions in the block chain data and obtain different clustering results.
[0033] The data display module is configured to receive a GET request from a display layer, and respond to the GET request by sending corresponding block information, transaction information, and clustering results in the database to the display layer through POST, so as to generate display data.
[0034] The Zcash full node is configured to provide a full-network block and transaction data source, the clustering results include Zcash founder clustering results, user clustering results, specific amount clustering results, and same input clustering results, the display data is data meeting display requirements of the display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results.
[0035] The application further provides an electronic device including a memory and a processor, the memory stores a computer program, and the processor implements the public chain anti-anonymity analysis method fusing public network data when executing the computer program.
[0036] The application further provides a computer storage medium storing a computer program, and the computer program implements the public chain anti-anonymity analysis method fusing public network data when executed by a processor.
[0037] The public chain anti-anonymity analysis method and device for fusing public network data disclosed above read block information from a Zcash full node through an RPC request, and traverse transaction hash values to initiate an RPC request to obtain transaction information, so as to determine input and output addresses and their corresponding input and output amounts according to the transaction information. Then, the block information, the transaction information, and the input and output addresses and the input and output amounts are respectively stored in a block table, a transaction table, and an input and output table, so as to generate block chain data and store the block chain data in a database. In the clustering analysis process, the block chain data is parsed to cluster the transaction information in different dimensions of the block chain data, so as to obtain clustering results including a Zcash founder clustering result, a user clustering result, a specific amount clustering result, and a same input clustering result. Finally, a GET request from a display layer is received, and in response to the GET request, the corresponding block information, transaction information, and clustering results in the database are sent to the display layer through POST, so as to generate display data, which is data meeting the display requirements of the display layer. The display layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results, so as to facilitate analysis of the transfer relationship between different addresses in the transaction network, find out possible fund flow and association in anonymous transaction records, and thus provide an effective tool for a regulatory agency to identify suspicious activities and prevent financial crimes. BRIEF DESCRIPTION OF DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the present application or prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0039] Figure 1 One of the fusion public network data public chain anti-anonymity analysis method process schematic diagram provided by the present application;
[0040] Figure 2 The block chain supervision platform architecture schematic diagram of the fusion public network data public chain anti-anonymity analysis method in the specific embodiment provided by the present application;
[0041] Figure 3 The second fusion public network data public chain anti-anonymity analysis method process schematic diagram provided by the present application;
[0042] Figure 4 The third fusion public network data public chain anti-anonymity analysis method process schematic diagram provided by the present application;
[0043] Figure 5The fourth schematic diagram of the public blockchain anti-anonymity analysis method for integrating publicly available network data provided by the present invention;
[0044] Figure 6 The fifth schematic diagram of the public blockchain anti-anonymity analysis method for integrating publicly available network data provided by the present invention;
[0045] Figure 7 A schematic diagram of the sixth step in the process of providing the present invention for the anti-anonymity analysis method of public blockchain that integrates publicly available network data;
[0046] Figure 8 A schematic diagram of the structure of the public blockchain anti-anonymity analysis device that integrates publicly available network data provided by the present invention;
[0047] Figure 9 This is a diagram of the internal structure of the electronic device provided by the present invention. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0049] The following is combined with Figures 1 to 9 This invention describes a public blockchain anti-anonymization analysis method and apparatus that integrates publicly available network data.
[0050] like Figure 1 As shown, in one embodiment, a public blockchain anti-anonymization analysis method that integrates public network data includes the following steps:
[0051] Step S110: Read block information from Zcash full node via RPC request, and traverse transaction hash values to initiate RPC requests to obtain transaction information, so as to determine input and output addresses and their corresponding input and output amounts based on the transaction information.
[0052] Zcash full nodes are used to provide data sources for the entire network of blocks and transactions.
[0053] Specifically, the blockchain monitoring platform sends RPC requests to Zcash full nodes, reads block information from Zcash full nodes through RPC requests, and iterates through transaction hash values to initiate RPC requests to obtain transaction information. Based on the obtained transaction information, it determines the input and output addresses and the input and output amounts corresponding to each input and output address.
[0054] Combination Figure 2As shown, in specific embodiments, the public chain anti-anonymity analysis method for fusing public network data provided by the application is realized through a blockchain supervision platform and is divided into multiple functional modules.
[0055] The data acquisition layer includes original block files, a Zcash full node, RPC request data, and a block data analysis program. The Zcash full node is used to provide a full network block and transaction data source, the original block file is used to store blockchain original data, the RPC request data is used to interact with the Zcash node through a remote process call to obtain real-time data, and the block data analysis program is used to analyze and convert the obtained data for subsequent storage and processing.
[0056] In this embodiment, the blockchain supervision platform sends an RPC request to the Zcash full node to obtain corresponding block information, then iterates through transaction hash values to initiate RPC requests one by one to obtain detailed transaction information, and then extracts the input and output amounts corresponding to the input and output addresses according to the transaction information, and simultaneously traces the input address to the currency source transaction, thereby completing the acquisition of the block and transaction information data of the Zcash currency.
[0057] In step S120, the block information, transaction information, and input and output addresses and input and output amounts are stored in a block table, a transaction table, and an input and output table, respectively, to generate blockchain data and store the data in a database.
[0058] Specifically, the blockchain supervision platform stores the block information obtained in step S110 in the block table, stores the transaction information in the transaction table, and stores the input and output addresses and the corresponding input and output amounts in the input and output table, and then stores the block table, the transaction table, and the input and output table in the database to generate corresponding blockchain data.
[0059] In combination Figure 2 As shown, in specific embodiments, the public chain anti-anonymity analysis method for fusing public network data provided by the application, the blockchain supervision platform further includes a data storage layer. The data storage layer includes a database and a Qidong clustering result data. The database is used to store the parsed block information, transaction information, and input and output addresses and the corresponding input and output amounts.
[0060] In this embodiment, the platform stores the obtained block information in the block table (block table), stores the obtained transaction detailed information in the transactions table (transaction table), stores the input and output amounts corresponding to the input and output addresses in the inputs and outpus table (input and output table), and stores the data tables in the same database to form blockchain data, thereby facilitating subsequent data query, analysis, and processing.
[0061] Step S130, the blockchain data is parsed to cluster the transaction information of different dimensions in the blockchain data, and different clustering results are obtained.
[0062] The clustering results include founder clustering results, user clustering results, specific amount clustering results, and same input clustering results.
[0063] Specifically, the blockchain supervision platform parses the blockchain data in the database and clusters the transaction information of different dimensions in the blockchain data to obtain different clustering results.
[0064] In combination Figure 2 As shown in the specific embodiment, the public chain anti-anonymity analysis method provided by the application fuses public network data, and the blockchain supervision platform further includes a data processing layer. The data processing layer includes founder clustering, user clustering, unique amount clustering, and same input clustering. The founder clustering is used to identify and aggregate the transaction behavior of founders. The user clustering is used to identify user addresses and their related transaction activities. The unique amount clustering is used to identify and cluster analyze specific amount transactions. The same input clustering is used to analyze transactions with the same input address and make relevance judgments.
[0065] In this embodiment, the data processing layer completes the deep analysis of the blockchain data by using a multi-dimensional heuristic method.
[0066] Founder clustering: the founder address is obtained and data analysis is performed thereon. It is found that the founder address has the same transaction behavior, and the transaction amount is an integer multiple of the block reward received. The transactions table in the database is queried and analyzed, and the address information controlled by the founder in the database is matched and stored in the Founders table (founder transaction table) in the database.
[0067] User clustering: the transaction address is obtained and stored in the Miners table (user transaction table) in the database.
[0068] Unique Amount Cluster: For a t-to-z (t address to z address) transaction and a z-to-t (z address to t address) transaction, if the amount fingerprints of the amounts of the two transactions can match, and the t-to-z transaction occurs before the z-to-t transaction, then the addresses of the two transactions can be associated, and it is considered that the addresses are controlled by the same entity. Query the transactions table in the database, convert the numbers after the decimal point to strings for decimal comparison, and verify the transaction time to exclude the case where the z-to-t transaction occurs before the corresponding t-to-z transaction, thereby improving accuracy. The associated addresses are stored in the UniqueClusters table (unique amount transaction table) in the database.
[0069] Same Input Cluster: An address cluster list is initialized to store clustered addresses. Query all transactions containing transparent input addresses (t-to-t transactions and t-to-z transactions), and store all input addresses of each transaction in a temporary set after deduplication. Traverse the address cluster list, and if the temporary set intersects with an address cluster in the list, update the address cluster to the union of the two; if the temporary set does not intersect with any address cluster, add the temporary set to the address cluster list as a new item. Repeat the above steps until all relevant transaction input addresses are clustered. The clustered addresses are stored in the HeuristicClusters table (same input transaction table) in the database.
[0070] By using the above multi-dimensional heuristic method, data with specific characteristics can be identified and clustered, forming different dimensional cluster results to provide data support for the blockchain supervision platform.
[0071] Step S140, receiving a GET request from the display layer, and in response to the GET request, sending the corresponding block information, transaction information and clustering results in the database to the display layer through POST to generate display data.
[0072] The display data is data that meets the display needs of the user display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query and clustering results.
[0073] Specifically, the blockchain supervision platform receives a GET request from the display layer, and in response to the GET request, sends the corresponding block information, transaction information and clustering results in the database to the display layer through POST to generate display data, and displays the data overview, block browsing, block details, transaction details, address details, address query and clustering results in the display layer, thereby facilitating the analysis of transaction information by regulatory agencies.
[0074] In combination Figure 2 As shown in the specific embodiments, the public chain anti-anonymity analysis method for fusing public network data provided by the application further comprises a business layer. The business layer comprises data query, data processing and data encapsulation. The data query is used to query the stored data through an interface, the data processing is used to perform business logic processing on the query results, and the data encapsulation is used to encapsulate the processed data into a format that can be displayed by the front end.
[0075] In this embodiment, the business layer interacts with the data storage layer through POST / GET requests. The display layer sends a GET request to the business layer corresponding to the function, and the business layer sends the corresponding block information, transaction information and address clustering result information in the database to the display layer through POST, provides a response function for the display layer system, and generates data meeting the display requirements.
[0076] The blockchain supervision platform further comprises a display layer, and the display layer comprises function units such as overview, block browsing, block details, transaction details, address details, address query and clustering result analysis. The overview is used to provide statistical overview of block, transaction, user and founder data. The block browsing is used to construct the brief information of the block by querying the block table content, encapsulate and display the block, and support accurate search through the block height and block hash. The block details are used to query the corresponding block in the block table through the block hash value information, and construct the detailed information of the block according to the requirements, so that the block hash, height, block time and information of all transactions contained in the block can be viewed. The transaction details can view the detailed information of each transaction, including the hash value, transaction time, transaction type and input and output parties. The address details can view all activities of the input or output party address in any year, including all income and expenditure, and transaction record information of the address. The address query is used to query the clustering result table Founders, Miners, UniqueClusters and HeuristicClusters table respectively, and then comprehensively analyze the results. The clustering result analysis is used to provide analysis results based on the clustering algorithm, such as founder, user, unique amount and same input clustering statistics. The display layer presents the analyzed and processed data through a visual interface, helping users to supervise and regulate data.
[0077] In this embodiment, through the Zcash full node and data analysis program, efficient acquisition and standardized processing of blockchain data are realized, and through clustering analysis of founders, users, unique amounts and same inputs, transaction behaviors and data characteristics are effectively identified. In addition, the visualization platform provides data overview and deep analysis functions, and users can quickly master the running state and transaction characteristics of the blockchain, and the hierarchical structure design also improves the maintainability and scalability of the system.
[0078] The public chain anti-anonymity analysis method fusing public network data provided by the application, reads block information from a Zcash full node through an RPC request, and initiates an RPC request to obtain transaction information by traversing a transaction hash value, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information. Then, the block information, the transaction information, and the input and output addresses and the input and output amounts are respectively stored in a block table, a transaction table, and an input and output table, so as to generate block chain data and store the block chain data in a database. In the clustering analysis process, the block chain data is parsed to cluster different dimensions of transaction information in the block chain data, so as to obtain clustering results including a Zcash founder clustering result, a user clustering result, a specific amount clustering result, and a same input clustering result. Finally, a GET request is received from a display layer, and in response to the GET request, corresponding block information, transaction information, and clustering results in the database are sent to the display layer through POST, so as to generate display data. The display data is data meeting display requirements of the display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results, so as to facilitate analysis of transfer relationships between different addresses in a transaction network, find possible fund flow directions and correlations in anonymous transaction records, and thus provide an effective tool for a regulatory agency to identify suspicious activities and prevent financial crimes.
[0079] As shown in Figure 3 In one embodiment, the public chain anti-anonymity analysis method fusing public network data provided by the application reads block information from a Zcash full node through an RPC request, and initiates an RPC request to obtain transaction information by traversing a transaction hash value, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information. Specifically, the method includes the following steps:
[0080] In step S111, an RPC request is sent to the Zcash full node, block information is obtained by the Zcash full node in response to the RPC request, and an RPC request is initiated one by one by traversing a transaction hash value, so as to obtain transaction information corresponding to each transaction hash value.
[0081] In step S112, input and output addresses are obtained according to the transaction information, and input and output amounts corresponding to each input and output address are extracted, so as to trace currency source transactions of the input addresses.
[0082] As shown in Figure 4 In one embodiment, the public chain anti-anonymity analysis method fusing public network data provided by the application stores block information, transaction information, and input and output addresses and input and output amounts in a block table, a transaction table, and an input and output table respectively, so as to generate block chain data and store the block chain data in a database. Specifically, the method includes the following steps:
[0083] Step S121, calling the data storage layer to store the block information in the block table, store the transaction information in the transaction table, and store the input and output addresses and the corresponding input and output amounts in the input and output table.
[0084] Step S122, storing the block table, the transaction table and the input and output table in the database, and generating the block chain data.
[0085] As shown in the figure, in one embodiment, the public chain anti-anonymity analysis method for fusing public network data provided by the application analyzes the block chain data to cluster the transaction information in different dimensions of the block chain data to obtain different clustering results, and specifically includes the following steps: Figure 5 Step S131, obtaining the originator address from the block chain data, and analyzing the originator address to obtain the originator addresses with the same transaction behavior, and the transaction amount in the transaction behavior has an integer multiple relationship with the receiving amount of the originator address.
[0086] Step S132, querying and analyzing the transaction table in the database based on the originator address and the transaction behavior to match the address information controlled by the originator in the database, and storing the address information in the originator transaction table to obtain the originator clustering result.
[0087] Step S133, storing the transaction address in the user transaction table, and storing the user transaction table in the database to obtain the user clustering result.
[0088] As shown in the figure, in one embodiment, the public chain anti-anonymity analysis method for fusing public network data provided by the application analyzes the block chain data to cluster the transaction information in different dimensions of the block chain data to obtain different clustering results, and specifically includes the following steps:
[0089] Figure 6 Step S134, respectively obtaining the first transaction information from the first address to the second address and the second transaction information from the second address to the first address, and when the transaction amounts corresponding to the first transaction information and the second transaction information match the set amount fingerprint, and the first transaction information and the second transaction information occur in a time sequence, the first address and the second address are associated.
[0090] Step S135, querying and analyzing the transaction table in the database, converting the numbers after the decimal points of the transaction amounts into strings for decimal comparison, and verifying the transaction time, and storing the associated addresses in the specific amount transaction table after verification to obtain the specific amount clustering result.
[0091] As shown in the figure, in one embodiment, the public chain anti-anonymity analysis method for fusing public network data provided by the application analyzes the block chain data to cluster the transaction information in different dimensions of the block chain data to obtain different clustering results, and specifically includes the following steps:
[0092] As shown in the figure, in one embodiment, the public chain anti-anonymity analysis method for fusing public network data provided by the application analyzes the block chain data to cluster the transaction information in different dimensions of the block chain data to obtain different clustering results, and specifically includes the following steps: Figure 7 As shown, in one embodiment, the public blockchain anti-anonymity analysis method that integrates public network data provided by the present invention parses blockchain data to cluster transaction information of different dimensions in the blockchain data to obtain different clustering results. Specifically, it also includes the following steps:
[0093] Step S136: Obtain the address cluster list and initialize the address cluster list. The initialized address cluster list is used to store clustered addresses.
[0094] Step S137: Query and retrieve all identical input transaction information containing transparent input addresses from the database, and deduplicate all input addresses of identical input transaction information. Store the deduplicated input addresses in a temporary set.
[0095] Step S138: Traverse the address cluster list, and when there is an intersection between the temporary set and the address clusters in the address cluster list, update the intersection address clusters to the union of the address cluster list and the temporary set; and when there is no intersection between the temporary set and any address clusters in the address cluster list, add the temporary set to the address cluster list.
[0096] The following describes the public blockchain anti-anonymity analysis device for integrating publicly available network data provided by the present invention. The public blockchain anti-anonymity analysis device for integrating publicly available network data described below can be referred to in correspondence with the public blockchain anti-anonymity analysis method for integrating publicly available network data described above.
[0097] like Figure 8 As shown, in one embodiment, a public blockchain anti-anonymity analysis device that integrates publicly available network data includes a data acquisition module 810, a data storage module 820, a data clustering processing module 830, and a data display module 840.
[0098] The data acquisition module 810 is used to read block information from a Zcash full node via RPC requests and to traverse transaction hash values to initiate RPC requests to obtain transaction information, so as to determine the input and output addresses and their corresponding input and output amounts based on the transaction information.
[0099] The data storage module 820 is used to store block information, transaction information, input / output addresses, and input / output amounts in the block table, transaction table, and input / output table, respectively, to generate blockchain data and store it in the database.
[0100] The data clustering processing module 830 is used to parse blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results.
[0101] The data display module 840 is configured to receive a GET request from the display layer, and send corresponding block information, transaction information and clustering results in the database to the display layer through POST in response to the GET request, so as to generate display data.
[0102] The Zcash full node is configured to provide a data source of blocks and transactions in the whole network, the clustering results include a founder clustering result, a user clustering result, a specific amount clustering result and a same input clustering result, and the display data is data meeting display requirements of the display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query and clustering results.
[0103] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data is provided by the application, and the data acquisition module 810 is specifically configured to:
[0104] The RPC request is sent to the Zcash full node, the block information is acquired by the Zcash full node in response to the RPC request, and the RPC request is initiated one by one to acquire the transaction information corresponding to each transaction hash value by traversing the transaction hash value.
[0105] The input and output addresses are acquired according to the transaction information, and the input and output amounts corresponding to each input and output address are extracted to trace the currency source transaction of the input address.
[0106] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data is provided by the application, and the data storage module 820 is specifically configured to:
[0107] The block information is stored in the block table by calling the data storage layer, the transaction information is stored in the transaction table, and the input and output addresses and the corresponding input and output amounts are stored in the input and output table.
[0108] The block table, the transaction table and the input and output table are stored in the database, and the block chain data is generated.
[0109] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data is provided by the application, and the data clustering processing module 830 is specifically configured to:
[0110] The founder address is acquired from the block chain data, and the founder address is parsed to acquire the founder address with the same transaction behavior, and the transaction amount in the transaction behavior has an integer multiple relationship with the receiving amount of the founder address.
[0111] The transaction table in the database is queried and analyzed based on the founder address and the transaction behavior, so that the address information controlled by the founder in the database is matched and obtained, and the address information is stored in the founder transaction table, and the founder clustering result is obtained.
[0112] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data provided by the application is provided with a data clustering processing module 830, which is specifically used for:
[0113] The transaction address is stored in the user transaction table, and the user transaction table is stored in the database to obtain the user clustering result.
[0114] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data provided by the application is provided with a data clustering processing module 830, which is specifically used for:
[0115] The first transaction information from the first address to the second address and the second transaction information from the second address to the first address are acquired respectively, and when the transaction amounts corresponding to the first transaction information and the second transaction information match the set amount fingerprint, and the time when the first transaction information and the second transaction information occur has a sequence, the first address and the second address are associated.
[0116] The transaction table in the database is queried and analyzed, the number after the decimal point of the transaction amount is converted into a string for decimal comparison, and the transaction time is verified, so that after the verification is passed, the associated address is stored in the specific amount transaction table to obtain the specific amount clustering result.
[0117] In this embodiment, the public chain anti-anonymity analysis device for fusing public network data provided by the application is provided with a data clustering processing module 830, which is specifically used for:
[0118] The address cluster list is acquired and initialized, and the initialized address cluster list is used for storing the clustered address.
[0119] All the same input transaction information containing the transparent input address is queried and acquired from the database, and all the input addresses of the same input transaction information are de-duplicated, and the de-duplicated input address is stored in the temporary set.
[0120] The address cluster list is traversed, and when there is an intersection between the temporary set and the address cluster in the address cluster list, the intersection address cluster is updated as the union set of the temporary set and the address cluster list, and when there is no intersection between the temporary set and any address cluster in the address cluster list, the temporary set is added to the address cluster list.
[0121] Figure 9 An example of an entity structure diagram of an electronic device is shown, which can be a smart terminal, and the internal structure diagram can be as shown in Figure 9As shown. The electronic device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium, a memory. The non-volatile storage medium stores an operating system and a computer program. The memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The network interface of the electronic device is used to communicate with the external terminal through the network connection. The computer program is executed by the processor to implement the public chain anti-anonymity analysis method of fusion public network data, and the method comprises:
[0122] Read the block information from the Zcash full node through the RPC request, and traverse the transaction hash value to initiate the RPC request to obtain the transaction information, so as to determine the input and output addresses and the corresponding input and output amounts according to the transaction information;
[0123] Store the block information, transaction information, input and output addresses and input and output amounts in the block table, transaction table and input and output table respectively, so as to generate the block chain data and store it in the database;
[0124] The block chain data is parsed to cluster the transaction information in different dimensions of the block chain data, and different clustering results are obtained;
[0125] Receive the GET request from the display layer, and respond to the GET request by sending the corresponding block information, transaction information and clustering results in the database to the display layer through POST to generate display data;
[0126] Among them, the Zcash full node is used to provide the block and transaction data source of the whole network, the clustering results include the Zcash founder clustering result, the user clustering result, the specific amount clustering result and the same input clustering result, the display data is the data meeting the display requirements of the display layer, and the display layer includes data overview, block browsing, block details, transaction details, address details, address query and clustering results.
[0127] Those skilled in the art can understand that, Figure 9 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the electronic device to which the scheme of the present application is applied. The specific electronic device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0128] On the other hand, the present application also provides a computer storage medium storing a computer program, which is executed by a processor to implement a public chain anti-anonymity analysis method of fusion public network data, and the method comprises:
[0129] read block information from the Zcash full node through an RPC request, and traverse transaction hash values to initiate an RPC request to obtain transaction information, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information;
[0130] The block information, the transaction information, and the input and output addresses and the input and output amounts are respectively stored in a block table, a transaction table, and an input and output table, so as to generate blockchain data and store the blockchain data in a database;
[0131] The blockchain data is parsed to cluster transaction information of different dimensions in the blockchain data, so as to obtain different clustering results;
[0132] A GET request from a presentation layer is received, and corresponding block information, transaction information, and clustering results in the database are sent to the presentation layer through POST in response to the GET request, so as to generate presentation data;
[0133] The Zcash full node is configured to provide a global block and transaction data source, the clustering results include Zcash founder clustering results, user clustering results, specific amount clustering results, and same input clustering results, the presentation data is data meeting a presentation requirement of the presentation layer, and the presentation layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results.
[0134] In another aspect, a computer program product or computer program is provided, which includes computer instructions stored in a computer readable storage medium. A processor of an electronic device reads the computer instructions from the computer readable storage medium, and the processor implements a public chain de-anonymization analysis method of fusing public network data when executing the computer instructions. The method includes:
[0135] read block information from the Zcash full node through an RPC request, and traverse transaction hash values to initiate an RPC request to obtain transaction information, so as to determine input and output addresses and corresponding input and output amounts according to the transaction information;
[0136] The block information, the transaction information, and the input and output addresses and the input and output amounts are respectively stored in a block table, a transaction table, and an input and output table, so as to generate blockchain data and store the blockchain data in a database;
[0137] The blockchain data is parsed to cluster transaction information of different dimensions in the blockchain data, so as to obtain different clustering results;
[0138] A GET request from a presentation layer is received, and corresponding block information, transaction information, and clustering results in the database are sent to the presentation layer through POST in response to the GET request, so as to generate presentation data;
[0139] The Zcash full node is used to provide a full network block and transaction data source, the clustering results include Zcash founder clustering results, user clustering results, specific amount clustering results and same input clustering results, and the display data is data meeting the display requirements of the display layer. The display layer includes data overview, block browsing, block details, transaction details, address details, address query and clustering results.
[0140] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments of each method. Any reference to memory, storage, database or other medium used in each embodiment provided by the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory.
[0141] By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0142] Each technical feature of the above embodiments can be combined arbitrarily. To make the description concise, all possible combinations of each technical feature in the above embodiments are not described, but as long as the combination of these technical features does not exist, it should be considered as the scope of the present disclosure.
[0143] The above embodiments only express several embodiments of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the present patent. It should be noted that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of the present application. Therefore, the scope of protection of the present patent should be subject to the appended claims.
Claims
1. A public chain de-anonymization analysis method for fusing public network data, characterized in that, The method includes: The block information is read from the Zcash full node via RPC request, and the transaction hash value is traversed to initiate the RPC request to obtain transaction information, so as to determine the input and output addresses and their corresponding input and output amounts based on the transaction information; The block information, transaction information, input / output addresses, and input / output amounts are stored in the block table, transaction table, and input / output table, respectively, to generate blockchain data and store it in the database. The blockchain data is parsed to cluster transaction information of different dimensions in the blockchain data, resulting in different clustering results; Receive a GET request from the presentation layer, and in response to the GET request, send the corresponding block information, transaction information and clustering results from the database to the presentation layer via POST to generate presentation data; The Zcash full node is used to provide data sources for the entire network of blocks and transactions. The clustering results include clustering results of Zcash founders, user clustering results, clustering results of specific amounts, and clustering results of the same input. The displayed data is data that meets the display requirements of the display layer. The display layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results.
2. The method of claim 1, wherein the method comprises: The step of reading block information from a Zcash full node via RPC requests and initiating RPC requests to obtain transaction information by traversing transaction hash values, in order to determine input / output addresses and their corresponding input / output amounts based on the transaction information, includes: The RPC request is sent to the Zcash full node, and the block information is obtained by the Zcash full node responding to the RPC request. The RPC request is then initiated one by one through the transaction hash values to obtain the transaction information corresponding to each transaction hash value. The input and output addresses are obtained based on the transaction information, and the input and output amounts corresponding to each input and output address are extracted to trace the currency source transactions of the input addresses. 3.The method of claim 1, wherein, The step of storing the block information, transaction information, and the input / output addresses and amounts in the block table, transaction table, and input / output table respectively to generate blockchain data and store it in the database includes: The data storage layer is invoked to store the block information in the block table, the transaction information in the transaction table, and the input / output addresses and corresponding input / output amounts in the input and output tables. The block table, transaction table, and input and output tables are stored uniformly in the database, and the blockchain data is generated simultaneously.
4. The method of claim 1, wherein the method comprises: The step of parsing the blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results includes: The founder's address is obtained from the blockchain data and parsed to obtain the founder's address with the same transaction behavior, wherein the transaction amount in the transaction behavior and the amount received by the founder's address are integer multiples of each other. Based on the founder's address and transaction behavior, the transaction table in the database is queried and analyzed to match the address information controlled by the founder in the database, and the address information is stored in the founder transaction table to obtain the founder clustering result.
5. The method of claim 4, wherein the method further comprises: The step of parsing the blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results also includes: The transaction address is stored in the user transaction table, and the user transaction table is stored in the database to obtain the user clustering result.
6. The method of claim 5, wherein the public chain de-anonymization analysis of fused public web data is characterized by, The step of parsing the blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results also includes: First transaction information from the first address to the second address and second transaction information from the second address to the first address are obtained respectively. When the transaction amount corresponding to the first transaction information and the second transaction information matches the set amount fingerprint, and the first transaction information and the second transaction information occur in a chronological order, the first address and the second address are associated. The transaction table in the database is queried and analyzed. The numbers after the decimal point of the transaction amount are converted into strings for decimal comparison. The transaction time is verified. After the verification is successful, the associated address is stored in the specific amount transaction table to obtain the specific amount clustering result.
7. The method of claim 6, wherein the method further comprises: The step of parsing the blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results also includes: Obtain the address cluster list and initialize the address cluster list. The initialized address cluster list is used to store clustered addresses. The database is queried and all identical input transaction information containing transparent input addresses are retrieved. All input addresses of the identical input transaction information are deduplicated, and the deduplicated input addresses are stored in a temporary set. Traverse the address cluster list, and when there is an intersection between the temporary set and the address clusters in the address cluster list, update the intersection address clusters to the union of the address cluster list and the temporary set; and when there is no intersection between the temporary set and any address clusters in the address cluster list, add the temporary set to the address cluster list.
8. A public chain de-anonymization analysis device that fuses public web data, characterized by, The apparatus for implementing the public blockchain anti-anonymization analysis method for fusing publicly available network data as described in any one of claims 1 to 7, the apparatus comprising: The data acquisition module is used to read block information from a Zcash full node via RPC requests, and to traverse transaction hash values to initiate RPC requests to obtain transaction information, so as to determine the input and output addresses and their corresponding input and output amounts based on the transaction information; The data storage module is used to store the block information, transaction information, input / output addresses, and input / output amounts in the block table, transaction table, and input / output table, respectively, to generate blockchain data and store it in the database. The data clustering processing module is used to parse the blockchain data to cluster transaction information of different dimensions in the blockchain data and obtain different clustering results. The data display module is used to receive GET requests from the display layer, and in response to the GET requests, send the corresponding block information, transaction information and clustering results in the database to the display layer via POST to generate display data; The Zcash full node is used to provide data sources for the entire network of blocks and transactions. The clustering results include clustering results of Zcash founders, user clustering results, clustering results of specific amounts, and clustering results of the same input. The displayed data is data that meets the display requirements of the display layer. The display layer includes data overview, block browsing, block details, transaction details, address details, address query, and clustering results. 9.An electronic device comprising a memory and a processor, the memory storing a computer program, wherein, When the processor executes the computer program, it implements the steps of the public blockchain anti-anonymization analysis method for fusing publicly available network data as described in any one of claims 1 to 7.
10. A computer storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the public blockchain anti-anonymization analysis method for fusing publicly available network data as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Scalable distributed ledger system, transaction privacy and combating fraud, theft and loss
AU2020202793A1
Anonymous computing block chain data processing method and system, medium, equipment and application
CN112766943A