Method and system for processing asset swaps across two blockchains

The system addresses the challenges of asset swaps by using swap check oracles and a central processing server to verify and secure asset transfers across blockchains, enhancing security and ease of use.

JP7881750B2Active Publication Date: 2026-06-29MASTERCARD INT INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MASTERCARD INT INC
Filing Date
2023-04-24
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Existing methods for asset swaps across multiple blockchains require users to create and deploy smart contracts, which can be difficult for less sophisticated users and pose security risks, leaving assets vulnerable to attacks during processing.

Method used

A system utilizing swap check oracles and a central processing server to verify the authenticity of users and assets, transferring them to secure storage addresses, and then initiating the release of assets across blockchains, eliminating reliance on smart contracts.

Benefits of technology

Facilitates easier and more secure asset swaps by authenticating parties and assets, preventing attacks, and ensuring secure storage, thereby enhancing user convenience and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881750000001
    Figure 0007881750000001
  • Figure 0007881750000002
    Figure 0007881750000002
  • Figure 0007881750000003
    Figure 0007881750000003
Patent Text Reader

Abstract

The swap check oracle receives a transfer request from a user or a smart contract on a first blockchain, and the request indicates the first digital asset to be transferred. The swap check oracle verifies the authenticity of the user and / or the digital asset and instructs the smart contract to transfer the first digital asset to a storage address on the first blockchain. Another swap check oracle performs similar processing for a second digital asset from a second user on a second blockchain. The central processing server is notified of the successful transfer of the digital assets to the storage addresses on both blockchains, verifies the holding of the digital assets by the storage addresses, and initiates the release of the digital assets to the new parties on both blockchains.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the processing of asset swaps across two blockchains, and more particularly to ensuring a secure and verifiable cross-chain asset swap using a swap check oracle, a central processing server, and a custodial wallet address.

[0002] This application claims the benefit of U.S. Patent Application No. 17 / 752,318, filed May 24, 2022, the entire contents of which are incorporated by reference for all purposes.

Background Art

[0003] Blockchains have been developed and implemented to perform a wide range of functions. To name the most prominent example, blockchains can be used to store and transfer digital assets such as cryptocurrencies. Due to the simplicity of creating and operating blockchains, countless different blockchains have been introduced, each targeting different digital assets such as cryptocurrencies, identity tokens, security tokens, and the like. However, due to the nature of making the creation and operation of blockchains easy, difficulties are brought about with respect to coordinating the transfer of assets across multiple blockchains.

[0004] Traditionally, asset swaps between multiple blockchains require each party to utilize smart contracts or other mechanisms, entrusting the holding of their respective digital assets on their respective blockchains. Once the successful transfer of each asset to its respective smart contract is confirmed, either smart contract can be executed. As a result of contract execution, the digital assets are transferred to the other party on their respective blockchains. However, these methods require the parties themselves to create and deploy smart contracts, which can be difficult for less sophisticated users, often leading to the use of smart contracts drafted by third parties, which itself poses a security risk. Furthermore, during processing, the assets are held by the smart contract itself, leaving them vulnerable to attacks.

[0005] Therefore, a more secure method is needed for performing asset swaps across two separate blockchains. [Overview of the project]

[0006] This disclosure provides a description of a system and method for handling asset swaps across two blockchains. A swap check oracle receives a transfer request from a user or smart contract on the first blockchain, the request indicating a first digital asset to be transferred. The swap check oracle verifies the authenticity of the user and / or the digital asset and instructs the smart contract to transfer the first digital asset to a storage address on the first blockchain. Another swap check oracle performs a similar process for a second digital asset from a second user on the second blockchain. A central processing server is notified by the swap check oracle of the successful transfer of the digital asset to the storage address on both blockchains. The central processing server verifies the storage address's retention of the digital asset and initiates the release of the digital asset to the new parties on both blockchains. As a result, an asset swap is brought about in which the oracles guarantee the authenticity of the parties and assets involved, and the central processing server verifies the ready-to-transfer asset using the storage address and controls the transfer of the asset. Thus, asset swaps can be performed more easily than with traditional methods, providing ease of use for the users involved, and significantly improving security by eliminating reliance on smart contracts and using secure and regulated storage addresses.

[0007] A method for handling an asset swap across two blockchains includes the following steps: receiving a first transfer request by a first processing system which includes at least a first asset identifier associated with a first digital asset, one or more first identification values, and a first recipient address; approving the transfer of the first digital asset by the first processing system; submitting one or more instructions to a first smart contract stored on the first blockchain by the first processing system, the submission of which results in the execution of the first smart contract, the execution of which transfers the first digital asset to a first storage address on the first blockchain; and sending a first notification message indicating the transfer of the first digital asset by the first processing system to a central The steps of: sending to a processing server; the central processing server receiving the first notification message from the first processing system; the central processing server receiving a second notification message from the second processing system, wherein the second notification message indicates the transfer of a second digital asset to a second storage address on a second blockchain; the central processing server verifying the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain; the central processing server transferring the first digital asset to the first recipient address on the first blockchain; and the central processing server transferring the second digital asset to the second recipient address on the second blockchain.

[0008] A system for handling asset swaps across two blockchains comprises: a first blockchain network associated with a first blockchain; a second blockchain network associated with a second blockchain; a central processing system; a first processing system; and a second processing system, wherein the first processing system: receives a first transfer request comprising at least a first asset identifier associated with a first digital asset, one or more first identification values, and a first recipient address; approves the transfer of the first digital asset; and submits one or more instructions to a first smart contract stored on the first blockchain, wherein the submission of the one or more instructions results in the execution of the first smart contract, and the execution of the first smart contract transfers the first digital asset to the first blockchain. The system performs the steps of: transferring the first digital asset to a storage address; and sending a first notification message indicating the transfer of the first digital asset to the central processing server, the central processing server then performs the steps of: receiving the first notification message from the first processing system; receiving a second notification message from the second processing system, wherein the second notification message indicates the transfer of the second digital asset to a second storage address on the second blockchain; verifying the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain; transferring the first digital asset to the first recipient address on the first blockchain; and transferring the second digital asset to the second recipient address on the second blockchain. [Brief explanation of the drawing]

