Method and system for anonymizing electronic transactions via a blockchain

By processing server-generated intermediate addresses and using multi-blockchain wallet technology, the anonymity problem in blockchain transactions is solved, achieving higher anonymity protection and preventing the leakage of transaction information.

CN108985927BActive Publication Date: 2026-04-24MASTERCARD INT INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MASTERCARD INT INC
Filing Date
2018-06-05
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In blockchain transactions, user anonymity is difficult to maintain, transaction data is easily tracked, leading to the leakage of personal information, which conflicts with and runs counter to the goal of anonymity.

Method used

Anonymous transactions are achieved by using a processing server to generate intermediate addresses and leveraging multiple blockchain wallets to conceal the source and destination of transactions.

Benefits of technology

It improves transaction anonymity, protects user privacy, prevents transaction behavior from being tracked, and enhances anonymity protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN108985927B_ABST
    Figure CN108985927B_ABST
Patent Text Reader

Abstract

The present disclosure relates to methods and systems for anonymizing electronic transactions via a blockchain. A method for anonymizing a blockchain transaction, comprising: storing a key pair comprising a private key and a public key; receiving an anonymization request from a computing device, the request comprising a destination address and a transaction amount; sending an intermediate address based on the public key to the computing device; receiving a block in a blockchain, the block comprising a block header and one or more transaction data values comprising a specific transaction data value, the specific transaction data value comprising the intermediate address and a transfer amount based on the transaction amount; generating a digital signature using the private key; and sending a new transaction data value and the digital signature to a node associated with the blockchain, the new transaction data value comprising the destination address and a payment amount related to the transaction amount.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to anonymizing electronic transactions conducted via blockchain, specifically involving the use of one or more intermediary addresses to conceal the source and destination of funds in blockchain transactions in order to increase the anonymity of entities associated with blockchain addresses. Background Technology

[0002] In recent years, blockchain technology has seen increased adoption in electronic transactions via the internet. In particular, many users are flocking to various fiat currencies that utilize blockchain due to the anonymity it offers. Specifically, identifying the user behind a blockchain address is typically extremely difficult, meaning individuals can use blockchain to transfer or receive funds while maintaining a high level of anonymity.

[0003] However, the immutable ledger nature of blockchain allows every transaction to be traced back to the blockchain's genesis block. In other words, by analyzing the movement of fiat currency through its transactions within the blockchain, and because of all blockchain addresses associated with a specific blockchain wallet (e.g., a specific private key) and generated using the corresponding public key, it is possible to identify and view all transactions associated with a particular blockchain wallet. Some users may feel uncomfortable having so much data attributed to their wallets, which could contradict the primary goal of many users using blockchain (anonymity). For example, this data, when accumulated and analyzed, could eventually reveal the user behind the wallet or at least provide information about them, such as geolocation, interests, spending habits, etc. However, the existing communication and attribution structure of blockchain technology requires identifying where transactions occur and terminate to maintain the ledger. This creates technical problems involving conflicts of interest within the technology itself.

[0004] Therefore, a technological solution is needed to enhance the anonymity of wallets and the users associated with them in the blockchain. Summary of the Invention

[0005] A method for anonymizing blockchain transactions includes: storing a first key pair, including a first private key and a corresponding first public key, in a memory of a processing server; receiving an anonymization request from a computing device by a receiving device of the processing server, wherein the anonymization request includes at least a destination address and a transaction amount; electronically sending an intermediate address based on the first public key to the computing device by a sending device of the processing server; receiving at least one block in the blockchain by the receiving device of the processing server, wherein the at least one block includes at least a block header and one or more transaction data values ​​including a specific transaction data value, wherein the specific transaction data value includes at least an intermediate address and a transfer amount based on the transaction amount; generating a first digital signature by a generation module of the processing server using at least the first private key stored in the memory; and electronically sending a new transaction data value and the first digital signature to a node associated with the blockchain by the sending device of the processing server, wherein the new transaction data value includes at least the destination address and a payment amount related to the transaction amount.

[0006] A system for anonymizing blockchain transactions includes: a generation module of a processing server; a memory of the processing server configured to store a first key pair including a first private key and a corresponding first public key; a receiving device of the processing server configured to receive an anonymization request from a computing device, wherein the anonymization request includes at least a destination address and a transaction amount; and a sending device of the processing server configured to electronically send an intermediate address based on the first public key to the computing device, wherein the receiving device of the processing server is further configured to receive at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including a specific transaction data value, wherein the specific transaction data value includes at least the intermediate address and a transfer amount based on the transaction amount, the generation module of the processing server is configured to generate a first digital signature using at least the first private key stored in the memory, and the sending device of the processing server is further configured to electronically send at least a new transaction data value and the first digital signature to a node associated with the blockchain, wherein the new transaction data value includes at least the destination address and a payment amount related to the transaction amount. Attached Figure Description

[0007] The scope of this disclosure is best understood from the following detailed description of exemplary embodiments read in conjunction with the accompanying drawings. The drawings include the following figures:

[0008] Figure 1 This is a block diagram illustrating a high-level system architecture for anonymizing blockchain transactions according to an exemplary embodiment.

[0009] Figure 2 This illustrates an embodiment of anonymizing electronic transactions conducted via blockchain. Figure 1 A block diagram of the processing server in the system.

[0010] Figure 3A and 3B This illustrates an exemplary embodiment. Figure 1 The flowchart of the process for anonymizing electronic transactions conducted via blockchain in the system.

[0011] Figure 4 This is a flowchart illustrating an exemplary method for anonymizing blockchain transactions according to an exemplary embodiment.

[0012] Figure 5 This is a block diagram illustrating a computer system architecture according to an exemplary embodiment.

[0013] Other areas of application of this disclosure will become clear from the detailed description provided below. It should be understood that the detailed description of exemplary embodiments is for illustrative purposes only and is therefore not intended to necessarily limit the scope of this disclosure. Detailed Implementation

[0014] Glossary

