Bitcoin address deanonymization method

By adopting three object-oriented concept methods, the Bitcoin address data is converted into binary form backgrounds and classification rules are extracted, and the problem of restricted application of Bitcoin address data in the blockchain field is solved, and efficient de-anonymization of Bitcoin addresses and improved data analysis efficiency is achieved.

CN119762068APending Publication Date: 2025-04-04ZHENGZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411964681.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively convert Bitcoin address data into formal backgrounds, which limits its application in the blockchain field, especially in data mining and analysis.

Method used

Through the preprocessing of Bitcoin address data, formal background construction, great concept generation, classification rule generation and Bitcoin address classification modules, three object-oriented concept methods are adopted to convert Bitcoin address data into binary form backgrounds, extract classification rules and perform Bitcoin address classification.

Benefits of technology

It realizes efficient de-anonymization of Bitcoin addresses, improves the efficiency and accuracy of data mining and analysis, can adapt to large-scale data sets, and is scalable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119762068A_ABST
    Figure CN119762068A_ABST
Patent Text Reader

Abstract

The invention discloses a bitcoin address deanonymization method. The bitcoin address deanonymization method comprises the following steps: S1, a bitcoin address data preprocessing module processes bitcoin address data; s2, converting the processed bitcoin address data into a binary form background by a form background construction module; s3, a maximum concept generation module processes the binary form background to generate required maximum class concepts and maximum non-class concepts; s4, a rule extraction module extracts a non-redundant classification rule set used for bitcoin address classification from a two-tuple composed of the maximum class concept and the maximum non-class concept; and S5, a bitcoin address classification module performs bitcoin address classification by using the non-redundant classification rule set obtained by the rule extraction module. According to the method, the feature information of the transaction behavior corresponding to the bitcoin address is obtained through three object-oriented concepts, the classification rule is mined, and the bitcoin transaction address is classified, so that deanonymization of the bitcoin address is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the fields of pattern recognition, machine learning and blockchain technology, and in particular relates to a Bitcoin address deanonymization method. Background Art

[0002] Bitcoin is a decentralized digital currency whose transaction records are maintained through blockchain. Although the specific content of Bitcoin transactions (such as addresses and transaction amounts) are public, Bitcoin has a certain degree of anonymity because the addresses are not directly associated with real-world identities. However, this anonymity may be maliciously exploited for illegal activities. Therefore, the method of deanonymizing Bitcoin addresses has important research significance.

[0003] Formal Concept Analysis (FCA) has the advantage of being able to structure and hierarchically represent data in data analysis, and this hierarchical representation helps to discover the inherent hierarchical structure in the data. The three-branch object-oriented concept in formal concept analysis integrates the ideas of concept lattice, rough set and three-branch decision-making, and can obtain more information through data than classical concepts. Using three-branch object-oriented concepts to analyze Bitcoin data makes data mining and analysis more efficient and intuitive. At present, formal concept analysis is less used in the field of blockchain, mainly because the data structure of Bitcoin address-related data is different from that of formal background. To this end, how to convert Bitcoin address data into formal background and construct an efficient rule generation and classification method based on three-branch object-oriented concepts is a key issue of the technical method of the present invention. Summary of the invention

[0004] In order to solve the above problems, the present invention provides a method for converting Bitcoin address data into a formal context, and then using three object-oriented concepts to extract classification rules and apply them to Bitcoin address classification. The method obtains the characteristic information of the transaction behavior corresponding to the Bitcoin address through three object-oriented concepts, mines the classification rules, and classifies the Bitcoin transaction addresses to achieve Bitcoin address deanonymization.

[0005] The technical solution adopted by the present invention is: a bitcoin address deanonymization method, comprising a bitcoin address data preprocessing module, a form background construction module, a maximal concept generation module, a classification rule generation module and a bitcoin address classification module;

[0006] The de-anonymization method adopts the above module and includes the following steps:

[0007] S1, the Bitcoin address data preprocessing module processes the Bitcoin address data;

[0008] S2, the form background construction module converts the processed Bitcoin address data into a binary form background;

[0009] S3, the maximal concept generation module processes the binary form background to generate the required maximal class concepts and maximal non-class concepts;

[0010] S4, the rule extraction module extracts a set of non-redundant classification rules for Bitcoin address classification from the binary group consisting of the maximal class concept and the maximal non-class concept;

[0011] S5, the Bitcoin address classification module uses the non-redundant classification rule set obtained by the rule extraction module to classify Bitcoin addresses.

[0012] Further, the S1 comprises the following steps:

[0013] S11, count the features of the most frequent transaction type, average address usage interval, number of associated addresses, balance, total transfer-in amount, total transfer-out amount, number of transfer-out transactions, number of transfer-in transactions, average transfer-in amount per transaction, and average transfer-out amount per transaction for each bitcoin address in the bitcoin address set BS, and then use the bitcoin address feature vector to represent the above feature set of each bitcoin address; the bitcoin address feature vector is defined as:

[0014] BA i =[a i1 ,a i2 ,...,a in ]

[0015] In the formula, BA i is the i-th address object in the Bitcoin address set BS. Each value a in the Bitcoin address feature vector in Represents the Bitcoin address object BA i The value of the nth feature of ;

[0016] S12, the feature vector BA of all Bitcoin addresses i Vertical splicing generates the Bitcoin address set feature matrix BAF; the Bitcoin address set feature matrix BAF is defined as:

[0017]

[0018] S13, discretizing the Bitcoin address feature matrix BAF using dynamic equal frequency, and converting the Bitcoin address feature matrix BAF into a discretized feature matrix BAFD, the steps of which include:

[0019] S131, sorting data: for each column of the feature matrix [a 1j ,a 2j ,…,a qj], j∈[1,2,…,n] are sorted using a sorting algorithm in ascending order;

[0020] S132, calculate the size of each bin: calculate the average number of samples in each bucket mean-bin-size according to the input bin number bin_num, that is, the total length of the data divided by the integer part of the bin number;

[0021] S133, initializing bins: creating an empty list bins to store the data of each bin, and then putting the samples corresponding to each eigenvalue into a bin;

[0022] S134, dynamic adjustment: traverse the bin list bins according to the value. If the number of samples in the current bin is greater than or equal to mean-bin-size, bin it separately without adjustment. If the number of samples in the current bin is less than mean-bin-size, bin it with the next eigenvalue continuously until it is greater than or equal to mean-bin-size.

[0023] S135, generating discrete features: taking the serial number of the bin corresponding to the value of the original feature as its new feature value;

[0024] S136, replace feature: use the discretized new feature value to replace the original feature value;

[0025] S137, end, get the discretized feature matrix

[0026]

[0027] In the formula, any row of n-dimensional vectors is called the discretized feature of the Bitcoin address, which is obtained by discretizing all continuous features;

[0028] S14, binarize the discretized Bitcoin address feature matrix to obtain a binary feature vector of the Bitcoin address; the specific steps are:

[0029] S141, traverse each column in the Bitcoin address feature matrix BAFD [b 1j ,b 2j ,…,b qj ], where j∈[1,2,…,n];

[0030] S142, for each column of the discrete feature matrix BAFD [b 1j ,b 2j ,…,b qj ]Use the sorting algorithm to sort in ascending order;

[0031] S143, counting non-repeated values: according to the sorted column data, removing the repeated values, and only retaining the non-repeated values;