[0009] The scope of this disclosure, when interpreted in conjunction with the accompanying drawings, will be best understood from the following detailed description of exemplary embodiments. The drawings include the following figures:

[0010] [Figure 1] This block diagram shows a high-level system architecture for handling asset swaps across two blockchains, according to an exemplary embodiment. [Figure 2] This block diagram shows a computing device in the system of Figure 1 for processing asset swaps across two blockchains, according to an exemplary embodiment. [Figure 3] This flowchart illustrates the process for performing an asset swap across two blockchains within the system shown in Figure 1, according to an exemplary embodiment. [Figure 4] This flowchart illustrates an exemplary method for handling asset swaps across two blockchains, according to an exemplary embodiment. [Figure 5] This block shows a computer system architecture according to an exemplary embodiment.

[0011] Further application areas of this disclosure will be obvious from the detailed description below. The detailed description of exemplary embodiments is for illustrative purposes only and is not intended to necessarily limit the scope of this disclosure. [Modes for carrying out the invention]

[0012] A system for processing asset swaps across blockchains. Figure 1 illustrates a system 100 that facilitates the swapping of digital assets across two blockchains. This is done through the use of a swap check oracle and a custodial blockchain address, for user convenience and additional security.

[0013] System 100 may include a processing server 102. The processing server 102, described later, may be configured to operate as a central processing system to assist in the swapping of digital assets across two blockchains. The blockchain may be managed by a blockchain network included in System 100 (e.g., a first blockchain network 108, a second blockchain network 110, etc.). The blockchain network may consist of multiple blockchain nodes. Each blockchain node may be a computing system, as detailed below and shown in Figure 2 or Figure 5, configured to perform functions related to the processing and management of the blockchain, and may include, for example, the generation of blockchain data values, verification of proposed blockchain transactions, verification of digital signatures, generation of new blocks, validation of new blocks, and maintenance of a copy of the blockchain.

[0014] A blockchain can be a distributed ledger comprising at least several blocks. Each block may contain at least a block header and one or more data values. Each block header may contain at least a timestamp, a block reference value, and a data reference value. The timestamp may be the time the block header was generated and can be represented using any suitable method (e.g., UNIX timestamp, DateTime notation). The block reference value may be a value that references a preceding block in the blockchain (e.g., based on the timestamp). In some embodiments, the block reference value in the block header may be a reference to the block header of the most recently added block preceding each block. In an exemplary embodiment, the block reference value may be a hash value generated by hashing the block header of the most recently added block. Similarly, the data reference value may be a reference to one or more data values ​​stored within the block containing the block header. In an exemplary embodiment, the data reference value may be a hash value generated by hashing one or more data values. For example, the block reference value may be the root of a Merkle tree generated using one or more data values.

[0015] The use of block reference values ​​and data reference values ​​within each block header can give the blockchain immutability. Attempting to change a data value requires the generation of a new data reference value for that block, which in turn requires the generation of a new block reference value for the subsequent block, and further requires the generation of a new block reference value for each subsequent block. For the change to be permanent, the above steps must be performed and updated for each blockchain node in the blockchain network before a new block is generated and added to the blockchain. Due to the limitations of computing and communication capabilities, such changes can be extremely difficult or impossible, and thus the blockchain acquires immutability.

[0016] In some embodiments, a blockchain can be used to store information about blockchain transactions conducted between two different blockchain wallets. A blockchain wallet may contain the private key of a cryptographic key pair, which is used to generate a digital signature, which may serve as an endorsement by the payer for a blockchain transaction, and which can be verified by the blockchain network using the public key of the cryptographic key pair. In some cases, the term “blockchain wallet” may specifically refer to the private key. In other cases, the term “blockchain wallet” may refer to a computing device (e.g., first device 104, second device 106, etc.) that stores the private key for use in blockchain transactions. For example, each computing device may have its own private key for its respective cryptographic key pair, and each may be a blockchain wallet for use in transactions with a blockchain associated with a blockchain network. The computing device can be any type of device suitable for storing and utilizing blockchain wallets, such as a desktop computer, laptop computer, notebook computer, tablet computer, mobile phone, smartphone, smartwatch, smart TV, wearable computing device, embedded computing device, etc.

[0017] Each blockchain data value stored within the blockchain may appropriately correspond to the storage of a blockchain transaction or other data. A blockchain transaction may comprise at least the following: a digital signature of the currency sender (e.g., the first device 104) generated using the sender's private key, the blockchain address of the currency recipient (e.g., the second device 106) generated using the recipient's public key, and the amount of blockchain currency to be transferred or other data to be stored. In some blockchain transactions, the transaction may also include: one or more sender blockchain addresses where the blockchain currency is currently stored (e.g., where access to such currency is verified by a digital signature); and an address generated using the sender's public key for any changes held by the sender. The address to which cryptocurrency usable in a future transaction has been sent is referred to as an "output" address because each address has been previously used to capture the output of a preceding blockchain transaction, and is also referred to as an "unspent transaction" because there is currency to be sent to the address in a preceding transaction in which that currency is still unspent. In some cases, a blockchain transaction may also include the sender's public key, which an entity can use to validate the transaction. For the traditional processing of blockchain transactions, such data can be provided to a blockchain node in the blockchain network by either the sender or the recipient. The node can verify the digital signature using the public key in the sender's wallet's cryptographic key pair and can also verify access to the sender's funds (for example, if an unspent transaction has not yet been consumed and has been sent to an address associated with the sender's wallet), which is known as the transaction "confirmation" process, and the blockchain transaction is then included in a new block.In traditional blockchain implementations, new blocks may be validated by other nodes in the blockchain network before being added to the blockchain and distributed to all blockchain nodes in the blockchain network. If the blockchain data value is not related to a blockchain transaction but instead to the storage of other types of data, the blockchain data value may still include or involve validation of the digital signature.