[0015] A blockchain is a public ledger of all transactions involving fiat currency. One or more computing devices may constitute a blockchain network, which can be configured to process and record transactions as part of blocks in the blockchain. Once a block is completed, it is added to the blockchain, thereby updating the transaction record. In many cases, a blockchain may be a ledger of transactions in chronological order, or it may be presented in any other order suitable for use by the blockchain network. In some configurations, transactions recorded in the blockchain may include a destination address and a fiat currency amount, such that the blockchain records how much fiat currency is attributable to a particular address. In some cases, the transactions are financial and in others are not financial, or they may include additional or different information, such as a source address, timestamp, etc. In some embodiments, the blockchain may also include, or alternatively include, virtually any type of data as transactions placed or required to be placed in a distributed database, and can be confirmed and verified by the blockchain network through proof-of-work and / or any other suitable verification technology associated therewith, which maintains a growing list of data records that is protected against tampering and revision (even by its operators). In some cases, data about a given transaction may include additional data that is not directly part of the transaction data. In some situations, incorporating such data into the blockchain may constitute a transaction. In this case, the blockchain may not be directly linked to a specific fiat currency.

[0016] Systems for anonymizing blockchain transactions

[0017] Figure 1 A system 100 is shown for anonymizing electronic transactions via blockchain by obfuscating the source and destination of funds and the potential obfuscation of the amount of funds being transferred in any given blockchain transaction.

[0018] System 100 may include a processing server 102. The processing server 102, discussed in more detail below, may be configured to anonymize electronic transactions conducted via the blockchain. As discussed herein, transactions conducted via the blockchain can include any type of electronic transaction, including transfers of fiat currency and any other electronic transaction with source and destination addresses, such as the transfer of data. In other words, the methods and systems discussed herein are applicable to any type of electronic transaction utilizing blockchain.

[0019] In system 100, sender 104 may wish to send a certain amount of fiat currency (e.g., or other digitally transferable data or assets) to receiver 106 via the blockchain. The blockchain may be associated with a blockchain network 108, which may include multiple distinct blockchain nodes 112, each configured to receive new transaction requests, generate blocks, confirm blocks, and store the complete blockchain to include a decentralized system. Traditionally, to conduct electronic transactions via the blockchain associated with blockchain network 108, sender 104 may use its associated computing device (referred to herein as sender device 110) to electronically send transaction requests to blockchain node 112. Sender device 110 may be any type of computing device suitable for performing the functions discussed herein, such as a desktop computer, laptop computer, notebook computer, tablet computer, cellular phone, smartphone, smartwatch, smart TV, implantable computing device, wearable computing device, etc., configured to operate as a blockchain wallet.

[0020] A blockchain wallet may include the private key of a cryptographic key pair. The cryptographic key pair may include a private key and a corresponding public key, which may be generated by the sender device 110 or other devices and provided to it using standard key generation technology. The private key may be stored in the sender device 110, while the corresponding public key is provided to the blockchain nodes 112 that constitute the blockchain network 108.

[0021] In a traditional blockchain transaction, sender device 110 can electronically send a transaction request to blockchain node 112, where the transaction request may include at least a destination address, a transfer amount, and a digital signature. The destination address can be a blockchain address generated from the public key of the blockchain wallet associated with recipient 106, for example, it may be stored on the recipient's own computing device (referred to herein as recipient device 114). Recipient device 114 can use its own private key corresponding to its public key to generate the address using a suitable algorithm associated with blockchain network 108, which can be provided to sender device 110 using any suitable communication mechanism (such as electronic transmission via near-field communication, display of machine-readable code read by the optical imager of sender device 110, etc.). The transfer amount can be the amount of fiat currency or other data to be transferred from the sender's blockchain wallet to the recipient's blockchain wallet.

[0022] A digital signature can be a data value generated via the private key of the sender's blockchain wallet. The digital signature can serve as evidence of the sender's ownership of the blockchain wallet, thus proving the sender's ownership of all fiat currency transferred to that blockchain wallet (e.g., for each destination address of an earlier transaction generated via the wallet's corresponding public key). The blockchain node 112 receiving the transaction request can be configured to, for example, use the corresponding public key to verify the digital signature, which can serve as evidence of the sender 104's access to the fiat currency transferred to the blockchain wallet. Once ownership is confirmed, the blockchain node 112 generates a new transaction, which is added to the confirmed and added block of the blockchain, resulting in the transfer of the funds to the recipient's blockchain wallet, which can then be available in subsequent transactions, where the recipient device 114 can generate a digital signature to prove ownership of the transferred funds. It will be clear to those skilled in the art that in some cases, additional data may be included in the transaction request and used by the blockchain node 112 when implementing the transaction, such as including a transaction identifier that identifies previous transfers to the sender's blockchain wallet for the blockchain node 112 to use when verifying digital signatures and proving ownership of a sufficient amount of fiat currency (e.g., at least equal to the amount transferred).

[0023] In such traditional transactions, an entity that examines the data included in the blocks constituting the blockchain may be able to identify all transfers associated with the sender's and receiver's blockchain wallets, thus compromising the anonymity of sender 104 and receiver 106. In system 100, processing server 102 can act as an intermediary that can result in increased anonymity for sender 104, receiver 106, and even the transaction itself. To transfer a specific amount of fiat currency, sender 104 can electronically send a transfer request (also referred to herein as an anonymization request) to processing server 102 via sender device 110. The transfer request can be submitted to processing server 102 using any suitable communication method, such as via a webpage, an application associated with processing server 102, a short message service message, etc.

[0024] A transfer request may include at least the sender's digital signature, the recipient 106's destination address, and the specific amount being transferred. In some embodiments, the transfer request may include information identifying the recipient device 114 as an alternative destination address, wherein such identification information may include a device identifier associated with the recipient device 114 used to communicate with it, such as a telephone number, email address, media access control address, Internet Protocol address, etc. In such embodiments, the processing server 102 may be configured to communicate with the recipient device 114 to obtain the destination address from it.

