A method and system for atomic exchange of blockchain assets using temporary key pairs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MASTERCARD INT INC
- Filing Date
- 2024-10-09
- Publication Date
- 2026-08-05
Smart Images

Figure 0007901131000001 
Figure 0007901131000002 
Figure 0007901131000003
Abstract
Description
Cross - reference to related applications
[0001] This application claims the benefit of U.S. Patent Application Publication No. 17 / 192,194, filed on March 4, 2021. The entire content thereof is incorporated herein by reference for all purposes.
Technical Field
[0002] This disclosure relates to using a temporary key pair to perform atomic asset exchanges on multiple blockchains. Specifically, this disclosure relates to the use of key pairs and digital signatures to enable atomic asset exchanges on two blockchains without modification based on the type of blockchain or specific implementation.
Background Art
[0003] Blockchains were first created as a storage mechanism for use in payment transactions using cryptocurrencies. Using a blockchain provides many advantages, such as decentralization, distributed computing, transparency regarding transactions, and providing anonymity regarding individuals or entities involved in the transactions. One of the more general aspects of a blockchain is that it is an immutable record. All transactions that are part of the chain are stored therein and cannot be changed due to computational [[ID=3s]] requirements and bandwidth limitations, especially as the chain grows and the blockchain network adds more nodes.
[0004]
[0004] As blockchains have become more popular, this technology has begun to be used for a variety of different applications and multiple types of digital currencies and assets. The creation of new blockchains... This can be done in a very short period of time using a single computing device. As a result, thousands of different brands have digital currencies associated with their own type of implementation. A lock chain was introduced. In one case, one or more parties were involved in a lock chain This includes performing currency exchanges from one blockchain currency to another, or other transactions involving two different blockchains. Transactions using digital currencies or other assets spread across the blockchain Alternatively, they may be interested in making other exchanges.
[0005] However, with current technology, a single transaction across both blockchains is not possible. They do not have the ability to perform the transaction. Therefore, in order to perform such an exchange, The process must be executed on each blockchain, and this requires both parties to ensure that each chain It requests participation in a transaction on the blockchain. Each party is one of the blockchains. If they are the sender in the case, they will be responsible for the other party carrying out their respective transfers. Without any guarantee that such assets will be transferred, the currency or digital assets must be transferred to the other party. To mitigate the possibility of fraud, parties often use escrow services. It is likely that each party will transfer their respective digital currency or assets to the escrow service. It will be. Escrow services will further transfer the assets to the appropriate parties, or if necessary. Accordingly, the initial transaction will be canceled. However, this solution will add This requires a transaction and the participation of a third party. This is often quite It may incur costs and require additional time and processing.
[0006] In some cases, one blockchain is used for asset exchange with other blockchains. Development of the protocol and other configurations has begun. However, the implementation of blockchain, How the operation is formatted, and the differences in other variations Therefore, such protocols and other configurations depend on the specific blockchain to which they apply. It must be specifically designed and adapted for blockchain. Each of them, for each of the other blockchains that they are eligible for asset exchange, Unless you have additional configuration data provided to all nodes in the chain network It must be. Thousands of blockchains exist, and each one must be specifically designed for it. In a configuration where this is unavoidable, this is a difficult, almost impossible task.
[0007] Therefore, it is agnostic in terms of blockchain implementation, and any two A solution is needed that will enable asset exchange across blockchains. . [Overview of the project]
[0008] This disclosure describes the use of temporary key pairs to atomically transfer assets across multiple blockchains. Provides a description of the system and method for making an exchange. Two parties to atomically exchange assets. When they agree to make the exchange, they will each have their own tokens on their respective blockchains. Transaction values can be generated for the transaction. The designation is combined with the network identifier of the corresponding blockchain network. Next, this set of data is digitally processed by one of the two parties, such as the sender. It is signed. Next, this digital signature is encrypted using the private key of the party and the public key of a new cryptographic key pair generated specifically for the swap. The encrypted digital signature is appended to the data along with the swap public key and provided to a counterparty such as the recipient. Next, the recipient generates its own digital signature for the data and encrypts the signature using its private key and the swap public key. Next, this completed package is submitted to at least one of the two blockchains for addition thereto. Next, each of the parties can view the message with the signature to ensure that both parties agreed on the transaction. Once the transaction is executed and completed, a confirmation message is posted to the blockchain along with the private key of the new cryptographic key pair. This enables any entity to verify the agreed-upon transaction by decrypting the digital signature. This can then be verified using the public key of each entity. The result is an atomic exchange of assets agreed upon by both parties. This can be executed on any two blockchains without any modification. This can be audited by any third party using only the public keys made available by the participants. A method for performing an atomic exchange of assets on multiple blockchains using a temporary key pair is to generate a proposal message by a first computing device, where the proposal message includes at least a first transaction value and a first block ... ... ... ... ... ...
[0009] ... ... ... A first network identifier corresponding to a first blockchain, a second transaction value, a second network identifier corresponding to a second blockchain, and a swap public key of a swap cryptographic key pair, and, generating, by a first computing device, a first digital signature for a proposal message, and encrypting, by the first computing device, the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and adding, 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 having the encrypted first digital signature added thereto to a second computing device. A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and add the encrypted first digital signature to the generated proposal message, and transmit the generated proposal message having the encrypted first digital signature added thereto to the second computing device. using the swap public key and the first private key of the first cryptographic key pair to encrypt the first digital signature; adding, 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 encrypted first digital signature added thereto to the second computing device. A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and add the encrypted first digital signature to the generated proposal message, and transmit the generated proposal message having the encrypted first digital signature added thereto to the second computing device. adding the encrypted first digital signature to the generated proposal message; and transmitting, by the first computing device, the generated proposal message with the encrypted first digital signature added thereto to the second computing device. A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and
[0010] using a temporary key pair to perform atomic swapping of assets on multiple blockchains, the system including a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and add the encrypted first digital signature to the generated proposal message, and transmit the generated proposal message having the encrypted first digital signature added thereto to the second computing device. A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and A system for performing atomic swapping of assets on multiple blockchains using temporary key pairs includes a first computing device, a second computing device, a first blockchain, and a second blockchain, the first computing device being configured to generate a proposal message, the proposal message including at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and a swap public key of a swap cryptographic key pair, and generate a first digital signature for the proposal message, and encrypt the first digital signature using the swap public key and a first private key of a first cryptographic key pair, and add the encrypted first digital signature to the generated proposal message, and transmit the generated proposal message having the encrypted first digital signature added thereto to the second computing device. The proposed message will have an encrypted first digital signature attached, and a second computer... The generated proposal message, to which the first encrypted digital signature is attached to the testing device. Send the message and execute the command.
[0011] The scope of this disclosure, when read in conjunction with the accompanying drawings, includes the following detailed examples of exemplary embodiments. It is best understood from the explanation. The following diagrams are included in the drawings. [Brief explanation of the drawing]
[0012] [Figure 1] This block diagram shows a high-level system architecture for atomic exchange of assets across multiple blockchains, according to an exemplary embodiment. [Figure 2] This block diagram shows a computing device for the system of Figure 1 for atomic exchange of digital assets across multiple blockchains, according to an exemplary embodiment. [Figure 3A] This flowchart illustrates a process for atomically exchanging digital assets across multiple blockchains, using an exemplary embodiment. [Figure 3B] This flowchart illustrates a process for atomically exchanging digital assets across multiple blockchains, using an exemplary embodiment. [Figure 3C] This flowchart illustrates a process for atomically exchanging digital assets across multiple blockchains, using an exemplary embodiment. [Figure 4] A schematic diagram illustrates an exemplary method for atomically exchanging assets across multiple blockchains using a temporary key pair, according to an exemplary embodiment. [Figure 5] This block shows a computer system architecture according to an exemplary embodiment. [Modes for carrying out the invention]
[0013] Further areas of application of this disclosure will become apparent from the detailed description provided below. The detailed description of the exemplary embodiments is intended for illustrative purposes only, and therefore Please understand that this is not necessarily intended to limit the scope of this disclosure.
[0014] Glossary Blockchain - Public disclosure of all transactions of blockchain-based currencies Ledger. One or more computing devices include a blockchain network. This is possible. The blockchain network is part of the blocks within the blockchain. It can be configured to process and record transactions. Once completed, the block is added to the blockchain, and the transaction record is added to it. Therefore, it is updated. In many cases, the blockchain is a chronological order of transactions. It can serve as a ledger, or is suitable for use on a blockchain network. It can be presented in any other order. In one configuration, it is recorded in the blockchain. A block transaction can include a destination address and a currency amount, for example, The chain records how much of the currency can belong to a particular address. In the example, some transactions are financial, while others are not. Transactions include additional or different information such as source address and timestamp. It may include information. In one embodiment, blockchain may further or alternatively, Even by that operator, the data record is continuously growing, strengthened against tampering and modification. Transitors are located in, or need to be located in, a distributed database that maintains a list of them. Blockchain can contain almost any type of data in its transaction form. This includes proof of work and / or any other applicable materials associated therewith. Through sophisticated verification technology, it will be confirmed and verified by the blockchain network. This is possible. In some cases, the data relating to a given transaction is the transaction This includes additional data that is not directly part of the transaction attached to the data. It is possible. In some cases, including such data within the blockchain is possible. Transactions can be constructed. In such cases, blockchain can This does not directly relate to specific digital currencies, cryptocurrencies, fiat currencies, or other types of currencies. Sometimes they cannot be connected.
[0015] A system for atomic exchange of digital assets Figure 1 shows how to use a temporary key pair to access digital assets on multiple blockchains. This shows system 100 for performing MIC exchange. This is the blockchain format This enables the exchange of assets regardless of their underlying technology or implementation.
[0016] In system 100, the transmitting device 102 and the receiving device 104 are connected to two different blocks. There may be interest in exchanging digital assets held on the chain. As discussed, the two blockchains are not arbitrary in terms of implementation, format, etc. It is possible. The method discussed below involves transferring ownership from one owner or control entity to another owner. Alternatively, the blockchain stores digital assets that can be transferred to a controlling entity. To the extent that it is applicable, it can be applied regardless of the type or implementation of the blockchain involved. The transmitting device 102 and the receiving device 104 are shown in more detail below in Figures 2 and 5. It can be any type of computing device that can be discussed. For example, Mobile phones, smartphones, desktop computers, laptop computers, These include bullet computers, smart TVs, and notebook computers. Each of the chains is part of the first blockchain network 10, as shown in Figure 1. Blockchain networks such as 6 and 2nd Blockchain Network 110 It can be managed and maintained by [the relevant authority].
[0017] Each blockchain network 106 and 110 has multiple blockchains It can consist of node 108 and 112. Each blockchain node 1 08 and 112 are shown in Figure 5 and will be discussed in more detail below as computing This computing system can be a blockchain system. It is configured to perform functions related to the processing and management of blocks. Generation of blockchain data values, verification of proposed blockchain transactions, digital signature Name verification, new block generation, new block verification, and blockchain replication. This includes maintaining it.
[0018] Blockchain is a distributed ledger consisting of at least several blocks. Yes, each block must include at least a block header and one or more data values. This is possible. Each block header contains at least a timestamp, a block reference value, and data. It can include reference values. The timestamp is the time the block header was generated. It can be done using any appropriate method (e.g., UNIX timestamp, datetime type (DateTime)) It can be represented using (etc.). Block reference values are more It can be a value that references the previous block (for example, based on a timestamp). In one embodiment, block reference values in a block header are placed before each block. This can be a reference to the block header of a recently added block. Example implementation: In terms of form, the block reference value is the hash of the block header of the most recently added block. The hash value can be generated through the process. Similarly, the data reference value can be a block. It can be a reference to one or more data values stored within a block that includes a header. In an exemplary embodiment, the data reference value is generated through hashing one or more data values. It can be a hash value. For example, a block reference value is one or more data This value can be used to create the root of the Merkle tree.
[0019] The use of block reference values and data reference values in each block header is required for the block chain. This can result in the value being immutable. Attempting to modify any data value will cause the block to remain unchanged. This will require the generation of a new data reference value for the subsequent block. A new reference value will need to be generated for each subsequent block. This requires the generation of a new block reference value. This is necessary to make the change persistent. Before generating a block and adding a new block to the blockchain, the blockchain It runs and updates on every single blockchain node within the network. It would have to be possible. Computational and communication limitations, if not impossible, This makes modifications like this extremely difficult, and therefore, it can make the blockchain immutable. ru.
[0020] In one embodiment, the blockchain is used between two different blockchain wallets. Used to store information about blockchain transactions that take place. Blockchain wallets can contain the private key of a cryptographic key pair. This acts as digital confirmation by the payer of a blockchain transaction. Used to generate digital signatures. Digital signatures use the public key of a cryptographic key pair. It can be verified by a lock chain network. In some cases, the term "B "Lockchain wallet" can specifically refer to a private key. In other cases, the term " A "blockchain wallet" is used in blockchain transactions. Computing devices that store the secret key for (for example, the transmitting device 102 and the receiving device) Device 104) can be used to refer to each computing device. For example, each computing device is its own Each key pair can have its own private key, and each can be part of the blockchain. Used in transactions with blockchains associated with the network. It can be used as a blockchain wallet. The computing device is It can be any type of device suitable for storing and using a lockchain wallet. Yes, it is possible. This applies to, for example, desktop computers, laptop computers, and no Book computers, tablet computers, mobile phones, smartphones, smart Watches, smart TVs, wearable computing devices, embedded computers These include devices such as swiping equipment.
[0021] Each blockchain data value stored within the blockchain, if applicable, It can handle lock chain transactions or other data storage. A chain transaction is a currency that is generated using, at the very least, the sender's private key. The sender's (e.g., sending device 102) digital signature and the receiver's public key are used to generate the signal. The blockchain address of the recipient of the currency being transferred (e.g., receiving device 104), and It can consist of the amount of blockchain currency to be transferred or other stored data. It is possible. Also, in some blockchain transactions, the transaction is block The chain currency is currently stored (for example, a digital signature grants access to such a currency). (To prove) One or more blockchain addresses of the sender and held by the sender It may include an address generated using the sender's public key for any changes. The address to which the cryptocurrency was sent, which may be used in future transactions, is " This is called the "output" address, and each address is the previous blockchain transaction This was previously used to capture the output of, and is also referred to as an "unused transaction". This is called an add in a previous transaction where the currency was still unused. This is because there is currency sent to the response. Also, in some cases, blockchain transactions The transaction is sent for use by entities when validating the transaction. It can contain the user's public key. For traditional blockchain transaction processing. Therefore, such data is transmitted via blockchain network by either the sender or the receiver. This will be provided to blockchain node 108 or 112 within twork 106 or 110. This is possible. The node uses the public key in the sender's wallet's cryptographic key pair to digitally The signature can be verified. Also, the node can (for example, if unused transactions are (Not used, sent to an address associated with the sender's wallet) The process of verifying the user's access to funds, known as "confirming" the transaction, and then This allows blockchain transactions to be included within a new block. In traditional blockchain implementations, blocks are added to the blockchain, and blocks Blockchain node 108 or 112 within chain network 106 or 110 Before being distributed to each of them, within blockchain network 106 or 110 It can be verified by other nodes. Blockchain data values It is not related to one-time transactions, but is instead related to the storage of other types of data. In this case, blockchain data values still include digital signature verification, or It can be accompanied by digital signature verification.
[0022] In system 100, the transmitting device 102 and the receiving device 104 (for example, or their control Or entities that own them) Block 1 of Blockchain 110 and Block 2 of Blockchain Network 110 One might be interested in exchanging assets stored in a chain. For example, The transmitting device 102 has a first digital currency amount on the first blockchain. Yes, they can (for example, via the associated blockchain wallet) The receiving device 104 exchanges it for a second digital currency on a second blockchain. I am interested in this. In the conventional system, each blockchain network 106 and 1 10 enables such exchanges, where assets are transferred on both blockchains. In order to ensure this, each blockchain must be configured accordingly. ru.
[0023] In system 100, both parties, the transmitting device 102 and the receiving device 104 A proposal message can then be generated and signed by both parties. When agreed upon, it will be implemented on both the first and second blockchains. It acts as a transaction confirmation. The proposed message is sent to the sending device 102 or the receiving device. It can be generated by setting 104, and for both transactions, the transaction Includes the transaction value and network identifier. The transaction value is blockchain number It is sent to code 108 or 112, (for example, on one of the blockchains, the sending device) From 102 to the receiving device 104, and from the receiving device 104 on the other blockchain. (To the sending device 102) Transiters for transferring assets on each blockchain This can be the data that will achieve the action. Network identifier Each blockchain network can be used to identify a blockchain. This can be a unique value associated with workpiece 106 or 110.
[0024] Furthermore, the proposed message includes the public key of the cryptographic key pair generated for atomic exchange (this one The statement may include a "swap" key pair. This public key may be included in this statement. In the text, this can be called a "swap public key". The swap key pair is sent by the sending device 10 2 or can be generated by the receiving device 104, and the swap public key and the corresponding sw It may include a private key. In some cases, the device that generates the proposal message is It is possible to generate a swap key pair. In other cases, other devices generate a swap key pair. This can be done, and both keys can be electronically transmitted to other devices.
[0025] Therefore, the proposed message applies to both desired blockchain transactions. It can include the swap public key, transaction value, and network identifier. The device that generates the proposal message can digitally sign the proposal message. Yes, it is possible. In one embodiment, the device processes transaction values and network data in a predetermined order. An identifier can be used to generate a Merkle tree, and the root of the Merkle tree is It can be digitally signed. Next, the device swaps the public key with its own private key (for example) If the blockchain used in both the first and second blockchains... Chain wallet, or the first blockchain or the second blockchain A blockchain wallet that can be used for any of the blockchain A digital signature is created using a combination of the private key of the cryptographic key pair used as the wallet. It can be encrypted. In some cases, if the device has two or more encryption key pairs, it can be used The private key used is the private key of a blockchain transaction in which the device is the sender. , can be predetermined according to one or more established rules. Encrypted digital The signature is added to the proposed message in a designated location, prepended to, or added to. It is possible.
[0026] Next, the proposed message is generated by the sending device 102 to the receiving device 104, etc. The data can be sent to the next device by the device. The receiving device 104 processes the transaction. The value and network identifier are verified to confirm that the transaction is correct and agreed upon. This guarantees that the assets being transferred are of an appropriate value, for example. This is possible. The receiving device 104 (for example, or, where applicable, the transmitting device 102) If the transaction value and network identifier are met, the receiving device 104 proposes You can generate your own digital signature for a message. The digital signature is a proposal. The first digital signature generated for the message is used by the sending device 102. Using the same data that was used (for example, transaction values and network identifiers) It can be generated using the root of the Merkle tree that was generated. Then, receive The side device 104 retrieves the swap public key (for example, from the received proposal message). And their own secrets (determined according to any applicable rules, as mentioned above, for example) The digital signature can be encrypted using the key. The encryption of the receiving device 104 The digital signature is the final digital signature of the proposed message after the encrypted digital signature of the sending device. It can be added to the suggestion message in a predetermined way, such as by being appended later.
[0027] Next, the proposed message, which has both encrypted digital signatures, is the first block. Blocks in the chain network 106 and the second blockchain network 110 It can be submitted to chain nodes 108 and 112, respectively. Nodes 108 and 112, respectively, were generated, verified, and added to their respective blockchains. The newly added block may contain a suggestion message. In one embodiment, Each proposed message can be generated for each blockchain. The transaction value of the blockchain is determined by the hash of that transaction value. It can be replaced. In such an example, the generated for each suggestion message The digital signature is the result of the modified transaction value in each proposed message and This can differ. One of the transaction values in each of the proposed messages is a hash value. Replacing it with this will result in a significant reduction in the file size of the proposed message. This allows us to improve the performance of each part of the blockchain. .
[0028] After the proposed message is added to both blockchains, the sending device 102 and the receiving device... Each of the side devices 104 can view the proposed message added to each of the blockchains. For example, if another entity agrees to both transactions and adds a digital signature This can be guaranteed. When the proposed message is added to the blockchain, The Tomic exchange can be verified. This is because the swap is performed and shown. This will result in the transfer of ownership of the assets. To confirm the swap, the equipment One of them (for example, the transmitting device 102 or the receiving device 104) will send a swap confirmation message. Sage can be generated. The swap confirmation message is at least the proposed message. It can include a hash reference to the key and the swap private key of the swap key pair. The hash reference of the proposed message is the final proposed message added to the blockchain. The hash of the proposed message generated by applying an appropriate hash algorithm to it This can be used as the Shu value. When each blockchain receives a different proposal message. So, using the hash reference to the appropriate proposal message, each blockchain... This allows for the generation of separate swap confirmation messages.
[0029] Next, the completed swap confirmation message will be sent to the appropriate blockchain network 10 It can be sent to blockchain node 108 or 112 within 6 or 110. Blockchain node 108 or 112 then uses conventional methods and systems A swap confirmation message can be included within the new block that is generated and confirmed. As a result, using the proposal message and the swap confirmation message, the proposal message contains The included transaction values are accepted as valid transactions (honor), and Therefore, digital assets will be exchanged on both blockchains. cormorant.
[0030] By disclosing the swap private key in the swap confirmation message, any interested entity can access it. A system such as T or verification system 114 can verify the swap. The swap is verified by both encrypted digital signatures included in the proposed message. This may include verifying the name. Each digital signature is handled by its respective device (e.g., appropriate If available, swap the public key and private key of the transmitting device 102 or the receiving device 104. Since it is encrypted using this method, decryption uses the swapped private key and the public key of each device. This can be executed. This may be available within the blockchain itself. It can be made available by or by the device. For example, verification system 114 swap For verification purposes, the transmitting device 102 and the receiving device 104 can be contacted. Device 102 and receiving device 104 can provide their respective public keys. Verification system Tem 114 uses the swap private key from the swap confirmation message and the public key from each device. It can be used to decrypt each digital signature and then verify that digital signature. In this way, the verification system 114 is used (for example, to decrypt the signature) (Because the public key is from the same wallet used in the asset transfer.) The swap is verified to ensure that the proposal has been properly signed by the entities involved. It is possible. Encryption and decryption using the keys described above are possible with elliptic curve diffs. Shared via the Hermann (ECDH) protocol or other elliptic curve cryptography techniques, etc. It can be executed using secrecy. For example, the RSA encryption system can be used as an alternative. This can be done. The swap public key is used for encryption, and the swap private key is used for decryption. It is used for that purpose.
[0031] In one embodiment, the transfer of assets involves three or more entities and / or three or more blocks. It can include a chain. In such cases, the suggestion message is an additional asset. For the transfer, additional transaction values and network identifiers may be included. Proposal messages and swap confirmation messages may include any additional block messages as needed. Regarding the chain network, it can be sent to any additional blockchain node. Yes, it is possible. The methods and systems discussed herein involve transfers, entities, or Regardless of the number of blockchains, and the format and implementation of each blockchain This allows for the atomic exchange of assets using the same methodology, without relying on the other party. ru.
[0032] Therefore, the methods and systems discussed herein apply to multiple blockchains. This provides a significant improvement in the atomic exchange of digital assets. Since this method does not rely on blockchain, this method can be used to create digital assets without modification. It can be applied to any of the thousands of blockchains that currently exist, which involve production. It still applies to any new blockchain that is under development but does not currently exist. It is possible. Additionally, the methods discussed herein involve any number of entities. Alternatively, it can be applied to asset transfers, the only difference being the size of the confirmation message (e.g.) For example, as mentioned above, arbitrary transactions that are not applicable to individual blockchains Using hashes for the value of the value adds a minimum to the file size, and additional (Transactions can be facilitated). Therefore, the methods and systems discussed herein Mu enables atomic exchange of digital assets across multiple blockchains. It offers a significant improvement over existing methods.
[0033] Computing device Figure 2 shows one embodiment of the computing device 200. This is, for example, a system It can be used as the transmitting device 102 or the receiving device 104 within M100. The embodiments of the computing device 200 shown in 2 are provided for illustrative purposes only. A computing device 200 suitable for performing the functions discussed in the specification. It will be obvious to those skilled in the art that it is not possible to cover all possible configurations. For example, The computer system 500, shown in Figure 5 and discussed in more detail below, is a computer system. This allows for an appropriate configuration of the coating device 200.
[0034] The computing device 200 may include a receiving device 202. 2 is data across one or more networks via one or more network protocols. It can be configured to receive data. In one example, the receiving device 202 may have one or more Through the above communication method, the transmitting device 102 and the receiving device 104, and the blockchain Codes 108 and 112, verification system 114, and other systems and entities It can be configured to receive data. This communication method can be, for example, radio frequency , on-premises communication network, wireless area network, cellular communication network, Bluetooth h, the internet, etc. In one embodiment, the receiving device 202 receives from multiple devices It can be configured to receive data over different networks. A different receiving device for receiving data via the local network, the first receiving device This includes a device and a second receiving device for receiving data via the Internet. The communication device 202 can receive electronically transmitted data signals. The data is The data signal can be superimposed on or encoded by the data signal received by the receiving device 202. Through reception, it can be decoded, parsed, read, or retrieved. In one case, the receiving device 202 syntactically parses the received data signal and superimposes it. A parsing module can be included to retrieve the received data. For example, a receiving device 202 can include a parser program. The parser program receives and receives The processed data signals are used to perform the methods and systems described herein by a processing unit. It is configured to be converted into usable input for the function performed by it.
[0035] The receiving device 202 is electronically transmitted by the transmitting device 102 or the receiving device 104. It can be configured to receive a data signal. This data signal contains a public key, WAP key pair, transaction value, network identifier, proposal message, or this item Other data to be used when implementing the methods discussed in the book, superimposed or coded It can be converted. Also, the receiving device 202 is electronically converted by the verification system 114. It can be configured to receive a transmitted data signal, and this data signal is Swa It can be superimposed on or encoded in the public key request used when verifying the link. The receiving device 202 electronically transmits data via blockchain nodes 108 and 112. It can be further configured to receive a transmitted data signal. This data signal is For example, when a proposed message is successfully added to the associated blockchain. To identify individuals, etc., it is superimposed on or encoded in blockchain data. It is possible.
[0036] Furthermore, the computing device 200 may include a communication module 204. Module 204 is used when performing the functions discussed herein. The log, engine, database, memory unit, and computing device 200, among others. It can be configured to transmit data to and from its components. Communication module 2 04 can consist of one or more communication types, and within the computing device Various communication methods can be used for communication. For example, communication module 204, It can consist of buses, contact pin connectors, wires, etc. Also, in some implementations In terms of configuration, the communication module 204 is an internal component of the computing device 200, External computing devices 200 such as externally connected databases, display devices, and input devices It can be configured to communicate with other components. The 200 may include a processing apparatus. The processing apparatus is as will be obvious to those skilled in the art. , configured to perform the functions of the computing device 200 discussed herein It is possible. In one embodiment, the processing unit has a query module 214, a generation module Module 216, verification module 218, etc., are specially configured to perform one or more functions of the processing unit. Includes and / or consists of multiple separately configured engines and / or modules. It can be done. As used herein, the term “module” means a module that receives input. , specifically programmed to take an input and perform one or more operations, and to provide an output. It can be software or hardware. It is executed by various modules. The inputs, outputs, and processing will be obvious to those skilled in the art based on this disclosure.
[0037] Furthermore, the computing device 200 may include blockchain data 206. Yes, it is possible. Blockchain data 206 is stored in the memory unit 21 of the computing device 200. It can be stored in 2, or in a separate area within the computing device 200. It can be stored, or thereby made accessible. Chain data 206 can include blockchain. Blockchain is multi It can consist of a number of blocks, and the blockchain network 106, 110 It can be associated with. Blockchain data 206 can also be used as an alternative. and one or more blockchains that can be used by the computing device 200 It can contain any data associated with the wallet. This could be, for example, a cryptographic key. A. Unused transaction output, digital asset value, blockchain network 10 6 and 110 network identifiers, swap key pairs, signature generation algorithms, cryptographic Examples include argolism.
[0038] Furthermore, the computing device 200 may include a storage unit 212. 2 refers to the function discussed herein, such as public and private keys, symmetric keys, etc. Configured to store data for use by the computing device 200 It can be done. The storage unit 212 uses an appropriate data formatting method and schema. It can be configured to store data in read-only memory, random access It can be any suitable type of memory, such as a memory module. For example, the storage unit 212 is , encryption keys and algorithms, communication protocols and standards, data format standards and Protocols and programs for the processing unit modules and application programs The code and, as will be obvious to those skilled in the art, when performing the functions disclosed herein Including other data that may be suitable for use by computing device 200. This is possible. In one embodiment, the storage unit 212 is composed of a relational database. It is possible, or it may include such a feature. A relational database is a collection of stored structured data. A structured query language is used for storing, identifying, modifying, updating, and accessing data. For example, The memory unit 212 stores the encryption key, salt, nonce, blockchain nodes 108 and 11 Communication information and address generation for blockchain networks 106 and 110. and verification algorithms, digital signature generation and verification algorithms, and for generating reference values It can be configured to store hash algorithms and the like.
[0039] The computing device 200 may include a query module 214. Remodule 214 executes queries on the database to identify information. It can be configured as follows. The query module 214 contains one or more data values or queries. It can receive strings, and the storage unit 212 of the computing device 200, etc. On the database, execute query strings based on it to identify the stored information. It is possible. Next, the query module 214 will, if necessary, retrieve the identified information. The output can be sent to the appropriate engine or module of the computing device 200. The query module 214, for example, executes queries on blockchain data 206. And public used to encrypt the digital signature generated via the proposed message It can identify the unlocking key.
[0040] Furthermore, the computing device 200 may include a generation module 216. The generation module 216 computes when performing the functions discussed herein. It can be configured to generate data for use by the device 200. The generation module 216 can receive instructions as input and generates data based on the instructions. It can generate and the generated data can be stored in one or more computing devices 200 It can be output to a module. For example, the generation module 216 can output the proposed message It is configured to generate swap confirmation messages, digital signatures, data signals, key pairs, etc. It can be done.
[0041] The computing device 200 may also include an encryption module 210. The encryption module 210 encrypts the data using a key and an encryption algorithm. They can be configured to decrypt encrypted data, for example. , blockchain data 206 or storage unit 212 of the computing device 200 It can be stored in or received by the receiving device 202. The encryption module 210 can receive data and commands as input, and responds to commands Then the data is encrypted or decrypted, and the resulting encrypted or decrypted data is converted The output can be sent to another module or engine of the computing device 200. The signature module 210, for example, uses swap public keys and other private keys to digitally sign. Encrypting the data, and decrypting the digital signature using the swapped private key and other public keys. It can be configured to perform actions such as the above.
[0042] The computing device 200 may also include a verification module 218. As part of the functions discussed herein, the verification module 218 is a computing device It can be configured to perform verification of the 200. The verification module 218 is input It can receive commands as a force (this also includes data used when performing verification). (It may be possible to see), perform verification on request, and the results of the verification can be computed It can output to another module or engine at location 200. Verification module 218 For example, verifying a digital signature using an appropriate signature generation algorithm and key, It is configured to verify the interaction value with other data discussed herein. It is possible.
[0043] Furthermore, the computing device 200 may include a transmitting device 220. 220 spans one or more networks via one or more network protocols. It can be configured to transmit data. In one example, the transmitting device 220 is 1 The transmitting device 102, the receiving device 104, and the blockchain are communicated via one or more communication methods. Send data to node 108 and 112, verification system 114, and other entities. It can be configured to communicate. This one or more communication methods include a local network, wireless network, etc. Rear network, cellular communication, Bluetooth, radio frequency, internet In one embodiment, the transmitting device 220 can be composed of multiple devices. This is, for example, different transmission equipment for sending data over different networks. It is a first transmitting device and internet for transmitting data via the on-premises communication network. This includes a second transmitting device for sending data via the receiver. The transmitting device 220 is a receiving device. Data signals in which data is superimposed can be parsed by a computing device. It can be transmitted electronically. In one example, the transmitting device 220 transmits the data to One or more modules for superimposing, encoding, or formatting a suitable data signal. It can include a .
[0044] The transmitting device 220 electronically transmits the data signal to the transmitting device 102 or the receiving device 104. It can be configured to transmit. This data signal includes the public key, the swap key pair, Transaction values, network identifiers, proposed messages, or any other terms discussed herein It can be overlaid or encoded with other data used when performing the method. The transmitter 220 also electronically transmits the data signal to the verification system 114. It can be configured as follows. This data signal is used when verifying the swap. The public key can be superimposed or encoded on it. The transmitting device 220 blocks It is further configured to electronically transmit data signals to chain nodes 108 and 112. This data signal includes a proposal message, a swap confirmation message, and this Overlaid on or encoded with any other data used as discussed in the specification It is possible.
[0045] Processing for atomic exchange of digital assets Figures 3A to 3C illustrate the use of a temporary key pair, referred to as a swap key pair in this specification. Therefore, to perform atomic exchange of digital assets on two different blockchains This shows the process.
[0046] In step 302, the transmitting device 102 and the receiving device 104 perform data exchange. They then agree to a pair of blockchain transactions and associate them with the device. This can facilitate the exchange of digital assets between the parties involved. Data exchange is done using public keys and Unused transaction output, digital signature, asset value, and blockchain transaction For the transaction to be processed on each of the blockchain networks 106 and 110, This may include the exchange of other necessary data. At the end of step 302, the transmitting side equipment Placement 102 is performed via blockchain transactions on each blockchain. To exchange assets between the transmitting device 102 and the receiving device 104, two blocks To generate transaction values for each of the chain networks 106 and 110. It is possible to have sufficient data to do so.
[0047] In step 304, the generation module 216 of the transmitting device 102 generates digital assets In order to achieve the exchange, the first and second blockchain transactions A ransaction value can be generated. In step 306, the transmitting device 102 The generation module 216 uses an appropriate key generation algorithm to swap cryptographic key pairs. It can be generated. In step 308, the generation module 2 of the transmitting device 102 16 can generate a proposal message for atomic exchange. This includes, at a minimum, the swap public key of the swap key pair, as well as both blockchains. Regarding the transaction, it can include the transaction value and the network identifier. The network identifier is the associated blockchain network 106 or 1 10 is a unique identifier. In step 310, the generation of the transmitting device 102 Joule 216 is generated using two transaction values and a network identifier. By generating digital signatures across the root of the Merkle tree, the proposed date The data can be signed. In step 312, the encryption module of the transmitting device 102 The code 210 uses the swap public key and the private key of the sending device 102, Digital signatures can be encrypted using ECDH. This private key can be, for example, Blockch of one of the blockchains on which the asset transfer is being carried out, sender device 102 This is the private key of the cryptographic key pair that functions as a chain wallet. In step 314, The sending device 102 can attach an encrypted digital signature to the proposed message. ru.
[0048] In step 316, the transmitting device 220 of the transmitting device 102 uses an appropriate communication method and The system is used to send a proposal containing an encrypted digital signature to the receiving device 104. Messages can be transmitted electronically. In step 318, the receiving device 104 The receiving device 202 can receive the proposed message. In step 320 The verification module 218 of the receiving device 104 checks the two transactions in the proposed message. The exchange of digital assets is confirmed by verifying the value and network identifier. The two blockchain transactions are correct, including the fact that they are appropriate. This can be guaranteed. In step 322, the generation module of the receiving device 104 Ru216 is a Merkl generated using transaction values and network identifiers. By signing the root of the tree, you can digitally sign your proposal message. It can be generated. In step 324, the encryption module of the receiving device 104 210 is the swap public key identified in the received proposal message and the receiving device The generated digital signature can be encrypted using 104 private keys. The private key is, for example, the receiving side of one of the blockchains on which the asset transfer is being performed. This is the private key of the cryptographic key pair that functions as a blockchain wallet for device 104. In step 326, this additional encrypted digital signature is the first encrypted digital It can be added to the proposal message after the signature.
[0049] In step 328, the transmitting device 220 of the receiving device 104 transmits both encrypted A proposal message with a digital signature is electronically sent to blockchain node 112. (For example, the receiving device 104 can access all blocks involved in asset exchange.) You can send a proposal message to a blockchain node in the chain network. However, for convenience, just one blockchain node in the blockchain network The actions performed by are shown in Figures 3A to 3C and discussed herein. In step 330, blockchain node 112 has a suitable communication network and Using this method, a proposal message can be received from the receiving device 104.
[0050] In step 332, blockchain node 112 uses conventional methods and systems This can be used to generate a new block on the blockchain. The message is included in the new block as a transaction data value to be stored. In step 334, the new block is constructed using conventional methods and systems, for example. For example, a new block is added to other blockchains within blockchain network 110. Distributed across nodes, verified by the majority of blockchain nodes, and thereby By being considered as the next block to be added to the blockchain, It can be posted on the chain. In step 336, the receiving of the transmitting device 102 Device 202 is directly connected to blockchain node 112 or other suitable method, etc. It is possible to receive new blocks on the chain.
[0051] In step 338, the verification module 218 of the transmitting device 102 performs the proposed message The data was verified, and none of the transaction values were changed, and the second encrypted data Ensuring the accuracy of the proposal message, such as by adding a digital signature, Yes, it is possible. In step 340, the generation module 216 of the transmitting device 102 generates digital A confirmation message can be generated for the exchange of assets. It may include the WAP secret key and the reference value of the proposed message. In one embodiment, The reference value is a hack to the proposed message added to the blockchain within the new block. This can be a hash value generated through the application of the Sch algorithm. Step 3 In 42, the transmitting device 220 of the transmitting device 102 uses an appropriate communication network and method. This allows you to electronically send a confirmation message to blockchain node 112. can.
[0052] In step 344, blockchain node 112 receives a confirmation message. It is possible. In step 346, a new block is created on blockchain node 11. 2 can generate a new block for that blockchain. Includes a confirmation message. The block is verified on blockchain network 110. It can be distributed to other blockchain nodes within the network. In step 348, A new block containing a confirmation message can be added to the blockchain. By adding a confirmation message, blockchain on both blockchains The operation can be considered to have been processed by that. Next, the sender Device 102 and receiving device 104 each receive digital data from other devices on the blockchain. You will receive the assets.
[0053] An exemplary method for atomically exchanging assets across multiple blockchains Figure 4 shows how digital assets across multiple blockchains can be managed through the use of temporary key pairs. This shows 400 methods for atomic exchange of resources. This is a blockchain for It is independent of the mat and implementation, and the number of blockchains and asset transfers involved.
[0054] In step 402, the first computing device (e.g., transmitting device 102) The proposed message can be generated (for example, by the generation module 216). The proposed message includes at least the first transaction value and the first blockchain. The first network identifier corresponding to the network, the second transaction value, and the second block A second network identifier corresponding to the hack chain, and the swap public of the swap cryptographic key pair. Includes unlocking the key. In step 404, the first digital signature is used by the first computer The suggestion message can be generated by the generating device. Step 406 Then, using the swapped public key and the first private key of the first encryption key pair, the first compilation The first digital signature of the cutting device (for example, by the encryption module 210) It can be encrypted.
[0055] In step 408, the encrypted first digital signature is used by the first computer The generated suggestion message can be added by the ping device. Step 41 At 0, the first computing device (for example, by the transmitting device 220) performs encryption. The generated proposal message, to which the first digital signature has been added, is then compiled into the second compilation. It can be transmitted electronically to a routing device (for example, a receiving device 104).
[0056] In one embodiment, method 400 uses a second computing device to perform the proposed message To generate a second digital signature for the page, and using a second computing device Then, using the swapped public key and the second private key of the second cryptographic key pair, the second digital The signature is encrypted, and the second encrypted data is then processed by a second computing device. The generated proposal message has a digital signature attached to it, which is encrypted. The first data, which has been encrypted by the second computing device, is added to the page. The generated digital signature has been added and the second digital signature has been encrypted. This may further include sending a suggestion message. In a further embodiment, The generated proposal message is processed by the second computing device into the second block. Blockchain networks associated with a chain (for example, blockchain network Multiple blockchain nodes (for example, blockchain nodes) within a network 110 It can be transmitted to at least one of D112). In yet another embodiment, Method 400 involves generating a confirmation message using a first computing device. And the confirmation message is at least (i) the encrypted first digital signature The generated proposal message with the added and encrypted second digital signature attached. (ii) the hash value generated using the and the swapped private key of the swapped cryptographic key pair. , including, and the confirmation message generated by the first computing device multiple within the blockchain network associated with the second blockchain Sending to a blockchain node within a blockchain node, and further including This can be done. In yet another embodiment, method 400 is a third computing device ( For example, verification system 114) generates a confirmation from the second blockchain. The message and the encrypted first digital signature and the encrypted second digital signature Searching for the generated proposal message with a digital signature attached, and the third con The pute device retrieves the swapped secret key and the first secret key within the retrieved confirmation message. Using the first public key of the key pair, decrypt the first digital signature and the third code The computing device verifies the decrypted first digital signature, and It can be included in these.
[0057] In one embodiment, method 400 uses a first computer before generating a proposed message. The swapping device may further include generating swap cryptographic key pairs. In one embodiment, the first digital signature is a first transaction in the proposed message. The value, the first network identifier, the second transaction value, and the second network It can be generated by signing an identifier. In one embodiment, the first Transaction value is the first blockchain transaction using the first blockchain Includes a hash value generated using transaction data for the transaction. This allows the second transaction value to use the second blockchain. It can include transaction data for lock chain transactions. .
[0058] Computer System Architecture Figure 5 shows that embodiments or parts thereof of the present disclosure may be implemented as computer-readable code. This shows a computer system 500. For example, the transmitting device 102 and the receiving device 1 in Figure 1. 04 and the computing device 200 in Figure 2 refer to hardware and non-temporary storage of instructions. Using computer-readable media, or a combination thereof, a computer system 5 It can be implemented in 00, and in one or more computer systems or other processing systems This can be implemented in the system. The hardware is as shown in Figures 3A-3C and Figure 4. The modules and components used to implement this can be specified.
[0059] When programmable logic is used, such logic is executable software. It runs on a commercially available processing platform configured with code for a specific purpose. Computers or devices for special purposes (e.g., programmable logic arrays, specific-purpose devices) Those skilled in the art will see that the embodiments of the disclosed subject matter can be various It can be understood that this can be done using computer system configurations. Typical computer system configurations include multi-core multi-processor systems and minicomputers. Mainframe computers, linked or clustered computers using distributed functions A computer, and a pervasive or miniature computer that can be virtually embedded in any device. This includes a processor and a storage unit, which implement the above-described embodiment. It can be used for mounting.
[0060] The processor units or devices discussed herein include single processors and multiple processors. It can be a processor, or a combination thereof. The processor device has one or more It may have a "core" of a processor. The term "computer" as discussed herein is used in this specification. "Programmed media," "non-temporary computer-readable media," and "computer-readable media" The "medium" generally refers to the removable storage unit 518, the removable storage unit 522 , and tangible media such as hard disks installed on hard disk drive 512 It is used to refer to the body.
[0061] Various embodiments of this disclosure are described in reference to this exemplary computer system 500. After reading this explanation, other computer systems and / or computer architectures It will be clear to those skilled in the art how to implement this disclosure using Kucha. The operation can be described as a continuous process, but some parts of the operation are actually performed in parallel. , simultaneously, and / or in a distributed environment, access by single or multiprocessor machines For this purpose, program code stored locally or remotely is used for execution. Yes, it is possible. Additionally, in some embodiments, the sequence of operations deviates from the spirit of the disclosed subject matter. It can be reconfigured without any further action.
[0062] The processor device 504 is configured specifically to perform the functions discussed herein. It can be a dedicated or general-purpose processor device. The processor device 504 is a communication infrastructure It can be connected to the last component 506. This can be, for example, a bus, message key. These include the network and multicore message passing scheme. , any network suitable for performing functions such as those disclosed herein. This enables local area networks (LANs), wide area networks (WANs), and wireless networks (for example, W). iFi), mobile communication networks, satellite networks, the internet, optical fiber, coaxial cable This may include infrared, radio frequency (RF), or any combination thereof. The appropriate network type and configuration will be obvious to those skilled in the art. System 500 includes a main memory unit 508 (for example, random access memory, read-only memory). It may include (such as Mori), and may also include the auxiliary storage unit 510. Auxiliary storage unit 510 This may include a hard disk drive 512 and a removable storage drive 514. This includes, for example, floppy disk drives, magnetic tape drives, and optical discs. These include drives, flash memory, etc.
[0063] The removable storage drive 514 is connected to the removable storage unit 518 in a well-known manner. Removable storage unit 51 can read from and / or write to it. 8 is a removable storage medium that can be read and written by the removable storage drive 514. It may include, for example, a removable storage drive 514 with a floppy disk drive If it is a live or universal serial bus port, removable storage unit 51 8 can be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 518 is a non-temporary computer-readable storage unit. It can be used as a recording medium.
[0064] In one embodiment, the auxiliary storage unit 510 stores computer programs or other instructions. Alternative means to enable loading into the computer system 500, for example, removal It may include a storage unit 522 and an interface 520. Examples of stages include program cartridges and cartridge interfaces (e.g., video games). (Similar to those found in home systems) and removable memory chips (e.g., EEEPR) OM, PROM, etc.) and associated sockets, and other as will be obvious to those skilled in the art. It may include a removable storage unit 522 and an interface 520.
[0065] Computer system 500 (for example, main memory unit 508 and / or auxiliary memory unit 510) The data stored within shall be stored on any suitable computer-readable medium. This is possible. For example, optical storage devices (e.g., compact discs, digital multi-purpose storage devices) (e.g., hard disks, Blu-ray discs, etc.) or magnetic tape storage devices (e.g., hard disks) It is a drive. The data is configured in any type of appropriate database configuration. This is possible, for example, with relational databases and structured query language (SQL) databases. These include databases, distributed databases, and object databases. Appropriate configuration and documentation are required. The types of memory devices will be obvious to those skilled in the art.
[0066] Furthermore, the computer system 500 may include a communication interface 524. The communication interface 524 transmits software and data to the computer system 50. It can be configured to allow transfer between 0 and an external device. (Example) The communication interface 524 can include a modem, a network interface (e.g., an Ethernet network card), a communication port, a PCMCIA slot and card, and the like. Software and data transferred via the communication interface 524 can be in the form of a signal which can be an electronic signal, an electromagnetic signal, an optical signal, or other signals obvious to those skilled in the art. The signal can be transmitted via the communication path 526 which can be configured to carry the signal and can be implemented using wires, cables, optical fibers, telephone lines, cellular phone links, radio frequency links, and the like. .
[0067] The computer system 500 can further include a display interface 502. The display interface 502 can be configured to enable transfer of data between the computer system 500 and an external display device 530. Exemplary display interfaces 502 can include a High-Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), a Video Graphics Array (VGA), and the like. The display device 所30 can be any suitable type of display device for displaying data transmitted via the display interface 502 of the computer system 500. This display device can be a cathode ray tube (CRT) display device, a liquid crystal display (LCD) , a light emitting diode (LED) display device, an electrostatic touch display device, a thin film transistor (TFT) ... ), a display device, and the like. ), a display device, and the like. ) display device, and the like.
[0068] Computer program media and computer-usable media include the main memory 508 and the secondary This can refer to a memory unit such as the auxiliary memory unit 510, which is a memory semiconductor (for example, DRA These computer program products can be set to M, etc. This can be used as a means to provide software to the Stem 500. The program (e.g., computer-controlled logic) is located in the main memory 508 and / or auxiliary memory. It can be stored in section 510. Furthermore, the computer program is a communication interface. It can be received via face 524. Such a computer program When executed, the computer system 500 will carry out the method as described herein. This can make it possible to do so. In particular, when a computer program is executed, The processor device 504 is as described herein, as shown in Figures 3A to 3C and Figure 4. This makes it possible to implement the method shown. A computer program can represent the control unit of computer system 500. If this disclosure is implemented using software, the software will be a computer program The RAM product includes a removable storage drive 514, an interface 520, and Using the hard disk drive 512 or the communication interface 524, a computer It can be loaded into System 500.
[0069] The processor device 504 is configured to perform the functions of the computer system 500. It may include one or more modules or engines. Each can be implemented using hardware, and in one example, main memory 508 Alternatively, program code and / or programs stored in the auxiliary storage unit 510 that correspond to Such software can also be used. In such cases, the program code is Before execution by the hardware of the computer system 500, the processor unit 504 Compiled by (for example, by the module or engine being compiled) For example, the program code can be used with processor unit 504 and / or computer. For execution with any additional hardware components of the computer system 500, Software written in a programming language that is translated into a low-level language such as a British language or machine code. -Code can be used. The compilation process involves lexical analysis, preprocessing, and syntactic analysis. Analysis, semantic analysis, syntactic-oriented translation, code generation, code optimization, and computer systems A low-level language suitable for controlling the Tem 500 and performing the functions disclosed herein This may include the use of any other techniques that may be suitable for translating the program code. As a result of the processing, the computer system 500 is programmed to perform the above-mentioned functions in a unique way. It will be clear to those skilled in the art that this will be a specially configured computer system 500. It will be easy.
[0070] The technology consistent with this disclosure, among other things, uses a temporary key pair to perform multiple blockchains The system and method for atomically exchanging assets on the network are provided. Various exemplary embodiments of the stem and method have been described above, but they are not limiting, but rather examples. Please understand that this is presented for illustrative purposes only. It is not exhaustive and does not disclose all information. This disclosure is not limited to the exact form. Modifications and variations are possible in light of the above teachings. , or modifications and variations, shall not deviate from the breadth or scope of the exercise of this disclosure. It is possible to do so.
Claims
1. A method for atomically exchanging assets across multiple blockchains using a temporary key pair, The first computing device generates a proposed message, the proposed message comprising at least a first transaction value, a first network identifier corresponding to a first blockchain, a second transaction value, a second network identifier corresponding to a second blockchain, and the swapped public key of a swapped cryptographic key pair. The first computing device generates a first digital signature for the proposed message, The first computing device transmits the proposed message, which includes an encrypted first digital signature, to the second computing device, wherein the encrypted first digital signature is attached to the proposed message. Methods that include...
2. In the method according to claim 1, The second computing device generates a second digital signature for the proposed message, The second computing device encrypts the second digital signature using the swapped public key and the second private key of the second encryption key pair. The second computing device adds the encrypted second digital signature to the generated proposal message to which the encrypted first digital signature has been added, The second computing device transmits the generated proposal message to which an encrypted first digital signature and an encrypted second digital signature have been attached, Methods that further include this.
3. The method according to claim 2, wherein the generated proposed message is transmitted by the second computing device to at least one of a plurality of blockchain nodes in a blockchain network associated with the second blockchain.
4. In the method according to claim 3, The first computing device generates a confirmation message, the confirmation message comprising at least (i) a hash value generated using the generated proposal message to which an encrypted first digital signature and an encrypted second digital signature are attached, and (ii) the swap private key of the swap cryptographic key pair. The first computing device transmits the generated confirmation message to the blockchain nodes in the plurality of blockchain nodes within the blockchain network associated with the second blockchain, Methods that further include this.
5. In the method according to claim 4, The third computing device retrieves from the second blockchain the generated confirmation message and the generated proposal message to which the encrypted first digital signature and the encrypted second digital signature have been attached, The third computing device decrypts the first digital signature using the swapped private key and the first public key of the first cryptographic key pair found in the retrieved confirmation message. The third computing device verifies the decrypted first digital signature, Methods that further include this.
6. In the method according to claim 1, Before generating the proposed message, the first computing device generates the swap encryption key pair. Methods that further include this.
7. A method according to claim 1, wherein the first digital signature is generated by signing the first transaction value, the first network identifier, the second transaction value, and the second network identifier in the proposed message.
8. The method according to claim 1, wherein the first transaction value includes a hash value generated using transaction data for a first blockchain transaction using the first blockchain, and the second transaction value includes transaction data for a second blockchain transaction using the second blockchain.
9. A system for atomically exchanging assets across multiple blockchains using temporary key pairs. The first computing device and A second computing device, The first blockchain and The first computing device includes a second blockchain, The method involves generating a proposed message, wherein the proposed message includes at least a first transaction value, a first network identifier corresponding to the first blockchain, a second transaction value, a second network identifier corresponding to the second blockchain, and the swap public key of a swap cryptographic key pair. To generate a first digital signature for the aforementioned proposed message, The proposed message, including an encrypted first digital signature, is transmitted to a second computing device, wherein the encrypted first digital signature is attached to the proposed message. A system that executes this.
10. In the system described in claim 9, The second computing device described above is To generate a second digital signature for the aforementioned proposed message, The second digital signature is encrypted using the swapped public key and the second private key of the second encryption key pair. The encrypted second digital signature is added to the generated proposal message to which the encrypted first digital signature has been added. Sending the generated proposal message to which an encrypted first digital signature and an encrypted second digital signature have been attached, A system that executes this.
11. In the system according to claim 10, The blockchain network associated with the second blockchain described above, Multiple blockchain nodes within the aforementioned blockchain network, A system further comprising the above, wherein the generated proposal message is transmitted by the second computing device to at least one of the plurality of blockchain nodes.
12. In the system according to claim 11, the first computing device is The method involves generating a confirmation message, the confirmation message comprising at least (i) a hash value generated using the generated proposal message, which is accompanied by an encrypted first digital signature and an encrypted second digital signature, and (ii) the swap private key of the swap cryptographic key pair. The generated confirmation message is sent to the blockchain nodes in the plurality of blockchain nodes within the blockchain network associated with the second blockchain. A system that further executes this process.
13. The system according to claim 12 further includes a third computing device, wherein the third computing device is Searching the second blockchain for the generated confirmation message and the generated proposal message to which the encrypted first digital signature and the encrypted second digital signature have been attached, The first digital signature is decrypted using the swapped private key and the first public key of the first cryptographic key pair found in the retrieved confirmation message. Verify the decrypted first digital signature, A system that executes this.
14. A system according to claim 9, wherein the first computing device further generates the swap cryptographic key pair before generating the proposed message.
15. The system according to claim 9, wherein the first digital signature is generated by signing the first transaction value, the first network identifier, the second transaction value, and the second network identifier in the proposed message.
16. The system according to claim 9, wherein the first transaction value includes a hash value generated using transaction data for a first blockchain transaction using the first blockchain, and the second transaction value includes transaction data for a second blockchain transaction using the second blockchain.