[0018] In system 100, the first device 104 can control the first digital asset stored in the first blockchain network 108, and control of the first digital asset can be represented by the first digital asset stored in a blockchain address on the blockchain associated with the first blockchain network 108 (hereinafter referred to as the "first blockchain"), which is generated by the blockchain wallet of the first device 104. The second device 106 can control the second digital asset stored in the second blockchain network 110, and similarly, control of the second digital asset can be represented by the second digital asset stored in a blockchain address on the blockchain associated with the second blockchain network 110 (hereinafter referred to as the "second blockchain"), which is generated by the blockchain wallet of the second device 106. The first device 104 and the second device 106 can be any type of device suitable for performing the functions referred to in this application, such as the computing devices shown in Figures 2 and 5, and may be, for example, desktop computers, laptop computers, notebook computers, tablet computers, mobile phones, smartphones, smart TVs, wearable computing devices, embedded computing devices, etc. Digital assets can be any assets stored on the blockchain and, in some cases, may represent physical assets such as fiat currency, land deeds, or physical contracts.

[0019] The first device 104 and the second device 106 (or, for example, their users) may agree to swap the first digital asset and the second digital asset, so that ownership of the first digital asset on the first blockchain is transferred to the second device 106, and ownership of the second digital asset on the second blockchain is transferred to the first device 104. The first device 104 may initiate the asset swap by electronically transmitting a transfer request to the first swap oracle 112 using an appropriate communication network and method. In some embodiments, the first device 104 may transmit the transfer request directly to the first swap oracle 112. In other embodiments, the transfer request may be submitted to the first swap oracle 112 by a smart contract stored on the first blockchain, which can be executed by the first device 104 as a result of an instruction. In some cases, the first swap oracle 112 and / or processing server 102 can provide a template for a smart contract used by the first device 104. The first swap oracle 112 can be any suitable type of computing device, as shown in Figures 2 and 5 and described later, which can also be a blockchain node in the first blockchain network 108. In some cases, the first swap oracle 112 can be an application program executed by the processing server 102.

[0020] A transfer request may be received by the first swap oracle 112. The transfer request may include at least an identifier associated with the first digital asset, which may hereafter be referred to as the asset identifier, and may be a value unique to the first digital asset used for identification, such as an identification number or a blockchain address. The transfer request may also include data used by the first device 104 to verify ownership of the first digital asset, such as a digital signature generated using the private key of the blockchain wallet of the first device 104 that owns the first digital asset on the first blockchain. In some cases, the transfer request may also include one or more identification data values ​​associated with the first device 104 and / or its user. In such cases, the process described may include verification and / or authentication of the first device 104 and / or its user. An identification value may include any data suitable for use in verifying the authenticity of a computing device or its user, such as a Media Access Control (MAC) address, serial number, registration number, telephone number, email address, name, payment account number, security code, address, zip code, or postal code.

[0021] The first swap oracle 112 can receive a transfer request and verify the authenticity of the first digital asset and its ownership in the first device. If authentication of the first device 104 and / or its user is desired, the first swap oracle 112 can also initiate processing for such authentication. In some embodiments, the first swap oracle 112 can perform such authentication itself. In other embodiments, the first swap oracle 112 can transfer the transfer request or the data contained therein to a processing server 102 using an appropriate communication network and method, and the processing server 102 can perform authentication and return the authentication result to the first swap oracle 112. Authentication of the first digital asset and its ownership in the first device can be performed by validating the digital signature contained in the transfer request using the public key of the blockchain wallet of the first device, and by ensuring that the first digital asset associated with the asset identifier is stored in a blockchain address in the first blockchain governed by the blockchain wallet of the first device. Authentication of the first device 104 and / or its user may include verification of one or more identification values ​​included in the transfer request. For example, a user of the first device 104 may provide their name, address, and account number and security code for a payment card, and the processing server 102 (or, if applicable, the first swap oracle 112) may perform a KYC (Know Your Customer) process to verify the identity of the user of the first device 104 using the provided information.

[0022] If the authentication performed by the first swap oracle 112 is successful, the first swap oracle 112 can begin transferring the first digital asset to a storage address on the first blockchain (hereinafter referred to as the "first storage address"). The storage address may be a blockchain address generated by the public key of a blockchain wallet associated with the first blockchain, the private key of which is stored or controlled by the processing server 102. The storage address may be generated directly by the first swap oracle 112, or by the processing server 102, for example, by providing the first swap oracle 112 with a positive authentication result. The transfer of the first digital asset to the first storage address can be performed by the first device 104, which can be done, for example, by the first swap oracle 112 providing the storage address to the first device 104, and the first device 104 submitting a new blockchain transaction to a blockchain node in the first blockchain network 108. If a smart contract is used to submit the transfer request, the transfer of the first digital asset can be performed by the smart contract, with the first swap oracle 112 submitting the first storage address as input to the smart contract, and the smart contract, after execution, can transfer the first digital asset to the first storage address.

[0023] When the first digital asset is transferred to the first storage address, the first swap oracle 112 can electronically send a notification message indicating the success of the transfer of ownership of the first digital asset to the processing server 102. The notification message can include an asset identifier, a transaction identifier (e.g., one generated by the first swap oracle 112 and / or the processing server 102 for inclusion in all messages related to the asset swap), an identification value (e.g., one provided by a blockchain node in the first blockchain network 108 and corresponding to the blockchain data value used to transfer the first digital asset to the first storage address), etc.

[0024] Before, after, or in parallel with transferring the ownership of the first digital asset to the first storage address, the ownership of the second digital asset can be transferred to the second storage address on the second blockchain. The second device 106 and the second swap oracle 114 can perform the same steps as described above for transferring the ownership of the second digital asset to the second storage address, and the address can be generated by the public key of the blockchain wallet associated with the second blockchain, and its private key is stored or controlled by the processing server 102. In some cases, the transfer of ownership of the second digital asset can include exactly the same steps as the transfer of ownership of the first digital asset. In other cases, the steps for transferring the ownership of the first and second digital assets can be different. For example, while the first digital asset is transferred through the use of a smart contract, the second digital asset can be directly transferred by the second device 106 without using a smart contract. In some cases, the blockchain itself can define the steps and processes used for the transfer of ownership of each digital asset. In some cases, the digital assets can be of different types. For example, the first digital asset can be a token representing a non-fungible currency, while the second digital asset can be a cryptocurrency.