[0032] S144, according to the number of non-repeating values ​​d, determine the binary vector v using d bits hi To represent the discrete feature data of the current column; each discrete feature value b hi Corresponding to the d-bit binary vector v hi In this binary vector, the position corresponding to the discrete value is 1, and the values ​​of other positions are 0; therefore, for the discrete value b in the hth row and the ith column of the discrete feature matrix BAFD hi Represented as a binary vector v hi ;

[0033] S145, if there is untraversed column data in the Bitcoin address feature matrix BAFD, then go to S141; otherwise go to S146;

[0034] S146, end;

[0035] S15, generating a binary relationship between the address and the feature attribute from the binary feature matrix BAFD; the specific steps are:

[0036] S151, traverse each row in the Bitcoin address feature matrix BAFD [b h1 b h2 b h3 …b hn ], where h∈[1,2,…,q];

[0037] S152, initialize the binary feature attribute set of the Bitcoin address

[0038] S153, traverse each characteristic attribute b corresponding to the Bitcoin address hj , and the corresponding binary vector v hi , take each bit as an attribute feature value and merge it into the binary feature attribute set BN h In the equation, e∈V hi , BN h ←e;

[0039] S154, obtain the binary feature attribute set BN of the h-th Bitcoin address h ;

[0040] S155, if there is a row to be traversed in the Bitcoin address feature matrix BAFD, then enter S151; otherwise, enter S156;

[0041] S156, end, obtain the binary relationship I between the Bitcoin address and the characteristic attribute.

[0042] Further, the S2 comprises the following steps:

[0043] S21, vertically splice the binary relationships between all Bitcoin addresses and characteristic attributes to obtain the Bitcoin address conditional form background

[0044] CK=(G,M,I)

[0045] In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I is the binary relationship between Bitcoin addresses and features;

[0046] S22, invert the binary relationship I between the Bitcoin address and the feature to obtain the complementary binary relationship I between the Bitcoin address and the feature C , and then get the Bitcoin address to fill in the background

[0047] CK C =(G,M,I C )

[0048] In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I C is the complementary binary relationship between Bitcoin address and features;

[0049] S23, the Bitcoin address decision attribute form background is composed of the Bitcoin address object set G, the category attribute set N and the binary mapping relationship J between the two

[0050] DK=(G,N,J).

[0051] Further, the S3 comprises the following steps:

[0052] S31, for the input Bitcoin address conditional form background CK = (G, M, I) and Bitcoin address supplementary background CK C =(G,M,I C ), traverse all attributes and generate a single attribute concept set. The specific steps include:

[0053] S311, traverse each attribute a in the attribute set M i ∈M, respectively calculate the two-tuple (g(a i ),a i )and in,

[0054] S312, (g(a i ),a i ) into set C S middle;

[0055] S313, will Add to collection middle;

[0056] S314, if the attributes in the attribute set M have not been traversed completely, return to S311; otherwise, go to S315;

[0057] S315, returns a single attribute concept set, i.e.

[0058] S32, traverse all single-attribute concepts in the single-attribute concept set, for each single-attribute concept Follow these steps:

[0059] S321, initialize Y, Z, set Y = a i , Z = a i ;

[0060] S322, for each single attribute concept (X j ,a j )∈C S ,if Then a j Add to Y, that is, Y = Y ∪ a j ;

[0061] S323, if there is a single attribute concept that has not been traversed, return to S322 for execution; otherwise, proceed to step S324;

[0062] S324, for each single attribute concept if Then a h Add to Z, that is, Z = Z ∪ a h ;

[0063] S325, if there is a single attribute concept that has not been traversed, return to S324 for execution; otherwise, the generated triple (X, (Y, Z)) is the basic three-branch object-oriented concept, and the process ends;

[0064] S33, add (X, (Y, Z)) to set B OEO Middle, i.e. B OEO =B OEO ∪{(X,(Y,Z))};

[0065] S34, if there is a single-attribute concept in the single-attribute concept set that has not been traversed, return to S32 for execution; otherwise, enter S35;

[0066] S35, the generated set B OEO That is the basic three object-oriented concept set;

[0067] S36, for the Bitcoin address decision attribute form background DK, the classification attribute set N = {n1, n2, n3, ..., n |N| Each category attribute n in} i , get the corresponding class maximal concept pairs and non-class maximal concept pairs, the specific steps are:

[0068] S361, Initialization

[0069] S362, traverse set B OEO Each of the three basic object-oriented concepts (X, (A, B));

[0070] S363, if the conditions are met Then

[0071] S364, if the conditions are met but

[0072] S365, if set B OEO If there are three basic object-oriented concepts that have not been traversed, the process returns to S362 for execution; otherwise, the process goes to S366;

[0073] S366, now get the category attribute n i The corresponding class maximal concept and non-quasi-maximal concepts

[0074] S367, on the Bitcoin address decision attribute form background DK, calculate the triples respectively and triples In the formula, □ and is the necessary operator on the formal background DK and the necessary operator on its complementary background;

[0075] S368, get category attribute n i The corresponding n i Class maximal concept pairs And add to the class maximal concept pair set middle;

[0076] S369, obtain non-n i Class maximal concept pairs And add to the set of non-class maximal concept pairs middle;

[0077] S37, if there is a category attribute n that has not been traversed i , then return to S36 for execution; otherwise, execute S38;

[0078] S38, get all categories n iThe class of maximal concepts for sets and n i The set of non-class maximal concepts ends.

[0079] Further, S4 comprises the following steps:

[0080] S41, traverse the classification attribute set N of the Bitcoin address decision attribute form background DK = {n1,n2,n3,…,n |N| Each category attribute n in} i ;

[0081] S42, from the category attribute n i The corresponding class maximal concept pair Extract the classification rules of Bitcoin address type A and type B. The specific steps are:

[0082] S421, class maximal concept pairs are composed of conditional class maximal concepts and the maximal concept of decision attribute class Composition, order

[0083] S422, according to the positive connotation of the conditional class maximal concept, we can get the type a classification rule of Bitcoin address, that is, U→{ni}, which means that when a Bitcoin address object x has some attributes in U, then x belongs to category n i , and added to the type a rule set R a middle;

[0084] S423, according to the negative connotation of the conditional class maximal concept, we can get the Bitcoin address type b classification rule V→not{n}, which means that when a Bitcoin address object x has some attributes in V, then x does not belong to category n and is added to the type b rule set R b middle;

[0085] S43, from the category attribute n i The corresponding non-class maximal concept pair In the above example, we extract the classification rules of Bitcoin address type C and type D. The specific steps are as follows:

[0086] S431, non-class maximal concept pairs are composed of conditional non-class maximal concepts and decision attribute non-class maximal concept Composition, order

[0087] S432, according to the positive connotation of the conditional non-class maximal concept, we can get the Bitcoin address c-type classification rule Q→not{n i}, which means that when a Bitcoin address object x has some attributes in Q, then x does not belong to category n i , and added to the c-type rule set Rc middle;

[0088] S433, according to the negative connotation of the conditional non-class maximal concept, we can get the Bitcoin address d-type classification rule not S→not{n i}, which means that when a Bitcoin address object x does not have some attributes in S, then x does not belong to category n i , and added to the d-type rule set R d middle;

[0089] S44, if the classification attribute set N = {n1, n2, n3, ..., n |N| There is a category attribute n that has not been traversed in} u , then go to S41; otherwise go to S45;

