Bitcoin address service category multi-classification method based on two-party graph maximum consensus

By constructing an address analysis framework and a two-sided graph maximization consensus method, the features of Bitcoin addresses are extracted and the classification results are optimized, solving the problem of insufficient feature extraction in the multi-service classification of Bitcoin addresses and achieving higher classification accuracy.

CN116644362BActive Publication Date: 2025-11-07YANGZHOU UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310474228.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-27
Publication Date
2025-11-07
Estimated Expiration
2043-04-27

AI Technical Summary

Technical Problem

In existing technologies for classifying Bitcoin addresses into multiple services, the extraction of individual address features is insufficient, and traditional machine learning methods have low classification accuracy, making it difficult to effectively identify the services in which entities participate.

Method used

By collecting tagged address information, an address analysis framework is constructed. Bitcoin-Core and BlockSci tools are used for parsing and preprocessing to extract transaction and entity features. Random forest and gradient boosting classifiers are combined for learning, and the classification results are optimized using the bi-square graph maximization consensus method. Conditional probabilities are iteratively propagated to improve accuracy.

Benefits of technology

It improves the accuracy of Bitcoin address service identification, solves the problem of insufficient utilization of entity information, and further enhances the ability to classify address services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116644362B_ABST
    Figure CN116644362B_ABST
Patent Text Reader

Abstract

The application discloses a bitcoin address service category multi-classification method based on two-party graph maximum consensus, which comprises the following steps: collecting address information with labels; using the collected address information, constructing an address analysis framework by using software and an interface tool; preprocessing transaction information and entity information in the address information through the constructed address analysis framework; extracting features of the preprocessed transaction information and entity information, and obtaining address classification results and entity clustering numbers by using a machine learning algorithm; and optimizing the address classification results based on a two-party graph maximum consensus method; the application uses a new feature extraction method to improve the accuracy of address service identification; the used two-party graph maximum consensus algorithm solves the problem of insufficient utilization of entity information of the address, and further improves the ability of bitcoin address service identification.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of bitcoin address service, and particularly relates to a bitcoin address service category multi-classification method based on two-party graph maximum consensus. BACKGROUND

[0002] With the progress of technology and the deepening of research, some scholars have proposed a bitcoin address multi-classification challenge, that is, collecting the historical transaction information of addresses in the labeled data set, summarizing the features and putting them into a machine learning model for training and prediction. Different from others, it uses a bitcoin address heuristic clustering method to identify entities for classification, and conducts experiments from two aspects of address service classification and entity service classification. The final conclusion is that the classification accuracy of entities is better. The defect is that the feature extraction of entities is to collect the transaction history information of addresses in the entity, and the feature extraction time is too long. The feature extraction method is relatively simple, only using features such as amount ratio and transaction frequency, which cannot fully summarize the features of each service, and the result accuracy is not high.

[0003] Research has shown that a scheme of serial machine learning attacks on bitcoin anonymity. The core idea is to use the idea of voting to classify the services of entities, and the classification results of addresses in the entity are used as a new feature of the entity, which greatly improves the classification accuracy of the entity participating in the service. The defect is that it is difficult to play a role in identifying the services of entities, and an entity can participate in multiple services, and all addresses in the entity cannot be considered as a whole. Using entity classification to improve the classification result of a single address is the primary problem to be solved. SUMMARY

[0004] This section is intended to summarize some aspects of the embodiments of the present application and briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section and the abstract and title of the specification to avoid obscuring the purpose of this section, the abstract and the title, and such simplifications or omissions cannot be used to limit the scope of the present application.

[0005] In view of the above existing problems, the present application is proposed. Therefore, the present application provides a bitcoin address service category multi-classification method based on two-party graph maximum consensus, which is used to solve the problem of insufficient feature extraction of a single address in the task of bitcoin address multi-service classification, and the low classification accuracy of the traditional machine learning method.

[0006] To solve the above technical problems, the present application provides the following technical solutions:

[0007] The present application provides a bitcoin address service category multi-classification method based on two-party graph maximum consensus, comprising:

[0008] Collecting address information with labels;

[0009] Using the collected address information, constructing an address analysis framework using software and interface tools;