[0025] In some embodiments, after receiving the notification message, the processing server 102 can verify the success of the transfer of the digital asset to each storage address. The processing server 102 can identify the storage address in the blockchain, either directly or with the assistance of a blockchain node in each blockchain network, and determine whether the digital asset associated with the asset identifier has been successfully transferred to the address. If the processing server 102 receives a notification message indicating the transfer of the ownership of the first digital asset on the first blockchain to the first storage address from the first swap oracle 112, and receives a notification message indicating the transfer of the ownership of the second digital asset on the second blockchain to the second storage address from the second swap oracle 112, and verifies the transfer, then, if applicable, the processing server 102 can initiate the transfer of both digital assets.

[0026] The processing server 102 can submit a first blockchain transaction to a blockchain node in the first blockchain network 108 to transfer the first digital asset from the first storage address to a blockchain wallet associated with the first blockchain of the second device 106 (for example, a blockchain address generated by the second device 106 and provided to the processing server 102, for example, in a transfer request). The processing server 102 can also submit a second blockchain transaction to a blockchain node in the second blockchain network 110 to transfer the second digital asset from the second storage address to a blockchain wallet associated with the second blockchain of the first device 104 (for example, a blockchain address generated by the second device 106 and provided to the processing server 102, for example, in a transfer request). As a result, the first device 104 acquires the second digital asset on the second blockchain, and the second device 106 acquires the first digital asset on the first blockchain, thereby supporting an asset swap across the two blockchains.

[0027] In some embodiments, the first blockchain network 108 and the second blockchain network 110 can perform settlement processing, such as the transfer of ownership of assets resulting from an asset swap using the above-described process. For example, each of the first and second blockchains may be operated by or on behalf of a financial institution. As a result of the asset swap, one financial institution may be obligated to pay fiat currency to the other financial institution. In another example, if the asset swap concerns a digital asset corresponding to a physical object (e.g., an article, a land title deed, etc.), the entity associated with the blockchain network on which the digital asset is stored may be obligated to perform one or more actions involving or involving the physical object, which may include recording the transfer of ownership, the physical delivery of the physical object to the new owner, etc.

[0028] In some embodiments, the authentication performed by the first device 104 and / or the second device 106 and / or their users can be based on a variety of criteria. For example, users of the first device 104 and / or the second device 106 may require a level of authentication performed by other users as part of an asset swap. The authentication level may refer to the amount and / or type of data used in authenticating the device and / or its users. In another example, each blockchain network may require a level of authentication performed for users associated with the blockchain running the asset swap, and this level may be further based on other blockchains involved in the asset swap. In yet another example, the authentication level may be based on geographical location, and the data used for authentication may be determined by the geographical location of the device, its users, the blockchain network, and / or the swap oracle.

[0029] As a result of the described methods and systems, asset swaps across two blockchains become easier for participating users and offer a higher level of security than traditional methods. The use of swap oracles 112 and 114 ensures that users, devices, and / or digital assets can be authenticated at an appropriate level, providing security sufficient to the level desired by all participating parties. The use of storage addresses and processing server 102 provides a considerably higher level of security than traditional methods, ensuring that attacks against smart contracts aimed at stealing digital assets and fraudulent activity by any party involved in the swap are prevented.

[0030] Computing device Figure 2 shows an embodiment of the computing device 200. It will be obvious to those skilled in the art that the embodiment of the computing device 200 shown in Figure 2 is provided for illustrative purposes only and does not thoroughly represent all possible configurations of the computing device 200 suitable for performing the functions of the present disclosure. For example, the computer system 500 shown in Figure 5 and described in more detail below may be a suitable configuration of the processing server 102. In some cases, components of system 100 such as the processing server 102, the first device 104, the second device 106, the first swap oracle 112, the second swap oracle 114, or the blockchain nodes of the first blockchain network 108 and / or the second blockchain network 110 may include components shown in Figure 2 and described later.

[0031] The computing device 200 may include a receiving device 202. The receiving device 202 may be configured to receive data over one or more networks via one or more network protocols. In some examples, the receiving device 202 may be configured to receive data from the processing server 102, the first device 104, the second device 106, the first swap oracle 112, the second swap oracle 114, the blockchain node, and other systems and entities via one or more communication methods such as radio frequency, local area network, wireless area network, cellular communication network, Bluetooth, and the internet. In some embodiments, the receiving device 202 may include multiple devices (for example, different receiving devices that receive data over different networks (e.g., a first receiving device that receives data over a local area network and a second receiving device that receives data over the internet)). The receiving device 202 may receive transmitted electronic data signals. Upon reception of the data signals by the receiving device 202, the data may be superimposed on the data signals and then decoded, parsed, read, or retrieved. In some embodiments, the receiving device 202 may include an analysis module for analyzing the received data signal and obtaining superimposed data thereon. For example, the receiving device 202 may include an analysis program configured to receive the received data signal and convert it into available inputs for a function to be performed by the processing unit to execute the methods and systems of this disclosure.

[0032] The receiving device 202 may be configured to receive data signals electronically transmitted by the processing server 102, and these data signals may be superimposed or encoded with blockchain transactions, notifications of successful asset transfers, authentication results, storage addresses, etc. The receiving device 202 may be configured to receive data signals electronically transmitted by the first device 104 and / or the second device 106, and these data signals may be superimposed or encoded with transfer requests, blockchain addresses, asset identifiers, identification values, blockchain transactions, etc. The receiving device 202 may be configured to receive data signals electronically transmitted by the first swap oracle 112 and / or the second swap oracle 114, and these data signals may be superimposed or encoded with transfer requests, authentication results, storage addresses, smart contract orders, notification messages, etc. The receiving device 202 may also be configured to receive data signals electronically transmitted by blockchain nodes of the first blockchain network 108 and / or the second blockchain network 110, which may be superimposed or encoded with blockchain data values, identifiers, digital signatures, etc.

