Method and system for enabling multi-hop offline transactions while maintaining traceable privacy for digital currency
The method and system facilitate secure, offline cryptocurrency transfers using cryptographically signed messages and secure storage, ensuring privacy and chain integrity, enabling transactions to be validated and posted when reconnected, thus overcoming the limitations of traditional blockchain systems.
Patent Information
- Application Number
- JP2025170341
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-14
- Filing Date
- 2025-10-08
- Publication Date
- 2026-01-27
AI Technical Summary
Existing blockchain systems require an active connection to a blockchain node for transaction validation, making offline cryptocurrency transfers impossible, which is time-consuming and limits usability.
A method and system for processing cryptocurrency transfers offline using cryptographically signed transfer messages, secure connections, and secure data storage to enable offline transactions without sacrificing security, immutability, and privacy.
Enables secure, offline cryptocurrency transfers that maintain privacy and chain integrity, allowing transactions to be validated and posted to the blockchain when reconnected, preventing fraudulent spending and double usage.
Smart Images

Figure 2026012730000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to conducting transactions offline with respect to digital currency. In particular, it is possible to digitally communicate while offline and while maintaining the privacy of participants. A series of cryptographically signed transfer messages and secure connections and safeguards are used to enable currency transfers. Secure data storage and use.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application No. 17 / 550,596, filed December 14, 2021 No. 60 / 699,992, the entire contents of which are incorporated by reference for all purposes. [Background technology]
[0003] Blockchain will initially be used to process payment transactions using cryptocurrencies. It was created as a storage mechanism for the purpose of decentralization by using blockchain. It offers several benefits, including distributed computing and transparency regarding transactions. While the transaction is conducted anonymously, the individuals or entities involved in the transaction remain anonymous. A relatively favorable characteristic of blockchain is the immutability of its records. This means that all transactions that are part of the chain are stored and are required. It is immutable due to the limited computing power and bandwidth, especially as the chain grows and the blockchain This becomes stronger as the network adds more nodes.
[0004] However, in traditional blockchains, a transaction is considered a valid transfer. In order to do this, all transactions must be submitted to a node, validated, and successfully added to the chain. The newly acquired cryptocurrency must be included in the new block added to the back of the To use it, the transferee must wait for the transaction to be posted to the blockchain. This process can be time-consuming and can result in transaction validation. It also requires that the party has an active connection to a blockchain node. If you lack sufficient connectivity to the blockchain nodes (i.e., you are offline), Even if there is a case where both parties wish to transfer cryptocurrency, there are many possible cases. In today's blockchain system, such transfers are not possible.
[0005] Therefore, without sacrificing the security, immutability, and privacy of blockchain. There is a need for technological solutions that allow for the transfer of cryptocurrencies. Summary of the Invention
[0006] This disclosure describes a system and method for processing cryptocurrency transfers offline. To perform the transfer offline, for example, a blockchain node or other party - Certified transfer messages sent by authorized entities such as mission-based systems The transfer message must first be issued to the first party. This acts as authorization for any recipient to make an offline transfer. Once confirmed, the first party will use the blockchain to transfer the cryptocurrency to the second party. It is possible to generate a transfer message for the transaction. The transfer message is grouped with the first transfer message and sent electronically to the second party. The second party will eventually connect to the blockchain network. can continue (i.e., enter online state), submit a transfer message, and These are then verified, and offline transactions are may continue to be posted to the network or to perform offline transfers. This can be done by generating a new transfer message and sending the complete group of transfer messages to a third party, The transaction can then be connected to the blockchain network or continue the chain of transfers offline. By requiring a full chain of custody for transfer messages, The first cryptocurrency cannot be used in any other way and prevents fraudulent spending. In some cases, all transfer messages, cryptographic keys, and other data are stored in the secure element. or other secure data storage on the computing device and This prevents access by the user, which prevents any prior offline transactions on the chain. maintain privacy about transactions and associated assignors. As a result, offline cryptocurrency transfers are possible without sacrificing any of the existing blockchain benefits. It becomes possible.
[0007] A method for processing cryptocurrency transfers offline is to: Thus, a step of receiving a first relocation message, the first relocation message being a cryptographically signed using a first private key of the key pair; a first transfer message using a first public key of a first key pair by a processor of the receiving device; verifying a cryptographic signature of the message; and storing the verified signature in a memory of the computing device. storing the first relocation message received from the input device of the computing device; Thus, the method includes the steps of receiving a transfer instruction including at least a communication address; and transmitting at least a verified first transfer message by a transmitter of the receiving device. and electronically transmitting the address to an external device.
[0008] A system for processing cryptocurrency transfers offline involves: A receiver for receiving a first relocation message, the receiver receiving the first relocation message is cryptographically signed using the first private key of the first key pair, and a processor for verifying a cryptographic signature of the first transfer message using the first public key of the first transfer message; a memory for storing a first transfer message having a certificate; and a transfer message including at least a communication address. an input device for receiving a command and transmitting the verified first transfer message to at least a communication address; and a transmitter for electronically transmitting to an external device based on the The device includes: [Brief explanation of the drawings]
[0009] The scope of the present disclosure is defined by the following description of exemplary embodiments when taken in conjunction with the accompanying drawings. The invention is best understood from the detailed description, which includes the following figures:
[0010] [Figure 1] FIG. 1 is a block diagram illustrating a high-level system architecture for processing cryptocurrency transfers offline, according to an exemplary embodiment. [Figure 2]FIG. 2 is a block diagram illustrating a computing device of the system of FIG. 1 for processing cryptocurrency transfers offline, according to an exemplary embodiment. [Figure 3A] 1 is a flow diagram illustrating a process for processing cryptocurrency transfers offline, according to an example embodiment. [Figure 3B] 1 is a flow diagram illustrating a process for processing cryptocurrency transfers offline, according to an example embodiment. [Figure 4] 1 is a flow diagram illustrating an example method for processing cryptocurrency transfers offline, according to an example embodiment. [Figure 5] FIG. 1 is a block diagram illustrating a computer system architecture, according to an exemplary embodiment.
[0011] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. This description is intended for illustrative purposes only and is not intended to necessarily limit the scope of the present disclosure. Not yet. DETAILED DESCRIPTION OF THE INVENTION
[0012] A system for processing offline cryptocurrency transfers Figure 1 shows how offline cryptocurrency transfers can be performed using a chain of cryptographically signed transfer messages. 1 illustrates a system 100 for processing a
[0013] As used herein, the term "blockchain" refers to a blockchain-based It can refer to a public ledger of all transactions in the underlying currency (also known as a cryptocurrency). One or more computing devices may include a blockchain network ( (More on this below), which is the transaction as part of a block in the blockchain. Once a block is completed, the block may be The check is added to the blockchain, thereby updating the transaction record. In many embodiments, a blockchain may be a chronological ledger of transactions. or may be presented in any other order suitable for use by the blockchain network. In some embodiments, transactions recorded on the blockchain may be This allows the blockchain to determine how much currency is being sent. In some embodiments, the transaction is recorded as belonging to a particular address. It may or may not be financial related and may contain additional or different information (e.g. source address). In some embodiments, the blockchain may The network may additionally or alternatively process almost any type of data in the form of a transaction. This may include a continuously hardened system against tampering and revision, even by the operator. be placed in a distributed database that maintains a growing list of data records It must be based on proof of work (PoW) and / or associated and any other suitable verification technique. In some cases, data about a given transaction can be further , additional data that is not directly part of the transaction that is appended to the transaction data In some cases, such data may be included on the blockchain. These can constitute a transaction.
[0014] The system 100 may include a blockchain network 104. The blockchain network 104 is composed of multiple blockchain nodes 102. Each blockchain node 102 can be, for example, as shown in FIG. 2 and FIG. 5. This can be a computing system detailed in the blockchain. It is configured to perform functions associated with the processing and management of applications, including: Possible: Blockchain data value generation, proposed blockchain transaction Verifying the application, verifying the digital signature, generating a new block, verifying the new block, Maintaining a copy of the chain.
[0015] A blockchain can be a distributed ledger that comprises at least a number of blocks. Each block may contain at least a block header and one or more data values. The lock header contains at least a timestamp, a block reference, and a data reference. The timestamp can be the time when the block header was generated, and It can be represented using any suitable method (e.g., UNIX timestamp, DateTime, A block reference value is a reference to a previous block in the blockchain (e.g., In some embodiments, the block The block reference value in the block header is the most recently added block preceding each block. In an exemplary embodiment, the block reference value is generated by hashing the block header of the most recently added block. Similarly, the data reference value can be the hash value of the block containing the block header. It may be a reference to one or more data values stored in the lock. In this form, a data reference value is generated by hashing one or more data values. For example, a block reference value can be a hash value created using one or more data values. It can be used as the root of a Merkle tree generated by
[0016] As a result of using a block reference value and a data reference value in each block header, The blockchain can be immutable. Any attempt to change a data value requires that the blockchain A new data reference value needs to be generated for the lock, which requires the block of the subsequent block to be A new lock reference value needs to be generated, and then a new one for each subsequent block. To make the change permanent, you need to create a valid block reference value. Before a new block is generated and added to the blockchain, the previous Execute and update for each blockchain node 102 in the network 104 The limitations of computing and communication capabilities make such changes extremely difficult. This can be a difficult or impossible task, hence the immutability of blockchain.
[0017] In some embodiments, the blockchain may be implemented as two different blockchain wallets. It is used to store information about blockchain transactions between A blockchain wallet can contain the private key of a cryptographic key pair. It is used to generate digital signatures, which are used in blockchain transactions. The digital signature may act as the payer's authorization for the transaction. The name is verified by the blockchain network 104 using the public key of the cryptographic key pair. In some cases, the term "blockchain wallet" refers to a wallet that specifically stores private keys. In other cases, the term "blockchain wallet" may refer to a blockchain A computing device that stores a private key for use in a transaction (e.g., For example, it may refer to a first device 106, a second device 108, a third device 110, etc. For example, each computing device may have its own private key for each cryptographic key pair. Each can have a blockchain network associated with it. A blockchain wallet for use in transactions with other blockchains. The computing device may store a blockchain wallet. The device may be any type of device suitable for implementing and utilizing the Computers, laptop computers, notebook computers, tablet computers Computers, mobile phones, smartphones, smartwatches, smart TVs, wearables It may be a computing device, an embeddable computing device, or the like.
[0018] Each blockchain data value stored in the blockchain is It may accommodate the storage of transactions or other data as appropriate. The option may include at least the following: a sender of currency generated using the sender's private key; (e.g., first device 106) digital signature, currency generated using the recipient's public key the blockchain address of the recipient (e.g., the second device 108) and the blockchain address of the Blockchain currency amounts or other data stored. In this case, transactions may also include: One or more blockchain addresses of the sender stored in the and generated using the sender's public key; The address for any changes that should be maintained by the sender. The address to which the cryptocurrency that can be used in the transaction is sent is called the "output" address. Each address is called a blockchain, and each address receives the output of the previous blockchain transaction. This is because it was previously used to capture, and is also known as an "unspent transaction." This is called a transaction where the currency has not yet been spent in a previous transaction. In some cases, blockchain transactions are The transaction contains the sender's public key for the entity to use in validating the transaction. For traditional processing of blockchain transactions, such Such data can be transferred to the blockchain network either by the sender or by the recipient. The sender's blockchain node 102 may then provide the sender with the The public key in the wallet's encryption key pair can be used to verify the digital signature and to verify the sender's funds. (e.g., unspent transactions are not yet spent.) (if sent to an address that is not registered and associated with the sender's wallet) This is known as the "confirmation" process of the transaction, and In traditional blockchain implementations, ,New blocks are added to the blockchain and distributed to the blockchain network 104 before distribution to all blockchain nodes 102 in the blockchain network 10 4. The blockchain data value can be verified by other nodes in the blockchain. It's not about transactions, but instead about storing other types of data. If so, blockchain data values can still be verified using other methods, including digital signature verification. It can be accompanied by various
[0019] In the system 100, the first device 106 has a blockchain The blockchain network 104 may have a wallet associated with it. has access to the cryptocurrency amount on the blockchain that is being used. Thus, the "first device 106," the "second device 108," and the "third device 110" are Each computing device, its users, or the blogs stored therein The first device 106 may refer to itself as a lockchain wallet. Suppose you are interested in transferring cryptocurrency to a second device 108 offline. To perform the transfer offline, the first transfer A transfer message must be issued, also called an issue transfer message. The issue transfer message is a block of data from the previous time when the cryptocurrency was transferred to the first device 106. It can be a cryptographically signed message containing a chain transaction.
[0020] The issue / transfer message is sent to an authorized entity, such as a blockchain node 102. In some embodiments, the system 100 may Additional entities authorized to cryptographically sign issuance and transfer messages, such as transaction system 112, For example, a blockchain can be used by financial institutions. It can be a permissioned blockchain between the governing entity and the central bank. In such cases, the bank may be the sole participant and other banks may be participating entities. In this system, the central bank cryptographically signs issuance and transfer messages, distributes them to other banks, and It can be used to make cryptocurrency transfers offline. Cryptographic signatures are used to verify the proper The encryption key can be generated by using a cryptographic algorithm and the private key of a cryptographic key pair. The entity that generates the cryptographic signature (e.g., the blockchain node 102 or the issuing system) The system 112 may have the private key of the encryption key pair, which is called the public key pair. The corresponding public key in the public key pair is used to generate the cryptographic signature. The block diagram includes, for example, a first device 106, a second device 108, and a third device 110. The information may be published to participants within the domain network 104 .
[0021] The first device 106 requests a cryptographically signed issuance transfer message from the appropriate entity. The first device 106 can receive this from the public key of the public key pair. Validates the name to ensure the issuance transfer message is valid and the offline transaction is that will be adhered to by the blockchain network104 after being Upon successful verification of the issuance transfer message, the first device 106 may issue an offline The transaction is now ready to be executed online.
[0022] The first device 106 and the second device 108 issue a cryptocurrency corresponding to the issuance transfer message. The first device 106 can then agree on the transfer. It can receive input about details about the transaction, e.g. The amount of cryptocurrency and the identity of the second device 108 as the recipient of the transfer. In this case, the identifying matter can be the destination blockchain address, which is the second Generated using the public key of the cryptographic key pair associated with the device's blockchain wallet. In other cases, the identity may be a public key. The device 106 can generate a transfer message (referred to as a first transfer message). which contains the cryptocurrency amount, the identity of the second device 108, and the blockchain of the first device. A digital signature generated using the private key of the cryptographic key pair associated with the wallet. and a signature, which may be generated using any suitable signature generation algorithm. In some cases, digital signatures are used to cryptographically sign issuance and transfer messages. It can be generated using the same signature generation algorithm as
[0023] Once the first transfer message is generated, the first device 106 generates a payment message. The payment message can be sent by labeling the issue transfer message with the first transfer message. The first device 106 may be a data container that stores data. The payment message can be sent electronically to the second device 108 using any suitable communication method. For example, Bluetooth, radio frequency, short messaging services, Multimedia messaging services, or software such as blockchain wallets. This can be done via an application program that can be embedded in the software. The device 108 can receive payment messages and can also send payment messages from the first device 106 to the second device 108. new offline transfers even before the transfer is published on the blockchain. You can then gain control of the transferred cryptocurrency.
[0024] The second device 108 may then add the transaction to the blockchain network before making any additional offline transfers. When connected to network 104, second device 108 communicates using an appropriate communication network and method. The payment message can be electronically sent to the blockchain node 102 using the The blockchain node 102 can receive payment messages and The wrapper is then unwrapped and the issuance transfer message and the first transfer message are The blockchain node 102 uses the issued public key to verify the cryptographic signature. The issuance transfer message can be verified by If so, the blockchain node 102 transfers the transaction included in the first transfer message. The transaction can be verified and associated with the blockchain wallet of the first device. It does this by verifying the digital signature with the public key of the cryptographic key pair that is registered. If the digital signature is valid, the transaction is added to the blockchain. Generated, verified, and validated by blockchain nodes 102 in the blockchain network 104 It can be included in new blocks that are generated, and can also be used to generate new blocks using traditional methods. The second device 108 then transfers the received cryptocurrency to It can be used in future online blockchain transactions, or The future use of cryptocurrencies for offline blockchain transactions A new issuance transfer message can be requested for the
[0025] In some cases, when an issuance transfer message is delivered, the associated cryptocurrency As in the process above, no transaction can be established without presenting the issuance transfer message for verification. It cannot be used in a transaction, for example, if a publication transfer message has not yet been issued. While the solution is to prevent the use of cryptocurrencies in online transactions, It can prevent double spending of currency. In such cases, blockchain The chain node 102 and / or issuing system 112 may In some cases, blockchain networks can 104 requires an issue-transfer message for every blockchain transaction. This eliminates the need to maintain records of the issuance transfer messages delivered. This eliminates the possibility of double spending cryptocurrency while still preventing it from being used twice.
[0026] In some embodiments, the first device 106 connects to the blockchain network 104. You can also submit payment messages to initiate new blockchain transactions. In such an embodiment, the first device may The device 106 can electronically send a payment message to the blockchain node 102. and the blockchain node 102 can, as described above, If the second device 108 later submits the same payment message, or if the second device 108 has already submitted a payment message before the first device's submission. In this case, the receiving blockchain node 102 analyzes the blockchain and issues The cryptocurrency associated with the transaction associated with the transfer message. If so, the blockchain node can determine whether it has already used 102 can discard a received payment message because the corresponding transaction This is because the version had already been published on the blockchain.
[0027] In other embodiments, the first device 106 may electronically send a payment message to the second device 108. , the first device 106 sends a payment message, an issuance transfer message, and a first Any local data storage of the transferred message may be automatically deleted.
[0028] For the sake of brevity, the blockchain transactions discussed herein is the full amount of cryptocurrency associated with the preceding blockchain transaction. It refers to a transfer of a value associated with a preceding blockchain transaction. In cases where not all of the cryptocurrency is transferred (e.g., the transferor may retain some of the currency), In this case, subsequent blockchain transactions are transferred to the transferor's blockchain wallet. This allows the migration to include additional destination addresses associated with the migration. This will be reflected in the transfer message as appropriate.
[0029] In some cases, the second device 108 receives the payment message from the first device 106. before connecting to the blockchain network 104. In such a case, the second device 108 may be interested in making a transfer. There may be an interest in transferring the trusted cryptocurrency to a third device 110. In such a case, the second device 108 may send the destination blockchain address or the third device a third device, such as the public key of a cryptographic key pair associated with the blockchain wallet; The second device 108 may receive an identification for the new block 110. A transfer message can be generated for a cross-chain transaction (second The second transfer message contains the amount of cryptocurrency to be transferred, the third device 110 and the second device 108 using the private key of its encryption key pair. The second device 108 may include a generated digital signature in the second transfer message. can be added to the payment message, which will by inserting it into a data container or by combining the issue transfer message with the first transfer message. The message is extracted from the payment message and the issuance transfer message and the first and second transfer messages are generated. This can be done either by generating a new payment message containing the payment message and the payment message itself; and The second device 108 then sends the payment message to the third device 110 using a suitable communication method. It may be transmitted electronically.
[0030] The third device 110 can receive the payment message from the second device 108, and You can then continue to transfer cryptocurrency in future offline transfers or you can transfer it to Blockchain. Block offline transfers by connecting to the blockchain network 104 using the process described above. In some cases, the second device 108 may be added to the payment chain. After the message is sent to the third device 110, the payment message and all local Transfer messages can be automatically deleted.
[0031] In other cases, the payment message may be sent by any of the participating computing devices. and can be held in a blockchain network 104. In such a case, the block When the chain node 102 receives the payment message, it Determine whether any offline transfers have already been published on the blockchain. For example, in one example, the second device 108 may be configured to operate offline. The transfer can then be performed by the first device 106 to the third device 110. and connects to the chain node 102 and sends the issuance transfer message and the first transfer message. The blockchain node 102 can send its payment message containing the Determining that the corresponding transaction has not yet been published on the blockchain and can add transactions to the blockchain using the process described above. The third device 110 can then connect to the blockchain node 102. The issuing transfer message, the first transfer message, and the second transfer message can be Blockchain node 1 can send its own payment message containing the 02 can verify each transfer message and also identify the transfer message corresponding to the first transfer message. The first offline transfer from the first device 106 to the second device 108 is It has already been announced in February, but it has been decided that the second offline transfer will not be the same. The blockchain node 102 then generates a new New transactions can be added to the blockchain, resulting in offline Cryptocurrency can be transferred continuously through transactions on When a device connects to the blockchain network 104, the blockchain is updated. can be.
[0032] In some embodiments, the first device 106, the second device 108, and the third device 110 , encryption keys, transfer messages, payment messages, and the functionality described herein (e.g. , application programs for blockchain wallets, etc. Secure elements or secure data storage may be used for the storage of other data used for Other forms of storage may be utilized, such as a secure element or secure data storage. The data may be a separate hardware data store in itself or may be stored in another data storage. This can be a partitioned section of the data storage, which can be a trusted It is accessible only by the application and not by any other application. In these embodiments, the user may not have access to Any data stored within the clear element is not accessible. while allowing trusted applications, such as blockchain wallets, to In such cases, the data stored there can be utilized via the This allows a user (e.g., on the second device 108 or the third device 110) to This could prevent the verification of all data about transfers in and therefore ensures a high level of privacy for all entities involved. In addition, it is possible to guarantee the forced deletion of payment or transfer messages. When such processing is applicable, it is guaranteed without user intervention. will be done.
[0033] In such an embodiment, the first device 106, the second device 108, and / or the third device The devices 110 can communicate with each other using a secure communication channel, Communications shall be conducted using sufficient protocols, encryption, and other technologies sufficient for secure communications. For example, a message sent from a first device 106 to a second device 108 can be For messages, TLS (Transport Layer Security) or another encrypted channel is used. In some embodiments, the message may be of the appropriate type. Directly from the secure data storage of the first device 106 using a secure communication channel. can then be transmitted to the second device 108 for secure data storage. In such cases, the message will be stored in a secure data storage. In addition, it will be unavailable to the user of the device.
[0034] The described method involves the offline transfer of cryptocurrencies through the use of signed transfer messages. This allows for transfers via the internet and proper validation by the blockchain nodes 102. As a result, entities can freely transfer cryptocurrencies on the blockchain and Offline transfers without sacrificing chain accuracy, immutability, and verifiability Additionally, a secure element or other secure device on the computing device can be used. Data storage provides a high level of privacy for offline transfers. maintains a system of transfers and makes data about any prior transfers accessible to the user. This can be achieved by eliminating the need for offline transfers, while Therefore, the described method and system can be used to It brings technical improvements to the blockchain network 104 and systems.
[0035] Computing Device FIG. 2 illustrates a system 100 including a blockchain node 102, a first device 106, a second device 107, and a a computing device 200 that can be used as the first device 108 or the third device 110 An embodiment of a computing device 200 shown in FIG. are presented by way of example only and are not intended to be limiting unless otherwise specified and should not be construed as limiting the scope of the present disclosure. This is not an exhaustive list of all possible configurations of the feeding device 200. For example, FIG. A computer system 500, shown in FIG. 1 and described in more detail below, Any suitable configuration of the device 200 may be used.
[0036] The computing device 200 may include a receiving device 202. 2 receives data over one or more networks via one or more network protocols. In some examples, the receiver 202 may be configured to receive radio frequency, local Area networks, wireless area networks, cellular communication networks, Bluetooth, via one or more communication methods, such as the Internet, device 106, a second device 108, a third device 110, an issuing system 112, and other The system may be configured to receive data from systems and entities. In this embodiment, the receiving device 202 may be a device receiving data over multiple networks (e.g., different networks). a different receiving device (e.g., a first receiving device receiving data on a local area network) and a second receiving device for receiving the data over the Internet. 202 may receive the transmitted electronic data signal. Upon receiving the data signal, the data is superimposed on the data signal, decoded, and parsed. In some embodiments, the receiving device 202 may receive, read, or acquire It includes an analysis module for analyzing the data signal and obtaining the data superimposed on it. For example, the receiver 202 may receive the received data signal and, by a processing unit, into usable input for the functions to be performed to implement the methods and systems of the present disclosure. The method may include an analysis program configured to:
[0037] The receiving device 202 receives the data electronically transmitted by the blockchain node 102. The data signal may be configured to receive a new blockchain signal. Blockchain transaction, blockchain transaction verification, confirmation message, response response message, new block, block reference value, public key, issuance transfer message or any of them The receiving device 202 may be superimposed or encoded with data related to the first device 106, receiving data signals electronically transmitted by the second device 108 and the third device 110; The data signal may include a payment message, a public key, an address, The data may be superimposed or encoded with a destination address, or other data as described herein. The device 202 is configured to receive data signals electronically transmitted by the issuing system 112. The data signal may also be configured to include a cryptographically signed issuance transfer message. The data may be overlaid or encoded with a message, public key, or other data as described herein.
[0038] The computing device 200 may also include a communications module 204. Module 204 may include modules, engines, and , databases, memory, and other components of the computing device 200. The communication module 204 may be configured to transfer data. and may use a variety of communication methods for communication within the computing devices. For example, the communication module 204 may include a bus, a connecting pin connector, wires, etc. In some embodiments, the communications module 204 may also be internal to the computing device 200. components and external components of the computing device 200 (e.g., externally connected devices) The computer may be configured to communicate with other devices (e.g., a computer database, a display device, an input device, etc.). The computing device 200 may also include a processing unit. In some embodiments, the processing The device comprises a plurality of engines and a processor specifically configured to perform one or more functions of the processor. and / or modules (e.g., query module 214, generation module 216, verification module As used herein, the term "module" refers to a module that receives input. It is specially programmed to take that input, perform one or more operations on it, and provide an output. It may be software or hardware programmed. The inputs, outputs and processing involved will be apparent based on this disclosure.
[0039] The computing device 200 may also include a memory 206. The memory 206 may include , data for use by computing device 200 when performing the functions of the present disclosure. The memory 206 may be configured to store a key (e.g., a public key, a private key, a symmetric key, etc.). It may be configured to store data using appropriate data formatting methods and schemas. and any suitable type of memory (e.g., read-only memory, random access memory, The memory 206 may store, for example, encryption keys and algorithms, communication protocols, and Codes and standards, data format standards and protocols, program code for modules and processing unit application programs, and the computer in performing the functions of the present disclosure. This may include other data suitable for use by computing device 200. In some embodiments, the memory 206 stores a structured query language (SQL) and the stored structured data set may include a relational database using The memory 206 may store, identify, modify, update, access, etc. token, nonce, blockchain node 102 and blockchain network 104 communication information, address generation and verification algorithms, digital signature generation and verification algorithms It stores the algorithm, hashing algorithm, transfer message generation rules, payment message, etc. In some cases, the memory 206 may be configured to include a secure element 208 or Other secure data storage may be included, which may be part of memory 206 or The secure element 208 can be separate from the memory 206. Data used by computing device 200 in performing the functions of the document It can be used to store data, for example in a blockchain wallet application. These may include application programs, encryption keys, transfer messages, and payment messages.
[0040] The computing device 200 may also include an input device 210. 0 is configured to receive input from a user of computing device 200 or, for example, a key The user can access the computer via an input device 210 such as a keyboard, mouse microphone, or touch screen. receive input from another source, such as a device interfaced with the routing device 200 The input device 210 can be configured to The data can be requested to be received via the communication module 204. and transmitted to another device or component within computing device 200. For example, the input device 210 may be connected to the computing device 200 via a touch screen. The cryptocurrency transfer amount may be selected. or a list of available computing devices that may be used to transmit payment messages. The computer 200 may handle selections for another computing device 200.
[0041] Computing device 200 may also include a display device 212. 2 displays data on the computing device 200 via a display of any suitable type. The display may be configured to display the image to a user, e.g., an LCD, a thin film transistor, The display device 212 may be, for example, a communication module. from another device or module of computing device 200 via module 204, etc. The data can be received and transmitted to a computing device via a user interface. For example, the display device 212 may display a When a user of the cryptocurrency transfer device 200 makes a selection regarding offline transfer of cryptocurrency, A user interface for use in the process can be displayed, which is received via the input device 210. It can be believed.
[0042] The computing device 200 may also include a query module 214. The remote module 214 is configured to perform a query on the database to identify the information. The query module 214 may receive one or more data values or query strings. Based on this, the indicated database (e.g., the A query string may be executed on memory 206 to identify information stored therein. The query module 214 then processes the identified information as needed for computing The output may be to an appropriate engine or module of the device 200, such as a query module. 214 performs a query on the secure element 208 to retrieve the received issuance transfer message. The issuing public key used in verifying the message can be identified.
[0043] The computing device 200 may also include a generation module 216. Module 216 is used by computing device 200 when performing the functions of the present disclosure. The generation module 216 may be configured to generate data to be used in the The data may be generated based on the instruction, and the generated data may be may be output to one or more modules of computing device 200. For example, The generation module 216 generates a proposal message, a confirmation message, a digital signature, a data signal, ,Key pair,Block header,Block,Transfer message,Payment message,Destination address and the like.
[0044] The computing device 200 may also include a validation module 218. As part of the functionality of this disclosure, module 218 may The verification module 218 may be configured to perform the verification. The method can receive as input instructions that may include data to be used in the execution of the method, and verify the instructions on demand. and transmit the results of the verification to another module of the computing device 200. or to the engine. The validation module 218 may be configured to, for example: The digital signature and the signature generation algorithm can be created using the appropriate signature generation algorithm and key. verifying the cryptographic signature and the transaction value; verifying the transfer message and the Verify other data described in the specification.
[0045] The computing device 200 may also include a transmitting device 220. 0 transmits data over one or more networks via one or more network protocols. In some examples, the transmitting device 220 may be configured to transmit network, wireless area network, cellular communication, Bluetooth, radio frequency, internet The blockchain node 102, the first device 10, and the first device 10 are connected to each other via one or more communication methods, such as a 6, second device 108, third device 110, issuing system 112, and other entities. In some embodiments, the transmitting device 220 may be configured to transmit data to the can be used with multiple devices (e.g., different sending devices for sending data over different networks ( For example, a first transmitting device and an internetwork transmitting device for transmitting data on a local area network. The transmitting device 220 may include a second transmitting device for transmitting data over the network. data having the received data analyzed by the receiving computing device. In some embodiments, the transmitting device 220 may transmit the data signal electronically. one or more devices that superimpose, encode, or format the data into a data signal suitable for transmission The module may include:
[0046] The transmitting device 220 electronically transmits the data signal to the blockchain node 102. The data signal may be configured to tion, blockchain transaction verification, confirmation message, reply message, New blocks, block reference values, public keys, issuance transfer messages, or related data The data signal may be superimposed or encoded with a payment message, etc. and electronically transmitting the information to a first device 106, a second device 108, and a third device 110. The data signal may be configured to include a transfer message, a payment message, a public message, The sender 220 may overlay or encode the request for a key or destination address, etc. The data signal may also be configured to be transmitted electronically to the issuing system 112. , this data signal may include, for example, a public key, a digital signature, or other data. It is superimposed or encoded with the request for the message.
[0047] A process that facilitates offline transfers of cryptocurrency 3A and 3B show the offline operation of a blockchain cryptocurrency in the system 100. The transfer is performed from a first device 106 to a second device 107. 108 and then to a third device 110.
[0048] At S302, the receiving device 202 of the first device 106 sends the publication transfer message to the issuing system. The issuance transfer message can be received from the blockchain node 102 or the blockchain system 112. Sage is a blockchain associated with blockchain network 104. A cryptographically signed transaction associated with the transfer of cryptocurrency to the first device 106 has already been published. In S304, the verification module of the first device 106 is The module 218 can verify the cryptographic signature of the issuance transfer message via the issuance public key. This may be stored, for example, in the secure element 208 of the first device 106 . If the verification is successful, the issuance transfer message is stored in the first device 106 until it is used by the first device 106. It may be stored in the secure element 208 .
[0049] If the user of the first device 106 is interested in performing an offline transfer, The device 106 can receive as input data related to the offline transfer. In optional S306, the second device 108, via the transmitting device 220, transmits the appropriate communication method. The first device 106 may electronically transmit the public key of its encryption key pair using a method known as a cryptographic algorithm. This can be received by the receiving device 202 of the first device 106. S3 At 08, the first device 106 (via the input device 210 and / or the receiving device 202) Input data corresponding to offline transfers can be received, including: At least the following may be included: an amount in cryptocurrency, the public key of the second device 108, Or if optional step S306 is not performed and the public key of the second device 108 is not received, other identifiers generated by and associated with one device 106 or elsewhere; and an indication that this is an offline transfer associated with the issued transfer message received. Show.
[0050] In S310, the generation module 216 of the first device 106 generates a The transfer message may include at least one cryptographic The transaction may include a currency amount and an identification associated with the second device 108. S312 Then, the generating module 216 of the first device 106 generates a digital signature for offline transfer. A digital signature can be generated using the private key of the cryptographic key pair of the first device 106. It can be generated and added to the transfer message or In S314, the sending device 220 of the first device 106 The issuance transfer message and the first transfer message are transmitted to the second device using an appropriate communication method. In some cases, the issuance transfer message and The first transfer message is first wrapped in a data container before being sent to the second device 108. In some embodiments, the first device 106 can delete the transfer message from the secure element 208 after sending.
[0051] At S316, the receiving device 202 of the second device 108 receives the payment information (e.g., in the payment message) The issuing transfer message and the first transfer message can be received from the first device 106. If the user of the second device 108 is interested in performing the transfer offline, The second device 108 can receive as input data related to the offline transfer. At optional S318, the third device 110 may transmit the appropriate communication via the transmitting device 220. The second device 108 then electronically transmits the public key of its encryption key pair to the second device 108 using a cryptographic method. , which can be received by the receiving device 202 of the second device 108. At S320, the second device 108 (via the input device 210 and / or the receiving device 202) (through the use of the data) can receive input data corresponding to offline transfer, which The cryptocurrency amount may include at least the following: If no key or optional step S318 is performed and the public key of the third device 110 is not received, Other identifiers generated by and associated with the second device 108 or elsewhere , and that this is an offline transfer associated with the received issuance transfer message. Instructions.
[0052] At S322, the generation module 216 of the second device 108 generates a The transfer message may include at least one cryptographic The transaction may include a currency amount and an identification associated with the third device 110. S324 Then, the generating module 216 of the second device 108 generates a digital copy of the offline transfer. A digital signature can be generated using the private key of the cryptographic key pair of the second device 108. It can be generated and added to the transfer message or At S326, the sending device 220 of the second device 108 The issuance transfer message, the first transfer message, and the second transfer message are transmitted via an appropriate communication method. The data may be transmitted electronically to a third device 110 using a method such as The transfer message is first wrapped in a payment message before being sent to the third device 110. In some embodiments, the second device 108 may, after sending, It can be deleted from the secure element 208.
[0053] At S328, the receiving device 202 of the third device 110 receives the payment information (e.g., in the payment message) The issuing transfer message, the first transfer message, and the second transfer message are sent to the second device 1. 08. In S330, the third device 110 may receive the with the blockchain nodes 102 in the blockchain network 104 using At S322, the transmitting device 220 of the third device 110 can establish communication. Payment messages can be uploaded to the blockchain node 102. The chain node 102 can receive the payment message and transfer the It can verify messages and also treat offline transfers as new blockchain transactions. In some embodiments, the third device 11 0, once the data is uploaded to the blockchain node 102, a payment message may be removed from the secure element 208 of the third device 110.
[0054] Exemplary methods for facilitating offline cryptocurrency transfers Figure 4 shows a method for processing cryptocurrency transfers offline via signed transfer messages. 4 illustrates a method 400 for doing so.
[0055] In S402, a first transfer message is transmitted to a computing device (e.g., a Received by a receiver (e.g., receiving device 202) of the transmitting device 200. and the first transfer message is cryptographically signed using the first private key of the first key pair. At S404, the cryptographic signature of the first transfer message is generated using the first public key of the first key pair. by a processor (e.g., the validation module 218) of the computing device using In S406, the verified first transfer message is transmitted to the computer. in the memory of the routing device (e.g., memory 206 or secure element 208) In step S408, the transfer instruction is input to an input device of the computing device. (e.g., input device 210), and the transfer command can be received by at least In S410, the verified first transfer message is sent to a computing device. The transmitter (transmitting device 220) of the wireless device transmits the signal to an external device (e.g., another computer). and electronically transmitting the information to the calling device 200 based on at least the communication address. This can be done.
[0056] In one embodiment, the memory may be a secure element. In this state, the memory is not accessible by the user of the computing device. In some embodiments, the method 400 further comprises: generating a second relocation message by a processor (e.g., generating module 216) the second transfer message includes at least a payment amount, a destination reference, and a and electronically transmitting the verified first transfer message to the external device, the first transfer message including a reference to the further includes transmitting the generated second relocation message to the external device. In one embodiment, the method 400 may be implemented by a processor (e.g., a generating module) of a computing device. a second transfer key generated by the second private key of the second key pair, In a further embodiment, the destination reference and The payment amount may be included in the received transfer order. In a further embodiment, the destination reference may be a second public key of a second key pair. The method 400 includes transmitting the second public key to an external device by a receiver of the computing device. The method may further include receiving the signal from the
[0057] Computer System Architecture FIG. 5 illustrates a computer system 500 in which embodiments of the present disclosure may be implemented. Portions thereof may be implemented as computer-readable code. For example, the block diagram of FIG. A chain node 102, a first device 106, a second device 108, a third device 110, and a The line system 112, or the computing device 200 of FIG. 2, may include hardware, a non-transitory computer-readable medium having instructions thereon, or a combination thereof The computer system 500 may be implemented in one or more computer systems or other processing units. The hardware may be implemented in a processing system for performing the methods of FIGS. 3A, 3B, and 4. The modules and components used to implement the method can be embodied.
[0058] Where programmable logic is used, such logic may be implemented as executable software. It runs on a commercially available processing platform configured with hardware code and It may be a dedicated device or a special purpose device (e.g., a programmable logic array (P GA), application specific integrated circuit (ASIC), etc. Embodiments of the disclosed subject matter are , can be executed on a variety of computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, Linked or clustered computers with distributed functionality and virtually any and general-purpose or miniature computers that can be implemented in any device. For example, at least one A single processor unit and memory may be used to implement the above embodiments.
[0059] A processor unit or device of the present disclosure may be a single processor, multiple processors, or A processor unit may have one or more processor "cores." "Computer program medium" and "non-transitory computer-readable medium" in this disclosure and the term "computer-usable medium" generally refers to tangible media (e.g., removable storage unit 518, removable storage unit 522 and hard disk The term "hard disk drive" is used to refer to a hard disk drive (such as a hard disk installed in hard drive 512).
[0060] Various embodiments of the present disclosure are described with reference to this exemplary computer system 500. After reading this disclosure, other computer system and / or computer architecture It will be obvious how to implement the present disclosure using the Although disclosed as a process, some operations may in fact be performed in parallel, simultaneously and / or in a distributed environment. The program code may be executed in a single processor or multi-processor environment. stored locally or remotely for access by the processor's machine. Furthermore, in some embodiments, the order of the operations may be changed to avoid deviations from the spirit of the disclosed subject matter. It can be repositioned without coming off.
[0061] The processor unit 504 may be a special-purpose or The processor unit 504 may be a general-purpose processor unit. 506 (e.g., buses, message queues, networks, multi-core message path skips) The network may be connected to any suitable network suitable for performing the functions of the present disclosure. The network may be a local area network (LAN), a wide area network (WLAN), Network (WAN), wireless network (e.g. Wi-Fi), mobile communication network , satellite networks, internet, fiber optics, coaxial cable, infrared, radio frequency (RF) or any combination thereof. Other suitable network types and configurations The configuration will appear appropriate from the description herein. Also included is a main memory 508 (e.g., random access memory, read-only memory, etc.). The secondary memory 510 may include a hard disk drive. drive 512 and a removable storage drive 514 (e.g., a floppy disk drive) drives, magnetic tape drives, optical disk drives, flash memory, etc.) stomach.
[0062] The removable storage drive 514 may be a removable storage unit, in a known manner. Unit 518 may be read from and / or written to. The removable storage unit 518 includes a removable storage drive 514. This includes removable storage media that can be read and written by For example, if the removable storage drive 514 is a floppy disk drive, If the removable storage unit 518 is a flash drive or USB port, In one embodiment, the storage device may be a hard disk or a portable flash drive. The removable storage unit 518 may be a non-transitory readable recording medium.
[0063] In some embodiments, the secondary memory 510 stores computer programs or other instructions. The computer system 500 (e.g., a removable storage unit 522 and an The system may include alternative means for allowing the system to be loaded into the system interface 520. Examples of such means are program cartridges (as found, for example, in video game systems) and and cartridge interface, removable memory chips (e.g. EEPROM, PR OM, etc.) and associated sockets, other removable storage units 522 and interfaces The device may include a base 520.
[0064] The computer system 500 (e.g., the main memory 508 and / or the secondary memory 509) 10) stored data may be stored on any type of suitable computer-readable medium (e.g., For example, optical storage (compact discs, digital versatile discs, Blu-ray discs, etc.) ) or magnetic tape storage (e.g., hard disk drive)). The data may be stored in any type of suitable database structure (e.g., a relational database, Structured Query Language (SQL) databases, distributed databases, object databases It may consist of a
[0065] Computer system 500 may also include a communication interface 524. The interface 524 allows software and data to be exchanged between the computer system 500 and external devices. An exemplary communication interface 524 may allow data to be sent to and received from the device. , modem, network interface (e.g., Ethernet card), communication port, P The communication interface 524 may include a CMCIA slot and card. The software and data transmitted may be in the form of a signal. The signal may be electronic, The signal may be electromagnetic, optical, or other suitable signal. The signal is transmitted via communication path 526. The path may be configured to carry the signal and may include wires, cables, optical fibers, It may be implemented using a telephone line, a cellular phone link, a radio frequency link, or the like.
[0066] The computer system 500 may further include a display interface 502. The interface 502 allows data to be transmitted between the computer system 500 and the external display 53 0. An exemplary display interface The 502 supports High-Definition Multimedia Interface (HDMI), digital visual Interface (DVI), Video Graphics Array (VGA), etc. Display 530 may be any suitable type of display and may be used in conjunction with a computer system. 502 of the system 500, and Cathode ray tube (CRT) displays, liquid crystal displays (LCDs), light emitting diodes (LEDs) ED (Electro-optical Display), Capacitive Touch Display, Thin Film Transistor (TFT) Display This includes displays, etc.
[0067] The computer program medium and the computer usable medium are This may refer to a semiconductor memory (such as a DRAM) or a main memory 508 or auxiliary memory 510. These computer program products may be used to provide software to the computer system 500. It may be a means for providing computer software (e.g., a computer program The data control logic is stored in main memory 508 and / or secondary memory 510. Computer programs may also be received via communications interface 524. Such a computer program, when executed, may cause the computer system 500 In particular, the computer program may enable the implementation of the methods of the present disclosure. When executed, processor unit 504 performs the operations shown in FIGS. 3A, 3B, and 4 as described herein. Therefore, such a computer can be used to implement the method shown in The computer program represents the controller of the computer system 500. The software is implemented using a removable storage drive5. 14, interface 520, and hard disk drive 512 or communication interface The computer program product is stored in the computer system 50 using the May be loaded to 0.
[0068] The processor unit 504 is configured to perform the functions of the computer system 500. Each module or engine may include one or more hardware components. may be implemented using hardware, and in some embodiments software (e.g., , program code or program stored in main memory 508 or secondary memory 510 In such an embodiment, the program code may be The processing unit 504 (e.g., For example, it may be compiled (e.g., by a compilation module or engine). Program code is source code written in a programming language that is translated into a low-level language. The code may be in the form of a program code (e.g., assembly language or machine code) that is used by the processor. device 504 and / or any additional hardware components of computer system 500. The compilation process consists of lexical analysis, preprocessing, and syntax analysis. Semantic analysis, syntax-driven translation, code generation, code optimization, and computer systems The program code is translated into a low-level language for control of the system 500 to perform the functions of the present disclosure. This may include use with any other technique suitable for performing such processing. The computer system 500 is equipped with a special computer uniquely programmed to perform the functions described above. The computer system 500 may be configured as follows:
[0069] Techniques consistent with this disclosure, among other features, allow for offline cryptocurrency transfers. Various exemplary embodiments of the systems and methods of the present disclosure are provided. While are discussed above, it should be understood that they are presented by way of example only, and not by way of limitation. It is not exhaustive and does not limit the present disclosure to the precise forms disclosed. Modifications and variations are possible in light of the present disclosure without departing from the scope or spirit of the present disclosure. Modifications and variations may be obtained from the present invention.
Claims
1. 1. A method for processing cryptocurrency transfers offline, comprising: receiving, by a receiver of the computing device, a first relocation message; wherein the first transfer message is cryptographically signed using a first private key of a first key pair. The steps are named, a first public key of the first key pair by a processor of the computing device; verifying the cryptographic signature of the first transfer message using storing the verified first transfer message in a memory of the computing device; and A transfer including at least a communication address is performed by an input device of the computing device. receiving an instruction; The first transfer message verified by the transmitter of the computing device. electronically transmitting the message to an external device based at least on said communication address. and
2. The method of claim 1 further comprising: generating, by the processor of the computing device, a second transfer message; wherein the second transfer message comprises at least a payment amount, a destination reference, and including a reference to the first relocation message; and electronically transmitting the verified first transfer message to the external device. further comprising transmitting the generated second transfer message to the external device. method.
3. 3. The method of claim 2, wherein the destination reference and the payment amount are received from the transfer instruction. The method contained in the ordinance.
4. 3. The method of claim 2, wherein the destination reference is a second public key of a second key pair. method.
5. The method of claim 4 further comprising: The receiver of the computing device transmits the second public key to the external device. receiving from a device.
6. The method of claim 2 further comprising: a second private key of a second key pair by the processor of the computing device; cryptographically signing the generated second transfer message using 。
7. The method of claim 1 , wherein the memory is a secure element.
8. 10. The method of claim 1, wherein the memory is accessible to a user of the computing device. Therefore, the method cannot be accessed.
9. A system for processing cryptocurrency transfers offline, An external device; 1. A computing device comprising: A receiver receiving a first relocation message, the first relocation message being a a receiver that is cryptographically signed using a first private key of a key pair; said signing of said first transfer message using a first public key of said first key pair; a processor for validating a name; a memory for storing the verified first transfer message; an input device for receiving a transfer command including at least a communication address; and transmitting the verified first transfer message to an external party based on at least the communication address. and a transmitter for electronically transmitting to the device. A system that can be used.
10. 10. The system of claim 9, The processor of the computing device generates a second transfer message; The second transfer message includes at least a payment amount, a destination reference, and a link to the first transfer message. Contains a reference to Electronically transmitting the verified first transfer message to the external device further comprises: and transmitting the generated second transfer message to the external device. Tem.
11. 11. The system of claim 10, wherein the destination reference and the payment amount are received. Included in the transfer order, system.
12. 11. The system of claim 10, wherein the destination reference is a second public key of a second key pair. There is a system.
13. 13. The system of claim 12, wherein the receiver of the computing device , receiving the second public key from the external device.
14. 11. The system of claim 10, wherein the processor of the computing device encrypts the generated second transfer message using a second private key of a second key pair. Sign in,system.
15. 10. The system of claim 9, wherein the memory is a secure element. Hmm.
16. 10. The system of claim 9, wherein the memory is a user interface for the computing device. The system cannot be accessed by the