[0025] Processing server 102 may have at least one of its own blockchain wallets. Upon receiving a transfer request, processing server 102 may generate (e.g., using the public key of its blockchain wallet) a destination address, referred to herein as an intermediate address. Processing server 102 may electronically send the intermediate address to sender device 110. Sender 104 may then use sender device 110 to initiate a blockchain transaction with blockchain network 108 (e.g., via blockchain node 112 of blockchain network 108) to transfer a specific amount of fiat currency from its blockchain wallet (e.g., confirmed via its digital signature) to the intermediate address. Blockchain network 108 may process the transaction, which may include including the transaction record in a new block generated and added to the blockchain associated with blockchain network 108.

[0026] A blockchain can include multiple blocks. Each block can include at least a block header and one or more transaction records. Each transaction record can be associated with a blockchain transaction and can include the amount transferred and the address to which the amount was transferred, and in some cases, it can also include a source, which can be a blockchain address, a digital signature, and / or one or more identifiers that identify previous transaction records used as the source of the transferred amount. It will be clear to those skilled in the art that additional data (such as multiple destination addresses and transferred amounts) can be included in some transaction records, for example, to explain changes returned to the sender's blockchain wallet.

[0027] Each block header in a block can include at least a timestamp, a block reference value, and a transaction reference value. The timestamp can be the time the corresponding block was generated for addition to the blockchain, or some other similar time. The block reference value can be a reference to the most recently added block before the corresponding block (e.g., identifiable by its included timestamp). In some cases, the block reference value can be a hash value generated by hashing the block header of the previous block. The transaction reference value can be a reference to one or more transactions included in the corresponding block. In some cases, the transaction reference value can be a hash value generated by hashing (one or more transactions) within the corresponding block. The use of reference values ​​ensures the immutability of the blockchain because a transaction cannot be modified without requiring a change in the transaction reference value in the block header, which in turn would require a change in the block reference value of the next block, which itself requires a change in the next block, and so on, through each remaining block in the blockchain. Due to the frequency at which blocks are added, and because blockchain data is stored at each of the blockchain nodes 112 that make up the blockchain network 108, such modification of the header of each block in each copy of the blockchain may be mechanically impossible.

[0028] Once a transaction submitted by sender 104 is added to the blockchain, processing server 102 can verify that a specific amount has been transferred to the processing server's blockchain wallet. Such verification may include examining recently added blocks to identify the transaction record for the transfer of a specific amount to an intermediate address provided to sender device 110. In some cases, sender device 110 may receive transaction confirmation from blockchain node 112. This confirmation may include a transaction record identifier, which can be a unique value associated with the transaction record, such as an identification number that sender device 110 may provide to processing server 102. Processing server 102 can use this identifier to quickly identify the transaction record in the blockchain corresponding to the transfer for verification.

[0029] Once the transfer has been verified, processing server 102 can submit a transaction request for the second transaction to blockchain node 112 to transfer a specific amount from the processing server's blockchain wallet to the recipient 106's blockchain wallet. This transaction request may include at least the destination address associated with the recipient device 114, the transfer amount (e.g., less any fees), and a digital signature generated by processing server 102 using the private key corresponding to the public key used to generate the intermediate address. Blockchain node 112 can receive the request and can process the transaction to transfer the specific amount from the processing server's blockchain wallet to the recipient device 114's blockchain wallet. In some embodiments, processing server 102 may notify sender device 110 and / or recipient device 114 of the transfer, which may further include providing a transaction record identifier for the second transaction.

[0030] As a result, because the blockchain can only reflect the sending of fiat currency by sender 104 to processing server 102 and the receiving of fiat currency by receiver 106 from processing server 102, sender 104 can transfer a specific amount of fiat currency to receiver 106 with enhanced anonymity. When processing server 102 is used across multiple transactions, and in the case of multiple entities using processing server 102, the true source or destination of any transaction is obscured to an unidentifiable degree. If used for each transaction, a malicious actor viewing transactions targeting sender 104 will only see transfers to and from processing server 102, thus revealing no information about the sender's spending habits, thereby protecting the sender's anonymity.

[0031] In some embodiments, processing server 102 may utilize multiple blockchain wallets to further enhance anonymity. In such embodiments, processing server 102 may have multiple different cryptographic key pairs. Processing server 102 may use a first key pair to generate an intermediate address, but may use a second key pair when executing a second transaction. As a result, even with low transaction volumes, transfers from sender 104 to receiver 106 can be masked because the blockchain will reflect independent transactions: transfers from sender 105 to the first wallet, and receipts from the second wallet by receiver 106. In such embodiments, the blockchain wallets utilized by processing server 102 may each maintain an appropriate level of fiat currency, which can be maintained via blockchain transactions to enable transfers between their blockchain wallets.