[0033] The computing device 200 may also include a communication module 204. The communication module 204 may be configured to transfer data between modules, engines, databases, memory, and other components of the computing device 200 for use when performing the functions of the disclosure. The communication module 204 may include one or more communication types and may use various communication methods for communication within the computing device. For example, the communication module 204 may include buses, connecting pin connectors, wires, etc. In some embodiments, the communication module 204 may also be configured to communicate between internal components of the computing device 200 and external components of the computing device 200 (e.g., externally connected databases, display devices, input devices, etc.). The computing device 200 may also include a processing unit. The processing unit may be configured to perform the functions of the computing device 200 of the disclosure. This will be obvious to those skilled in the art. In some embodiments, the processing unit may include a plurality of engines and / or modules (e.g., query module 216, generation module 218, verification module 220, etc.) specifically configured to perform one or more functions of the processing unit. As in this disclosure, the term “module” may mean software or hardware specifically programmed to receive an input, use that input to perform one or more processes, and provide an output. The inputs, outputs, and processes performed by various modules are obvious to those skilled in the art based on this disclosure.

[0034] The computing device 200 may also include blockchain data 206, which may be stored in the memory 214 of the computing device 200 or in a separate area within the computing device 200, or thereby made accessible. The blockchain data 206 may include a blockchain, which may comprise multiple blocks and may be associated with a first blockchain network 108 or a second blockchain network 110. In some cases, the blockchain data 206 may further include any other data associated with the blockchain and its management and performance, such as block generation algorithms, digital signature generation and confirmation algorithms, communication data about blockchain nodes, smart contracts, cryptographic key pairs, public keys, etc.

[0035] The computing device 200 may also include a memory 214. The memory 214 may be configured to store data (e.g., public keys, private keys, symmetric keys, etc.) for use by the computing device 200 when performing the functions of the disclosure. The memory 214 may be configured to store data using appropriate data formatting methods and schemas, and may be any appropriate type of memory (e.g., read-only memory, random access memory, etc.). The memory 214 may include, for example, cryptographic keys and algorithms, communication protocols and standards, data formatting standards and protocols, module program code and application programs for the processing unit, and other appropriate data used by the computing device 102 when performing the functions of the disclosure. This will be obvious to those skilled in the art who read this disclosure. In some embodiments, the memory 214 may include a relational database using a structured query language (SQL) and may store, identify, modify, update, access, etc., stored structured datasets. Memory 214 may be configured to store, for example, encryption keys, encryption key pairs, encryption algorithms, encryption algorithms, communication information, data formatting rules, authentication level data, authentication rules, message formatting rules, smart contract instructions, rules associated with different types of digital assets, etc.

[0036] The computing device 200 may also include a query module 216. The query module 216 may be configured to execute queries on a database to identify information. The query module 216 may receive one or more data values ​​or query columns and, based on these, execute the query columns on the indicated database (e.g., the memory 214 of the computing device 200) to identify the information stored therein. The query module 216 may then output the identified information to the appropriate engine or module of the computing device 200 as needed. For example, the query module 216 can execute queries on the memory 214 to identify the public key of a blockchain wallet associated with a first blockchain, which is used when generating a first storage address.

[0037] The computing device 200 may also include a generation module 218. The generation module 218 may be configured to generate data used by the computing device 200 when performing the functions of the disclosure. The generation module 218 may receive instructions as input values, generate data based on instructions, and output the generated data to one or more modules of the computing device 200. For example, the generation module 218 may be configured to generate data messages, notification messages, blockchain addresses, blockchain transactions, asset transfer instructions, transfer requests, identification values, authentication result messages, etc.

[0038] The computing device 200 may also include a verification module 220. The verification module 220 may be configured to perform verifications and authentications of the computing device 200 as part of the functionality of this disclosure. The verification module 220 may receive instructions as input, which may also include data used to perform verification or authentication, and may perform verification or authentication as requested, and may output the results of verification or authentication to another module or engine of the computing device 200. For example, the verification module 220 may be configured to verify ownership of a digital asset whose transfer is requested as part of an asset swap, to authenticate the device or its user, to verify the success of the transfer of a digital asset to a storage address, etc.

[0039] The computing device 200 may also include a transmitting device 222. The transmitting device 222 may be configured to transmit data over one or more networks via one or more network protocols. In some examples, the transmitting device 222 may be configured to transmit data to the processing server 102, the first device 104, the second device 106, the first swap oracle 112, the second swap oracle 114, blockchain nodes, and other entities via one or more communication methods such as a local area network, a wireless area network, cellular communication, Bluetooth, radio frequency, or the internet. In some embodiments, the transmitting device 222 may include multiple devices (e.g., different transmitting devices for transmitting data over different networks, e.g., a first transmitting device for transmitting data over a local area network and a second transmitting device for transmitting data over the internet). The transmitting device 222 may electronically transmit a data signal having superimposed data that is parsed by the receiving computing device. In some embodiments, the transmitting device 222 may include one or more modules for superimposing, encoding, or formatting data into a data signal suitable for transmission.

[0040] The transmitting device 222 may be configured to electronically transmit a data signal to the processing server 102, and this data signal may be superimposed or encoded with blockchain transactions, notification messages, authentication results, blockchain data values, transfer requests, blockchain addresses, etc. The transmitting device 222 may be configured to electronically transmit a data signal to the first device 104 and / or the second device 106, and this data signal may be superimposed or encoded with blockchain addresses, identification value requests, asset transfer commands, notification messages, etc. The transmitting device 222 may be configured to electronically transmit a data signal to the first swap oracle 112 and / or the second swap oracle 114, and this data signal may be superimposed or encoded with transfer requests, authentication results, storage addresses, notification messages, identification values, asset identifiers, blockchain data values, etc. The transmitting device 222 may be configured to electronically transmit data signals to blockchain nodes of the first blockchain network 108 and / or the second blockchain network 110, and these data signals may be superimposed on or encoded with blockchain data values, digital signatures, blockchain transactions, requests for blockchain data, cryptographic keys, etc.