[0090] S45, obtain the Bitcoin address classification rule set R = R a ∪R b ∪R c ∪R d ;

[0091] S46, end.

[0092] Further, S5 comprises the following steps:

[0093] S51, counting the transaction features of p, and converting them into a binary relationship between the address and the feature attributes through the steps in the Bitcoin address data preprocessing module;

[0094] S52, let the binary feature of Bitcoin address p be represented as vec, and initialize the set of excluded categories

[0095] S53, traverse the b-type rules and c-type rules, consider any V→not{i}∈R b ∪R c ; When the intersection of vec and V is not empty, it indicates that the Bitcoin address p does not belong to category n i , and n i Put it into the excluded_label set of excluded categories;

[0096] S54, traverse the d-type rules, consider any not S→not{j}∈R d ; When the intersection of vec and S is not S, it means that the Bitcoin address p does not belong to category n j , n j Put it into the excluded_label set of excluded categories;

[0097] S55, traverse the a-type rule and consider any U→{k}∈R a, when k is not in the excluded category set excluded_label and the intersection of vec and U is not empty, it means that the Bitcoin address p belongs to category k, return category k, and enter S57; otherwise, enter S56;

[0098] S56, when the intersection of the antecedents of all type a rules and vec is empty, it indicates that the category of the Bitcoin address is still uncertain; however, it is clear that the address does not belong to any category in the excluded category excluded_label set, that is, the returned category is Not-excluded_label;

[0099] S57, end.

[0100] The beneficial effects of the present invention are as follows: the present invention applies the three-branch object-oriented concept to the field of Bitcoin address deanonymization, and proposes a practical and efficient method. According to the rule method generated by the present invention, the generated rules are based on necessary attributes, which helps to improve the classification efficiency and accuracy. The generated rule set can be reused, and as the training set is enriched, the classification accuracy is also improved. On the other hand, the method provided by the present invention is based on module design, which is conducive to the improvement and updating of later methods. At the same time, a method for binarizing blockchain address feature data is provided; and it can effectively avoid the construction of a complete three-branch object-oriented concept, and efficiently generate non-redundant and conflict-free classification rules. The present invention is more suitable for large-scale data sets, has no limit on the number of rules, and has scalability and broad application prospects. BRIEF DESCRIPTION OF THE DRAWINGS

[0101] Figure 1 is a flow chart of the overall procedure of the present invention;

[0102] Figure 2 This is a flowchart of the Bitcoin address data preprocessing module in the present invention;

[0103] Figure 3 A flowchart of a formal background construction module in the present invention;

[0104] Figure 4 It is a flowchart of the maximum concept pair generation module in the present invention;

[0105] Figure 5 It is a flow chart of the rule extraction module in the present invention;

[0106] Figure 6 This is a flow chart of the Bitcoin address classification module in the present invention. DETAILED DESCRIPTION

[0107] The present invention will be further described below in conjunction with the accompanying drawings.

[0108] The present invention is a bitcoin address de-anonymization method, which is based on three object-oriented concepts of bitcoin address classification method, including a bitcoin address data preprocessing module, a form background construction module, a maximum concept generation module, a classification rule generation module and a bitcoin address classification module. Figure 1 As shown, the system in the present invention is divided into two independent parts, which can be executed separately. The rule extraction part is used to generate a classification rule set, and the Bitcoin address classification part uses the obtained classification rule set to complete the classification task.

[0109] The present invention comprises the following steps:

[0110] S1, the Bitcoin address data preprocessing module processes the Bitcoin address data; comprising the following steps:

[0111] S11, count the features of the most frequent transaction type, average address usage interval, number of associated addresses, balance, total transfer-in amount, total transfer-out amount, number of transfer-out transactions, number of transfer-in transactions, average transfer-in amount per transaction, and average transfer-out amount per transaction for each bitcoin address in the bitcoin address set BS, and then use the bitcoin address feature vector to represent the above feature set of each bitcoin address; the bitcoin address feature vector is defined as:

[0112] BA i =[a i1 ,a i2 ,...,a in ]

[0113] In the formula, BA i is the i-th address object in the Bitcoin address set BS. Each value a in the Bitcoin address feature vector in Represents the Bitcoin address object BA i The value of the nth feature of ;

[0114] S12, the feature vector BA of all Bitcoin addresses i Vertical splicing generates the Bitcoin address set feature matrix BAF; the Bitcoin address set feature matrix BAF is defined as:

[0115]

[0116] S13, discretizing the Bitcoin address feature matrix BAF using dynamic equal frequency, and converting the Bitcoin address feature matrix BAF into a discretized feature matrix BAFD, the steps of which include:

[0117] S131, sorting data: for each column of the feature matrix [a 1j ,a 2j ,…,a qj], j∈[1,2,…,n] are sorted using a sorting algorithm in ascending order;

[0118] S132, calculate the size of each bin: calculate the average number of samples in each bucket mean-bin-size according to the input bin number bin_num, that is, the total length of the data divided by the integer part of the bin number;

[0119] S133, initializing binning: creating an empty list bins to store the data of each bin, and then putting the samples corresponding to each eigenvalue into a bin;

[0120] S134, dynamic adjustment: traverse the bin list bins according to the value. If the number of samples in the current bin is greater than or equal to mean-bin-size, bin it separately without adjustment. If the number of samples in the current bin is less than mean-bin-size, bin it with the next eigenvalue continuously until it is greater than or equal to mean-bin-size.

[0121] S135, generating discrete features: taking the serial number of the bin corresponding to the value of the original feature as its new feature value;

[0122] S136, replace feature: use the discretized new feature value to replace the original feature value;

[0123] S137, end, get the discretized feature matrix

[0124]

[0125] In the formula, any row of n-dimensional vectors is called the discretized feature of the Bitcoin address, which is obtained by discretizing all continuous features;

[0126] S14, binarize the discretized Bitcoin address feature matrix to obtain a binary feature vector of the Bitcoin address; the specific steps are:

[0127] S141, traverse each column in the Bitcoin address feature matrix BAFD [b 1j ,b 2j ,…,b qj ], where j∈[1,2,…,n];

[0128] S142, for each column of the discrete feature matrix BAFD [b 1j ,b 2j ,…,b qj ]Use the sorting algorithm to sort in ascending order;

[0129] S143, counting non-repeated values: according to the sorted column data, removing the repeated values, and only retaining the non-repeated values;

[0130] S144, according to the number of non-repeating values ​​d, determine the binary vector v using d bits hi To represent the discrete feature data of the current column; each discrete feature value b hi Corresponding to the d-bit binary vector v hi In this binary vector, the position corresponding to the discrete value is 1, and the values ​​of other positions are 0; therefore, for the discrete value b in the hth row and the ith column of the discrete feature matrix BAFD hi Represented as a binary vector v hi ;

[0131] S145, if there is untraversed column data in the Bitcoin address feature matrix BAFD, then go to S141; otherwise go to S146;

[0132] S146, end;

[0133] S15, generating a binary relationship between the address and the feature attribute from the binary feature matrix BAFD; the specific steps are:

[0134] S151, traverse each row in the Bitcoin address feature matrix BAFD [b h1 b h2 b h3 …b hn ], where h∈[1,2,…,q];

[0135] S152, initialize the binary feature attribute set of the Bitcoin address