[0032] In some embodiments, the processing server 102 may also anonymize transactions by masking the transfer amount. In such embodiments, the processing server 102 may break down a second transaction (e.g., a transfer to the recipient's blockchain wallet) into multiple transactions, where the total amount from each transaction equals the specific amount transferred from sender 104 to recipient 106. In some cases, each transaction may transfer an equal amount of fiat currency (e.g., a total transfer of 36 fiat currency units may be completed in three transactions of 12 fiat currency units). In other cases, each transaction may be limited to a predetermined amount and executed accordingly (e.g., a transfer of 36 units may be completed in three transactions of 10 fiat currency units and a fourth transaction of 6 fiat currency units, where the processing server 102 may limit the transfer to 10 fiat currency units). In other cases, transactions may need to exceed the predetermined amount (e.g., a transfer of 36 units may be completed in two transactions of 10 units and a third transaction of 16 units to ensure that each transaction is at least 10 units). In such an embodiment, the amounts in the blockchain wallets of the transfer-in and transfer-out processing server 102 may be different, which may further increase the difficulty of matching sender 104 with receiver 106 for any transaction, not to mention across multiple transactions.

[0033] In some cases, processing server 102 can leverage both multiple blockchain wallets and multiple transactions to further enhance the anonymity of the sender, receiver, and individual transactions. For example, sender 104 can transfer a specific amount (such as 36 fiat currency units) to a first blockchain wallet of processing server 102. Processing server 102 can then leverage three other blockchain wallets to execute three additional transactions: a second wallet transfers 10 fiat currency units to receiver 106, a third wallet transfers 10 fiat currency units to receiver 106, and a fourth wallet transfers 6 fiat currency units to receiver 106. This further enhances the anonymity provided by processing server 102 to sender 104 and receiver 106, making it virtually impossible (if not entirely impossible) to match any sender 104 or receiver 106 against each other even in a single transaction, let alone across multiple transactions, thus ensuring complete anonymity of the sender's or receiver's use of the blockchain.

[0034] Processing server

[0035] Figure 2 An embodiment of the processing server 102 in system 100 is shown. It will be clear to those skilled in the art that... Figure 2 The embodiment of the processing server 102 shown is provided by way of illustration only and may not be exhaustive of all possible configurations of the processing server 102 suitable for performing the functions discussed herein. For example, in Figure 5 The computer system 500 shown and discussed in more detail below can be a suitable configuration for processing server 102.

[0036] Processing server 102 may include receiving device 202. Receiving device 202 may be configured to receive data over one or more networks via one or more network protocols. In some cases, receiving device 202 may be configured to receive data from sender device 110, blockchain node 112, receiver device 114, and other systems and entities via one or more communication methods (such as radio frequency, local area network, wireless local area network, cellular communication network, Bluetooth, Internet, etc.). In some embodiments, receiving device 202 may include multiple devices, such as different receiving devices for receiving data over different networks, such as a first receiving device for receiving data over a local area network and a second receiving device for receiving data over the Internet. Receiving device 202 may receive data signals transmitted electronically, wherein data may be superimposed on or otherwise encoded on the data signal and decoded, parsed, read, or otherwise obtained by receiving the data signal via receiving device 202. In some cases, receiving device 202 may include a parsing module for parsing the received data signal to obtain the data superimposed thereon. For example, receiving device 202 may include a parser program configured to receive data signals and transform the received data signals into usable inputs for execution by a processing device to implement the functions of the methods and systems described herein.

[0037] Receiving device 202 may be configured to receive data signals electronically transmitted by sending device 110, which may be overlaid with or otherwise encoded with a transaction request. The transaction request may include at least a transfer amount and one of the following: a destination address or data associated with receiving device 114. In some cases, the transaction request may also include a digital signature. In some embodiments, receiving device 202 may also receive data signals electronically transmitted by sending device 110, which may be overlaid with or otherwise encoded with a transaction record for use in verifying blockchain transactions. Receiving device 202 may be configured to receive data signals electronically transmitted by blockchain node 112, which may be overlaid with or otherwise encoded with blockchain data, including newly added blocks and / or transaction record identifiers associated with the transfer requested by processing server 102. In some cases, receiving device 202 may be configured to receive data signals electronically transmitted by receiving device 114 (such as those overlaid with or encoded with a destination address).

[0038] Processing server 102 may also include a communication module 204. Communication module 204 may be configured to send data between modules, engines, databases, memory, and other components of processing server 102 for performing the functions discussed herein. Communication module 204 may include one or more communication types and utilize various communication methods for communication within the computing device. For example, communication module 204 may include a bus, contact pin connectors, wires, etc. In some embodiments, communication module 204 may also be configured to communicate between internal components of processing server 102 and external components of processing server 102 (such as externally connected databases, display devices, input devices, etc.). Processing server 102 may also include a processing device. As will be apparent to those skilled in the art, a processing device may be configured to perform the functions of processing server 102 discussed herein. In some embodiments, a processing device may include multiple engines and / or modules (such as query module 214, generation module 216, verification module 218, etc.) specifically configured to perform one or more functions of the processing device and / or consist of multiple engines and / or modules specifically configured to perform one or more functions of the processing device. As used herein, the term "module" can be software or hardware specifically programmed to receive input, perform one or more processes using that input, and provide output. Based on this disclosure, the inputs, outputs, and processes performed by various modules will be apparent to those skilled in the art.

[0039] Processing server 102 may include memory 206. Memory 206 may be configured to store data used by processing server 102 in performing the functions discussed herein, such as public and private keys, symmetric keys, etc. Memory 206 may be configured to store data using suitable data formatting methods and schemas, and may be any suitable type of memory, such as read-only memory, random access memory, etc. As will be apparent to those skilled in the art, memory 206 may include, for example, encryption keys and algorithms, communication protocols and standards, data formatting standards and protocols, program code for modules and applications of processing devices, and other data that may be suitable for processing server 102 to use in performing the functions discussed herein. In some embodiments, memory 206 may consist of a relational database or additionally may include a relational database that uses a structured query language for storing, identifying, modifying, updating, accessing, etc., structured datasets stored therein.

[0040] Memory 206 can be configured to store one or more cryptographic key pairs, each key pair including at least a private key and a corresponding public key. In some cases, memory 206 can be configured to store a blockchain. As discussed above, a blockchain can include multiple blocks, each of which can include at least a block header and one or more transaction records. Each block header can include a timestamp, a block reference value indicating the previous block in the blockchain, and a transaction reference value indicating one or more transaction records included in the corresponding block. Memory 206 can also be configured to store any additional data that the processing server 102 can use in performing the functions discussed herein, communication data for communicating with blockchain node 112 and other computing devices, key generation algorithms, digital signature generation algorithms, and so on.

[0041] Processing server 102 may include query module 214. Query module 214 may be configured to perform queries on a database to identify information. Query module 214 may receive one or more data values ​​or query strings and may perform queries based on those strings on an indicated database (such as memory 206) to identify information stored therein. Query module 214 may then output the identified information to an appropriate engine or module of processing server 102 as needed. Query module 214 may, for example, perform queries on memory 206 to identify the public key used in generating an intermediate address or the private key used in generating a digital signature for use in performing the functions of processing server 102 as discussed herein.

[0042] Processing server 102 may also include a generation module 216. Generation module 216 may be configured to generate data for use by processing server 102 in performing the functions discussed herein. Generation module 216 may receive instructions as input, generate data based on said instructions, and output the generated data to one or more modules or engines of processing server 102. For example, generation module 216 may be configured to generate a digital signature from a private key using a suitable signature generation algorithm. Generation module 216 may also be configured to generate a blockchain address via a public key using a suitable generation algorithm (such as one that may be specified by the corresponding blockchain network 108).

[0043] Processing server 102 may also include verification module 218. Verification module 218 may be configured to verify data used by processing server 102 in performing the functions discussed herein. Verification module 218 may receive instructions as input, verify data according to instructions, and output the verification results to another module or engine of processing server 102. For example, verification module 218 may be configured to verify that a blockchain transaction has been successfully completed, such as verifying that sender 104 sent a specific fiat currency amount to an intermediate address provided by processing server 102 to sender device 110, or verifying that receiver 106 received an amount transferred by processing server 102.

[0044] The processing server 102 may also include a transmitting device 220. The transmitting device 220 may be configured to transmit data over one or more networks via one or more network protocols. In some cases, the transmitting device 220 may be configured to transmit data to the sender device 110, the blockchain node 112, the receiver device 114, and other entities via one or more communication methods, such as a local area network, a wireless local area network, cellular communication, Bluetooth, radio frequency, the Internet, etc. In some embodiments, the transmitting device 220 may include multiple devices, such as different transmitting devices for transmitting data over different networks, such as a first transmitting device for transmitting data over a local area network and a second transmitting device for transmitting data over the Internet. The transmitting device 220 may electronically transmit a data signal superimposed with data that can be parsed by a receiving computing device. In some cases, the transmitting device 220 may include one or more modules for superimposing data onto a data signal suitable for transmission, encoding data into a data signal suitable for transmission, or otherwise formatting data into a data signal suitable for transmission.

[0045] Sending device 220 may be configured to electronically transmit data signals to sender device 110, the data signals possibly overlaid with or otherwise encoded with an intermediate address for use in transferring fiat currency to processing server 102 via blockchain. Sending device 220 may also be configured to electronically transmit data signals to sender device 110, the data signals possibly overlaid with or otherwise encoded with a notification of successful transfer to receiver 106. Sending device 220 may be configured to electronically transmit data signals to blockchain node 112, the data signals possibly overlaid with or otherwise encoded with a transfer request, the transfer request possibly requesting execution of a blockchain transaction and including at least a digital signature, a destination address, and the amount transferred. In some embodiments, sending device 220 may be further configured to electronically transmit data signals to receiver device 114, the data signals possibly overlaid with or otherwise encoded with a notification of successful transfer or a request for a destination address.

[0046] Anonymizing blockchain transactions

[0047] Figure 3A and 3B It shows the method for using in the future Figure 1 The system 100 enables the anonymization of electronic transactions conducted via blockchain.

[0048] In step 302, the sender device 110 may electronically send a request for an anonymous transfer of fiat currency via blockchain to the processing server 102 using a suitable communication method. In step 304, the receiving device 202 of the processing server 102 may receive the request. The request may include at least a destination address (e.g., generated using the public key associated with the receiving device 114) and a transfer amount. In step 306, the generation module 216 of the processing server 102 may generate an intermediate address using the private key stored in the memory 206 of the processing server 102. In step 308, the sending device 220 of the processing server 102 may electronically send the intermediate address to the sender device 110. In some cases, the transfer amount may include a fee. In other cases, step 308 may include sending an amount of fee to be added to the transfer amount, or an increase in the transfer amount.

[0049] In step 310, sender device 110 may receive an intermediate address from processing server 102. In step 312, sender 104 may initiate a blockchain transaction using sender device 110 by submitting a transaction request to blockchain node 112 associated with blockchain network 108, which may also include generating a digital signature to include therein. In step 314, blockchain node 114 may receive the transaction request, which may include at least the intermediate address, the transfer amount (e.g., increased as appropriate), and a digital signature generated via the private key associated with sender device 110. In step 316, blockchain node 112 may generate a new block to add to the blockchain, which includes a transaction record of the transfer amount from the sender's blockchain wallet to the intermediate address provided by processing server 102. In step 318, the new block can be verified and published to the blockchain by sending it to all blockchain nodes 112 and making it publicly accessible.

[0050] In step 320, the receiving device 202 of the processing server 102 may receive a newly added block, which includes a new transaction record corresponding to the transfer from sender 104 to processing server 102. In step 322, the verification module 218 of the processing server 102 may verify that a transfer has occurred and that the transfer is for the correct amount, for example, by identifying a transaction record that includes an intermediate address as the destination address and by verifying that the amount transferred in the transaction is correct (e.g., equal to the increased transfer amount). After verification, in step 324, the sending device 220 of the processing server 102 may electronically send a transaction request for the second transaction to blockchain node 112 using a suitable communication network. As part of the submission of the transaction request, the generation module 216 of the processing server 102 may generate a digital signature using a private key stored in the memory 206 of the processing server 102, which may correspond to the public key used to generate the intermediate address or, if the processing server 102 is using multiple blockchain wallets, may be part of different key pairs.

[0051] In step 326, blockchain node 112 can receive a transaction request, which may include at least the destination address, the amount to be transferred, and a digital signature generated by processing server 102. In step 328, blockchain node 112 can verify the digital signature and the processing server's access to the relevant funds, and can generate a new block to add to the blockchain, which includes the transaction record of the second transaction. In step 330, the new block can be verified and published to the blockchain by sending it to all blockchain nodes 112 and making it publicly accessible.

[0052] In step 332, the receiving device 202 of the processing server 102 may receive a newly added block, which may include a transaction record corresponding to the second transaction. In step 334, the verification module 218 of the processing server 102 may verify that the second transaction has been successfully processed and is correct, for example, by verifying the transfer of funds to the destination address specified in the initial request for the anonymous transaction. Once verification is complete, in step 336, the sending device 220 of the processing server 102 may electronically send a confirmation message to the sender device 110. In step 338, the sender device 110 may receive the confirmation message. The confirmation message may indicate that the receiver 106 has successfully received the transferred funds. In some cases, the confirmation message may include a transaction record identifier associated with the transaction record corresponding to the second transaction.

[0053] Exemplary methods for anonymizing blockchain transactions

[0054] Figure 4 A method 400 for anonymizing electronic transactions via blockchain by using an intermediary is shown.

[0055] In step 402, the first key pair may be stored in the memory (e.g., memory 206) of the processing server (e.g., processing server 106), wherein the first key pair includes a first private key and a corresponding public key. In step 404, the receiving device of the processing server (e.g., receiving device 202) may receive an anonymization request from the computing device (e.g., sender device 110), wherein the anonymization request includes at least the destination address and the transaction amount.

[0056] In step 406, the sending device of the processing server (e.g., sending device 220) may electronically send an intermediate address to the computing device, wherein the intermediate address is based on the first public key. In step 408, the receiving device of the processing server may receive at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including a specific transaction data value, which includes at least the intermediate address and a transfer amount based on the transaction amount.

[0057] In step 410, the generation module of the processing server (e.g., generation module 216) may generate a first digital signature using at least the first private key stored in memory. In step 412, the sending device of the processing server may electronically send at least the new transaction data value and the first digital signature to a node associated with the blockchain (e.g., blockchain node 112), wherein the new transaction data value includes at least the destination address and the payment amount related to the transaction amount.

[0058] In one embodiment, method 400 may further include: receiving a new block in the blockchain by a receiving device of the processing server, wherein the new block includes at least a block header and one or more transaction data values ​​including additional transaction data values; and verifying, by a verification module of the processing server (e.g., verification module 218), that the additional transaction values ​​include a destination address and a payment amount. In some embodiments, method 400 may further include storing a second key pair including a second private key and a corresponding second public key in the memory of the processing server, wherein the first digital signature is generated using the second private key in place of the first private key. In one embodiment, the payment amount may be equal to the transaction amount. In some embodiments, the transfer amount may be greater than the transaction amount.

[0059] In one embodiment, method 400 may further include: generating a second digital signature by a generation module of the processing server using at least a first private key stored in memory; and electronically sending at least an additional transaction data value and the second digital signature to a node associated with the blockchain by a sending device of the processing server, wherein the additional transaction data value includes at least a destination address and a second payment amount, and wherein the combination of the payment amount and the second payment amount equals the transaction amount. In another embodiment, the payment amount and the second payment amount may be equal. In yet another embodiment, the payment amount and the second payment amount may be greater than a predetermined value.

[0060] Computer System Architecture

[0061] Figure 5 A computer system 500 is illustrated, wherein embodiments of the present disclosure or portions thereof can be implemented as computer-readable code. For example, the computer system 500 may be implemented using hardware and software, firmware, a non-transitory computer-readable medium having instructions stored thereon, or a combination thereof. Figure 1 The computing device 102 can be implemented in one or more computer systems or other processing systems specifically configured to perform the functions discussed herein. Figure 1 The computing device 102 in the middle. The hardware may include components for implementing... Figure 3A , Figure 3B and Figure 4 The methods, modules, and components.

[0062] If programmable logic is used, this logic can be executed on a commercially available processing platform configured with executable software code to become a dedicated computer or dedicated device (e.g., a programmable logic array, application-specific integrated circuit, etc.). Those skilled in the art will recognize that embodiments of the disclosed subject matter can be practiced using various computer system configurations specifically configured to perform the functions discussed herein, including multi-core multiprocessor systems, minicomputers, mainframes, computers linked or clustered with distributed functions, and microcomputers or general-purpose computers that can be embedded in virtually any device. For example, the embodiments described above can be implemented using at least one processor device and memory.

[0063] The processor unit or processor device discussed herein may be a single processor, multiple processors, or a combination thereof. A processor device may have one or more processor "cores". The terms "computer program medium," "non-transitory computer-readable medium," and "computer-usable medium" discussed herein are generally used to refer to tangible media, such as removable storage unit 518, removable storage unit 522, and hard disks installed in hard disk drive 512.

[0064] Various embodiments of this disclosure are described with reference to the example computer system 500. After reading this specification, it will become clear to those skilled in the art how to implement this disclosure using other computer systems and / or computer architectures. Although operations may be described as sequential processes, some operations may actually be performed in parallel, concurrently, and / or in a distributed environment, and the program code may be stored locally or remotely for access by a single or multiple processor machines. Furthermore, in some embodiments, the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.

[0065] Processor device 504 may be a dedicated processor device or a general-purpose processor device specifically configured to perform the functions discussed herein. Processor device 504 may be connected to communication infrastructure 506, such as a bus, message queue, network, multi-core messaging scheme, etc. The network may be any network suitable for performing the functions disclosed herein and may include a local area network (LAN), a wide area network (WAN), a wireless network (e.g., WiFi), a mobile communication network, a satellite network, the Internet, fiber optic cable, coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the art. Computer system 500 may also include main memory 508 (e.g., random access memory, read-only memory, etc.) and secondary memory 510. Secondary memory 510 may include hard disk drives 512 and removable storage drives 514, such as floppy disk drives, tape drives, optical disk drives, flash memory, etc.

[0066] The removable storage drive 514 can read from and / or write to the removable storage unit 518 in a well-known manner. The removable storage unit 518 may include a removable storage medium that can be read from and written to by the removable storage drive 514. For example, if the removable storage drive 514 is a floppy disk drive or a Universal Serial Bus port, the removable storage unit 518 may be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 518 may be a non-transitory computer-readable recording medium.

[0067] In some embodiments, secondary memory 510 may include alternative means for allowing computer programs or other instructions to be loaded into computer system 500, such as removable storage unit 522 and interface 520. As will be apparent to those skilled in the art, examples of such means may include program boxes and box interfaces (e.g., as found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, as well as other removable storage units 522 and interfaces 520.

[0068] Data stored in computer system 500 (e.g., in main memory 508 and / or secondary memory 510) can be stored on any type of suitable computer-readable medium, such as optical storage devices (e.g., compact discs, digital multifunction discs, Blu-ray discs, etc.) or magnetic tape storage devices (e.g., hard disk drives). Data can be configured with any type of suitable database configuration (e.g., relational databases, structured query language (SQL) databases, distributed databases, object databases, etc.). The appropriate configuration and storage type will be clear to those skilled in the art.

[0069] Computer system 500 may also include a communication interface 524. Communication interface 524 may be configured to allow the transfer of software and data between computer system 500 and external devices. Exemplary communication interface 524 may include a modem, network interface (e.g., an Ethernet card), communication port, PCMCIA slot, and card, etc. The software and data transferred via communication interface 524 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals that will be clear to those skilled in the art. Signals may travel via communication path 526, which may be configured to carry signals and may be implemented using wires, cables, optical fibers, telephone lines, cellular telephone links, radio frequency links, etc.

[0070] Computer system 500 may also include a display interface 502. Display interface 502 may be configured to allow data transfer between computer system 500 and external display 530. Exemplary display interface 502 may include a high-resolution multimedia interface (HDMI), a digital video interface (DVI), a video graphics array (VGA), etc. Display 530 may be any suitable type of display for displaying data transmitted via display interface 502 of computer system 500, including cathode ray tube (CRT) displays, liquid crystal displays (LCDs), light-emitting diode (LED) displays, capacitive touch displays, thin-film transistor (TFT) displays, etc.

[0071] Computer program media and computer-usable media can refer to memory, such as main memory 508 and secondary memory 510, which can be memory semiconductors (e.g., DRAM, etc.). These computer program products can be means for providing software to computer system 500. Computer programs (e.g., computer control logic) can be stored in main memory 508 and / or secondary memory 510. Computer programs can also be received via communication interface 524. When executed, such computer programs enable computer system 500 to implement the methods discussed herein. In particular, when executed, computer programs enable processor device 504 to implement the methods discussed herein. Figure 3A , Figure 3B and Figure 4 The method is illustrated. Therefore, such a computer program can represent the controller of computer system 500. When implementing this disclosure using software, the software can be stored in a computer program product and loaded into computer system 500 using a removable storage drive 514, interface 520, and hard disk drive 512 or communication interface 524.

[0072] Processor device 504 may include one or more modules or engines configured to perform the functions of computer system 500. Each module or engine may be implemented using hardware, and in some cases may also be implemented using software such as program code and / or programs corresponding to those stored in main memory 508 or secondary memory 510. In such cases, the program code may be compiled by processor device 504 (e.g., by compiling a module or engine) before being executed by the hardware of computer system 500. For example, the program code may be source code written in a programming language, which is translated into a low-level language such as assembly language or machine code for execution by processor device 504 and / or any additional hardware components of computer system 500. The compilation process may include lexical analysis, preprocessing, parsing, semantic analysis, syntax-guided translation, code generation, code optimization, and any other techniques that may be suitable for translating the program code into a low-level language suitable for controlling computer system 500 to perform the functions disclosed herein. It will be clear to those skilled in the art that such a process results in computer system 500 being a specially configured computer system 500 uniquely programmed to perform the functions discussed above.

[0073] Among other features, the technology consistent with this disclosure also provides systems and methods for anonymizing blockchain transactions. While various exemplary embodiments of the disclosed systems and methods have been described above, it should be understood that they are presented merely for illustrative purposes and not for limitation. They are not exhaustive and do not limit the disclosure to its exact form. In light of the foregoing teachings, modifications and variations are possible, or can be derived from the practice of this disclosure without departing from its breadth or scope.

[0074] In addition, this technology can also be configured as follows:

[0075] (1) A method for anonymizing blockchain transactions, comprising:

[0076] The first key pair, including the first private key and the corresponding first public key, is stored in the memory of the processing server;

[0077] The receiving device of the processing server receives an anonymization request from the computing device, wherein the anonymization request includes at least the destination address and the transaction amount;

[0078] The intermediate address based on the first public key is sent electronically by the sending device of the processing server to the computing device;

[0079] The receiving device of the processing server receives at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including specific transaction data values, wherein the specific transaction data values ​​include at least the intermediate address and the transfer amount based on the transaction amount;

[0080] The generation module of the processing server generates a first digital signature using at least the first private key stored in the memory; and

[0081] The sending device of the processing server electronically sends at least the new transaction data value and the first digital signature to the node associated with the blockchain, wherein the new transaction data value includes at least the destination address and the payment amount related to the transaction amount.

[0082] (2) The method described in item (1) further includes:

[0083] The receiving device of the processing server receives a new block from the blockchain, wherein the new block includes at least a block header and one or more transaction data values ​​including additional transaction data values; and

[0084] The verification module of the processing server verifies that the additional transaction value includes the destination address and the payment amount.

[0085] (3) The method described in item (1) further includes:

[0086] A second key pair, including a second private key and a corresponding second public key, is stored in the memory of the processing server, wherein...

[0087] The first digital signature is generated using a second private key that replaces the first private key.

[0088] (4) The method described in item (1) further includes:

[0089] The generation module of the processing server generates a second digital signature using at least the first private key stored in the memory; and

[0090] The sending device of the processing server electronically sends at least the additional transaction data value and the second digital signature to the node associated with the blockchain, wherein the additional transaction data value includes at least the destination address and the second payment amount.

[0091] The combination of the payment amount and the second payment amount equals the transaction amount.

[0092] (5) The method as described in item (4), wherein the payment amount and the second payment amount are equal.

[0093] (6) The method as described in item (4), wherein the payment amount and the second payment amount are greater than a predetermined value.

[0094] (7) The method as described in item (1), wherein the payment amount is equal to the transaction amount.

[0095] (8) The method as described in item (1), wherein the transfer amount is greater than the transaction amount.

[0096] (9) A system for anonymizing blockchain transactions, comprising:

[0097] The module that handles server generation;

[0098] The memory of the processing server is configured to store a first key pair including a first private key and a corresponding first public key;

[0099] The receiving device of the processing server is configured to receive anonymization requests from computing devices, wherein the anonymization requests include at least a destination address and a transaction amount; and

[0100] The sending device of the processing server is configured to electronically send an intermediate address based on a first public key to the computing device, wherein...

[0101] The receiving device of the processing server is further configured to receive at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including specific transaction data values, which at least include the intermediate address and the transfer amount based on the transaction amount.

[0102] The generation module of the processing server is configured to generate a first digital signature using at least a first private key stored in the memory, and

[0103] The sending device of the processing server is also configured to electronically send at least the new transaction data value and the first digital signature to the node associated with the blockchain, wherein the new transaction data value includes at least the destination address and the payment amount related to the transaction amount.

[0104] (10) The system as described in item (9) further includes:

[0105] The verification module of the processing server, wherein

[0106] The receiving device of the processing server is further configured to receive new blocks in the blockchain, wherein the new block includes at least a block header and one or more transaction data values ​​including additional transaction data values.

[0107] The verification module of the processing server is configured to verify that the additional transaction value includes the destination address and the payment amount.

[0108] (11) The system as described in item (9), wherein,

[0109] The processing server's memory is also configured to store a second key pair, including a second private key and a corresponding second public key, and

[0110] The first digital signature is generated using a second private key that replaces the first private key.

[0111] (12) The system as described in item (9), wherein

[0112] The generation module of the processing server is also configured to generate a second digital signature using at least a first private key stored in the memory.

[0113] The sending device of the processing server is also configured to electronically send at least the additional transaction data value and the second digital signature to the node associated with the blockchain, wherein the additional transaction data value includes at least the destination address and the second payment amount, and

[0114] The combination of the payment amount and the second payment amount equals the transaction amount.

[0115] (13) The system as described in item (12), wherein the payment amount and the second payment amount are equal.

[0116] (14) The system as described in item (12), wherein the payment amount and the second payment amount are greater than a predetermined value.

[0117] (15) The system as described in item (9), wherein the payment amount is equal to the transaction amount.

[0118] (16) The system as described in item (9), wherein the transfer amount is greater than the transaction amount.

Claims

1. A method for anonymizing blockchain transactions, comprising: The first key pair, including the first private key and the corresponding first public key, of the processing server, which acts as an intermediate server, is stored in the memory of the processing server. The receiving device of the processing server receives an anonymization request from a computing device that is the sender device, wherein the anonymization request includes at least the destination address and transaction amount associated with the receiver device; The processing server's sending device electronically transmits an intermediate address associated with the processing server based on a first public key to the computing device; The receiving device of the processing server receives at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including specific transaction data values, wherein the specific transaction data values ​​include at least the intermediate address and the transfer amount based on the transaction amount; The generation module of the processing server generates a first digital signature using at least the first private key stored in the memory; and The sending device of the processing server electronically sends at least the new transaction data value and the first digital signature to the node associated with the blockchain, wherein the new transaction data value includes at least the destination address and the payment amount related to the transaction amount.

2. The method of claim 1, further comprising: The receiving device of the processing server receives a new block from the blockchain, wherein the new block includes at least a block header and one or more transaction data values ​​including additional transaction data values; and The verification module of the processing server verifies that the additional transaction value includes the destination address and the payment amount.

3. A system for anonymizing blockchain transactions, comprising: The generation module of the processing server as an intermediate server; The memory of the processing server is configured to store a first key pair of the processing server, including a first private key and a corresponding first public key; The receiving device of the processing server is configured to receive anonymization requests from a computing device that is a sender device, wherein the anonymization request includes at least a destination address and a transaction amount associated with the receiver device. and The sending device of the processing server is configured to electronically send an intermediate address associated with the processing server based on a first public key to the computing device, wherein... The receiving device of the processing server is further configured to receive at least one block in the blockchain, wherein the at least one block includes at least a block header and one or more transaction data values ​​including specific transaction data values, which at least include the intermediate address and the transfer amount based on the transaction amount. The generation module of the processing server is configured to generate a first digital signature using at least a first private key stored in the memory, and The sending device of the processing server is also configured to electronically send at least the new transaction data value and the first digital signature to the node associated with the blockchain, wherein the new transaction data value includes at least the destination address and the payment amount related to the transaction amount.

4. The system of claim 3, further comprising: The verification module of the processing server, wherein The receiving device of the processing server is further configured to receive new blocks in the blockchain, wherein the new block includes at least a block header and one or more transaction data values ​​including additional transaction data values. The verification module of the processing server is configured to verify that the additional transaction value includes the destination address and the payment amount.

5. The system as described in claim 3, wherein, The processing server's memory is also configured to store a second key pair, including a second private key and a corresponding second public key, of the processing server. The first digital signature is generated using a second private key that replaces the first private key.

6. The system of claim 3, wherein The generation module of the processing server is also configured to generate a second digital signature using at least a first private key stored in the memory. The sending device of the processing server is also configured to electronically send at least the additional transaction data value and the second digital signature to the node associated with the blockchain, wherein the additional transaction data value includes at least the destination address and the second payment amount, and The combination of the payment amount and the second payment amount equals the transaction amount.

7. The system of claim 6, wherein, The payment amount and the second payment amount are equal.

8. The system of claim 6, wherein, The payment amount and the second payment amount are greater than the predetermined value.

9. The system of claim 3, wherein, The payment amount is equal to the transaction amount.

10. The system of claim 3, wherein, The amount transferred is greater than the amount of the transaction.

Citation Information

Patent Citations

  • Asset transaction platform and digital certification and transaction method for assets

    CN105956923A

  • Incompletely-anonymous block chain transaction system and method

    CN107819753A

  • Sales transactions for transfer of agricultural products

    US20020052795A1

  • Negotiable instrument electronic clearance monitoring systems and methods

    US20110066529A1

  • Ring signature-based block chain anonymous trading method

    CN106779704A