[0041] The process of performing an asset swap between two blockchains. Figure 3 illustrates the process for performing an asset swap of digital assets stored in two different blockchains with respect to system 100. In S302, the first device 104 can electronically transmit a transfer request to the first swap oracle 112 (e.g., via the transmitting device 222) using an appropriate communication network and method. The transfer request may include an asset identifier associated with the first digital asset on the first blockchain, a recipient blockchain address for the first device 104 on the second blockchain, and one or more identification values. In S304, the first swap oracle 112 can electronically transmit a verification request to the processing server 102 (e.g., via the transmitting device 222) using an appropriate communication network and method. The verification request may include at least one or more identification values. The processing server 102 may perform one or more authentications (e.g., via the verification module 220) using the one or more identification values ​​received. If authentication is successful, the processing server 102 can generate a first storage address using the blockchain wallet associated with the first blockchain (for example, via the generation module 218), and in S306, it can electronically send a notification indicating the success of authentication and the first storage address back to the first swap oracle 112 (for example, via the transmitting device 222).

[0042] In S308, the first swap oracle 112 can electronically transmit an instruction message to the first device 104 (for example, via the transmitter 222). The instruction message includes a first storage address and instructs the first device 104 to transfer the first digital asset to the first storage address on the first blockchain. The first device 104 can receive the message (for example, via the receiver 202) and can also transfer the first digital asset to the first storage address using traditional methods by submitting a new blockchain transaction to a blockchain node in the first blockchain network 108. The blockchain node can return to the first device 104 a transaction identifier (for example, received via the receiver 202) or other unique value relating to the blockchain data value for the new blockchain transaction. In S310, the first device 104 may electronically send a notification of the transfer of the first digital asset, including a transaction identifier or other unique value, to the first swap oracle 112 (for example, via the transmitting device 222). In S312, the first swap oracle 112 may forward the transfer notification to the processing server 102 (for example, via the transmitting device 222) using an appropriate communication network and method.

[0043] In S314, the second device 106 can electronically transmit a transfer request to the second swap oracle 114 (for example, via the transmitting device 222) using an appropriate communication network and method. The transfer request may include an asset identifier associated with the second digital asset on the second blockchain, the recipient blockchain address for the second device 106 on the first blockchain, and one or more identification values. In S316, the second swap oracle 114 can electronically transmit a verification request to the processing server 102 (for example, via the transmitting device 222) using an appropriate communication network and method. The verification request may include at least one or more identification values. The processing server 102 may perform one or more authentications (for example, via the verification module 220) using the one or more identification values ​​received. If authentication is successful, the processing server 102 can generate a second storage address using a blockchain wallet associated with the second blockchain (for example, via the generation module 218), and in S318, it can electronically send a notification indicating the success of authentication and the second storage address back to the second swap oracle 114 (for example, via the transmitting device 222).

[0044] In S320, the second swap oracle 114 can electronically transmit an instruction message to the second device 106 (for example, via the transmitter 222). The instruction message includes a second storage address and instructs the second device 106 to transfer the second digital asset to the second storage address on the second blockchain. The second device 106 can receive the message (for example, via the receiver 202) and can also transfer the second digital asset to the second storage address using traditional methods by submitting a new blockchain transaction to a blockchain node in the second blockchain network 110. The blockchain node can return to the second device 106 a transaction identifier (for example, received via the receiver 202) or other unique value relating to the blockchain data value for the new blockchain transaction. In S322, the second device 106 may electronically send a notification to the second swap oracle 114 (for example, via the transmitting device 222) regarding the transfer of the second digital asset, including a transaction identifier or other unique value. In S324, the second swap oracle 114 may forward the transfer notification to the processing server 102 (for example, via the transmitting device 222) using an appropriate communication network and method. S314-S324 may be performed before S302-S312, after S302-S312, or concurrently with the execution of S302-S312.

[0045] In S326, the processing server 102 can submit a new blockchain transaction to a blockchain node in the second blockchain network 110 to transfer the second digital asset to the recipient blockchain address for the first device 104 on the second blockchain. As a result, the first device 104 acquires ownership of the second digital asset on the second blockchain. In S328, the processing server 102 can submit a new blockchain transaction to a blockchain node in the first blockchain network 108 to transfer the first digital asset to the recipient blockchain address for the second device 106 on the first blockchain. As a result, the second device 106 acquires ownership of the first digital asset on the first blockchain.

[0046] An exemplary method for handling asset swaps across two blockchains. Figure 4 illustrates a method 400 for processing asset swaps across two blockchains through the use of multiple processing systems, a central processing server, and storage blockchain addresses.

[0047] In S402, a first transfer request may be received by a first processing system (e.g., a first swap oracle 112) (e.g., via a receiving device 202). The transfer request includes at least a first asset identifier associated with a first digital asset, one or more first identification values, and a first recipient address. In S404, the first processing system may approve the transfer of the first digital asset (e.g., via a verification module 220). In S406, one or more instructions may be submitted by the first processing system (e.g., a first swap oracle 112) (e.g., via a transmitting device 222) to a first smart contract stored on a first blockchain. The submission of one or more instructions results in the execution of the first smart contract, which transfers the first digital asset to a first storage address on the first blockchain.

[0048] In S408, a first notification message indicating the transfer of the first digital asset can be sent by the first processing system (e.g., via the transmitting device 222) to the central processing server (e.g., processing server 102). In S410, the first notification message can be received by the central processing server from the first processing system (e.g., via the receiving device 202). In S412, the central processing server can receive a second notification message from the second processing system (e.g., the second swap oracle 114) (e.g., via the receiving device 202), which indicates the transfer of the second digital asset to a second storage address on the second blockchain.

[0049] In S414, the central processing server can verify the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain (for example, via the verification module 220). In S416, the first digital asset can be transferred by the central processing server to the first recipient address on the first blockchain. In S418, the second digital asset can be transferred by the central processing server to the second recipient address on the second blockchain.

[0050] In one embodiment, the first and second processing systems may be a single computing device (e.g., computing device 200). In some embodiments, the first and second processing systems may be application programs executed by a central processing server. In one embodiment, the first processing system may be a first blockchain node in a first blockchain network (e.g., first blockchain network 108) associated with a first blockchain. The second processing system may be a second blockchain node in a second blockchain network (e.g., second blockchain network 110) associated with a second blockchain. In some embodiments, approval of the transfer of a first digital asset may include generating a first custody address.