[0136] S153, traverse each characteristic attribute b corresponding to the Bitcoin address hj , and the corresponding binary vector v hi , take each bit as an attribute feature value and merge it into the binary feature attribute set BN h In the equation, e∈V hi , BN h ←e;

[0137] S154, obtain the binary feature attribute set BN of the h-th Bitcoin address h ;

[0138] S155, if there is a row to be traversed in the Bitcoin address feature matrix BAFD, then enter S151; otherwise, enter S156;

[0139] S156, end, obtain the binary relationship I between the Bitcoin address and the characteristic attribute.

[0140] S2, the form background construction module converts the processed Bitcoin address data into a binary form background; comprising the following steps:

[0141] S21, vertically splice the binary relationships between all Bitcoin addresses and characteristic attributes to obtain the Bitcoin address conditional form background

[0142] CK=(G,M,I)

[0143] In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I is the binary relationship between Bitcoin addresses and features;

[0144] S22, invert the binary relationship I between the Bitcoin address and the feature to obtain the complementary binary relationship I between the Bitcoin address and the feature C , and then get the Bitcoin address to fill in the background

[0145] CK C =(G,M,I L )

[0146] In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I C is the complementary binary relationship between Bitcoin address and features;

[0147] S23, the Bitcoin address decision attribute form background is composed of the Bitcoin address object set G, the category attribute set N and the binary mapping relationship J between the two

[0148] DK=(G,N,J).

[0149] S3, the maximal concept generation module processes the binary form background to generate the required maximal class concepts and maximal non-class concepts; including the following steps:

[0150] S31, for the input Bitcoin address conditional form background CK = (G, M, I) and Bitcoin address supplementary background CK C =(G,M,I C ), traverse all attributes and generate a single attribute concept set. The specific steps include:

[0151] S311, traverse each attribute a in the attribute set M i ∈M, respectively calculate the two-tuple (g(a i ),a i )and in,

[0152] S312, (g(a i ),a i ) into set CS middle;

[0153] S313, will Add to collection middle;

[0154] S314, if the attributes in the attribute set M have not been traversed completely, return to S311; otherwise, go to S315;

[0155] S315, returns a single attribute concept set, i.e.

[0156] S32, traverse all single-attribute concepts in the single-attribute concept set, for each single-attribute concept Follow these steps:

[0157] S321, initialize Y, Z, set Y = a i , Z = a i ;

[0158] S322, for each single attribute concept (X j ,a j )∈C S ,if Then a j Add to Y, that is, Y = Y ∪ a j ;

[0159] S323, if there is a single attribute concept that has not been traversed, return to S322 for execution; otherwise, proceed to step S324;

[0160] S324, for each single attribute concept if Then a h Add to Z, that is, Z = Z ∪ a h ;

[0161] S325, if there is a single attribute concept that has not been traversed, return to S324 for execution; otherwise, the generated triple (X, (Y, Z)) is the basic three-branch object-oriented concept, and the process ends;

[0162] S33, add (X, (Y, Z)) to set B OEO Middle, i.e. B OEO =B OEO ∪{(X,(Y,Z))};

[0163] S34, if there is a single-attribute concept in the single-attribute concept set that has not been traversed, return to S32 for execution; otherwise, enter S35;

[0164] S35, the generated set B OEO That is the basic three object-oriented concept set;

[0165] S36, for the Bitcoin address decision attribute form background DK, the classification attribute set N = {n1, n2, n3, ..., n |N| Each category attribute n in} i , get the corresponding class maximal concept pairs and non-class maximal concept pairs, the specific steps are:

[0166] S361, Initialization

[0167] S362, traverse set B OEO Each of the three basic object-oriented concepts (X, (A, B));

[0168] S363, if the conditions are met Then

[0169] S364, if the conditions are met but

[0170] S365, if set B OEO If there are three basic object-oriented concepts that have not been traversed, the process returns to S362 for execution; otherwise, the process goes to S366;

[0171] S366, now get the category attribute n i The corresponding class maximal concept and non-quasi-maximal concepts

[0172] S367, on the Bitcoin address decision attribute form background DK, calculate the triples respectively and triples The formulas represent □ and is the necessary operator on the formal background DK and the necessary operator on its complementary background;

[0173] S368, get category attribute n i The corresponding n i Class maximal concept pairs And add to the class maximal concept pair set middle;

[0174] S369, obtain non-n i Class maximal concept pairs And add to the set of non-class maximal concept pairs middle;

[0175] S37, if there is a category attribute n that has not been traversed i , then return to S36 for execution; otherwise, execute S38;

[0176] S38, get all categories n i The class of maximal concepts for sets and n i The set of non-class maximal concepts ends.

[0177] S4, a rule extraction module extracts a set of non-redundant classification rules for Bitcoin address classification from a binary group consisting of a maximal class concept and a maximal non-class concept; comprising the following steps:

[0178] S41, traverse the classification attribute set N of the Bitcoin address decision attribute form background DK = {n1,n2,n3,…,n |N| Each category attribute n in} i ;

[0179] S42, from the category attribute n i The corresponding class maximal concept pair Extract the classification rules of Bitcoin address type A and type B. The specific steps are:

[0180] S421, class maximal concept pairs are composed of conditional class maximal concepts and the maximal concept of decision attribute class Composition, order

[0181] S422, according to the positive connotation of the conditional class maximal concept, we can get the a-type classification rule of Bitcoin address, that is, U→{n i}, which means that when a Bitcoin address object x has some attributes in U, then x belongs to category n i , and added to the type a rule set R a middle;

[0182] S423, according to the negative connotation of the conditional class maximal concept, we can get the Bitcoin address type b classification rule V→not{n}, which means that when a Bitcoin address object x has some attributes in V, then x does not belong to category n and is added to the type b rule set R b middle;

[0183] S43, from the category attribute n i The corresponding non-class maximal concept pair In the above example, we extract the classification rules of Bitcoin address type C and type D. The specific steps are as follows:

[0184] S431, non-class maximal concept pairs are composed of conditional non-class maximal concepts and decision attribute non-class maximal concept Composition, order

[0185] S432, according to the positive connotation of the conditional non-class maximal concept, we can get the Bitcoin address c-type classification rule Q→not{n i}, which means that when a Bitcoin address object x has some attributes in Q, then x does not belong to category n i , and added to the c-type rule set R c middle;

[0186] S433, according to the negative connotation of the conditional non-class maximal concept, we can get the Bitcoin address d-type classification rule not S→not{n i}, which means that when a Bitcoin address object x does not have some attributes in S, then x does not belong to category n i , and added to the d-type rule set R d middle;

[0187] S44, if the classification attribute set N = {n1, n2, n3, ..., n |N| There is a category attribute n that has not been traversed in} i , then go to S41; otherwise go to S45;

[0188] S45, obtain the Bitcoin address classification rule set R = R a ∪R b ∪R c ∪R d ;

[0189] S46, end.

[0190] S5, the Bitcoin address classification module uses the non-redundant classification rule set obtained by the rule extraction module to classify Bitcoin addresses; including the following steps:

[0191] S51, counting the transaction features of p, and converting them into a binary relationship between the address and the feature attributes through the steps in the Bitcoin address data preprocessing module;

[0192] S52, let the binary feature of Bitcoin address p be represented as vec, and initialize the set of excluded categories

[0193] S53, traverse the b-type rules and c-type rules, consider any V→not{i}∈R b ∪R c ; When the intersection of vec and V is not empty, it indicates that the Bitcoin address p does not belong to category n i , and n i Put it into the excluded_label set of excluded categories;

