Method and system for atomic exchange of blockchain assets using transient key pairs

JP2025020136AActive Publication Date: 2025-02-12MASTERCARD INT INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024177114
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-03-04
Filing Date
2024-10-09
Publication Date
2025-02-12
Estimated Expiration
2042-02-09

Smart Images

  • Figure 2025020136000001_ABST
    Figure 2025020136000001_ABST
Patent Text Reader

Abstract

To provide a method and system for atomic exchange of assets on multiple blockchains using transient key pairs.SOLUTION: The method includes: generating, by a first computing device, a proposal message; generating, by the first computing device, a first digital signature for the proposal message; encrypting, by the first computing device, the first digital signature using a swap public key and a first private key of a first cryptographic key pair; appending, by the first computing device, the encrypted first digital signature to the generated proposal message; and transmitting, by the first computing device, the generated proposal message with the appended encrypted first digital signature to a second computing device.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Patent Application Publication No. 17 / 192,194, filed March 4, 2021. , the entire contents of which are incorporated herein by reference for all purposes. [Technical field]

[0002] The present disclosure provides a method for atomically locking assets across multiple blockchains using ephemeral key pairs. Specifically, the present disclosure relates to modifications based on the type of blockchain. It allows atomic exchange of assets on two blockchains without any specific implementation. This document concerns the use of key pairs and digital signatures to enable secure encryption. [Background technology]

[0003] Blockchain is used to carry out payment transactions using cryptocurrencies. It was originally created as a storage mechanism for blockchain. Using blockchain means decentralization, Computing, transparency about transactions, and involvement in transactions provides a number of benefits, including providing anonymity for the individual or entity involved One of the more common aspects of the blockchain is that it is an immutable record. All transactions that are part of a chain are stored within it, and in particular, As the blockchain network adds more nodes, the computation It cannot be changed due to requirements and bandwidth limitations.

[0004] As blockchain becomes more widespread, the technology will be used in a variety of different applications. It has been used to link multiple types of digital currencies and assets. The creation can be done using a single computing device in a very short period of time, The result is thousands of different brands with their own implementations and associated digital currencies. In some cases, one or more parties may For example, performing a currency exchange from one blockchain currency to another blockchain currency Transactions using digital currencies or other assets spread across the blockchain Or they may be interested in carrying out other exchanges.

[0005] However, current technology does not allow a single transaction to be sent across both blockchains. Therefore, in order to effect such an exchange, The transaction must be performed on each blockchain, which means that both parties Each party must participate in a transaction on one of the blockchains. If they are senders in a transaction, they will be responsible for ensuring that the other party performs their respective transfers. You may have to transfer currency or digital assets to a counterparty without any assurance that the To mitigate the possibility of fraud, the parties often use an escrow service. Each party will transfer its respective digital currency or assets to the escrow service. The escrow service will then be used to further transfer the assets to the appropriate parties or, if necessary, In response, the first transaction will be cancelled. However, this solution This often requires significant transaction costs, as well as third-party participation. It can be expensive and require additional time and processing.

[0006] In some cases, one blockchain may use a blockchain to exchange assets with other blockchains. However, the implementation of the blockchain, Due to differences in how transactions are formatted and other variations, Therefore, such protocols and other structures must be governed by the specific blockchain to which they apply. Therefore, blockchain must be specifically designed and tailored for the application. Each of the parties will register their Blockchain IDs for each of the other Blockchains on which they are eligible for asset exchange. It must have additional configuration data that is provided to all nodes in the chain network. There are thousands of blockchains, and each one must be specifically designed. In configurations where this is necessary, this is a difficult, nearly impossible task.

[0007] Therefore, it is agnostic with respect to the blockchain implementation and can be used to A solution is needed that allows asset exchanges to take place across the blockchain . Summary of the Invention

[0008] The present disclosure provides a method for atomically locking assets across multiple blockchains using ephemeral key pairs. A description of a system and method for exchanging assets atomically is provided. When they agree to make an exchange, they each enter into a transaction on their own blockchain. It can generate transaction values ​​for these transactions. The option is combined with the network identifier of the corresponding blockchain network. This set of data is then digitally encoded by one of two parties, such as the sender. This digital signature is then used with the private key of that party and a unique The encrypted digital copy is then encrypted using the public key of the new encryption key pair. The signature is attached to the data along with the swap public key and provided to the other party, such as the recipient. The recipient then generates his own digital signature over the data and uses his private key and The signature is then encrypted using the swap public key. This completed package is then It is then submitted to at least one of the lock chains for inclusion therein. Each party can view the message containing the signature to confirm that both parties agree to the transaction. The transaction is executed and once completed, Once the new key pair is created, a confirmation message is posted to the blockchain along with the private key of the new key pair. This means that any entity can confirm the agreement by decrypting the digital signature. This allows for the execution of validation of transactions that have been The result is that both parties can verify the identity of the It is an atomic exchange of assets as agreed by the parties. This does not allow for any modifications. It can be run on any two blockchains without any overhead. be audited by any third party using only the public keys made available by It is also possible.

[0009] Use ephemeral key pairs to atomically exchange assets across multiple blockchains The method includes generating, by a first computing device, a proposal message. The proposal message includes at least a first transaction value and a first block. a first network identifier corresponding to the blockchain, a second transaction value, and a second A second network identifier corresponding to the blockchain of the and a proposal public key, and generating a first digital signature for the message and and generating a first digital signature using the swapped public key and a first private key of the first cryptographic key pair. and encrypting the name of the person using the first computing device and generating a proposal message using the first computing device. adding an encrypted first digital signature to the message; The device transmits a first encrypted digital signature to the second computing device. and transmitting the generated proposal message that has been added.

[0010] Use ephemeral key pairs to atomically exchange assets across multiple blockchains The system for performing the method includes a first computing device and a second computing device. A first computing device including a first blockchain and a second blockchain. The input device is adapted to generate a proposal message, the proposal message comprising at least , a first transaction value and a first network corresponding to the first blockchain. The identifier, the second transaction value, and the second network corresponding to the second blockchain. a swap public key of the swap encryption key pair; generating a first digital signature on the message; swapping public keys and a first encryption key pair; a first private key of the first digital signature generating means for generating a first digital signature; adding an encrypted first digital signature to the proposed message; The generated proposal message having the encrypted first digital signature attached thereto is then sent to the sending device. and executing the above.