[0051] In one embodiment, approval of the transfer of a first digital asset may include the following steps: a first processing system transmits at least one or more identifiers to a central processing server (e.g., via a transmitter 222); a central processing server verifies one or more identifiers (e.g., via a verification module 220); a central processing server generates a first storage address (e.g., via a generation module 218); and a first processing system receives a message from the central processing server (e.g., via a receiver 202) indicating the success of the verification of one or more identifiers, the message further including the first storage address. In some embodiments, the first transfer request may be received from a first smart contract. In one embodiment, the step of approving the transfer of a first digital asset may include a step of verifying the authenticity of the first digital asset (e.g., via a verification module 220).

[0052] Computer System Architecture Figure 5 shows a computer system 500, in which embodiments or parts thereof of the present disclosure may be implemented as computer-readable code. For example, the processing server 102, the first device 104, the second device 106, the first swap oracle 112, and the second swap oracle 114 of Figure 1, and the computing device 200 of Figure 2 may be implemented in the computer system 500 using hardware, a non-temporary computer-readable medium having stored instructions, or a combination thereof, and may be implemented in one or more computer systems or other processing systems. The hardware can embody modules and components used to implement the methods of Figures 3 and 4.

[0053] Where programmable logic is used, such logic runs on a commercially available processing platform consisting of executable software code and may be an application-specific or special-purpose device (e.g., a programmable logic array, an application-specific integrated circuit (ASIC), etc.). Those skilled in the art will understand that embodiments of the disclosed subject matter are executable in a variety of computer system configurations. Such configurations include multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, and general-purpose or miniature computers that can be implemented in substantially any device. For example, at least one processor device and memory may be used to implement the above embodiments.

[0054] The processor units or devices of this disclosure may be a single processor, multiple processors, or a combination thereof. The processor device may have one or more processor “cores.” The terms “computer program medium,” “non-temporary computer-readable medium,” and “computer-usable medium” in this disclosure are generally used to refer to tangible media (e.g., hard disks installed in removable storage unit 518, removable storage unit 522, and hard disk drive 512).

[0055] Various embodiments of this disclosure are described in relation to this exemplary computer system 500. After reading this disclosure, it will be obvious to those skilled in the art how to implement this disclosure using other computer systems and / or computer architectures. While operations are disclosed as sequential processes, some operations may actually be executed concurrently, simultaneously, and / or in a distributed environment. In this case, the program code is stored locally or remotely for access by single-processor or multi-processor machines. Furthermore, in some embodiments, the order of operations can be rearranged without departing from the spirit of the disclosure.

[0056] The processor device 504 may be a purpose-specific or general-purpose processor device specifically configured to perform the functions of the Disclosure. The processor device 504 may be connected to a communication infrastructure 506 (e.g., a bus, message queue, network, multicore message path scheme, etc.). The network may be any network suitable for performing the functions of the Disclosure and may include a local area network (LAN), a wide area network (WAN), a wireless network (e.g., Wi-Fi), a mobile communication network, a satellite network, the Internet, optical fiber, coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be obvious to those skilled in the art. The computer system 500 may also include main memory 508 (e.g., random access memory, read-only memory, etc.) and auxiliary memory 510. The auxiliary memory 510 may include a hard disk drive 512 and a removable storage drive 514 (e.g., a floppy disk drive, magnetic tape drive, optical disk drive, flash memory, etc.).

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

[0058] In some embodiments, the auxiliary memory 510 may include alternative means that enable computer programs or other instructions to be loaded into the computer system 500 (e.g., a removable storage unit 522 and interface 520). Examples of such means may include program cartridges and cartridge interfaces (e.g., found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, and other removable storage units 522 and interface 520. This will be obvious to those skilled in the art.

[0059] Data stored in the computer system 500 (for example, in main memory 508 and / or auxiliary memory 510) may be stored on any type of suitable computer-readable medium (e.g., optical storage (compact discs, digital multipurpose discs, Blu-ray discs, etc.) or magnetic tape storage (e.g., hard disk drives)). The data may be configured in any type of suitable database configuration (e.g., relational databases, structured query language (SQL) databases, distributed databases, object databases, etc.). Suitable configurations and storage types are obvious to those skilled in the art.

[0060] The computer system 500 may also include a communication interface 524. The communication interface 524 may enable software and data to be sent and received between the computer system 500 and external devices. An exemplary communication interface 524 may include a modem, a network interface (e.g., an Ethernet card), a communication port, a PCMCIA slot and card, etc. The software and data transferred via the communication interface 524 may be in signal form. The signal form may be electronic, electromagnetic, optical, or other signals obvious to those skilled in the art. The signals propagate through a communication path 526. The path is configured to carry signals and may be implemented using wires, cables, optical fibers, telephone lines, mobile phone links, radio frequency links, etc.

[0061] The computer system 500 may further include a display interface 502. The display interface 502 may be configured to allow data to be transferred between the computer system 500 and an external display 530. An exemplary display interface 502 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), etc. The display 530 may be any suitable type of display that displays the data transferred via the display interface 502 of the computer system 500, and includes cathode ray tube (CRT) displays, liquid crystal displays (LCDs), light-emitting diode (LED) displays, capacitive touch displays, thin-film transistor (TFT) displays, etc.

[0062] The computer program medium and computer-usable medium may refer to memory (e.g., main memory 508 and auxiliary memory 510) and may be semiconductor memory (DRAM, etc.). These computer program products may be means for providing software to the computer system 500. The computer program (e.g., computer control logic) may be stored in the main memory 508 and / or auxiliary memory 510. The computer program may also be received via the communication interface 524. When executed, such a computer program may enable the computer system 500 to perform the methods of the present disclosure. In particular, when executed, the computer program may enable the processor unit 504 to perform the methods shown in Figures 3 and 4 as described herein. Thus, such a computer program represents a controller of the computer system 500. The present disclosure is implemented using software. The software may be stored in the computer program product and loaded into the computer system 500 using a removable storage drive 514, interface 520, and hard disk drive 512 or communication interface 524.