[0194] S54, traverse the d-type rules, consider any not S→not{j}∈Rd ; When the intersection of vec and S is not S, it means that the Bitcoin address p does not belong to category n j , n j Put it into the excluded_label set of excluded categories;

[0195] S55, traverse the a-type rule and consider any U→{k}∈R a , when k is not in the excluded category set excluded_label and the intersection of vec and U is not empty, it means that the Bitcoin address p belongs to category k, return category k, and enter S57; otherwise, enter S56;

[0196] S56, when the intersection of the antecedents of all type a rules and vec is empty, it indicates that the category of the Bitcoin address is still uncertain; however, it is clear that the address does not belong to any category in the excluded category excluded_label set, that is, the returned category is Not-excluded_label;

[0197] S57, end.

[0198] The following is an implementation example of the present invention.

[0199] This example selects 4 Bitcoin categories on the walletexplorer.com website, with 3 Bitcoin address instances in each category.

[0200] Category 1: 3CdVVzBpY9pmNEh6rUtAsD8ggqreVBuTJn, 18WdcNYj15FekoAzNTmPf79Za6SAajPZ86, 31iRkU4gspXEhd4828j6iANXio5KgKWri8.

[0201] Category 2: 1LGVsJJHQHBv7pegiviKLs1tQeyRfefjzm, 16U3856CaZzYdcV1miSKKpRACWoBhijpig, 14Mfq85MLnrVMu2gYMJST9qh7ZoiD5i8zm.

[0202] Category 3: 1CAxhfNvk1xEtMuS4J8b1TrZkifReevW5s, 3QDHpgi7Cme4GkEdWAqfpVukvCYdqioM6W, 1LtUCdCFB76PK21YHvLc4pzr9XMM97HDC2.

[0203] Category 4: 19ycXJ1WVFK9tTQns8xtQ7QePZngda6XKb, 17xyQNUhtU83LHB9PuY1LfLQiFNfAAus4w, 1C2JGVCDtYkRhnfpbiskFuNoFD6uokQY1V.

[0204] The Bitcoin address set feature matrix BAF is obtained through S11 and S12. The features of the addresses in this embodiment are shown in Table 1.

[0205] Table 1 Bitcoin address characteristics

[0206]

[0207]

[0208] All continuous features are discretized through S13, where the maximum number of bins that can be divided for each feature is set to 300. The discretized Bitcoin address features are shown in Table 2.

[0209] Table 2 Discretized Bitcoin address characteristics

[0210]

[0211]

[0212] By representing each column of features as a binary vector, the relationship between the address and the feature can be converted into a binary relationship as shown in Table 3.

[0213] Table 3 Bitcoin address format background

[0214]

[0215]

[0216]

[0217] Similarly, by using a vector with opposite values ​​to represent the features, we can get the complementary background of the Bitcoin address.

[0218] Table 4 Bitcoin address supplementary background

[0219]

[0220]

[0221] S15, S21, S22 and S23 expand a feature into several feature vectors through S14, and obtain a series of 0-1 binary feature sets and the relationship between addresses and binary features. The size of the formal background composed of them is 12 objects and 28 binary attributes. In the Bitcoin address formal background, a binary feature of the Bitcoin address is 1, which means that the address has the binary feature, and a binary feature of the Bitcoin address is 0, which means that the address does not have the binary feature. In the Bitcoin address complementary background, on the contrary, a binary feature of the Bitcoin address is 0, which means that the address has the binary feature, and a binary feature of the Bitcoin address is 1, which means that the address does not have the binary feature. Traverse all the binary features of the Bitcoin address set, and generate a single attribute concept set based on the Bitcoin address formal background and complementary background. We represent the object addresses in order of arrangement using numbers from 0 to 11, and also represent the 28 binary attributes obtained using numbers from 0 to 27. The single attribute concepts in the formal background are as follows:

[0222] ({0,1,2,3,4,5,6,7,8,9,10,11},1), ({2,3,4,5,7,8,9,10,11},2), ({1},3), ({0},4), ({6},5), ({3,4,5,10,11},6), ({0,9,2,7},7), ({8,1},8), ({6},9), ({1,2,3,4,5,7,8,9,10,11},10), ({0},11), ({6},12), ({1,2,3,4,5,6,8,9,10,11},13 ),({0,7},14),({1,2,7,9,10,11},15),({3},16),({0,8,4,5},17),({6},18),({1,2,3,5,7,8,9,10,11},19),({4},20),({0,6},21),({1,2,3,4,5,6,7,8,9,11},22),({10},23),({1,2,7,9,11},24),({10,3,5},25),({0,8,4},26),({6},27).

[0223] The single attribute concept obtained in the complementary context is as follows:

[0224] ({0,1,2,3,4,5,6,7,8,9,10,11},0), ({0,1,6},2), ({0,2,3,4,5,6,7,8,9,10,11},3), ({1,2,3,4,5,6,7,8,9,10,11},4), ({0,1,2,3,4,5,7,8,9,10,11},5), ({0,1,2,6,7,8,9},6), ({1,3,4,5,6,8,10,11}},7),({0,2,3,4,5,6,7,9,10,11},8),({0,1,2,3,4,5,7,8,9,10,11},9),({0,6},10),({1,2,3,4,5,6,7,8,9,10,11},11),({0,1,2,3,4,5,6,7,8,9,10,11},12),({0,7},13),({1,2,3, 4,5,6,8,9,10,11},14),({0,3,4,5,6,8},15),({0,1,2,4,5,6,7,8,9,10,11},16),({1,2,3,6,7,9,10,11},17),({0,1,2,3,4,5,7,8,9,10,11},18),({0,4,6},19),({0,1,2,3,5,6,7,8,9,10,11},20),({1 ,2,3,4,5,7,8,9,10,11},21),({0,10},22),({0,1,2,3,4,5,6,7,8,9,11},23),({0,3,4,5,6,8,10},24),({0,1,2,4,6,7,8,9,11},25),({1,2,3,5,6,7,9,10,11},26),({0,1,2,3,4,5,7,8,9,10,11},27).

[0225] After S32, S33, S34 and S35, all single-attribute concepts are traversed, and three basic object-oriented concept sets are generated based on the single-attribute concepts. The obtained three basic object-oriented concept sets are as follows:

[0226] ({0,1,2,3,4,5,6,7,8,9,10,11},({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27},{0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}))

[0227] ({2,3,4,5,7,8,9,10,11},({2,6,16,20,25},set()))

[0228] ({1},({3},set()))

[0229] ({0},({11,4},set()))

[0230] ({6},({5,9,12,18,27},set()))

[0231] ({3,4,5,10,11},({16,25,20,6},set()))

[0232] ({0,9,2,7},({11,4,14,7},{13}))

[0233] ({8,1},({8,3},set()))

[0234] ({6},({5,9,12,18,27},set()))

[0235] ({1,2,3,4,5,7,8,9,10,11},({2,3,6,8,10,15,16,19,20,24,25},{21}))

[0236] ({0},({11,4},set()))

[0237] ({6},({5,9,12,18,27},set()))

[0238] ({1,2,3,4,5,6,8,9,10,11},({3,5,6,8,9,12,13,16,18,20,25,27},{14,7}))

[0239] ({0,7},({11,4,14},{13}))

[0240] ({1,2,7,9,10,11},({24,3,15},set()))