[0011] The scope of the present disclosure is defined in the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawings. It is best understood from the following description: Included in the drawings are the following figures: [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a block diagram illustrating a high-level system architecture for atomic exchange of assets across multiple blockchains, in accordance with an example embodiment. [Diagram 2] FIG. 2 is a block diagram illustrating a computing device of the system of FIG. 1 for atomic exchange of digital assets on multiple blockchains, in accordance with an exemplary embodiment. [Figure 3A] FIG. 1 is a flow diagram illustrating a process for atomic exchange of digital assets on multiple blockchains according to an illustrative embodiment. [Figure 3B] FIG. 1 is a flow diagram illustrating a process for atomic exchange of digital assets on multiple blockchains according to an illustrative embodiment. [Figure 3C] FIG. 1 is a flow diagram illustrating a process for atomic exchange of digital assets on multiple blockchains according to an illustrative embodiment. [Figure 4] 1 is a flowchart illustrating an example method for atomic exchange of assets on multiple blockchains using ephemeral key pairs, according to an example embodiment. [Diagram 5] FIG. 1 is a block diagram illustrating a computer system architecture in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. The detailed description of the exemplary embodiments is intended for purposes of illustration only. It should be understood that this is not intended to necessarily limit the scope of the disclosure.

[0014] Glossary Blockchain - Public disclosure of all transactions in a currency based on the blockchain Ledger. One or more computing devices may include a blockchain network. The blockchain network can be used to transfer the data as part of the blocks in the blockchain. A block can be configured to process and record transactions. Once created, a block is added to the blockchain, which records the transaction. In many cases, blockchains are updated by a chronological sequence of transactions. or may be suitable for use by a blockchain network. They may be presented in any other order. In some configurations, the The received transaction may include a destination address and a currency amount, e.g., The chain records how much currency is attributable to a particular address. In the example, some transactions are financial and others are not financial; Transactions can contain additional or different information, such as a source address or a timestamp. In some embodiments, the blockchain may further or alternatively include: A continuously growing database of data records hardened against tampering and modification, even by its operators. Transactions that are or need to be placed in a distributed database that maintains a list of all transactions that are The form of collection can include almost any type of data. The proof of work and / or any other applicable It is verified and verified by the blockchain network through appropriate verification technology. In some cases, data about a given transaction can be It also includes additional data that is not directly part of the transaction that is appended to the data. In some cases, including such data in the blockchain could: In such cases, the blockchain can: Directly related to certain digital currencies, virtual currencies, fiat currencies, or other types of currencies Sometimes it can't be linked.

[0015] A System for Atomic Exchange of Digital Assets Figure 1 shows how ephemeral key pairs can be used to authenticate digital assets on multiple blockchains. 1 shows a system 100 for conducting a cryptocurrency exchange in blockchain format. This allows assets to be exchanged independently of the software and implementation.

[0016] In the system 100, a sending device 102 and a receiving device 104 are connected to two different blocks. There may be interest in conducting exchanges of digital assets held on the blockchain. As discussed, the two blockchains can be used interchangeably in any implementation, format, etc. The methods discussed below allow for the transfer of ownership or control from one owner or controlling entity to another. The blockchain stores digital assets that can then be transferred to a controlled entity. As long as the The sending device 102 and the receiving device 104 are described in more detail below in FIG. It can be any type of computing device as discussed, for example: Mobile phones, smartphones, desktop computers, laptop computers, These include tablet computers, smart TVs, and notebook computers. Each of the blockchains is a first blockchain network 10, as shown in FIG. 6 and a second blockchain network 110. can be managed and maintained by

[0017] Each of the blockchain networks 106 and 110 comprises multiple blockchains. Each blockchain node 108 and 112 can be used as a 08 and 112 are used in conjunction with the computing device as shown in FIG. 5 and discussed in more detail below. The computing system may be a blockchain based system. This function is configured to perform functions related to the processing and management of blockchain. Generate blockchain data values, validate proposed blockchain transactions, and digitally sign Verifying names, generating new blocks, validating new blocks, and cloning the blockchain This includes maintaining

[0018] A blockchain is a distributed ledger that consists of at least several blocks. Each block contains at least a block header and one or more data values. Each block header contains at least a timestamp, a block reference, and a data The timestamp is the time when the block header was generated. It can be expressed in any suitable way (e.g. UNIX timestamp, DateTime) The block reference value can be expressed as a It can be a value that references the previous block (eg, based on a timestamp). In one embodiment, the block reference value in the block header is added before each block. The block header of the most recently added block may be a reference to the block header of the most recently added block. In form, the block reference value is the hash of the block header of the most recently added block. The data reference value may also be a hash value generated via block It can be a reference to one or more data values ​​stored in the block that contains the header. In an exemplary embodiment, the data reference value is generated through a hash of one or more data values. For example, a block reference value can be a hash value generated by The value can be used to root the generated Merkle tree.

[0019] The use of block reference values ​​and data reference values ​​in each block header Any attempt to modify any data value can result in the block being immutable. This requires the generation of new data reference values ​​for the block In addition, a new block reference must be generated for each subsequent block. This requires the generation of a new block reference value, which must be updated in order for the change to be permanent. Before generating a block and adding a new block to the blockchain, It is executed and updated on every single blockchain node in the network. Computational and communication limitations make this difficult, if not impossible. This makes modifications like this extremely difficult, and therefore makes the blockchain immutable. do.

[0020] In one embodiment, the blockchain is a blockchain between two different blockchain wallets. Used to store information about blockchain transactions that take place on A blockchain wallet can contain the private key of a cryptographic key pair. This is a digital token that acts as a payment authorization for blockchain transactions. A digital signature is created by using the public key of a cryptographic key pair to generate a digital signature. In some cases, the term “blockchain” is used to refer to The term "lockchain wallet" can refer specifically to private keys. "Blockchain Wallet" is used for blockchain transactions. A computing device (e.g., the sending device 102 and the receiving device 103) that stores a private key for For example, each computing device may have its own cryptographic Each of the two parties can have their own private key for the key pair, Used in transactions with the blockchain associated with the network The computing device may be a blockchain wallet for It can be any type of device suitable for storing and using a Lockchain wallet. This can be done, for example, on desktop computers, laptop computers, notebook computers, tablet computers, mobile phones, smartphones, Watches, smart TVs, wearable computing devices, embedded computing These include imaging devices.

[0021] Each blockchain data value stored in the blockchain is, where applicable, It can correspond to blockchain transactions or other storage of data. At a minimum, blockchain transactions are generated using the sender’s private key. The digital signature of the sender (e.g., sending device 102) of the message is generated using the public key of the recipient. The blockchain address of the recipient of the currency to be created (e.g., the receiving device 104) and the The amount of the blockchain currency to be transferred or other data stored on the blockchain may be Also, in a blockchain transaction, the transaction is The blockchain currency is currently stored (e.g. digital signatures are used to determine access to such currency). One or more blockchain addresses of the sender (which proves the sender's identity) and It may contain an address generated using the sender's public key and any modifications that may be made to it. The address to which the cryptocurrency was sent, which can be used in future transactions, is These are called “output” addresses, because each address is a unique number that represents the number of Ethereum transactions from a previous blockchain transaction. was previously used to capture the output of This is called a depreciation, which occurs when the currency is deducted from a previous transaction where the currency is still unspent. In some cases, blockchain transactions may be used to send money to a recipient. The transaction is sent to the For traditional processing of blockchain transactions, In addition, such data may be transferred to the blockchain network by either the sender or the receiver. The blockchain node 108 or 112 in the network 106 or 110 The node digitally confirms the transaction using the public key in the sender's wallet's cryptographic key pair. The node can also verify the signature (e.g., if there are any unspent transactions remaining). (sent to an address that has not been used and is associated with the sender's wallet) verifies a person’s access to the funds, a process known as “confirming” the transaction, and Then, the blockchain transaction can be included in a new block. Blocks are added to the blockchain in traditional blockchain implementations, of a blockchain node 108 or 112 in a chain network 106 or 110 within the blockchain network 106 or 110 before being distributed to all The blockchain data value can be verified by other nodes. not be related to transactional transactions, but instead to the storage of other kinds of data In this case, the blockchain data value still requires verification of the digital signature or This may involve verification of a digital signature.

[0022] In the system 100, a sending device 102 and a receiving device 104 (e.g., or a control or an entity that owns it) of the first blockchain network 106 The first blockchain and the second blockchain of the second blockchain network 110 You may be interested in exchanging assets stored on the chain. For example, The sending device 102 may have a first digital currency amount on a first blockchain. They can then use the token (e.g., via their associated blockchain wallet) Exchange the second digital currency on the second blockchain held by the receiving device 104. In conventional systems, each blockchain network 106 and 10 will enable such exchanges and ensure assets are transferred on both blockchains. Each blockchain would have to be configured to ensure that do.

[0023] In the system 100, two parties, a sending device 102 and a receiving device 104, A proposal message can then be generated and signed by both parties. Once agreed upon, it is carried out on both the first and second blockchains. The proposal message serves as a confirmation of the transaction. For both transactions, The transaction value includes a blockchain node and a network identifier. The transaction is sent to the sender device 108 or 112 (e.g., on one blockchain) 102 to the receiving device 104, and from the receiving device 104 on the other blockchain. (to the sending device 102) The network identifier may be the data that will result in the Each blockchain network can be used to identify a blockchain. It may be a unique value associated with the work 106 or 110 .

[0024] The proposal message also contains the public key of the cryptographic key pair generated for the atomic exchange (this This public key may include a public key pair (referred to herein as a "swap" key pair). The swap key pair may be referred to as the "swap public key" in the document. 2 or the receiving device 104, and the swap public key and the corresponding swap In some cases, the device generating the proposal message may include a swap secret key. In other cases, other devices may generate swap key pairs. A key can be created and both keys can be sent electronically to other devices.

[0025] Therefore, the proposal message is sent to both parties for the desired blockchain transaction. The transaction may include a swap public key, a transaction value, and a network identifier. A device generating a proposal message may digitally sign the proposal message. In one embodiment, the device may exchange transaction values ​​and network Using the identifier and, we can generate a Merkle tree, with the root of the Merkle tree being The device then swaps public keys with its own private keys (e.g. For example, a blockchain used in both the first and second blockchains wallet, or either the first or second blockchain A blockchain wallet that can be used for The cryptographic key pair is used as the password to generate the digital signature. In some cases, if a device has more than one encryption key pair, it can use The private key used may be the private key of a blockchain transaction in which the device is the sender. , can be predetermined according to one or more established rules. The rule signature is appended, prepended, or added to the proposed message at a prescribed location. It is possible.

[0026] The proposal message is then sent from the generating device, such as from the sending device 102 to the receiving device 104. The receiving device 104 can then transmit the transaction to the next device. The value and the network identifier are verified to ensure that the transaction is correct and agreed upon. This includes, for example, ensuring that the assets transferred are of the appropriate amount. The receiving device 104 (for example, or the sending device 102, if applicable) may If the transaction value and network identifier are satisfied, the receiving device 104 You can generate your own digital signature for a message. used by the sending device 102 in the first digital signature generated for the message. Use the same data that was used (e.g., transaction value and network identifier) Then, the received The side device 104 receives the swap public key (e.g., retrieved from the received proposal message). and its own secret (e.g., as determined in accordance with any applicable rules, as described above). The encrypted digital signature of the receiving device 104 can be encrypted using the key. The encrypted digital signature is the last part of the proposed message after the sending device's encrypted digital signature. The message may be added to the proposal message in a predetermined manner, such as by appending it to the proposal message.

[0027] The proposal message with both encrypted digital signatures is then added to the first block. Blockchain network 106 and a second blockchain network 110 The blockchain can be submitted to the chain nodes 108 and 112, respectively. Each of the nodes 108 and 112 is created, verified, and added to its respective blockchain. The new block that is added can include the suggestion message. A proposal message can be generated for each of the blockchains. The transaction value on the blockchain is calculated by the hash of the transaction value. In such an example, the generated The digital signature is the result of the modified transaction value in each proposal message. One of the transaction values ​​in each of the proposal messages can be hashed. It has been found that replacing This can improve the performance of each of the blockchains. .

[0028] After the proposal message is added to both blockchains, the sending device 102 and the receiving device Each of the side devices 104 can view the proposal messages added to each of the blockchains. For example, another entity agrees to both transactions and adds a digital signature Once a proposal message is added to the blockchain, the A tomic exchange can be verified. This means that the swap is performed and, as shown, This will result in the ownership of the assets being transferred to the One of the devices (e.g., sending device 102 or receiving device 104) will receive a swap confirmation message. A swap confirmation message can be generated with at least the same duration as the proposal message. The swap key pair may contain a hash reference to the swap message and the swap private key of the swap key pair. The proposal message hash reference is the final proposal message added to the blockchain. A hash of the proposed message is generated by applying a suitable hash algorithm to the If each blockchain receives a different proposal message, Then, for each blockchain, we use the hash reference to the appropriate proposal message. A separate swap confirmation message can be generated for each swap.

[0029] The completed swap confirmation message is then sent to the appropriate blockchain network10 6 or 110 to the blockchain node 108 or 112. The blockchain node 108 or 112 then uses conventional methods and systems to A swap confirmation message may be included in the new block that is generated and confirmed. As a result, using the proposal message and the swap confirmation message, The included transaction value is honored as a valid transaction, and Therefore, digital assets will be exchanged on both blockchains. cormorant.

[0030] The disclosure of the swap private key in the swap confirmation message allows any interested entity to A system such as a verification system 114 can verify the swap. Verification of the swap is performed using both encrypted digital signatures included in the proposal message. Each digital signature may include verifying the name of the respective device (e.g., If available, swap public and private keys of the sending device 102 or the receiving device 104. The encryption is done using the swap private key and the public key of each device. This can be done using the blockchain itself. For example, the verification system 114 may be The sending device 102 and the receiving device 104 can be contacted for verification. The device 102 and the receiving device 104 can provide their respective public keys. The system 114 receives the swap private key from the swap confirmation message and the public key from each device. can be used to decrypt and then verify each digital signature. In this manner, the verification system 114 can obtain the (Because the public key sent is from the same wallet used in the asset transfer) Validate swaps to ensure proposals were properly signed by the entities involved Encryption and decryption using such keys can be performed using elliptic curve Diffie-Fire algorithms. Shared via the Hellman (ECDH) protocol or other Elliptic Curve Cryptography techniques For example, the RSA cryptosystem could alternatively be used The swap public key is used for encryption and the swap private key is used for decryption. Used for.

[0031] In some embodiments, the transfer of assets may involve more than two entities and / or more than two blocks. In such a case, the proposal message may include a link to the additional assets. For transfer, an additional transaction value and a network identifier may be included. The proposal message and swap confirmation message are used to send any additional block chains, if necessary. For the chain network, it can be sent to any additional blockchain nodes. The methods and systems discussed herein may be used to determine the transfer, entity, or Regardless of the number of blockchains and the format and implementation of each blockchain It allows for atomic exchange of assets using the same methodology, independent of the do.

[0032] Thus, the methods and systems discussed herein can be used across multiple blockchains. The present invention provides a significant improvement in the atomic exchange of digital assets in a blockchain-based blockchain. The method does not rely on the blockchain, so the method can be used to convert digital assets without modification. It can be applied to any of the thousands of blockchains that exist today, each with their own unique set of properties. and still applies to any new blockchains being developed that do not currently exist. Additionally, the methods discussed herein may involve any number of entities. or asset transfer, the only difference being the size of the confirmation message (e.g. For example, as mentioned above, any transaction that is not applicable to a particular blockchain may be The use of a hash on the application value allows for minimal addition to the file size, with no additional (e.g., to facilitate transactions). Thus, the methods and systems discussed herein The system is designed to enable atomic exchange of digital assets across multiple blockchains. This provides a significant improvement over existing methods.

[0033] Computing Device FIG. 2 illustrates one embodiment of a computing device 200, which may be used to, for example, The device can be used as a sending device 102 or a receiving device 104 in the system 100. The embodiment of computing device 200 shown in FIG. 2 is provided by way of example only and is not intended to be limiting of the present invention. Any computing device 200 suitable for performing the functions discussed in this specification. It will be apparent to one skilled in the art that this list does not encompass all possible configurations. A computer system 500, shown in FIG. 5 and discussed in more detail below, Any suitable configuration of the routing device 200 may be used.

[0034] The computing device 200 may include a receiving device 202. 2 is the transfer of data across one or more networks via one or more network protocols. In one example, the receiving device 202 may be configured to receive one or more Through the above communication method, the sending device 102, the receiving device 104, and the blockchain node from the cards 108 and 112, the verification system 114, and from other systems and entities. The communication method may be, for example, radio frequency (RF) communication. , Local Area Network, Wireless Area Network, Cellular Communication Network, Bluetooth h, the Internet, etc. In one embodiment, the receiving device 202 receives the This can be done, for example, to receive data via different networks. a first receiving device for receiving data via a local area network; a receiving device for receiving data via the internet and a second receiving device for receiving data via the internet. The receiving device 202 is capable of receiving electronically transmitted data signals. The data signal can be superimposed or encoded on the data signal, and the data signal can be received by the receiving device 202. It can be decoded, parsed, read, or otherwise obtained via receipt of In one example, the receiver 202 parses the received data signal to determine whether it is overlapped. For example, the receiving device may include a parsing module to obtain the parsing data. 202 may include a parser program. The parser program may receive and and a processor for implementing the methods and systems described herein. The input is configured to convert the input into usable input for a function performed by the

[0035] The receiving device 202 receives the information electronically transmitted by the sending device 102 or the receiving device 104. The data signal may be configured to receive a public key, a signature, or a combination of both. Swap key pair, transaction value, network identifier, proposal message, or this specification Other data, symbols, or symbols for use in carrying out the methods discussed in the document. The receiving device 202 can also be electronically verified by the verification system 114. The data signal may be configured to receive a transmitted data signal, the data signal being may be superimposed or encoded into the public key request for use in verifying the The receiving device 202 can receive the blockchain information electronically transmitted by the blockchain nodes 108 and 112. The data signal may be further configured to receive a data signal transmitted thereto. For example, when a proposal message is successfully added to the associated blockchain It may be superimposed or encoded onto the blockchain data to identify who has It is possible.

[0036] The computing device 200 may also include a communications module 204. The communication module 204 receives and transmits the modules for use in performing the functions discussed herein. The modules, engines, databases, storage, and other components of the computing device 200 The communication module 2 may be configured to transmit data between the components of the 04 may be configured with one or more communication types, and may be used to Various communication methods for communication can be utilized. For example, the communication module 204 can be It may be comprised of a bus, a contact pin connector, an electrical wire, etc. In one embodiment, the communication module 204 may include a communication module that is connected to the internal components of the computing device 200. Externally connected databases, display devices, input devices, and other devices external to the computing device 200 The computing device may be configured to communicate with the components. The device 200 may include a processing device, as will be apparent to those skilled in the art. , configured to perform the functions of computing device 200 discussed herein. In one embodiment, the processing device may include a query module 214, a generation module 215, and a 216, verification module 218, and other modules that are specifically configured to perform one or more functions of the processing device. Containing and / or consisting of a plurality of separately configured engines and / or modules As used herein, the term "module" refers to a device that receives input and , specifically programmed to perform one or more operations using an input and provide an output It can be software or hardware. It is executed by various modules. The inputs, outputs, and processing will be apparent to one of ordinary skill in the art based on this disclosure.

[0037] The computing device 200 may also include blockchain data 206. The blockchain data 206 can be stored in the storage unit 21 of the computing device 200. 2 or in a separate area within the computing device 200. It can be stored in or made accessible by the blockchain. Chain data 206 can include a blockchain. The blockchain network 106, 110 can be composed of a number of blocks. Blockchain data 206 may also or alternatively be associated with In addition, one or more blockchain applications may be used by the computing device 200. This can include any data associated with the wallet. This can be, for example, a cryptographic key pair. A, unspent transaction output, digital asset amount, blockchain network 10 6 and 110 network identifiers, swap key pairs, signature generation algorithms, encryption algorithms Algorithms, etc.

[0038] The computing device 200 may also include a storage unit 212. 2 may use public and private keys, symmetric keys, etc., in performing the functions discussed herein. configured to store data for use by the computing device 200. The storage unit 212 can store the data using appropriate data formatting methods and schemas. The memory can be configured to store data as read-only memory, random access The storage unit 212 may be any suitable type of memory, such as a digital memory. , cryptographic keys and algorithms, communication protocols and standards, data format standards, Protocols and programs for processing device modules and application programs The code and the associated commands used in carrying out the functions disclosed herein, as will be apparent to one of ordinary skill in the art. and other data that may be suitable for use by the computing device 200. In one embodiment, the storage unit 212 may comprise a relational database. A relational database is a structured collection of stored data. It uses a structured query language to store, identify, modify, update, and access instances of For example, the storage unit 212 stores encryption keys, salts, nonces, and the blockchain nodes 108 and 11. 2 and communication information for the blockchain networks 106 and 110, address generation and verification algorithms, digital signature generation and verification algorithms, to generate reference values The hash algorithm of the authentication information may be stored in the authentication information storage unit.

[0039] The computing device 200 may include a query module 214. The remote module 214 may be configured to perform queries on a database to identify information. The query module 214 may be configured to: The character string can be received and stored in a storage device, such as the storage unit 212 of the computing device 200. Run a query string based on it on the database to identify the stored information The query module 214 may then, as necessary, query the identified information. , which may be output to an appropriate engine or module of the computing device 200. The query module 214 may, for example, perform queries on the blockchain data 206. The public key used to encrypt the digital signature generated via the proposal message. The open key can be identified.

[0040] The computing device 200 may also include a generating module 216 . The generation module 216 may be configured to generate a computing It may be configured to generate data for use by the device 200. The generation module 216 can receive instructions as input and generate data based on the instructions. and transmitting the generated data to one or more of the computing devices 200. For example, the generation module 216 may output a proposal message It can be configured to generate swap confirmation messages, digital signatures, data signals, key pairs, etc. can be achieved.

[0041] The computing device 200 may also include a cryptographic module 210 . The encryption module 210 encrypts the data using a key and an encryption algorithm. , or can be configured to decrypt encrypted data. , the blockchain data 206 or storage unit 212 of the computing device 200 or may be received by the receiving device 202. The encryption module 210 can receive data and instructions as input and can respond to the instructions. and then encrypting or decrypting the data and copying the resulting encrypted or decrypted data. The data may be output to another module or engine of the computing device 200. The encryption module 210 may, for example, use the swapped public key and another private key to generate a digital signature. The cryptographic signature is encrypted using the private key and the public key of the other cryptographic key. and so on.

[0042] The computing device 200 may also include a validation module 218. The authentication module 218 may be implemented on a computing device as part of the functionality discussed herein. The verification module 218 may be configured to perform a verification of the input device 200. It can receive instructions as input (including data to be used in performing the validation). The verification can be performed on demand and the results of the verification can be transmitted to a computing device. The output of the verification module 218 may be sent to another module or engine of the device 200. For example, the transaction verifies the digital signature using the appropriate signature generation algorithm and key. be configured to validate transaction values ​​and other data as discussed herein; can be done.

[0043] The computing device 200 may also include a transmitting device 220. 220 spans one or more networks via one or more network protocols. In one example, the transmitting device 220 may be configured to transmit data. Through one or more communication methods, the sending device 102, the receiving device 104, and the blockchain The data is sent to the application nodes 108 and 112, the verification system 114, and other entities. The one or more communication methods may be configured to communicate with one another via a local area network, a wireless internet, Rear network, cellular communication, Bluetooth, radio frequency, Internet, etc. In some embodiments, the transmitting device 220 may be composed of multiple devices. This can be achieved, for example, by using different transmission equipment for transmitting data over different networks. The apparatus includes a first transmitting device for transmitting data via a local area network and an internet The transmitting device 220 is a second transmitting device for transmitting data via the receiving a data signal with data overlaid thereon that can be parsed by a computing device that performs In some cases, the transmitting device 220 may transmit the data electronically. One or more modules for superimposing, encoding, or formatting a suitable data signal It may contain rules.

[0044] The transmitting device 220 electronically transmits the data signal to the transmitting device 102 or the receiving device 104. The data signal may be configured to transmit a public key, a swap key pair, A transaction value, a network identifier, a proposal message, or It may be overlaid or encoded with other data for use in performing the method. The transmitting device 220 may also be configured to electronically transmit a data signal to the verification system 114. This data signal can be configured for use in validating the swap. The sending device 220 may then overlay or encode the public key. and further configured to electronically transmit data signals to the chain nodes 108 and 112. The data signals include the proposal message, the swap confirmation message, and the overlaid or encoded with any other data used as discussed in the specification. It is possible.

[0045] Process for atomic exchange of digital assets 3A-3C illustrate the use of a temporary key pair, referred to herein as a swap key pair. Therefore, to atomically exchange digital assets on two different blockchains, Show the process.

[0046] In step 302, the sending device 102 and the receiving device 104 perform a data exchange. The two parties agree on a pair of blockchain transactions and associate them with the device. It can facilitate the exchange of digital assets between parties. The exchange of data is carried out using public keys and Unspent transaction output, digital signature, asset amount, and blockchain transaction The transaction is required for processing on each of the blockchain networks 106 and 110. At the end of step 302, the sending device The device 102 transfers the funds via blockchain transactions carried out on each blockchain. To exchange assets between the sending device 102 and the receiving device 104, two blocks are Generating transaction values ​​for each of the chain networks 106 and 110 In this case, sufficient data can be obtained to make the above possible.

[0047] In step 304, the creation module 216 of the sending device 102 creates a digital asset To achieve this exchange, the first and second blockchain transactions are In step 306, the sending device 102 may generate a transaction value. The generation module 216 generates the swap encryption key pair using a suitable key generation algorithm. In step 308, the generating module 2 of the sending device 102 16 can generate a proposal message for an atomic exchange. The message contains at least the swap public key of the swap key pair, as well as both blockchain tokens. For a transaction, it may include a transaction value and a network identifier. The network identifier is used to identify the associated blockchain network 106 or 107. 10. In step 310, the generating model of the sending device 102 The module 216 is generated using the two transaction values ​​and the network identifier. The proposed data is then encrypted by generating a digital signature over the root of the Merkle tree. In step 312, the encryption module of the sending device 102 can be signed. The system 210 uses the swap public key and the private key of the sending device 102 to ECDH can be used to encrypt a digital signature. This private key is then used to encrypt the The blockchain of one of the sending devices 102 in which the asset transfer is being performed In step 314, The sending device 102 may add an encrypted digital signature to the proposal message. do.

[0048] In step 316, the transmitting device 220 of the sending device 102 selects an appropriate communication method and Using the system, a receiving device 104 receives a proposal message containing an encrypted digital signature. In step 318, the receiving device 104 may transmit the message electronically. The receiving device 202 may receive the proposal message. The verification module 218 of the receiving device 104 verifies the two transactions in the proposal message. The parties agree to exchange digital assets by verifying the cryptographic signature and network identifier. The two blockchain transactions are correct, i.e. correct in terms of what was said In step 322, the generating module of the receiving device 104 The Merkle 216 is a Merkle generated using the transaction value and the network identifier. By signing the root of the tree, you can digitally sign your proposal message. In step 324, the encryption module of the receiving device 104 210 is a method for swapping public keys identified in a received proposal message and ... The generated digital signature can be encrypted using the private key of the The private key is stored on the receiving device of one of the blockchains where the asset transfer is taking place, for example. The private key of the cryptographic key pair that serves as the blockchain wallet for the device 104. At step 326, this additional encrypted digital signature is added to the first encrypted digital signature. The signature can be added to the proposal message, such as after the static signature.

[0049] In step 328, the sending device 220 of the receiving device 104 receives both encrypted Electronically transmitting the proposal message with the digital signature to the blockchain node 112 (e.g., the receiving device 104 may receive all blockchains involved in the asset exchange. A proposal message can be sent to the blockchain nodes of the blockchain network. However, for convenience, only one blockchain node in the blockchain network The actions performed by are illustrated in Figures 3A-3C and discussed herein). In step 330, the blockchain node 112 establishes a suitable communication network and The method may be used to receive a proposal message from the receiving device 104 .

[0050] In step 332, the blockchain node 112 performs a A new block can be generated for the blockchain using the proposal method. The message is included in the new block as a stored transaction data value. In step 334, the new block is generated using conventional methods and systems, e.g. For example, a new block may be sent to other blockchains in the blockchain network 110. distributed among all nodes and confirmed by a majority of the blockchain nodes, The block is considered to be added as the next block to the blockchain. In step 336, the receiving device 102 The device 202 may receive blockchain information, such as directly from a blockchain node 112 or in any other suitable manner. It is possible to receive new blocks on the blockchain.

[0051] In step 338, the verification module 218 of the sending device 102 verifies the proposal message. Verify that none of the transaction values ​​have been changed and that the second encrypted The proposed message can be guaranteed to be accurate, including having a digital signature attached to it. In step 340, the generating module 216 of the sending device 102 generates a digital A confirmation message may be generated for the exchange of the smart asset. The Swap secret key and the reference value of the proposal message may be included. The reference value is a hash of the proposed message added to the blockchain in a new block. Step 3: The hash value generated through application of a hash algorithm. At 42, the transmitting device 220 of the transmitting device 102 receives a suitable communication network and method. 2. Electronically sending a confirmation message to the blockchain node 112 using the can.

[0052] In step 344, the blockchain node 112 receives the confirmation message. In step 346, the new block is sent to the blockchain node 11. 2. A new block can be generated for the blockchain by The block contains a confirmation message. The block is then sent to the blockchain network 110 for confirmation. In step 348, the block may be distributed to other blockchain nodes in the A new block with a confirmation message can be added to the blockchain. By adding a confirmation message, the blockchain transaction on both blockchains is The transaction can then be considered processed. Each of the devices 102 and the recipient device 104 can receive digital signatures from other devices on the blockchain. The asset will be received.

[0053] An Exemplary Method for Atomic Exchange of Assets on Multiple Blockchains Figure 4 illustrates the transfer of digital assets across multiple blockchains through the use of ephemeral key pairs. This shows a method 400 for atomic exchange of assets. It is independent with respect to the platform and implementation, and the number of blockchains and asset transfers involved.

[0054] In step 402, a first computing device (e.g., sending device 102 ) may be generated (e.g., by generation module 216) The proposal message includes at least a first transaction value and a first blockchain a first network identifier corresponding to the second block, a second transaction value, and a second block The second network identifier corresponding to the backchain and the swap public key of the swap encryption key pair In step 404, the first digital signature is generated by the first computing device. In step 406, the suggestion message may be generated by the and executing a first encryption key pair on the first computer using the swap public key and the first private key of the first encryption key pair. The first digital signature of the computing device (e.g., by the encryption module 210) is , can be encrypted.

[0055] In step 408, the encrypted first digital signature is generated by the first computing device. The generated proposal message can be added by the processing device. At 0, the encryption of the first computing device (e.g., by the sending device 220) The generated proposal message, with the first digital signature appended, is then sent to the second computer. The notification may be electronically transmitted to a receiving device (eg, receiving device 104).

[0056] In one embodiment, the method 400 includes sending a suggested message by a second computing device. generating a second digital signature for the message and Then, generate a second digital certificate using the swapped public key and a second private key of the second cryptographic key pair. and encrypting the signature and transmitting, by the second computing device, the encrypted second The digital signature is added to the generated proposal message, which is encrypted with the first digital signature. and transmitting the encrypted first digital data by the second computing device to the second computing device. A second digital signature is added, which is encrypted. and sending a proposal message. The generated proposal message is then encoded by a second computing device into a second block. The blockchain network associated with the chain (e.g., A plurality of blockchain nodes (e.g., blockchain nodes 110) in the blockchain network In yet another embodiment, the signal may be transmitted to at least one of the plurality of nodes 112. The method 400 includes generating, by the first computing device, a confirmation message. and the confirmation message includes at least (i) an encrypted first digital signature. The generated proposal message with the attached and encrypted second digital signature. (ii) the swap private key of the swap cryptographic key pair and and a confirmation message generated by the first computing device. , multiple in a blockchain network associated with the second blockchain. and sending the blockchain node to the blockchain node. In yet another embodiment, the method 400 may include a third computing device ( For example, a verification system 114) may receive the generated confirmation from the second blockchain. The message and the encrypted first digital signature and the encrypted second digital signature are the generated proposal message with the digital signature added thereto; and The computing device then uses the swap private key and the first cryptographic decrypting the first digital signature using the first public key of the digital signature key pair; and verifying, by the computing device, the decrypted first digital signature; and It can be included in the following:

[0057] In one embodiment, the method 400 includes, before generating the suggestion message, generating, by the swapping device, a swap encryption key pair. In one embodiment, the first digital signature is a signature of a first transaction in the proposal message. a first network identifier, a second transaction value, and a second network In one embodiment, the first identifier may be generated by signing the first The transaction value is the first blockchain transaction using the first blockchain. Contains a hash value generated using the transaction data for the transaction. The second transaction value can be added to a second blockchain using a second blockchain. It can contain transaction data about the lockchain transaction. .

[0058] Computer System Architecture FIG. 5 illustrates a method for implementing an embodiment of the present disclosure, or a portion thereof, as computer readable code. 1 shows a computer system 500. For example, the sending device 102 and the receiving device 103 of FIG. 2. The computing device 200 of FIG. 2 includes hardware, a non-transitory memory that stores instructions, or a combination thereof to a computer system 5 00 and may be implemented in one or more computer systems or other processing systems. The hardware can be implemented in the method of FIG. The modules and components used to implement the present invention may be embodied.

[0059] Where programmable logic is used, such logic may be implemented as executable software. It runs on a commercially available processing platform configured with software code to perform specific purpose processing. Computers or special purpose devices (e.g., programmable logic arrays, application specific Those skilled in the art will appreciate that the embodiments of the disclosed subject matter may be implemented in a variety of forms. It will be appreciated that the present invention may be implemented using a computer system configuration. Typical computer system configurations include multi-core multi-processor systems, minicomputers, computers, mainframe computers, computers linked or clustered with distributed capabilities computers, as well as pervasive or small computers that can be embedded in virtually any device For example, at least one processor and a memory unit may be included to implement the above-described embodiments. It can be used to equip the

[0060] The processor units or devices discussed herein may include a single processor, multiple processors, or a combination of processors. A processor unit may be one or more processors, a processor, a processor unit, or a combination thereof. As discussed herein, the term "computer" may have a "data program medium," "non-transitory computer-readable medium," and "computer usable The “medium” generally refers to a removable storage unit 518, a removable storage unit 522, and tangible media such as a hard disk installed in the hard disk drive 512. Used to refer to the body.

[0061] Various embodiments of the present disclosure are described with reference to this exemplary computer system 500. After reading this description, you may wish to use other computer systems and / or computer architectures. It will be clear to one skilled in the art how to implement the present disclosure using the cloud. Although the operations may be described as sequential processes, some of the operations may actually be performed in parallel. , simultaneously and / or in a distributed environment, accessed by single or multi-processor machines The program code may be stored locally or remotely for execution. Additionally, in some embodiments, the order of operations may deviate from the spirit of the disclosed subject matter. can be reconstructed without

[0062] The processor unit 504 is specifically configured to perform the functions discussed herein. The processor unit 504 may be a dedicated or general purpose processor unit. The data can be connected to a network infrastructure 506, which can include, for example, a bus, a message queue, These include queues, networks, and multi-core message passing methods. , any network suitable for performing the functions as disclosed herein. It is possible to use local area networks (LANs), wide area networks (WANs), and wireless networks (e.g., iFi), mobile communication networks, satellite networks, the Internet, optical fiber, coaxial cables The present invention may include any combination of the above. The type and configuration of suitable networks will be apparent to those skilled in the art. The system 500 includes a main memory 508 (e.g., a random access memory, a read-only memory, The auxiliary storage unit 510 may also include a memory. may include a hard disk drive 512 and a removable storage drive 514. This includes, for example, floppy disk drives, magnetic tape drives, optical disk drives, flash memory, etc.

[0063] The removable storage drive 514 is connected to a removable storage unit 518 in a well-known manner. The removable storage unit 51 can read from and / or write to the removable storage unit 51. 8 is a removable storage medium that can be read and written by the removable storage drive 514 For example, the removable storage drive 514 may include a floppy disk drive. Removable storage unit 51 if it is a drive or universal serial bus port 8 can be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 518 may include a non-transitory computer readable It can be a recording medium.

[0064] In one embodiment, secondary storage 510 may store computer programs or other instructions. Alternative means for allowing the program to be loaded into the computer system 500, e.g., removable Such a method may include a readable storage unit 522 and an interface 520. Examples of stages include program cartridges and cartridge interfaces (e.g., video game memory chips (such as those found in system drives) and removable memory chips (such as EEPROM OM, PROM, etc.) and associated sockets, and other devices as will be apparent to those skilled in the art. The computer may include a removable storage unit 522 and an interface 520 .

[0065] Computer system 500 (e.g., main memory unit 508 and / or secondary memory unit 510) The data stored in may be stored on any type of suitable computer readable medium. This can be achieved, for example, by optical storage devices (e.g., compact discs, digital multimedia disks, Blu-ray disks, etc.) or magnetic tape storage devices (e.g. hard disks The data may be organized in any kind of suitable database structure. This can be done, for example, with relational databases, Structured Query Language (SQL) databases, databases, distributed databases, object databases, etc. Appropriate organization and recording The types of storage devices will be apparent to those skilled in the art.

[0066] Computer system 500 may also include a communications interface 524. Communications interface 524 communicates software and data with computer system 50. 0 and an external device. The communication interface 524 may be a modem, a network interface (e.g., Ethernet Network cards, communication ports, PCMCIA slots and cards, etc. The software and data transferred via the communication interface 524 may be in the form of signals. This may be an electronic signal, an electromagnetic signal, an optical signal, or any other signal that will be apparent to one of ordinary skill in the art. The signal may travel via communication path 526. It can be configured to carry signals and can be implemented using wires, cables, optical fibers, etc. , may be implemented using a telephone line, a cellular telephone link, a radio frequency link, etc. .

[0067] The computer system 500 may further include a display interface 502. A display interface 502 communicates data between the computer system 500 and an external display device. 530. The interface 502 is a high definition multimedia interface (HDMI), a digital Digital Visual Interface (DVI), Video Graphics Array (VGA), etc. The display device 530 may include a display interface for the computer system 500. The display device 502 may be any suitable type of display device for displaying the data transmitted via the display device 502. The display device can be a cathode ray tube (CRT) display device, a liquid crystal display (LCD) display device, or a combination of both. , Light Emitting Diode (LED) display, Capacitive Touch Display, Thin Film Transistor (TFT ) display devices, etc.

[0068] The computer program medium and the computer usable medium are the main memory 508 and the auxiliary memory 509. The auxiliary memory unit 510 may be a memory unit such as a memory semiconductor (e.g., a DRA These computer program products may be computer system The computer program may be a means for providing software to the system 500. The program (e.g., computer control logic) may be implemented in the main memory 508 and / or secondary memory 509. The computer program may be stored in the communication interface 510. Such a computer program may be received via the interface 524. When executed, the computer system 500 performs the methods as discussed herein. In particular, the computer program, when executed, can The processor unit 504 may implement the functions described in FIGS. 3A-3C and 4 as discussed herein. It is therefore possible to carry out the method shown in the above. The computer program may represent a controller of the computer system 500 . Where the present disclosure is implemented using software, the software may be implemented as a computer program. A removable storage drive 514, an interface 520, and A computer using a hard disk drive 512 or a communication interface 524 It can be loaded into the system 500.

[0069] The processor unit 504 is configured to perform the functions of the computer system 500. The module or engine may include one or more modules or engines. Each may be implemented using hardware, and in some cases, the main memory 508 or corresponding to the program code and / or program stored in the auxiliary storage unit 510 In such a case, the program code is Prior to execution by the hardware of the computer system 500, the processor unit 504 compiled (e.g., by a compiling module or engine) For example, the program code may be implemented in a processor unit 504 and / or a computer. For implementation by any additional hardware components of the computer system 500, Software written in a programming language that can be translated into a low-level language such as a text language or machine code. The compilation process includes lexical analysis, preprocessing, and syntax analysis. Analysis, semantic analysis, syntax-directed translation, code generation, code optimization, computer systems to a low-level language suitable for controlling the system 500 to perform the functions disclosed herein. This may include use with any other technique that may be suitable for translating program code. As a result of the above processing, the computer system 500 is uniquely programmed to perform the functions described above. It will be apparent to those skilled in the art that the present invention is a specially configured computer system 500 that is programmed for It would be obvious.

[0070] Techniques consistent with this disclosure include, among other things, using ephemeral key pairs to communicate across multiple blockchains. The present invention provides a system and method for atomic exchange of assets on a blockchain. Various exemplary embodiments of the system and method have been described above, which are intended to be illustrative and not limiting. It should be understood that the present invention is presented for illustrative purposes only, is not exhaustive, and may be modified in any way to suit the particular requirements set forth herein. It is not intended to be exhaustive or to limit the disclosure to the precise form set forth herein. Modifications and variations are possible in light of the above teachings. or modifications and variations are available from the practice of this disclosure without departing from the breadth or scope thereof. It can be done.

Claims

1. Use ephemeral key pairs to atomically exchange assets across multiple blockchains 1. A method for generating, by a first computing device, a suggestion message, The proposal message includes at least a first transaction value and a first blockchain a first network identifier corresponding to the transaction, a second transaction value, and a second block Swap publicly available the second network identifier corresponding to the link chain and the swap cryptographic key pair. a key; and A first digital signature is generated by the first computing device for the suggestion message. generating a signature for the the first computing device swapping public keys and a first cryptographic key pair; encrypting the first digital signature using a first private key of by the first computing device to the generated suggestion message, adding an encrypted first digital signature; transmitting, by the first computing device, a cryptographic sending the generated proposal message with a first digital signature appended thereto; and, A method comprising:

2. 10. The method of claim 1 , A second digital signature is generated by the second computing device for the suggestion message. generating a signature for the and swapping public keys and a second cryptographic key pair by the second computing device. encrypting the second digital signature using a second private key; generating, by the second computing device, the encrypted second digital signature; a first encrypted digital signature is added to the generated proposal message; And, A first digital signature is added by the second computing device, the first digital signature being encrypted. the generated proposal message with a second digital signature appended thereto that has been encrypted; and transmitting The method further comprising:

3. 3. The method of claim 2, wherein the generated proposal message is sent to the second computer. The computing device then computes the blockchain associated with the second blockchain. The transaction is sent to at least one of the multiple blockchain nodes in the blockchain network. How to do it.

4. 4. The method of claim 3, generating, by the first computing device, a confirmation message; The confirmation message includes at least (i) a first encrypted digital signature. the generated proposal message with a second digital signature added thereto and encrypted thereto; (ii) a swap private key of said swap encryption key pair; , and transmitting the generated confirmation message to the first computing device; The multiple blockchains in the blockchain network associated with a second blockchain sending the ciphertext to a blockchain node within a number of blockchain nodes; The method further comprising:

5. 5. The method of claim 4, and generating, by a third computing device, from the second blockchain. and a first digital signature added and encrypted. the generated proposal message having a second digital signature added thereto; and 、 the third computing device, 2. The method of claim 1, further comprising: converting the first digital signature into a public signature using a swap private key and a first public key of the first cryptographic key pair. Decrypting the signature; Verifying the decrypted first digital signature by the third computing device. To testify, The method further comprising:

6. 10. The method of claim 1 , and before generating the proposal message, by the first computing device, generating said swap encryption key pair; The method further comprising:

7. 2. The method of claim 1, wherein the first digital signature is a The first transaction value, the first network identifier, and the second transaction value. a transaction value and the second network identifier, ,method.

8. 2. The method of claim 1, wherein the first transaction value is a first block value. Transaction for the first blockchain transaction using the the second transaction value comprises a hash value generated using the transaction data, Regarding a second blockchain transaction using the second blockchain 4. A method for collecting, from, and / or processing transactions,

9. Use ephemeral key pairs to atomically exchange assets across multiple blockchains A system for: a first computing device; a second computing device; and A first blockchain; a second blockchain, wherein the first computing device comprises: generating a proposal message, the proposal message comprising at least a first A transaction value and a first network identification corresponding to the first blockchain. a second transaction value; and a second network corresponding to the second blockchain. a swap public key of the swap encryption key pair; generating a first digital signature for the proposal message; citing the first digital signature using the swap public key and a first private key of a first cryptographic key pair; and encrypting the digital signature. adding the encrypted first digital signature to the generated proposal message. And, a second computing device, the first digital signature being encrypted; transmitting the generated proposal message; Run the system.

10. 10. The system of claim 9, wherein the second computing device comprises: generating a second digital signature for the proposal message; ciphering the second digital signature using the swapped public key and a second private key of a second cryptographic key pair; and encrypting the digital signature. The encrypted second digital signature is added to the encrypted first digital signature. adding to the generated proposal message; The encrypted first digital signature is added and the encrypted second digital signature is added. transmitting the generated proposal message with the appended message; Run the system.

11. 11. The system of claim 10, A blockchain network associated with the second blockchain; and A plurality of blockchain nodes in the blockchain network; and wherein the generated suggestion message is to at least one of the plurality of blockchain nodes by Stem.

12. 12. The system of claim 11, wherein the first computing device comprises: generating a confirmation message, the confirmation message comprising at least: (i) A first encrypted digital signature is added and a second encrypted digital signature is added. (ii) a hash value generated using the generated proposal message added to the a swap private key of the swap encryption key pair; 5. Receive the generated confirmation message from the second blockchain A blockchain network includes a plurality of blockchain nodes. sending the received signal to the peer node; Further execute the system.

13. 13. The system of claim 12, further comprising a third computing device, the third computing device The generated confirmation message and the encrypted first block chain are then sent to the second block chain. the first digital signature added to said raw data and the second digital signature added to said raw data retrieving the proposed message; The swap private key and the first of the first encryption key pairs in the retrieved confirmation message decrypting the first digital signature using the public key of verifying the decrypted first digital signature; and Run the system.

14. 10. The system of claim 9, wherein the first computing device is The system further generates the swap encryption key pair prior to generating the message.

15. 10. The system of claim 9, wherein the first digital signature is the first transaction value in the A transaction value is generated by signing the second network identifier. , system.

16. 10. The system of claim 9, wherein the first transaction value is a first block value. Transaction for the first blockchain transaction using the blockchain a hash value generated using the transaction data; and for a second blockchain transaction using the second blockchain, A system that contains transaction data about

Citation Information

Patent Citations

  • Transaction method, program, verifying apparatus and creating method

    JP2020071617A

  • Method and system for atomic exchange of blockchain assets using ephemeral key pairs

    JP7571309B2

  • Cryptocurrency infrastructure system

    US20150371224A1

  • System and method for providing privacy and security protection in blockchain-based private transactions

    US20200118096A1

  • Computer-implemented systems and methods for using a blockchain to perform an atomic swap

    WO2019220270A1