[0063] The processor device 504 may include one or more modules or engines configured to perform the functions of the computer system 500. Each module or engine may be implemented using hardware, and in some embodiments, it may use software (for example, this corresponds to program code or programs stored in main memory 508 or auxiliary memory 510). In such embodiments, the program code may be compiled by the processor device 504 (for example, by a compilation module or engine) before execution by the hardware of the computer system 500. For example, the program code may be source code (e.g., assembly language or machine code) written in a programming language that is translated into a low-level language. This is for execution by the processor device 504 and / or any additional hardware components of the computer system 500. The compilation process may include lexical analysis, preprocessing, syntactic analysis, semantic analysis, syntactic-driven translation, code generation, code optimization, and the use of any other techniques suitable for translating the program code into a low-level language suitable for controlling the computer system 500 to perform the functions of the Disclosure. It will be obvious to those skilled in the art that such processing will result in a specially configured computer system 500 that is uniquely programmed to perform the above-mentioned functions.

[0064] The technology consistent with this disclosure provides a system and method for handling asset swaps across two blockchains, although it also has other features. Various exemplary embodiments of the system and method of this disclosure are described above, but it should be understood that they are provided for illustrative purposes only and not limiting purposes. They are not exhaustive, and this disclosure is not limited to the disclosed form itself. Modifications and variations are possible in light of the above teachings. Modifications and variations may be derived from implementations of this disclosure without exceeding the scope or scope.

Claims

1. A method for handling asset swaps across two blockchains, A first processing system receives a first transfer request comprising at least a first asset identifier associated with a first digital asset, one or more first identification values, and a first recipient address, wherein the first processing system is configured to communicate with a first device of a first user, a first blockchain network, and a central processing server. The first processing system approves the transfer of the first digital asset, A step of submitting one or more instructions to a first smart contract stored on a first blockchain using the first processing system, wherein the submission of the one or more instructions results in the execution of the first smart contract, and the execution of the first smart contract transfers the first digital asset to a first storage address on the first blockchain. The first processing system sends a first notification message indicating the transfer of the first digital asset to the central processing server, The central processing server receives the first notification message from the first processing system, The receiving step comprises the following steps: the central processing server receives a second notification message from a second processing system separate from the first processing system, wherein the second notification message indicates the transfer of a second digital asset to a second storage address on a second blockchain, the central processing server mediates communication between the first and second processing systems without requiring direct communication between the first and second processing systems, and the second processing system is configured to communicate with a second user's second device, a second blockchain network, and the central processing server; The central processing server verifies the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain. If the central processing server confirms the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain, the first digital asset is transferred to the first recipient address on the first blockchain. A method comprising the step of transferring the second digital asset to a second recipient address on the second blockchain by the central processing server.

2. The method according to claim 1, wherein the first processing system and the second processing system are a single computing device.

3. The method according to claim 1, wherein the first processing system and the second processing system are application programs executed by the central processing server.

4. In the method according to claim 1, The first processing system is a first blockchain node in a first blockchain network associated with the first blockchain, The method wherein the second processing system is a second blockchain node in a second blockchain network associated with the second blockchain.

5. A method according to claim 1, wherein the step of authorizing the transfer of the first digital asset includes the step of generating the first storage address.

6. The method according to claim 1, the step of approving the transfer of the first digital asset is: The first processing system transmits at least one of the identification values ​​to the central processing server, The central processing server performs the step of verifying one or more identification values, The central processing server generates the first storage address, A method comprising the steps of: receiving a message from the central processing server indicating the success of the verification of one or more identification values ​​by the first processing system, wherein the message further includes the first storage address.

7. The method according to claim 1, wherein the first transfer request is received from the first smart contract.

8. A method according to claim 1, wherein the step of approving the transfer of the first digital asset includes the step of verifying the authenticity of the first digital asset.

9. A system for processing asset swaps across two blockchains, wherein the system: The first blockchain network associated with the first blockchain, The second blockchain network is associated with the second blockchain, Central processing server and A first user's first device, a first blockchain network, and a first processing system configured to communicate with a central processing server, The system comprises a second device of a second user, a second blockchain network, and a second processing system separate from the first processing system, configured to communicate with the central processing server, The first processing system is The steps include receiving a first transfer request which includes at least a first asset identifier associated with a first digital asset, one or more first identification values, and a first recipient address, The step of approving the transfer of the first digital asset, A step of submitting one or more commands to a first smart contract stored on the first blockchain, wherein the submission of the one or more commands results in the execution of the first smart contract, and the execution of the first smart contract transfers the first digital asset to a first storage address on the first blockchain. The process involves sending a first notification message indicating the transfer of the first digital asset to the central processing server, The central processing server mediates communication between the first and second processing systems without requiring direct communication between the first and second processing systems. The steps include receiving the first notification message from the first processing system, A step of receiving a second notification message from the second processing system, wherein the second notification message indicates the transfer of a second digital asset to a second storage address on the second blockchain. A step of verifying the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain, If the success of the transfer of the first digital asset on the first blockchain and the success of the transfer of the second digital asset on the second blockchain are confirmed, the first digital asset is transferred to the first recipient address on the first blockchain. A system that performs the steps of transferring the second digital asset to a second recipient address on the second blockchain.

10. A system according to claim 9, wherein the first processing system and the second processing system are a single computing device.

11. The system according to claim 9, wherein the first processing system and the second processing system are application programs executed by the central processing server.

12. In the system described in claim 9, The first processing system is a first blockchain node in the first blockchain network, The second processing system is a second blockchain node in the second blockchain network.

13. The system according to claim 9, wherein the step of approving the transfer of the first digital asset includes the step of generating the first storage address.

14. In the system according to claim 9, the step of approving the transfer of the first digital asset is: The first processing system transmits at least one of the identification values ​​to the central processing server, The central processing server performs the step of verifying one or more identification values, The central processing server generates the first storage address, A system comprising the steps of: receiving a message from the central processing server indicating the success of the verification of one or more identification values ​​by the first processing system, wherein the message further includes the first storage address.

15. The system according to claim 9, wherein the first transfer request is received from the first smart contract.

16. The system according to claim 9, wherein the step of approving the transfer of the first digital asset includes the step of verifying the authenticity of the first digital asset.