[0010] Preprocessing transaction information and entity information in the address information through the constructed address analysis framework;

[0011] Feature extraction is performed on the preprocessed transaction information and entity information, and a machine learning algorithm is used to obtain address classification results and entity clustering numbers;

[0012] Optimizing the address classification results based on the two-party graph maximum consensus method.

[0013] As a preferred scheme of the bitcoin address service category multi-classification method based on the two-party graph maximum consensus of the present application, wherein: the address information with labels is collected, including:

[0014] The address information with labels is collected by crawling and aggregated into a table form, i.e. "address-service website-label".

[0015] As a preferred scheme of the bitcoin address service category multi-classification method based on the two-party graph maximum consensus of the present application, wherein: the address analysis framework is constructed using software and interface tools, including:

[0016] Synchronizing the blockchain using Bitcoin-Core software;

[0017] Using BlockSci blockchain analysis tools to parse the blockchain and address clustering.

[0018] As a preferred scheme of the bitcoin address service category multi-classification method based on the two-party graph maximum consensus of the present application, wherein: preprocessing transaction information and entity information in the address information through the constructed address analysis framework, including:

[0019] Using the class method provided by BlockSci to obtain all transaction information and entity information related to the target address;

[0020] Sampling using the threshold setting method;

[0021] Using the CurrencyConverter() method provided by Blocksci to collect daily exchange rates to generate pickle files, and converting the transaction amount according to the corresponding time during feature extraction;

[0022] The feature extraction of the address information and entity information during the transaction includes:

[0023] Extracting the uniqueness features of the address;

[0024] extracting statistical features of a transaction sequence of the address;

[0025] extracting subgraph features describing neighborhood relationships between addresses;

[0026] extracting entity features.

[0027] As a preferred scheme of the bitcoin address service category multi-classification method based on bipartite graph maximum consensus, the address classification result and the entity cluster number are obtained using a machine learning algorithm, including:

[0028] The features of the address and the label of the address are learned using a random forest classifier and a gradient boosting classifier; a model for classification is trained through learning, and the classification label of the address to be classified can be obtained using the classification model;

[0029] The entity to which the address to be classified belongs is clustered through spectral clustering in the clustering algorithm, a clustering result is generated, and the number of clusters is obtained.

[0030] As a preferred scheme of the bitcoin address service category multi-classification method based on bipartite graph maximum consensus, the address classification result is optimized based on the bipartite graph maximum consensus method, including:

[0031] An adjacency matrix of "group-object" is obtained from the output of the random forest classifier and the gradient boosting classifier, and initial probabilities are assigned to group nodes in the classifier;

[0032] An adjacency matrix of "group-object" is obtained from the clustering result;

[0033] The conditional probabilities of "group-object" are calculated and unified;

[0034] The conditional probabilities between group nodes and object nodes are iteratively propagated;

[0035] Each object is assigned a class label with the highest probability as the final result;

[0036] Wherein, object i represents each address, i.e. the object to be classified; group j represents the group to which the address is classified and divided by the clustering algorithm; and groups s and v represent address groups.

[0037] As a preferred scheme of the bitcoin address service category multi-classification method based on bipartite graph maximum consensus, an adjacency matrix of "group-object" is obtained from the output of the random forest classifier and the gradient boosting classifier, and initial probabilities are assigned to group nodes in the classifier, including:

[0038] By obtaining the adjacency matrix A of the "group-object", the initial probability b of the group node in the classifier is assigned; for each i belonging to 1:s, each j belonging to 1:n, and the following calculation is performed:

[0039] H=(i-1)*class+pM(j,i)

[0040] A(h,j)=1

[0041] b(h,pM(j,i))=1

[0042] At the same time, the adjacency matrix (A) of the "group-object" is obtained in the output of the clusterer; for each group j belonging to s:v, each object i belonging to 1:n,

[0043] Where, pM is a matrix containing all the results of the basic model; A(h,j)=1 indicates updating the "group-object" adjacency matrix A, b(h,pM(j,i))=1 indicates updating the initial probability b, H represents the coordinates of the object, class is the number of categories of classification, n represents the number of addresses participating in classification, and h represents the category.