[0241] ({3},({16},set()))

[0242] ({0,8,4,5},({4,11,17,20,26},set()))

[0243] ({6},({5,9,12,18,27},set()))

[0244] ({1,2,3,5,7,8,9,10,11},({3,8,15,16,19,24,25},set()))

[0245] ({4},({20},set()))

[0246] ({0,6},({4,5,9,11,12,18,21,27},{10}))

[0247] ({1,2,3,4,5,6,7,8,9,11},({3,5,8,9,12,16,18,20,22,24,27},{23}))

[0248] ({10},({23},set()))

[0249] ({1,2,7,9,11},({24,3},set()))

[0250] ({10,3,5},({16,25},set()))

[0251] ({0,8,4},({26,11,4,20},set()))

[0252] ({6},({5,9,12,18,27},set()))

[0253] ({0,1,2,3,4,5,6,7,8,9,10,11},({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27},{0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}))

[0254] ({0,1,6},({3,4,5,9,11,12,18,21,27},{2,10}))

[0255] ({0,2,3,4,5,6,7,8,9,10,11},({2,4,5,6,7,9,11,12,14,16,17,18,20,21,23,25,26,27},{3,8,10,13,15,19,22,24}))

[0256] ({1,2,3,4,5,6,7,8,9,10,11},({2,3,5,6,8,9,10,12,13,15,16,18,19,20,22,24,25,27},{4,7,11,14,17,21,23,26}))

[0257] ({0,1,2,3,4,5,7,8,9,10,11},({2,3,4,6,7,8,10,11,14,15,16,17,19,20,23,24,25,26},{5,9,12,13,18,21,22,27}))

[0258] ({0,1,2,6,7,8,9},({3,4,5,7,8,9,11,12,14,18,21,27},{2,10,13,6}))

[0259] ({1,3,4,5,6,8,10,11},({3,5,6,8,9,12,16,18,20,25,27},{7}))

[0260] ({0,2,3,4,5,6,7,9,10,11},({4,5,6,7,9,11,12,14,16,18,20,21,23,25,27},{8,10,13,19,22}))

[0261] ({0,1,2,3,4,5,7,8,9,10,11},({2,3,4,6,7,8,10,11,14,15,16,17,19,20,23,24,25,26},{5,9,12,13,18,21,22,27}))

[0262] ({0,6},({4,5,9,11,12,18,21,27},{10}))

[0263] ({1,2,3,4,5,6,7,8,9,10,11},({2,3,5,6,8,9,10,12,13,15,16,18,19,20,22,24,25,27},{4,7,11,14,17,21,23,26}))

[0264] ({0,1,2,3,4,5,7,8,9,10,11},({2,3,4,6,7,8,10,11,14,15,16,17,19,20,23,24,25,26},{5,9,12,13,18,21,22,27}))

[0265] ({0,7},({11,4,14},{13}))

[0266] ({1,2,3,4,5,6,8,9,10,11},({3,5,6,8,9,12,13,16,18,20,25,27},{14,7}))

[0267] ({0,3,4,5,6,8},({4,5,9,11,12,16,17,18,20,21,26,27},{10,19,15}))

[0268] ({0,1,2,4,5,6,7,8,9,10,11},({3,4,5,7,8,9,11,12,14,15,17,18,20,21,23,24,26,27},{2,6,10,13,16,19,22,25}))

[0269] ({1,2,3,6,7,9,10,11},({3,5,9,12,15,16,18,24,27},{17}))

[0270] ({0,1,2,3,4,5,7,8,9,10,11},({2,3,4,6,7,8,10,11,14,15,16,17,19,20,23,24,25,26},{5,9,12,13,18,21,22,27}))

[0271] ({0,4,6},({4,5,9,11,12,18,20,21,27},{10,19}))

[0272] ({0,1,2,3,5,6,7,8,9,10,11},({3,4,5,7,8,9,11,12,14,15,16,18,19,21,23,24,25,27},{2,6,10,13,17,20,22,26}))

[0273] ({1,2,3,4,5,7,8,9,10,11},({2,3,6,8,10,15,16,19,20,24,25},{21}))

[0274] ({0,10},({11,4,23},{22}))

[0275] ({1,2,3,4,5,6,7,8,9,11},({3,5,8,9,12,16,18,20,22,24,27},{23}))

[0276] ({0,3,4,5,6,8,10},({4,5,9,11,12,16,17,18,20,21,23,25,26,27},{10,15,19,22,24}))

[0277] ({0,1,2,4,6,7,8,9,11},({3,4,5,7,8,9,11,12,14,18,20,21,24,26,27},{2,6,10,13,19,25}))

[0278] ({1,2,3,5,6,7,9,10,11},({3,5,9,12,15,16,18,24,25,27},{17,26}))

[0279] ({0,1,2,3,4,5,7,8,9,10,11},({2,3,4,6,7,8,10,11,14,15,16,17,19,20,23,24,25,26},{5,9,12,13,18,21,22,27}))

[0280] Based on the basic three object-oriented concepts, obtain the corresponding class basic three object-oriented concepts.

[0281] The three basic object-oriented concepts of classes whose extensions all belong to category 1 are: ({1},({3},set())), ({0},({11,4},set()))

[0282] The three basic object-oriented concepts of classes whose extensions all belong to category 2 are: ({3}, ({16}, set())), ({4}, ({20}, set()))

[0283] The three basic object-oriented concepts of classes whose extensions all belong to category 3 are: ({6}, ({5,9,12,18,27}, set()))

[0284] The three basic object-oriented concepts of classes whose extensions all belong to category 4 are: ({10}, ({23}, set()))

[0285] S36 and S37 obtain the maximal-class concept pairs and non-maximal-class concept pairs corresponding to the Bitcoin category labels.

[0286] The conditional class maximal concept of category 1 is: ({0,1},({3,4,11},set()))

[0287] The conditional non-class maximal concept of category 1 is: {3,4,5,6,10,11}{9,5,6}set()

[0288] The maximum concept of decision class of category 1 is: ({0,1,2},({0},set()))

[0289] The non-class maximal concepts of decision for category 1 are: ({3,4,5,6,7,8,9,10,11},({1,2,3},{0}))

[0290] The conditional class maximal concept of category 2 is: ({3,4},({16,20},set()))

[0291] The conditional non-class maximal concepts of category 2 are: ({0,1,2,6,7,8,9,10,11},({3,4,5,7,8,9,11}{2,6,10}))

[0292] The maximum concept of decision class of category 2 is: ({3,4,5},({1},set()))

[0293] The non-class maximal concepts of decision for category 2 are: ({0,1,2,6,7,8,9,10,11},({0,2,3},{1}))

[0294] The conditional class maximal concept of category 3 is: ({6},({5,9,12,18,27},set()))

[0295] The conditional non-class maximal concepts of category 3 are: ({0,1,3,4,5,10,11},({11,3,4,6}set()))

[0296] The maximum concept of decision class of category 3 is: ({8,6,7},({2},set()))

[0297] The non-class maximal concepts of decision for category 3 are: ({0,1,2,3,4,5,9,10,11},({0,1,3},{2}))

[0298] The conditional class maximal concept of category 4 is: ({10},({23},set()))

