Block chain cross-chain transaction user address protection method
By classifying and randomly exchanging cross-chain users, generating an encryption and decryption key pair, encrypting, decrypting and address obfuscation of the output addresses of ordinary nodes, the identity privacy leakage caused by the analysis of user address information by malicious nodes is solved, and efficient address obfuscation and user privacy protection are achieved.
Patent Information
- Application Number
- CN202411680768.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-03-11
AI Technical Summary
When cross-chain transactions are conducted by relay chains, user address information is easily analyzed by malicious nodes, resulting in user identity tracking and association and causing identity privacy leakage.
By classifying nodes and randomly replacing cross-chain users, generating an encryption and decryption key pair, encrypting, decrypting and address obfuscation of the output addresses of ordinary nodes, generating an output address list, improving the efficiency and randomness of address obfuscation.
It effectively improves the efficiency and randomness of address confusion, reduces the risk of malicious nodes tracking user identities, enhances user privacy in cross-chain transactions, and reduces computing complexity and communication overhead.
Smart Images

Figure CN119602929A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a blockchain cross-chain transaction user address protection method, and belongs to the technical field of blockchain. Background Art
[0002] When using the relay chain for cross-chain transactions, one of the main problems faced is that the cross-chain transaction process of users of different blockchains will be recorded by the relay chain and broadcast to other nodes. The relay chain collects transaction information to ensure the accuracy of the transaction asset amount and the authenticity of the transaction, which causes transaction records, balance changes and address interaction patterns to be publicly visible in the network. If there are malicious nodes collecting this information, attackers may engage in malicious behavior or unfair competition against users. Once an address is associated with the user's real identity, the user's other on-chain behaviors and cross-chain transaction patterns may be traced, resulting in serious leakage of identity privacy.
[0003] In order to solve these privacy protection issues, some researchers have proposed technical solutions such as CoinJoin and CoinShuffle. CoinJoin constructs a mixed currency transaction by putting multiple inputs and outputs of the same amount into the same transaction to ensure external privacy. However, due to the absence of a third-party node, the participants in the mixing process need to negotiate on their own and internal privacy cannot be guaranteed. CoinShuffle solves the internal privacy problem by adding a shuffling mechanism for the output address, but the last participant's control over the output address list still has security risks. Yang et al. used the generation function combination to map the virtual external addresses in the transaction to solve the transaction traceability problem, but failed to overcome the defects of CoinShuffle. The decentralized mixing protocol CoinParty proposed by Ziegeldorf et al. builds a custodial account through multiple third-party mixing nodes. Although it increases the cost of denial of service attacks, it also introduces the risk of privacy leakage and reduced security. Summary of the invention
[0004] The purpose of the present invention is to overcome the shortcomings of the prior art and provide a blockchain cross-chain transaction user address protection method, which improves the efficiency and randomness of address obfuscation by classifying and randomly replacing nodes of cross-chain users, while reducing computational complexity and communication overhead, and solves the problem that current malicious nodes track and associate user identities by analyzing transaction address information.
[0005] In order to achieve the above purpose / solve the above technical problems, the present invention is implemented by adopting the following technical solutions: A blockchain cross-chain transaction user address protection method, comprising: Generate the corresponding initial node set based on the target cross-chain transaction user of the current transaction; Classify the initial node set according to the local density of the initial nodes in the initial node set, determine the common node set and the shuffle node set that meets the quantity requirement and has the minimum total cost for exchanging data with the common nodes, wherein the shuffle node set is used to confuse the output address of the common node set; Based on the shuffle node set, generate an encryption and decryption key pair corresponding to each shuffle node; Get the output address of the common node; Based on the encryption and decryption key pair, the output addresses of ordinary nodes are encrypted, decrypted and obfuscated in turn to generate an output address list; Verify each normal node against the output address list; If the verification is successful, an identity commitment is made to the output address list to generate an identity authentication.
[0006] Furthermore, the node classification of the initial node set to determine the common node set and the shuffled node set that meets the quantity requirement and minimizes the total cost of data exchange with the common nodes includes: The local density of the initial node is calculated by the following formula: ; in: Represents the initial node i The local density of N Represents the total number of nodes in the initial node set; d ij Represents the initial node i and the initial node j The distance between d c represents the distance threshold; Indicates that the i The number of nodes whose distances between nodes are less than the distance threshold; ,but ,otherwise ; when When , the relative distance between a given initial node and any other initial node with higher local density is calculated by: ; in: Indicates taking the initial node i With the initial node j The minimum relative distance between them; The shuffle nodes that meet the quantity requirement are selected from the initial node set by the following formula to form a shuffle node set: ; in: Indicates the node with the largest local density; The remaining nodes in the initial node set form a common node set.
[0007] Furthermore, based on the encryption and decryption key pair, the output addresses of the common nodes are encrypted, decrypted and obfuscated in sequence to generate an output address list, including: The output address of each common node is encrypted layer by layer using the encryption key of the shuffle node in order to generate first encrypted information; The output address of each common node is encrypted layer by layer using the encryption key of the shuffle node after the selected shuffle node to generate the second encrypted information; Based on the first encrypted information and the second encrypted information, decryption and shuffling are performed for a number of rounds equal to the number of shuffling nodes to generate an output address list.
[0008] Furthermore, the output address of each common node is encrypted layer by layer using the encryption key in sequence to generate the first encrypted information, including: The first encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M}, g j Indicates j The encryption key corresponding to each shuffle node, s j Indicates j The decryption key corresponding to each shuffle node; Represents a normal node i The output address of
[0009] Furthermore, the output address of each common node is encrypted layer by layer using the encryption key of the shuffle node after the selected shuffle node to generate the second encrypted information, including: The second encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M}, gj+1 Indicates j+ The encryption key corresponding to 1 shuffle node, s j+1 Indicates j+ The decryption key corresponding to 1 shuffle node; Represents a normal node j The output address of
[0010] Furthermore, the decryption and shuffling are performed based on the first encrypted information and the second encrypted information for a number of rounds equal to the number of shuffling nodes to generate an output address list, including: The first encrypted information corresponding to each common node is sent to the first shuffle node randomly arranged in sequence, and the outermost encryption of each first encrypted information is sequentially decrypted using the decryption key corresponding to the shuffle node, and the decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a decryption set; The decrypted set is sent to the next shuffle node, and the decryption key corresponding to the shuffle node is used to decrypt the outermost encryption of each first encrypted information in turn. The decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a new decryption set, until the last shuffle node decryption is completed, and the output address list is obtained.
[0011] Further, each common node is verified according to the output address list, including: if the output address of each common node is in the output address list, the verification is passed, otherwise, the verification fails.
[0012] Furthermore, if the verification is successful, an identity commitment is made to the output address list to generate an identity authentication, including: Combine the addresses in the output address list with the elliptic curve to generate a Pederson commitment; Sign the Pederson commitment based on the random number to generate identity authentication.
[0013] Furthermore, the address in the output address list is combined with the elliptic curve to generate a Pederson commitment, including: Generate a random private key and the corresponding public key ,in: represents a random private key, is an integer, a secret value randomly selected from a larger range, Represents a model p The integer domain of p is a large prime number, Represents a point on an elliptic curve; The Pederson commitment is calculated as follows: C = ; in: C It means Pederson is committed; Represents the address in the output address list; H represents another point on the elliptic curve, H and G There is an unknown relationship between discrete logarithms.
[0014] Furthermore, the signing of the Pederson commitment based on the random number to generate identity authentication includes: The identity authentication is in the form of ; Indicates identity authentication. C Pederson is committed to Indicates signature; The signature is in the form of ; represents a random Pederson commitment generated by random numbers, , , represents two unrelated random numbers, , Represents a model p The integer domain of p is a large prime number; represents a point on the elliptic curve, H represents another point on the elliptic curve, H and G There is an unknown relationship between discrete logarithms; Represents the address in the output address list; x Indicates that random numbers are used and private key The value generated by the combination of ; y Represents random numbers and address The value generated by the combination of ; represents a random private key, is an integer, a secret value randomly selected from a large range; represents the hash value of the random Pederson commitment and the Pederson commitment, h = Hash(R , C) ; Indicates hash value calculation.
[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. The present invention classifies the initial node set, determines the common node set and the shuffle node set with the minimum total cost of exchanging data with the common nodes, generates an encryption and decryption key pair corresponding to each shuffle node, encrypts, decrypts and performs address obfuscation processing on the output addresses of the common nodes in turn, generates an output address list, improves the efficiency and randomness of address obfuscation, and solves the problem that malicious nodes currently track and associate user identities by analyzing transaction address information; 2. The present invention combines the addresses in the output address list with the elliptic curve to generate a Pederson commitment, encrypts the identity information with the Pedersen commitment, ensures that the identity message can still be verified without being exposed, and signs the Pederson commitment based on a random number to generate identity authentication, ensuring the randomness and anti-attack properties of the signature, while enhancing the privacy of users in the cross-chain process and reducing computational complexity and communication overhead. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 This is a flow chart of a method for protecting user addresses of cross-chain transactions in blockchain according to an embodiment of the present invention; Figure 2 This is a schematic diagram of a cross-chain transaction delay of a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention; Figure 3 This is a schematic diagram of the cross-chain transaction throughput of a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention; Figure 4 This is a comparison chart of the obfuscation time consumed by each address obfuscation participant under different numbers of shuffling nodes in a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention; Figure 5 This is a comparison chart of the obfuscation time consumed by each address obfuscation participant under different numbers of groups in a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention; Figure 6 This is a comparison chart of the obfuscation time under different numbers of groups and numbers of group members in a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention; Figure 7 This is a comparison chart of transaction time under different numbers of address obfuscated participants using a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention and an existing method; Figure 8 This is a comparison chart of the time required to generate identity authentication certificates under different numbers of cross-chain transactions in a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention and an existing method; Fig. 9 This is a comparison chart of the time required for identity authentication verification under different numbers of cross-chain transactions between a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention and an existing method; Fig.10 This is a comparison chart of the storage size and transmission size during the verification process of a blockchain cross-chain transaction user address protection method according to an embodiment of the present invention and an existing method. DETAILED DESCRIPTION
[0017] The present invention will be further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and cannot be used to limit the protection scope of the present invention. Example
[0018] In this embodiment, cross-chain transactions involve application chains and relay chains; Application chain: Application chain is a different type of blockchain, mainly including source chain and destination chain, which can be used for specific business calculations; nodes in the application chain can initiate signed cross-chain transactions, which are based on business needs; Relay chain: The relay chain is a cross-chain service blockchain that can be used to achieve cross-chain transaction address obfuscation, application chain management, and cross-chain transactions and user fast authentication; Users who want to conduct cross-chain transactions on the application chain are users who participate in address confusion. These users first register to participate in address confusion with the auxiliary address confusion node. At the same time, each node generates a temporary public key and sends the public key to the auxiliary address confusion node to form an address confusion network. In addition, the auxiliary address obfuscation node needs to confirm whether the participant has sufficient funds to perform address obfuscation. After that, the auxiliary address obfuscation node will randomly shuffle the collected public keys and divide all temporary public keys into k groups, each with N public key; like Figure 1 As shown, a blockchain cross-chain transaction user address protection method includes: Generate the corresponding initial node set based on the target cross-chain transaction user of the current transaction; The initial node set is classified according to the local density of the initial nodes in the initial node set, and the ordinary node set and the shuffle node set that meets the quantity requirement and has the minimum total cost of exchanging data with the ordinary nodes are determined. The shuffle node set is used to confuse the output address of the ordinary node set. Specifically: The local density of the initial node is calculated by the following formula: ; in: Represents the initial nodei The local density of N Represents the total number of nodes in the initial node set; d ij Represents the initial node i and the initial node j The distance between d c represents the distance threshold; Indicates that the i The number of nodes whose distances between nodes are less than the distance threshold. ,but ,otherwise ; when When , the relative distance between a given initial node and any other initial node with higher local density is calculated by: ; in: Indicates taking the initial node i With the initial node j The minimum relative distance between them; The shuffle nodes that meet the quantity requirement are selected from the initial node set by the following formula to form a shuffle node set: ; in: Represents the node with the largest local density.
[0019] The remaining nodes in the initial node set form a common node set.
[0020] Based on the shuffle node set, generate an encryption and decryption key pair corresponding to each shuffle node; Get the output address of the common node; Based on the encryption and decryption key pair, the output addresses of ordinary nodes are encrypted, decrypted and obfuscated in turn to generate an output address list. Specifically: The output address of each common node is encrypted layer by layer using the encryption key in sequence to generate the first encrypted information, including: The first encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M}, g j Indicatesj The encryption key corresponding to each shuffle node, s j Indicates j The decryption key corresponding to each shuffle node; Represents a normal node i The output address of The output address of each common node is encrypted layer by layer using the encryption key of the shuffle node after the selected shuffle node to generate the second encrypted information, including: The second encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M}, g j+1 Indicates j+ The encryption key corresponding to 1 shuffle node, s j+1 Indicates j+ The decryption key corresponding to 1 shuffle node; Represents a normal node j The output address of The method of performing decryption and shuffling based on the first encrypted information and the second encrypted information for a number of rounds equal to the number of shuffling nodes to generate an output address list includes: The first encrypted information corresponding to each ordinary node is sent to the first shuffle node randomly arranged in order, and the outermost encryption of each first encrypted information is decrypted in turn using the decryption key corresponding to the shuffle node. The decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a decryption set. Specifically: Each ordinary node will Sent to the first shuffle node in random order, the shuffle node receives the Then, use the decryption key of the shuffle node s j Decrypt the outermost encryption g j , and compare the decrypted result with the shuffle node's Put them together and randomly shuffle them to form a set and send them to the next shuffling node; each shuffling node shuffles each first encrypted information Decryption is performed; Decrypt each layer of encrypted information using the following formula: ; Indicates the encryption information of the previous layer. Indicates the decryption key used by the shuffle node s j For j Decryption of layer encryption; The decrypted set is sent to the next shuffle node, and the decryption key corresponding to the shuffle node is used to decrypt the outermost encryption of each first encrypted information in turn. The decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a new decrypted set, until the last shuffle node is decrypted and the output address list is obtained. Specifically: After the last shuffle node deletes the last layer of encryption, it obtains the output address list of other initial nodes, and adds the output address list after adding its own input address through dictionary sorting to obtain a complete output address list.
[0021] Verify each common node according to the output address list. If the output address of each common node is in the output address list, the verification passes. Otherwise, the verification fails. If the verification is successful, the output address list will be committed to generate identity authentication, specifically: Combine the addresses in the output address list with the elliptic curve to generate a Pederson commitment, including: Generate a random private key and the corresponding public key ,in: represents a random private key, is an integer, a secret value randomly selected from a larger range, Represents a model p The integer domain of p is a large prime number, Represents a point on an elliptic curve; The Pederson commitment is calculated as follows: C = ; in: C It means Pederson is committed; Represents the address in the output address list; H represents another point on the elliptic curve, H and G There is an unknown discrete logarithmic relationship between them; Sign the Pederson commitment based on the random number to generate identity authentication, including: The form of identity authentication is ; Indicates identity authentication. CPederson is committed to Indicates signature; The signature is in the form of ; represents a random Pederson commitment generated by random numbers, , , represents two unrelated random numbers, ; x Indicates that random numbers are used and private key The value generated by the combination of ; y Represents random numbers and address The value generated by the combination of ; Represents a random Pederson commitment and the hash value of the Pederson commitment: h = Hash(R , C) , Indicates hash value calculation.
[0022] The legitimacy of users participating in cross-chain transactions and the correctness of cross-chain transactions can be verified by verifying identity authentication. Specifically: calculate h = Hash( R , C ), and calculate the Pederson commitment verification value S , S = x * G + y * H ; like S = R + C * h, the verification is successful, indicating that the user participating in the cross-chain transaction is legal and the cross-chain transaction message is correct.
[0023] In order to verify the superiority of the method proposed in this embodiment, the following existing solutions are selected for comparison: ASCCPP: Anonymous and supervised cross-chain privacy protection protocol, which proposes a cross-chain privacy protection protocol based on Groth16 zero-knowledge proof algorithm and coin mixing technology, changes the authentication mechanism, and uses a combination of generation functions to map virtual external addresses in transactions; SBPP: Privacy protection based on sidechain. This method proposes a key exchange mechanism to ensure the fairness of the exchange and uses the verification mechanism of CP-SNARK to ensure that the transaction is confirmed without revealing the transaction details. FHEPP: Privacy protection based on fully homomorphic encryption. This solution uses the privacy protection technology of fully homomorphic encryption to encrypt on-chain data to ensure the security of on-chain private data. This solution designs a distributed private key sharing scheme to provide the auditability function of the relay chain; CoinParty: This method is a decentralized coin mixing protocol that aims to enhance the privacy of cryptocurrency transactions by utilizing multiple mixing nodes; CoinShuffle: This method is a protocol for enhancing the privacy of cryptocurrency transactions. It improves privacy protection by mixing the output addresses of multiple transactions between participants.
[0024] The comparison indicators used include: Transaction throughput , the transaction throughput is calculated by the following formula : ; in: t Represents the time it takes to process a transaction. represent t The number of transactions processed during a period of time; Transaction delays , the transaction delay is calculated by the following formula: ; in: Indicates the transaction confirmation time. Indicates the transaction submission time; Certification generation time , the authentication generation time is calculated by the following formula: ; in: Indicates the timestamp of starting encryption. Timestamp indicating the completion of encryption; Identity verification time , the authentication verification time is calculated by the following formula: ; in: Indicates the timestamp when the relay chain obtains identity authentication and starts verification. Indicates the timestamp when the relay chain completes authentication.
[0025] The data set of this embodiment comes from the Ethereum data set in XBlock. XBlock is a data set sharing platform aimed at promoting the healthy development and data research in the blockchain field. XBlock's Ethereum data set integrates transaction records, account information and related cryptocurrency transaction information in the Ethereum network. The data set contains 100,000 transaction information; the transaction record contains detailed transaction information in the Ethereum network, such as the initiator and recipient addresses of the transaction, the transaction amount, timestamp, transaction fee (gas fee), etc. The account information includes the data of active accounts in the Ethereum network, such as account address, account balance, Nonce value (number of times the account is active in the network), account type (external account or smart contract account), etc. Set the number of cross-chain transactions to 4000, 7000, and 10000, and the rate of sending transactions per second to 500, 1000, 1500, 2000, 2500, and 3000: like Figure 2 As shown in the figure, overall the latency increases with the increase in the total number of cross-chain transactions and the sending rate, but even when the total number of transactions is 10,000 and the sending transaction rate is 3,000, the latency is only about 1347.6ms; like Figure 3 As shown, the throughput also increases with the increase of the total number of cross-chain transactions and the sending rate. When the total number of transactions is 10,000 and the sending transaction rate is 3,000, the throughput reaches a maximum of about 2014.4tx / s. Therefore, the method proposed in this embodiment has relatively impressive performance in terms of throughput and latency. This is because the use of a lightweight encryption algorithm based on elliptic curve cryptography significantly reduces the computational complexity, thereby reducing processing time.
[0026] Set the number of shuffle nodes to 3, 5, 7, and 9, and confuse the addresses with 50, 100, 150, 200, 250, and 300 participants respectively: like Figure 4 As shown, when the number of address confusion participants changes from 50 to 300 and the number of shuffling nodes is 3, the confusion time is the least under the same address confusion participants. The main reason is that when the number of address confusion participants is fixed, as the number of shuffling nodes increases, the time required for the proposed scheme continues to increase, but the increase is small; the time continues to increase because adding a shuffling node adds a layer of encryption, decryption and shuffling process, but in the method proposed in this embodiment, only ordinary nodes need to encrypt all layers, and shuffling nodes only need to perform multi-layer encryption of the subsequent number of shuffling nodes, so the added time is relatively small. When the shuffling nodes are fixed, as the number of address confusion participants increases, the confusion time also continues to increase, but the increase is small.
[0027] like Figure 5and Figure 6 As shown in the figure, when the number of groups is 4 and the number of shuffle nodes is 3 and 4, the address confusion time is 38.76ms and 38.97ms respectively, and the difference between the two is small; the address confusion time of the method proposed in this embodiment is affected by the number of group members. The more group members there are, the longer the confusion time is, but the security of address privacy protection is also higher; when the number of group members remains unchanged, the number of participants involved in address confusion has little effect, mainly because the more groups there are, the more time it takes to merge the output address table within each group and to merge the final output addresses between groups, but the time consumed is very small; in addition, with the increase of shuffle nodes, the time consumed will also increase, but the increase is also small.
[0028] Based on the above results, the number of shuffling nodes is fixed to 4, the number of groups is 4, and 20, 40, 60, 80 and 100 address confusion participants are set to participate in address confusion: like Figure 7 As shown, proposed represents the method proposed in this embodiment. The time consumed by the method proposed in this embodiment is relatively stable. When the number of participants reaches 100, the single transaction time is only 42.13ms. The difference between the maximum and minimum experimental overhead is within 10ms, which is much smaller than the ASCCP, CoinParty and Coinshuffle address obfuscation schemes.
[0029] In order to measure the time overhead of the identity authentication scheme of the method proposed in this embodiment under different cross-chain transaction numbers, the transaction number is set to 300, 600, 1000, 3000, 5000 and 10000: like Figure 8 and Fig. 9 As shown, as the number of transactions increases, the authentication generation and verification time decreases and tends to be stable; after the number of transactions reaches 600, the time remains almost unchanged. In the authentication generation and verification process of the method proposed in this embodiment, the transaction parties do not need to exchange information multiple times, which reduces the time occupied by the public and the private key transmission, thereby greatly reducing the communication overhead in the interaction process.
[0030] like Fig.10As shown in the figure, the on-chain storage size and local size of the method proposed in this example are much larger than the proof storage size, and the proof size, on-chain size and local size are smaller than those of ASCCP, SBPP and FHEPP schemes; smaller transmission size will have greater advantages in high-latency blockchain cross-chain networks. The main reason is that as the number of transactions continues to increase, the amount of data stored on the chain and locally also expands. On-chain storage not only needs to save all transaction information, but also needs to maintain the integrity and consistency of the blockchain. Therefore, the storage content involved is relatively large. Local storage needs to retain a copy of the on-chain data and other necessary verification information to ensure that the node can independently verify the authenticity and validity of the transaction. The authentication proof of the method proposed in this example adopts a lightweight encryption algorithm and only contains the minimum amount of information required for the verification process. Therefore, it has a significant advantage in storage occupancy.
[0031] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0032] The present application is described with reference to the flowcharts of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process in the flowchart can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the process in the flowchart. Figure 1 A process or multiple processes or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0033] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A function specified in a process or multiple processes.
[0034] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1The steps of a specified function in a process or multiple processes.
[0035] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the enlightenment of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the purpose of the present invention and the claims, which all fall within the protection of the present invention.
Claims
1. A blockchain cross-chain transaction user address protection method, characterized in that: include: Generate the corresponding initial node set based on the target cross-chain transaction user of the current transaction; Classify the initial node set according to the local density of the initial nodes in the initial node set, determine the common node set and the shuffle node set that meets the quantity requirement and has the minimum total cost for exchanging data with the common nodes, wherein the shuffle node set is used to confuse the output address of the common node set; Based on the shuffle node set, generate an encryption and decryption key pair corresponding to each shuffle node; Get the output address of the common node; Based on the encryption and decryption key pair, the output addresses of ordinary nodes are encrypted, decrypted and obfuscated in turn to generate an output address list; Verify each normal node against the output address list; If the verification is successful, an identity commitment is made to the output address list to generate an identity authentication.
2. The blockchain cross-chain transaction user address protection method according to claim 1 is characterized in that: The node classification of the initial node set to determine the common node set and the shuffle node set that meets the quantity requirement and minimizes the total cost of exchanging data with the common nodes includes: The local density of the initial node is calculated by the following formula: ; in: Represents the initial node i The local density of N Represents the total number of nodes in the initial node set; d ij Represents the initial node i and the initial node j The distance between d c Indicates the distance threshold; Indicates that the i The number of nodes whose distances between nodes are less than the distance threshold; ,but ,otherwise ; when When , the relative distance between a given initial node and any other initial node with higher local density is calculated by: ; in: Indicates taking the initial node i With the initial node j The minimum relative distance between them; The shuffle nodes that meet the quantity requirement are selected from the initial node set by the following formula to form a shuffle node set: ; in: Indicates the node with the largest local density; The remaining nodes in the initial node set form a common node set.
3. The blockchain cross-chain transaction user address protection method according to claim 1 is characterized in that: Based on the encryption and decryption key pair, the output addresses of the common nodes are encrypted, decrypted and obfuscated in sequence to generate an output address list, including: The output address of each common node is encrypted layer by layer using the encryption key of the shuffle node in order to generate first encrypted information; The output address of each common node is encrypted layer by layer using the encryption key of the shuffle node after the selected shuffle node to generate the second encrypted information; Based on the first encrypted information and the second encrypted information, decryption and shuffling are performed for a number of rounds equal to the number of shuffling nodes to generate an output address list.
4. The blockchain cross-chain transaction user address protection method according to claim 3 is characterized in that: The method of sequentially encrypting the output address of each common node layer by layer using the encryption key to generate the first encrypted information includes: The first encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M }, g j Indicates j The encryption key corresponding to each shuffle node, s j Indicates j The decryption key corresponding to each shuffle node; Represents a normal node i The output address of 5. The blockchain cross-chain transaction user address protection method according to claim 3 is characterized in that: The method of using the encryption key of the shuffle node after the selected shuffle node to encrypt the output address of each common node layer by layer to generate the second encrypted information includes: The second encrypted information is generated by the following formula : ; Among them: The encryption and decryption key pair is in the form of ( g j , s j ), j ∈{1, 2, …, M }, g j+1 Indicates j+ The encryption key corresponding to 1 shuffle node, s j+1 Indicates j+ The decryption key corresponding to 1 shuffle node; Represents a normal node j The output address of 6. The blockchain cross-chain transaction user address protection method according to claim 3 is characterized in that: The method of performing decryption and shuffling based on the first encrypted information and the second encrypted information for a number of rounds equal to the number of shuffling nodes to generate an output address list includes: The first encrypted information corresponding to each common node is sent to the first shuffle node randomly arranged in sequence, and the outermost encryption of each first encrypted information is sequentially decrypted using the decryption key corresponding to the shuffle node, and the decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a decryption set; The decrypted set is sent to the next shuffle node, and the decryption key corresponding to the shuffle node is used to decrypt the outermost encryption of each first encrypted information in turn. The decryption result and the second encrypted information corresponding to the shuffle node are randomly sorted to form a new decryption set, until the last shuffle node decryption is completed, and the output address list is obtained.
7. The blockchain cross-chain transaction user address protection method according to claim 1 is characterized in that: Verify each common node according to the output address list, including: if the output address of each common node is in the output address list, the verification passes, otherwise, the verification fails.
8. The blockchain cross-chain transaction user address protection method according to claim 1 is characterized in that: If the verification is successful, the output address list is committed to identity and identity authentication is generated, including: Combine the addresses in the output address list with the elliptic curve to generate a Pederson commitment; Sign the Pederson commitment based on the random number to generate identity authentication.
9. The blockchain cross-chain transaction user address protection method according to claim 8 is characterized in that: The address in the output address list is combined with the elliptic curve to generate a Pederson commitment, including: Generate a random private key and the corresponding public key ,in: represents a random private key, is an integer, a secret value randomly selected from a larger range, Represents a model p The integer domain of p is a large prime number, Represents a point on an elliptic curve; The Pederson commitment is calculated as follows: C = ; in: C It means Pederson is committed; Represents the address in the output address list; H represents another point on the elliptic curve, H and G There is an unknown relationship between discrete logarithms.
10. The blockchain cross-chain transaction user address protection method according to claim 8, characterized in that: The method of signing the Pederson commitment based on a random number to generate identity authentication includes: The identity authentication is in the form of ; Indicates identity authentication. C Pederson is committed to Indicates signature; The signature is in the form of ; represents a random Pederson commitment generated by random numbers, , , represents two unrelated random numbers, , Represents a model p The integer domain of p is a large prime number; represents a point on the elliptic curve, H represents another point on the elliptic curve, H and G There is an unknown relationship between discrete logarithms; Represents the address in the output address list; x Indicates that random numbers are used and private key The value generated by the combination of ; y Represents a random number and address The value generated by the combination of ; represents a random private key, is an integer, a secret value randomly selected from a large range; represents the hash value of the random Pederson commitment and the Pederson commitment, h = Hash(R , C) ; Indicates hash value calculation.