[0044] As a preferred scheme of the bitcoin address service category multi-classification method based on two-way graph maximum consensus according to the application, wherein:

[0045] Initialize the conditional probability of the group: q_clust=zeros(v,class);

[0046] Initialize the conditional probability of the object: q_inst=zeros(n,class);

[0047] For each object i, each category h, the conditional probability of the object is updated and represented as: q_inst(i,h)=1 / class;

[0048] Where, zeros represents the initialization of the zero matrix;

[0049] Update the vector HV used in the object:

[0050] Hv=sum(b,2)

[0051] Y=b.*repmat(Hv,1,class)

[0052] Where, sum(b,2) is a column vector containing the sum of each row; Y represents the vector label information,.* represents matrix multiplication, and repmat is a matrix copied from Hv to 1*class;

[0053] The matrix is normalized, including:

[0054] The calculation group is divided by the matrix Dv, so that the dimensions are the same when the matrix is divided in the subsequent conditional probability iterative propagation operation, and the formula is:

[0055] Dv=repmat((sum(A,2)+alp*Hv),1,class)

[0056] The calculation object is divided by the matrix Dn, so that the dimensions are the same when the matrix is divided in the subsequent conditional probability iterative propagation operation, and the formula is:

[0057] Dn=repmat((sum(A))',1,class);

[0058] Wherein, alp is an adjustable parameter.

[0059] As a preferred scheme of the bitcoin address service category multi-classification method based on bipartite graph maximum consensus of the application, wherein: the conditional probability between the iterative propagation group node and the object node comprises:

[0060] The number of cycles itnum is selected, and in each cycle:

[0061] q_clust=(A*q_inst+alp*Y). / Dv

[0062] q_inst=(A'*q_clust). / Dn

[0063] Wherein, A' is the transpose of A, and. / represents matrix bitwise division.

[0064] As a preferred scheme of the bitcoin address service category multi-classification method based on bipartite graph maximum consensus of the application, wherein: the probability of each object is assigned to the highest class label as the final result, comprising:

[0065] The final result res is represented as:

[0066] res=max(q_inst,[],2)

[0067] Wherein, max(q_inst,[],2) represents returning a column vector containing the maximum value of each row.

[0068] Compared with the prior art, the application has the beneficial effects that: the application improves the accuracy of address service recognition by using a new feature extraction method; the use of the bipartite graph-based maximum consensus algorithm solves the problem of insufficient use of address entity information, further improving the ability of bitcoin address service recognition. BRIEF DESCRIPTION OF DRAWINGS

[0069] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the embodiments description will be briefly introduced as follows. Obviously, the drawings in the following description only represent some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings. Among them:

[0070] Figure 1 The address history graph based on BlockSci for the bitcoin address service category multi-classification method based on two-party graph maximum consensus of an embodiment of the present application;

[0071] Figure 2 The address feature graph based on historical transaction summary for the bitcoin address service category multi-classification method based on two-party graph maximum consensus of an embodiment of the present application;

[0072] Figure 3 The overall scheme graph for the bitcoin address service category multi-classification method based on two-party graph maximum consensus of an embodiment of the present application. DETAILED DESCRIPTION

[0073] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the specific embodiments of the present application will be described in detail below with reference to the drawings of the specification. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without any creative effort should be within the scope of protection of the present application.

[0074] In the following description, many specific details are set forth in order to provide a thorough understanding of the present application. However, the present application can be practiced in other manners different from those described herein, and those skilled in the art can make similar generalizations without departing from the scope of the present application. Therefore, the present application is not limited to the specific embodiments disclosed below.

[0075] Secondly, the "one embodiment" or "embodiment" referred to herein means that the specific features, structures or characteristics can be included in at least one implementation of the present application. "In one embodiment" appearing in different places in the specification does not mean the same embodiment, nor is it an independent or alternative embodiment that excludes other embodiments.

[0076] The present application is described in detail in conjunction with the schematic diagram, and in the detailed description of the embodiments of the present application, the cross-sectional view of the device structure will be partially enlarged without general proportion for the convenience of description, and the schematic diagram is only an example, which should not limit the scope of protection of the present application herein. In addition, three-dimensional spatial dimensions including length, width and depth should be included in actual manufacture.

[0077] Meanwhile, in the description of the present application, it should be noted that the terms "upper, lower, inner and outer" and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as a limitation on the present application. In addition, the terms "first, second or third" are only for descriptive purposes and cannot be understood as indicating or implying relative importance.

[0078] Unless otherwise expressly specified and limited, the terms "mounting, connecting, connecting" in the present application should be understood broadly, for example: it can be fixed connection, detachable connection or integral connection; It can also be mechanical connection, electrical connection or direct connection, it can also be indirectly connected through intermediate medium, or it can be the communication between two elements. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.

[0079] Embodiment 1

[0080] Reference Figures 1 to 3 For the first embodiment of the present application, the embodiment provides a bitcoin address service category multi-classification method based on two-party graph maximum consensus, comprising:

[0081] S1, collect address information with labels;

[0082] Further, collect address information with labels by crawling method, and gather them into table form, i.e. "address-service website-label";

[0083] S2, using the collected address information, use software and interface tools to build an address analysis framework;

[0084] Further, the software and interface tool for building address analysis framework step is:

[0085] Synchronize the blockchain using Bitcoin-Core software;

[0086] Use BlockSci blockchain analysis tool to parse the blockchain and address clustering;

[0087] S3, preprocess the transaction information and entity information in the address information through the built address analysis framework;

[0088] Further, the transaction information and entity information in the address information are preprocessed through the built address analysis framework, and the steps are as follows:

[0089] Use the class method provided by BlockSci to obtain all transaction information and entity information related to the target address;

[0090] Sampling with threshold setting method;

[0091] It should be noted that, due to the massive transaction data of some addresses, a threshold needs to be set for sampling, and a maximum of 1000 transactions is collected for each address;

[0092] The CurrencyConverter() method provided by Blocksci is used to collect daily exchange rates to generate a pickle file, and the transaction amount is converted according to the corresponding time during feature extraction;

[0093] It should be noted that, due to the high volatility of the value of Bitcoin, the amount of money information alone cannot be used to directly count the amount of money features, and the CurrencyConverter() method provided by Blocksci needs to be used to collect daily exchange rates to generate a pickle file for processing;

[0094] S4, feature extraction of address information and entity information during transaction, the steps are as follows:

[0095] Extract the uniqueness of the address;

[0096] It should be noted that the address characteristics are: the (spending, receiving) transactions of the address (lifecycle, transaction number), the balance of the address, and the proportion of the amount of money of different indexes in the total amount of money;

[0097] Extract the statistical features of the transaction sequence of the address;

[0098] It should be noted that the statistical features are: the statistical features (maximum value, minimum value, average value, variance, standard deviation) of the (amount, size, interval, number of transactions as input or output address, transaction fee ratio to average transaction fee of the day) of the (spending, receiving) transactions of the address;

[0099] Extract subgraph features that describe the neighborhood relationship between addresses;

[0100] It should be noted that the subgraph features are: the number of (unique, repeated, all) of (ancestors, input siblings, output siblings, descendants) addresses when participating in transactions as (input, output) addresses; and six transaction mode features formed by their intersection;

[0101] Extract entity features;

[0102] It should be noted that, due to the long time spent on entity features, a small number of features are extracted as the basis for entity clustering, which are: entity balance, number of transactions as (input, output), and number of addresses within the entity;

[0103] S5, feature extraction is performed on the pretreated transaction information and entity information, and a machine learning algorithm is used to obtain address classification results and entity clustering numbers;

[0104] Further, the features of the address and the label of the address are learned using a random forest classifier and a gradient boosting classifier; a model for classification is trained through learning, and a classification label of the address to be classified can be obtained using the classification model;

[0105] It should be noted that the model for classification is trained by an estimator, and the number of estimators is set to 100;

[0106] Further, the entity where the address to be classified is located is clustered by a spectral clustering in a clustering algorithm, a clustering result is generated, and a number of clusters is obtained;

[0107] S6, the address classification result is optimized based on a two-way graph maximum consensus method, and the steps are as follows:

[0108] Further, the "group-object" adjacency matrix is obtained from the output of the random forest classifier and the gradient boosting classifier, and the initial probability of the group node in the classifier is assigned, including:

[0109] The "group-object" adjacency matrix A is obtained, and the initial probability b of the group node in the classifier is assigned; for each i belongs to 1:s, each j belongs to 1:n, and the following calculation is made:

[0110] H = (i-1)*class + pM (j,i)

[0111] A (h,j) = 1

[0112] b(h, pM (j,i) ) = 1

[0113] At the same time, the "group-object" adjacency matrix (A) is obtained from the output of the clusterer; for each group j belongs to s:v, each object i belongs to 1:n;

[0114] Where, pM is a matrix containing all basic model results; A (h,j) = 1 indicates updating the "group-object" adjacency matrix A, b(h, pM (j,i) ) = 1 indicates updating the initial probability b, H indicates the coordinates of the object, class is the number of classification categories, n indicates the number of addresses participating in classification, h indicates the category; object i represents each address, i.e. the object to be classified; group j represents the group to which the address is classified and clustered by the clustering algorithm; population s and v represent the address population;

[0115] Further, the conditional probability of "group-object" is calculated and unified, including:

[0116] Initialize the conditional probability of group: q_clust=zeros(v,class);

[0117] Initialize the conditional probability of object: q_inst=zeros(n,class);

[0118] For each object i, each class h, update the conditional probability of object as: q_inst(i,h)=1 / class;

[0119] Where zeros represents the initialization of zero matrix.

[0120] Further, update the vector HV used in object:

[0121] Hv=sum(b,2)

[0122] Y=b.*repmat(Hv,1,class)

[0123] Where sum(b,2) is a column vector containing the sum of each row; Y represents the vector label information,.* represents matrix multiplication, and repmat is a matrix copied from Hv to 1*class.

[0124] Further, the matrix is normalized, including:

[0125] Calculate the group division matrix Dv, so that the matrix is divided in the subsequent conditional probability iteration propagation operation, and the dimension is the same, and the formula is:

[0126] Dv=repmat((sum(A,2)+alp*Hv),1,class)

[0127] Calculate the object division matrix Dn, so that the matrix is divided in the subsequent conditional probability iteration propagation operation, and the dimension is the same, and the formula is:

[0128] Dn=repmat((sum(A))',1,class);

[0129] Where alp is an adjustable parameter.

[0130] Further, the conditional probability between group nodes and object nodes is iteratively propagated, including:

[0131] Select the number of loops itnum, and in each loop:

[0132] q_clust=(A*q_inst+alp*Y). / Dv

[0133] q_inst = (A' * q_clust). / Dn

[0134] where A' is the transpose of A, and. / means matrix bit by bit division;

[0135] Further, the class label with the highest probability is assigned to each object as the final result, denoted as:

[0136] res = max(q_inst, [], 2)

[0137] where max(q_inst, [], 2) means returning a column vector containing the maximum value of each row.

[0138] Embodiment 2

[0139] Referring to Table 1, the second embodiment of the present application provides a bitcoin address service class multi-classification method based on two-way graph maximum consensus, which includes:

[0140] This embodiment uses the following identifiers to represent address information, assuming that the address set to be predicted is X = {x1, x2,..., x n}, there are n addresses participating in classification, these addresses participate in c service classes, and each address is referred to as an object; there are m models participating in joint prediction, the first r supervised models provide prediction data, and the remaining m-r unsupervised models provide clustering ids for addresses; in a bitcoin address multi-classification task, the group to which the address is divided by the classification and clustering algorithm is referred to as a group, there are v = m*c groups, the supervised learning model divides the address into s = r*c groups with the same prediction label, and the unsupervised model divides the address into v and s groups with similar behavior; as shown in Table 1;

[0141] Table 1 Algorithm parameter description

[0142]

[0143]

[0144] The above model constraint formula is expressed as:

[0145]

[0146] The first part of the formula ensures that if an address object x i is assigned to group g j by one of the algorithms, i.e. when a ij = 1, their conditional probability estimates relative to the same address class are close, which satisfies that addresses with similar behavior should be assigned the same cluster id; the second part requires that group g jThe consensus class label estimation of should not deviate significantly from its initial class label prediction y j , and a is a penalty for violating the constraint, when j = 1,..., s, group node g j is generated by the classifier, so k j = 1 and participates in the constraint; when j = s + 1,..., v, group node g j is generated by unsupervised clustering, so k j = 0 and does not participate in the constraint.

[0147] Embodiment 3

[0148] Referring to Tables 2 to 4, a third embodiment of the present application provides a Bitcoin address service class multi-classification method based on two-party graph maximum consensus, which includes:

[0149] This embodiment illustrates the beneficial effects of the method of the present application through comparison of experimental data;

[0150] Table 2 Comparison of classification performance under different schemes

[0151] Scheme Accuracy Recall F1-score Random forest 0.758 0.753 0.753 Gradient boosting 0.767 0.761 0.760 BGCM 0.774 0.773 0.774

[0152] Table 2 shows the comparison of prediction performance of different schemes for Bitcoin address service multi-classification; the comparison algorithm is random forest and gradient boosting, which adopts the idea of ensemble learning and has the best classification performance; BGCM (two-party graph maximum consensus) takes the results of random forest and gradient boosting as input, uses the features of the entity where the address is located to constrain the classification results of similar addresses, and consensus the final corrected results; this embodiment compares from three aspects, accuracy, recall rate and F1-score, among which the accuracy is the percentage of correct prediction results, the recall rate is the proportion of positive examples in the prediction results of positive examples, and the F1-score is the harmonic mean of precision and recall; the results of Table 2 show that the BGCM (two-party graph maximum consensus) algorithm proposed in the present application has improved in each evaluation standard compared with gradient boosting and random forest;

[0153] Table 3 Accuracy confusion matrix under BGCM scheme

[0154] A B C D E F G A 0.63 0.04 0.12 0.05 0.07 0.01 0.07 B 0.04 0.86 0.06 0.06 0.01 0.0 0.01 C 0.11 0.03 0.58 0.07 0.04 0.0 0.03 D 0.04 0.05 0.07 0.74 0.01 0.01 0.06 E 0.11 0.02 0.09 0.02 0.84 0.02 0.02 F 0.02 0.0 0.03 0.01 0.02 0.96 0.0 G 0.05 0.0 0.05 0.05 0.01 0.01 0.81

[0155] Table 4 lists the main service list of Bitcoin operation

[0156] Service Description Wallet Manage users' bitcoins Market Payment services, such as escrow, offered on an online market Blender Avoid bitcoin traffic tracking

[0157] Table 4 further illustrates the services involved in Table 3; Table 3 shows the classification ability of the present scheme for addresses participating in different categories of services, and it can be seen that the classification effect of the wallet and market is poorer than that of other services, and the possible reason is that the present scheme uses a random sampling method to construct the data set, and the number of addresses in these two categories is large and has randomness; by combining Table 2 with Table 3, it can be seen that the feature extraction scheme and the classification algorithm scheme proposed in this paper can improve the prediction accuracy.

[0158] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and not to limit it, although the present application has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present application can be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present application, and they should be covered in the scope of the claims of the present application.

Claims

1. A method for multi-classification of bitcoin address service categories based on two-party graph maximization consensus, characterized in that, The method comprises the following steps: collecting address information with labels; constructing an address analysis framework using software and interface tools by using the collected address information; preprocessing transaction information and entity information in the address information through the constructed address analysis framework; extracting features from the preprocessed transaction information and entity information, and obtaining address classification results and entity clustering numbers using a machine learning algorithm; optimizing the address classification results based on a two-way graph maximum consensus method, comprising: obtaining an adjacency matrix of "group-object" from the outputs of the random forest classifier and the gradient boosting classifier, and assigning initial probabilities to group nodes in the classifier; obtaining the adjacency matrix of "group-object" from the clustering results; calculating the conditional probability of "group-object" and unifying it; iteratively propagating the conditional probability between group nodes and object nodes; assigning the object the highest probability class label as the final result; wherein object i represents each address, i.e. the object to be classified; group j represents the group to which the address is classified and clustered by the classification and clustering algorithm; and group s and v represent address groups; obtaining an adjacency matrix of "group-object" from the outputs of the random forest classifier and the gradient boosting classifier, and assigning initial probabilities to group nodes in the classifier, comprising: obtaining an adjacency matrix A of "group-object" from the outputs of the random forest classifier and the gradient boosting classifier, and assigning initial probabilities b to group nodes in the classifier; for each i belonging to 1:s, each j belonging to 1:n, and the following calculation is performed: H = (i - 1) * class + pM (j, i) A (h, j) =1 b(h, pM (j, i) )=1 Meanwhile, the adjacency matrix (A) of "group-object" is obtained from the output of the clustering classifier; for each group j belonging to s:v, each object i belonging to 1:n; where pM is a matrix containing all base model results; A (h, j) = 1 indicates updating the "group-object" adjacency matrix A, b(h, pM (j, i) = 1 indicates updating the initial probability b, H indicates the coordinates of the object, class is the number of classes of classification, n indicates the number of addresses participating in classification, and h indicates the class. calculating the conditional probability of "group-object" and unifying it, comprising: initializing the conditional probability of the group: q_clust=zeros(v, class); initializing the conditional probability of the object: q_inst=zeros(n, class); updating the conditional probability of the object for each object i and each class h, which is represented as: q_inst(i, h)=1 / class; wherein zeros represents an initialized zero matrix; updating the vector Hv used in the object: Hv=sum(b,2) Y=b.*repmat(Hv,1,class) wherein sum(b,2) is a column vector containing the sum of each row; Y represents vector label information,.* represents matrix multiplication, and repmat is a matrix copied from Hv with a size of 1*class; performing normalization processing on the matrix, comprising: calculating the group division matrix Dv so that the dimensions of the matrix are the same when the matrix is divided in the subsequent conditional probability iterative propagation operation, which is represented by the formula: Dv=repmat((sum(A,2)+alp*Hv),1,class) calculating the object division matrix Dn so that the dimensions of the matrix are the same when the matrix is divided in the subsequent conditional probability iterative propagation operation, which is represented by the formula: Dn=repmat((sum(A)'),1,class); wherein alp is an adjustable parameter.

2. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 1, wherein, The collection of address information with labels comprises: Collecting labeled address information by crawling, and gathering them into a table form, i.e., "address-service website-label".

3. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 2, wherein, Building an address analysis framework using software and interface tools, including: Synchronizing the blockchain using Bitcoin-Core software; Parsing the blockchain and clustering addresses using BlockSci blockchain analysis tools.

4. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 3, wherein, Preprocessing transaction information and entity information in address information through the built address analysis framework, including: Obtaining all transaction information and entity information related to the target address using the class method provided by BlockSci; Using the threshold setting method for sampling; Collecting daily exchange rates using the CurrencyConverter() method provided by BlockSci to generate pickle files, and converting transaction amounts according to corresponding times during feature extraction; Extracting transaction features of address information and entity information, including: Extracting the uniqueness of the address; Extracting statistical features of the transaction sequence of the address; Extracting subgraph features describing the neighborhood relationship between addresses; Extracting entity features.

5. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 4, wherein, Using machine learning algorithms to obtain address classification results and entity clustering numbers, including: Using random forest classifier and gradient boosting classifier to learn the features of the address and the label of the address; Through learning, a classification model is trained, which can be used to obtain the classification label of the address to be classified; Through the spectral clustering in the clustering algorithm, the entity of the address to be classified is clustered, and the clustering result is obtained, and the number of clusters is obtained.

6. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 5, wherein, Iterating the conditional probability between group nodes and object nodes, including: Selecting the number of loops itnum, and in each loop: q_clust=(A*q_inst + alp*Y). / Dv q_inst=(A'*q_clust). / Dn Where A' is the transpose of A, and. / represents matrix bitwise division.

7. The Bitcoin address service category multi-classification method based on two-party graph maximum consensus according to claim 6, wherein, Assigning the highest probability class label to each object as the final result, including: The final result res is represented as: res=max(q_inst,[],2) Where max(q_inst,[],2) represents returning a column vector containing the maximum value of each row.

Citation Information

Patent Citations

  • Bitcoin hybrid service type identification method based on graph classification

    CN114298169A