[0299] The conditional non-class maximal concepts of category 4 are: ({0,1,3,4,5,6,7,8},({3,4,5,8,9,11}{2,10})

[0300] The maximum concept of decision class of category 4 is: ({9,10,11},({3},set()))

[0301] The non-class maximal concepts of decision for category 4 are: ({0,1,2,3,4,5,6,7,8},({0,1,2},{3}))

[0302] After S38, S41, S42, S43, S44 and S45, three rules based on object-oriented concepts are extracted based on class maximal concept pairs and non-class maximal concept pairs.

[0303] Among them, type a rule R a ={

[0304] {3,4,11}→{0},{16,20}→{1},{5,9,12,18,27}→{2},{23}→{3}}

[0305] The b-type rule R b ={}

[0306] The c-type rule R c ={

[0307] {9,5,6}→not{0},{3,4,5,7,8,9,11}→not{1},

[0308] {11,3,4,6}→not{2},{3,4,5,8,9,11}→not{3}}

[0309] The d-type rule R d ={

[0310] Not{2,6,10}→not{1},Not{2,10}→not{3}}

[0311] Next, the address 19AFKvoCk5H76ZJw3AR3PYSoGuUY2qqcBd is classified. After obtaining the transaction features of this address and binarizing it, the binary feature vector of the address is: 0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0. It can be obtained that the address has the features {3,6,11,17,25}.

[0312] The feature of the address is used to intersect with the antecedent of the above rule. If the intersection is not empty, it means that the address meets the consequent of the rule. After S51 to S58, the Bitcoin address classification rule set R is used for classification to achieve deanonymization.

[0313] First, match the b-type rule and the c-type rule:

[0314] Cannot exclude categories

[0315] Cannot exclude categories

[0316] Cannot exclude categories

[0317] Cannot exclude categories

[0318] Then match with the d-type rule:

[0319] {3,6,11,17,25}∩{2,10}≠{2,10}. So this address does not belong to category 3.

[0320] Exclude list set exclude_label = {4}

[0321] {3,6,11,17,25}∩{2,6,10}≠{2,6,10}. So this address does not belong to category 1.

[0322] Exclude list set exclude_label = {2,4}

[0323] Then we match the type a rule after excluding categories 2 and 4.

[0324] {3,6,11,17,25}∩{3,4,11}={3,11}, so the address belongs to category 0.

[0325] From the above, we can conclude that this address belongs to category 0.

[0326] According to the rule method generated by the present invention, the generated rules are based on necessary attributes, which helps to improve the classification efficiency and accuracy. The generated rule set can be reused, and as the training set is enriched, the classification accuracy is also improved. On the other hand, the method provided by the present invention is based on module design, which is conducive to the improvement and update of later methods. At the same time, a method for binarizing blockchain address feature data is provided; and it can effectively avoid the construction of a complete three-branch object-oriented concept, and efficiently generate non-redundant and conflict-free classification rules. The present invention is more suitable for large-scale data sets, has no limit on the number of rules, and has scalability and broad application prospects.

Claims

1. A method for deanonymizing a bitcoin address, comprising a bitcoin address data preprocessing module, a form background construction module, a maximal concept generation module, a classification rule generation module and a bitcoin address classification module; characterized in that: The de-anonymization method adopts the above modules, The following steps are involved: S1, the Bitcoin address data preprocessing module processes the Bitcoin address data; S2, the form background construction module converts the processed Bitcoin address data into a binary form background; S3, the maximal concept generation module processes the binary form background to generate the required maximal class concepts and maximal non-class concepts; S4, the rule extraction module extracts a set of non-redundant classification rules for Bitcoin address classification from the binary group consisting of the maximal class concept and the maximal non-class concept; S5, the Bitcoin address classification module uses the non-redundant classification rule set obtained by the rule extraction module to classify Bitcoin addresses.

2. A method for deanonymizing a Bitcoin address according to claim 1, characterized in that: The S1 comprises the following steps: S11, count the features of the most frequent transaction type, average address usage interval, number of associated addresses, balance, total transfer-in amount, total transfer-out amount, number of transfer-out transactions, number of transfer-in transactions, average transfer-in amount per transaction, and average transfer-out amount per transaction for each bitcoin address in the bitcoin address set BS, and then use the bitcoin address feature vector to represent the above feature set of each bitcoin address; the bitcoin address feature vector is defined as: NOT i =[a i1 ,in i2 ,...,in in ] In the formula, BA i is the i-th address object in the Bitcoin address set BS. Each value a in the Bitcoin address feature vector in Represents the Bitcoin address object BA i The value of the nth feature of ; S12, the feature vector BA of all Bitcoin addresses i Vertical splicing generates the Bitcoin address set feature matrix BAF; the Bitcoin address set feature matrix BAF is defined as: S13, discretizing the Bitcoin address feature matrix BAF using dynamic equal frequency, and converting the Bitcoin address feature matrix BAF into a discretized feature matrix BAFD, the steps of which include: S131, sorting data: for each column of the feature matrix [a 1j ,a 2j ,…,a qj ], j∈[1,2,…,n] are sorted using a sorting algorithm in ascending order; S132, calculate the size of each bin: calculate the average number of samples in each bucket mean-bin-size according to the input bin number bin_num, that is, the total length of the data divided by the integer part of the bin number; S133, initializing binning: creating an empty list bins to store the data of each bin, and then putting the samples corresponding to each eigenvalue into a bin; S134, dynamic adjustment: traverse the bin list bins according to the value. If the number of samples in the current bin is greater than or equal to mean-bin-size, bin it separately without adjustment. If the number of samples in the current bin is less than mean-bin-size, bin it with the next eigenvalue continuously until it is greater than or equal to mean-bin-size. S135, generating discrete features: taking the serial number of the bin corresponding to the value of the original feature as its new feature value; S136, replace feature: use the discretized new feature value to replace the original feature value; S137, end, get the discretized feature matrix In the formula, any row of n-dimensional vectors is called the discretized feature of the Bitcoin address, which is obtained by discretizing all continuous features; S14, binarize the discretized Bitcoin address feature matrix to obtain a binary feature vector of the Bitcoin address; the specific steps are: S141, traverse each column in the Bitcoin address feature matrix BAFD [b 1j ,b 2j ,…,b qj ], where j∈[1,2,…,n]; S142, for each column of the discrete feature matrix BAFD [b 1j ,b 2j ,…,b qj ]Use the sorting algorithm to sort in ascending order; S143, counting non-repeated values: according to the sorted column data, removing the repeated values, and only retaining the non-repeated values; S144, according to the number of non-repeating values ​​d, determine the binary vector v using d bits hi To represent the discrete feature data of the current column; each discrete feature value b hi Corresponding to the d-bit binary vector v hi In this binary vector, the position corresponding to the discrete value is 1, and the values ​​of other positions are 0; therefore, for the discrete value b in the hth row and the ith column of the discrete feature matrix BAFD hi Represented as a binary vector v hi ; S145, if there is untraversed column data in the Bitcoin address feature matrix BAFD, then go to S141; otherwise go to S146; S146, end; S15, generating a binary relationship between the address and the feature attribute from the binary feature matrix BAFD; the specific steps are: S151, traverse each row in the Bitcoin address feature matrix BAFD [b h1 b h2 b h3 … b hn ], where h∈[1,2,…,q]; S152, initialize the binary feature attribute set of the Bitcoin address S153, traverse each characteristic attribute b corresponding to the Bitcoin address hj , and the corresponding binary vector v hi , take each bit as an attribute feature value and merge it into the binary feature attribute set BN h In the equation, e∈V hi , BN h ←e; S154, obtain the binary feature attribute set BN of the h-th Bitcoin address h ; S155, if there is a row to be traversed in the Bitcoin address feature matrix BAFD, then enter S151; otherwise, enter S156; S156, end, obtain the binary relationship I between the Bitcoin address and the characteristic attribute.

3. A method for deanonymizing a Bitcoin address according to claim 1, characterized in that: The S2 comprises the following steps: S21, vertically splice the binary relationships between all Bitcoin addresses and characteristic attributes to obtain the Bitcoin address conditional form background CK=(G,M,I) In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I is the binary relationship between Bitcoin addresses and features; S22, invert the binary relationship I between the Bitcoin address and the feature to obtain the complementary binary relationship I between the Bitcoin address and the feature C , and then get the Bitcoin address to fill in the background CK C =(G,M,I C ) In the formula, G is the set of Bitcoin address objects, M is the set of binary feature attributes of Bitcoin addresses, and I C is the complementary binary relationship between Bitcoin address and features; S23, the Bitcoin address decision attribute form background is composed of the Bitcoin address object set G, the category attribute set N and the binary mapping relationship J between the two DK=(G,N,J).

4. A method for deanonymizing a Bitcoin address according to claim 1, characterized in that: The S3 comprises the following steps: S31, for the input Bitcoin address conditional form background CK = (G, M, I) and Bitcoin address supplementary background CK C =(G,M,I C ), traverse all attributes and generate a single attribute concept set. The specific steps include: S311, traverse each attribute a in the attribute set M i ∈M, respectively calculate the two-tuple (g(a i ),a i )and in, S312, (g(a i ),a i ) into set C S middle; S313, will Add to collection middle; S314, if the attributes in the attribute set M have not been traversed completely, return to S311; otherwise, go to S315; S315, returns a single attribute concept set, i.e. S32, traverse all single-attribute concepts in the single-attribute concept set, for each single-attribute concept Follow these steps: S321, initialize Y, Z, set Y = a i , Z = a i ; S322, for each single attribute concept (X j ,a j )∈C S ,if Then a j Add to Y, that is, Y = Y ∪ a j ; S323, if there is a single attribute concept that has not been traversed, return to S322 for execution; otherwise, proceed to step S324; S324, for each single attribute concept if Then a h Add to Z, that is, Z = Z ∪ a h ; S325, if there is a single attribute concept that has not been traversed, return to S324 for execution; otherwise, the generated triple (X, (Y, Z)) is the basic three-branch object-oriented concept, and the process ends; S33, add (X, (Y, Z)) to set B OEO Middle, i.e. B OEO =B OEO ∪{(X,(Y,Z))}; S34, if there is a single-attribute concept in the single-attribute concept set that has not been traversed, return to S32 for execution; otherwise, enter S35; S35, the generated set B OEO That is the basic three object-oriented concept set; S36, for the Bitcoin address decision attribute form background DK, the classification attribute set N = {n1, n2, n3, ..., n |N| Each category attribute n in} i , get the corresponding class maximal concept pairs and non-class maximal concept pairs, the specific steps are: S361, Initialization S362, traverse set B OEO Each of the three basic object-oriented concepts (X, (A, B)); S363, if the conditions are met Then S364, if the conditions are met but S365, if set B OEO If there are three basic object-oriented concepts that have not been traversed, the process returns to S362 for execution; otherwise, the process goes to S366; S366, now get the category attribute n i The corresponding class maximal concept and non-quasi-maximal concepts S367, on the Bitcoin address decision attribute form background DK, calculate the triples respectively and triples In the formula, □ and is the necessary operator on the formal background DK and the necessary operator on its complementary background; S368, get category attribute n i The corresponding n i Class maximal concept pairs And add to the class maximal concept pair set middle; S369, obtain non-n i Class maximal concept pairs And add to the set of non-class maximal concept pairs middle; S37, if there is a category attribute n that has not been traversed i , then return to S36 for execution; otherwise, execute S38; S38, get all categories n i The class of maximal concepts for sets and n i The set of non-class maximal concepts ends.

5. A method for deanonymizing a Bitcoin address according to claim 1, characterized in that: S4 includes the following steps: S41, traverse the classification attribute set N of the Bitcoin address decision attribute form background DK = {n1,n2,n3,…,n |N| Each category attribute n in} i ; S42, from the category attribute n i The corresponding class maximal concept pair Extract the classification rules of Bitcoin address type A and type B. The specific steps are: S421, class maximal concept pairs are composed of conditional class maximal concepts and the maximal concept of decision attribute class Composition, order S422, according to the positive connotation of the conditional class maximal concept, we can get the type a classification rule of Bitcoin address, that is, U→{ni}, which means that when a Bitcoin address object x has some attributes in U, then x belongs to category n i , and added to the type a rule set R a middle; S423, according to the negative connotation of the conditional class maximal concept, we can get the Bitcoin address type b classification rule V→not{n}, which means that when a Bitcoin address object x has some attributes in V, then x does not belong to category n and is added to the type b rule set R b middle; S43, from the category attribute n i The corresponding non-class maximal concept pair In the above example, we extract the classification rules of Bitcoin address type C and type D. The specific steps are as follows: S431, non-class maximal concept pairs are composed of conditional non-class maximal concepts and decision attribute non-class maximal concept Composition, order S432, according to the positive connotation of the conditional non-class maximal concept, we can get the Bitcoin address c-type classification rule Q→not{n i }, which means that when a Bitcoin address object x has some attributes in Q, then x does not belong to category n i , and added to the c-type rule set R c middle; S433, according to the negative connotation of the conditional non-class maximal concept, we can get the Bitcoin address d-type classification rule not S→not{n i }, which means that when a Bitcoin address object x does not have some attributes in S, then x does not belong to category n i , and added to the d-type rule set R d middle; S44, if the classification attribute set N = {n1, n2, n3, ..., n |N| There is a category attribute n that has not been traversed in} i , then go to S41; otherwise go to S45; S45, obtain the Bitcoin address classification rule set R = R a ∪R b ∪R c ∪R d ; S46, end.

6. A method for deanonymizing a Bitcoin address according to claim 1, characterized in that: S5 includes the following steps: S51, counting the transaction features of p, and converting them into a binary relationship between the address and the feature attributes through the steps in the Bitcoin address data preprocessing module; S52, let the binary feature of Bitcoin address p be represented as vec, and initialize the set of excluded categories S53, traverse the b-type rules and c-type rules, consider any V→not{i}∈R b ∪R c ; When the intersection of vec and V is not empty, it indicates that the Bitcoin address p does not belong to category n i , and n i Put it into the excluded_label set of excluded categories; S54, traverse the d-type rules, consider any not S→not{j}∈R d ; When the intersection of vec and S is not S, it means that the Bitcoin address p does not belong to category n j , n j Put it into the excluded_label set of excluded categories; S55, traverse the a-type rule and consider any U→{k}∈R a , when k is not in the excluded category set excluded_label and the intersection of vec and U is not empty, it means that the Bitcoin address p belongs to category k, return category k, and enter S57; otherwise, enter S56; S56, when the intersection of the antecedents of all type a rules and vec is empty, it indicates that the category of the Bitcoin address is still uncertain; however, it is clear that the address does not belong to any category in the excluded category excluded_label set, that is, the returned category is Not-excluded_label; S57, end.