Systems and methods for blockchain-dependent operation sets

The method enhances blockchain transactions by using intervening change addresses and conversion factors for efficient, rapid, and private asset exchanges, addressing limitations in existing blockchain technologies for non-cryptocurrency applications.

JP2025122154APending Publication Date: 2025-08-20NCHAIN LICENSING AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025087612
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2017-07-18
Filing Date
2025-05-27
Publication Date
2025-08-20

AI Technical Summary

Technical Problem

Existing blockchain technologies are limited in their application beyond cryptocurrencies and lack efficiency in processing transactions that require irrevocable approval mechanisms and privacy protection.

Method used

A method involving blockchain transactions using intervening change addresses and conversion factors to facilitate asset exchanges, allowing for rapid transaction validation and privacy protection, while enabling dependent transactions based on irrevocable blockchain confirmations.

Benefits of technology

Enables efficient, rapid, and private asset exchanges with irrevocable transaction confirmations, reducing delays and exposure risks, and facilitating automated processes across different asset types and jurisdictions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025122154000001_ABST
    Figure 2025122154000001_ABST
Patent Text Reader

Abstract

To provide systems and methods for blockchain-dependent operation sets.SOLUTION: Systems and methods for performing a plurality of operations, in which at least one operation comprises a blockchain transaction, are described. A request to perform a plurality of operations is received, where the operations comprise a blockchain transaction and a second transaction of a type other than a block chain transaction. A conversion factor is obtained from a service and a blockchain transaction is recorded based on the conversion factor. The recorded blockchain transaction comprises an amount of a digital asset (e.g., Bitcoin) based on the conversion factor, a generated blockchain address, and an interstitial change address. The second transaction is performed as a result of the blockchain transaction having been validated.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [Technical field] The present disclosure relates generally to systems and methods for performing a set of operations that include at least one distributed ledger transaction, and where further operations, including other transaction types, depend on the distributed ledger transaction, and is particularly suited for, but not limited to, use in exchanging mixed asset types.

[0002] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of South African Provisional Application No. 2017 / 04853, filed on 18 July 2017. [Background technology]

[0003] In this document, the term "blockchain" is used to include all forms of electronic, computer-based distributed ledgers. These include consensus-based blockchain and transaction chain technologies, permissioned and unpermissioned ledgers, shared ledgers, and variations thereof. The most widely known application of blockchain technology is the Bitcoin® ledger, although other blockchain implementations have been proposed and developed. While reference may be made herein to Bitcoin for convenience and illustrative purposes, it should be noted that the present invention is not limited to use with the Bitcoin blockchain, and alternative blockchain implementations and protocols are within the scope of the present invention.

[0004] A blockchain is a peer-to-peer electronic ledger, realized as a computer-based, decentralized, distributed system composed of blocks, which in turn are composed of transactions. Each transaction is a data structure that encodes the transfer of control of digital assets between participants in the blockchain system and includes at least one input and at least one output. Each block contains a hash of the previous block, allowing blocks to be chained together to create a permanent, immutable record of all transactions written to the blockchain since its inception. Transactions contain small programs, known as scripts, embedded in their inputs and outputs that specify how and who can access the transaction's outputs. In the Bitcoin platform, these scripts are written using a stack-based scripting language.

[0005] For a transaction to be written to the blockchain, it must be "verified." Network nodes (miners) work to ensure each transaction is valid; invalid transactions are rejected by the network. A software client installed on a node performs this validation on unspent transactions (UTXOs) by executing its lock and unlock scripts. If the execution of the lock and unlock script evaluates to TRUE, the transaction is valid and is written to the blockchain. Thus, for a transaction to be written to the blockchain, it must be: i) verified by the first node that receives the transaction, which relays it to other nodes in the network if the transaction is verified; ii) added to a new block constructed by miners; or iii) mined, i.e., added to the public ledger of past transactions.

[0006] While blockchain technology is most widely known for its use in implementing cryptocurrencies, digital entrepreneurs are beginning to explore the use of both the cryptographic security system upon which Bitcoin is based and the data that can be stored on the blockchain to realize new systems. It would be highly advantageous if blockchain could be used for automated tasks and processes that are not limited to the cryptocurrency realm. Such solutions would be more versatile in their application while also being able to take advantage of the benefits of blockchain (e.g., a permanent, tamper-proof record of events, distributed processing, etc.). Summary of the Invention

[0007] The present disclosure provides methods, systems, and computer program products as defined in the appended claims.

[0008] According to the present disclosure, a computer-implemented method may be provided, the method including: receiving a request to initiate a plurality of operations, the request including a first value and an identifier of a first entity, the plurality of operations including a blockchain transaction and a second transaction of a different type than the blockchain transaction; generating a blockchain address in a data store to be temporarily associated with the identifier; obtaining a conversion factor from a service to convert the first value to a second value used in the blockchain transaction; recording the blockchain transaction in a blockchain, the blockchain transaction using the generated blockchain address and an intervening change address; validating the blockchain transaction; and, as a result of the blockchain transaction being validated, processing the second transaction based at least in part on the first value.

[0009] The use of a blockchain or distributed ledger in such methods may provide many advantages, including providing an efficient approval mechanism for operations that depend on a first transaction, which may be due in part to a proof mechanism that is more easily determined to be irrevocable than other transaction types.

[0010] The use of intervening change addresses may also provide many advantages. For example, intervening change addresses may be created without waiting for confirmation, allowing operations to proceed efficiently. Furthermore, the use of intervening change addresses may enable the provision of detailed transaction data for both parties to a transaction, providing both parties with assurance that the transaction is irreversible, while further preventing the parties' transaction histories from being publicly exposed. Intervening change addresses are blockchain addresses and therefore inherit the attributes of the blockchain, such as irreversibility. The use of intervening change addresses may also enable a more rapid determination that a transaction has been posted to the blockchain than other approaches, such as waiting for a block containing the transaction to be mined.

[0011] The method may further include sending a notification that, as a result of the blockchain transaction being validated, the third transaction can proceed. The actions may include associated dependent transactions that may be executed if the first transaction is determined to be irrevocable. This determination may be made efficiently using techniques described herein, which similarly always link the third transaction to the previous transaction without potentially undue delays that may be encountered using other techniques.

[0012] The method may further include obtaining an identifier of the first entity from a visual code scanned by a device controlled by the second entity. This may have the advantage of allowing the second entity to initiate an action in a convenient manner. It also provides a convenient mechanism for the second entity to verify the identity of the first entity before initiating a transaction.

[0013] The method may further include the request being sent from a point of sale device controlled by the first entity, which may be advantageous for a number of reasons, including that it provides a convenient mechanism for the first entity to initiate the action.

[0014] The method may further include the request being sent from a point of sale device controlled by the first entity in response to an electronic communication from a device controlled by the second entity, which may be advantageous for a number of reasons, including that it provides a convenient mechanism for the second entity to initiate a transaction, while also providing notification to the first entity that an action has been initiated.

[0015] The method may further include validating the blockchain transaction by identifying a further blockchain transaction that assigns change from the blockchain transaction to the intermediate change address. The use of the intermediate change address in this operation allows for more efficient validation of the blockchain transaction. This has many advantages, including making it more feasible to make other transactions dependent on the blockchain transaction and allowing for faster notification to an entity that a transaction has been successful.

[0016] The method may further include publishing the blockchain transaction, and validating the blockchain transaction includes completing the publication. As such, the validating step may be completed by initiating the transaction while operating as or interfacing with a distributed ledger node. In various embodiments, a transaction module may publish the blockchain transaction while operating as or interfacing with a distributed ledger node. By controlling the publication of the distributed ledger node, it is possible to determine that a transaction has effectively become irreversible even before the corresponding block is mined. In particular, it provides assurance that conflicting digital asset transfers are not permitted.

[0017] The method may further include not using the generated blockchain address in blockchain transactions after performing multiple operations. This use of a one-time address improves privacy protection for the entities involved in the operations because the blockchain does not include additional entries directly linking the entities involved in the operations.

[0018] The method may further include the plurality of operations including a further blockchain transaction transferring the digital asset from the temporary address to an address provided by the service. This may be performed to effect an exchange of the digital asset for another asset type. If so, using an exchange rate provider to obtain the address for the outgoing transfer minimizes discrepancies between the obtained exchange rate and the actual exchange rate. Furthermore, it helps to facilitate automated, time-bound, selective execution of the exchange, which may increase system reliability and availability and further minimize discrepancy risk.

[0019] The method may further include selecting a service from among the plurality of services based at least in part on the service's compliance with at least one of jurisdictional or geographic criteria, which, for example, may increase system reliability and availability while further reducing risk of misalignment.

[0020] It is further contemplated to provide a system including at least one processing processor and a memory containing executable instructions that, upon execution by the at least one processor, cause the system to perform any of the methods described above.

[0021] It is further contemplated to provide a non-transitory computer-readable storage medium having stored thereon executable instructions that, upon execution by one or more processors of a computer system, cause the computer system to perform at least any of the methods described above.

[0022] According to the present disclosure, a computer-implemented method may be provided, the method including the steps of: receiving a request to initiate a plurality of operations, the request including information indicating a first value and an identifier of a first entity, the plurality of operations being a first blockchain transaction, a second blockchain transaction, and a third transaction of a different type than the first and second blockchain transactions; obtaining a first conversion factor from a first service associated with a first region; and recording the first blockchain transaction in a blockchain, the first blockchain transaction including the first value and and indicating an incoming transfer of a digital asset amount based at least in part on the first conversion factor; obtaining a second conversion factor from a second service associated with a second region; causing the second blockchain transaction to be recorded on the blockchain, the second blockchain transaction indicating an outgoing transfer of the digital asset amount, the outgoing transfer being in exchange for a second amount of a second asset type, the second amount being based at least in part on the digital asset amount and the second conversion factor; and initiating the third transaction based at least in part on the second amount of the second asset.

[0023] The method may further include initiating a third transaction in response to confirmation of the first and second blockchain transactions, where the confirmation occurs without determining that the first and second blockchain transactions are associated with a mined block in the blockchain. This allows operations to be performed with greater efficiency and overall speed because the operations are not delayed while waiting for the current block to be mined.

[0024] The method may further include the first transaction including the generated blockchain address, which is not used in subsequent transactions after performing the multiple operations, which helps protect the privacy of the parties involved in the transaction.

[0025] The method may further include the third transaction including transferring at least a portion of a second amount of the second asset to the mobile currency account. Use of the mobile currency account provides the recipient entity with a convenient means of accessing the transferred asset. Additionally, the mobile currency account may use a phone number as an account identifier, providing a convenient means of identifying the recipient account.

[0026] The method may further include selecting the first and second services based at least in part on the services' conformance to at least one of jurisdictional or geographic criteria. This may provide various advantages, including enabling identification of services that can conform to local laws and regulations. It may also reduce currency risk and improve the accuracy of quoted exchange rates. Furthermore, dynamic selection, such as in response to the initiation of multiple operations, provides advantages such as minimizing the risk that the obtained exchange rate deviates from the actual exchange rate, and reducing the risk that the dynamically selected service will not be available to participate in the exchange when requested.

[0027] The method may further include the information indicative of the first value including an identifier of the voucher. In some examples, a first entity may be presented with a voucher held by a second entity. The voucher may be scanned by a mobile device, point of sale terminal, or other device to obtain the voucher identifier. The identifier may then be transmitted along with a request to initiate a number of actions. Using the identifier, a recipient of the request may look up any preselected or predetermined parameters related to the request in a database.

[0028] It is further contemplated to provide a system including at least one processing processor and a memory containing executable instructions that, upon execution by the at least one processor, cause the system to perform any of the methods described above.

[0029] It is further contemplated to provide a non-transitory computer-readable storage medium having stored thereon executable instructions that, upon execution by one or more processors of a computer system, cause the computer system to perform at least any of the methods described above. [Brief explanation of the drawings]

[0030] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment(s) described hereinafter. One embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: [Figure 1] 1 illustrates a blockchain environment in which various embodiments may be implemented. [Figure 2] SUMMARY OF THE INVENTION A system is presented that facilitates the transfer of assets between source and recipient parties. [Figure 3] 1 illustrates an exemplary process for facilitating the transfer of assets between source and recipient parties. [Figure 4] 1 illustrates an exemplary process for recording a transaction on a distributed ledger. [Figure 5] A system is presented that facilitates asset transfers between source and recipient parties in different jurisdictions. [Figure 6] 1 illustrates an exemplary process for facilitating asset transfer between source and recipient parties in different jurisdictions. DETAILED DESCRIPTION OF THE INVENTION

[0031] Next, systems, methods, and computer program products are described that perform a plurality of operations, at least one of which is a blockchain transaction, and one additional operation is dependent on confirmation of the blockchain transaction. In various aspects and embodiments, the disclosed systems, methods, and computer program products may further include techniques for confirming the blockchain transaction.

[0032] In one example, a computer-implemented method is provided for transferring assets between parties using a distributed ledger. In one example, a computer-implemented method is provided for providing fiat currency (or some other asset type) to a recipient entity in exchange for digital assets held by a source entity. The digital assets may refer to assets tied to a blockchain, such as Bitcoin or other cryptocurrencies. However, the digital assets may, in some examples, refer to other asset types tied to a distributed ledger. The computer-implemented method employs a distributed ledger and associated infrastructure, such as local exchange services, to enable more convenient use of the digital assets, including when the recipient entity is unable or unwilling to receive the digital asset transfer.

[0033] In another example, a computer-implemented method is provided for exchanging assets in different geographies using different asset types in each geography. One application of this method enables a source entity to send fiat currency of a first type to a recipient, and the recipient receives fiat currency of a second type. The computer-implemented method leverages a distributed ledger and an associated distributed ledger infrastructure, such as a local exchange service, to facilitate the exchange.

[0034] In another example, a computer-implemented method is provided for performing a series of interdependent actions, where at least one action depends on irrevocability of a previous action, and the method may further include depending on the irrevocability being determined within a threshold period of time.

[0035] Reference is first made to FIG. 1, which illustrates an exemplary blockchain network 100 associated with a blockchain, according to one embodiment of the present disclosure. A blockchain is an example of a distributed ledger, although the two terms are sometimes used interchangeably. As used herein, a distributed ledger refers to a distributed data management system in which multiple computing devices, sometimes called nodes, each maintain their own copy of the ledger. The ledger typically includes a record of a series of transactions. None of the nodes contains a final copy of the ledger. Rather, the record of a transaction recorded by any one of the nodes is distributed to other nodes, which may also record transactions, thereby achieving a consensus view of the ledger. Distributed ledgers are also associated with digital assets, such as Bitcoin. In particular, digital assets, in various embodiments, are tied to the creation of verifiable blocks to which ledger transactions are associated.

[0036] In an example embodiment, the example blockchain network 100 includes blockchain nodes implemented as peer-to-peer distributed electronic devices, each executing instances of software and / or hardware that perform operations according to a blockchain protocol agreed upon at least in part among operators of the nodes 102. In some examples, a "node" refers to a peer-to-peer electronic device distributed across the blockchain network. One example of a blockchain protocol is the Bitcoin protocol.

[0037] In some embodiments, node 102 may comprise any suitable computing device (e.g., a server in a data center, a client computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a smartphone, etc.), multiple computing devices in a distributed system of a computational resource service provider, or any suitable electronic client device such as a computer. In some embodiments, node 102 has an input for receiving data messages or objects representing proposed transactions, such as transaction 104. In some embodiments, nodes are queryable for information they maintain, such as information on the state of transaction 104.

[0038] As shown in Figure 1, some of the nodes 102 are communicatively coupled to one or more other of the nodes 102. Such communicative coupling may include one or more of wired or wireless communication. In an embodiment, the nodes 102 each maintain at least a portion of a "ledger" of all transactions in the blockchain. In this manner, the ledger is a distributed ledger. Transactions processed by a node that affect the ledger are verifiable by one or more of the other nodes, thereby maintaining the integrity of the ledger.

[0039] With regard to which nodes 102 can communicate with which other nodes, it is sufficient that each of the nodes in the exemplary blockchain network 100 can communicate with one or more other of the nodes 102 such that messages passed between nodes can propagate throughout the exemplary blockchain network 100 (or some significant portion thereof), assuming that the messages are those the blockchain protocol indicates should be forwarded. One such message could be the publication of a proposed transaction by one of the nodes 102, such as node 102A, which then propagates along a path, such as path 106. Another such message could be the publication of a new block proposed for inclusion in the blockchain.

[0040] In one embodiment, at least some of the nodes 102 are miner nodes that perform complex computations, such as solving cryptographic problems. Miner nodes that solve the cryptographic problems create new blocks for the blockchain and broadcast the new blocks to other nodes 102. Other nodes 102 verify the miner nodes' work and, upon verification, accept the block into the blockchain (e.g., by adding it to the blockchain's distributed ledger). In some examples, a block is a group of transactions, often marked with a timestamp and a "fingerprint" (e.g., a hash) of the previous block. In this way, each block can become linked to the previous block, thereby creating a "chain" that links the blocks in the blockchain. In embodiments, valid blocks are added to the blockchain by consensus of the nodes 102. Also, in some examples, the blockchain includes a list of validated blocks.

[0041] In one embodiment, at least some of the nodes 102 operate as validating nodes that validate transactions, as described in this disclosure. In some examples, a transaction includes data providing proof of ownership of a digital asset (e.g., multiple bitcoins) and the terms for accepting or transferring ownership / control of the digital asset. In some examples, a "spend transaction" refers to a blockchain transaction that reassociates (e.g., transfers ownership or control of) at least a portion of a digital asset represented by an unspent transaction output (UTXO) of a previous transaction to an entity associated with a blockchain address. In some examples, a "previous transaction" refers to a blockchain transaction that includes the UTXO referenced by the spend transaction. A transaction such as a spend transaction may specify a change address, which is a blockchain address to which the transaction's UTXO is assigned. In some cases, the change address may be configured to be the owner of the asset being transferred, thereby receiving any unspent transaction outputs. However, the change address may also be configured to direct ownership or control of the change elsewhere.

[0042] In some embodiments, a transaction includes a "lock script" that imposes conditions on the transaction that must be met before ownership / control can be transferred ("unlocked").

[0043] In some embodiments, a blockchain address is a string of alphanumeric characters associated with an entity to which control of at least a portion of a digital asset is being transferred or reassociated. In some blockchain protocols implemented in some embodiments, there is a one-to-one correspondence between public keys associated with entities and blockchain addresses. In some embodiments, validating a transaction includes verifying one or more conditions specified in a locking script and / or an unlocking script. Upon successful validation of a transaction 104, a validating node adds the transaction 104 to the blockchain and distributes it to nodes 102.

[0044] 2 illustrates a system 200 for facilitating the transfer of assets between source and recipient parties. For example, the exemplary embodiment illustrated by FIG. 2 may be employed to facilitate the transfer of assets in which a recipient entity 220 (e.g., a merchant) is paid in fiat currency for products or services based on digital assets held by a source entity 222 (e.g., a customer of the merchant). It will be understood that this example is intended to be illustrative and, as such, should not be construed to limit the scope of the present disclosure to only those embodiments consistent with the particular embodiment provided.

[0045] Exemplary system 200 may include a transfer module 202 that performs operations to facilitate the transfer of assets from a source entity 222 to a recipient entity 220 using a distributed ledger 212. In one embodiment, transfer module 202 includes a computing device, such as a computing device having a non-transitory memory of the computing device stored with processor-executable instructions that, in response to being executed by a processor, cause the computing device to perform the functions of transfer module 202 described herein.

[0046] In the exemplary embodiment depicted in FIG. 2 , the transfer module 202 generates a unique identifier representing the recipient entity 220 and stores a record of the association between the unique identifier and the recipient entity. This unique identifier may be represented as a visual code 224 and provided to the recipient entity in printed or electronic form. The visual code 224 may be a barcode, a quick response (“QR”) code, or other visual marking. The recipient entity may display the visual code 224 to the prospective source party. For example, a merchant may be provided with the visual code 224 in the form of a sign, poster, or other printed element, which the merchant can then display to prospective customers.

[0047] The source entity 222 notices the visual code 224 and can scan the visual code 224 using a mobile computing device 226. In this manner, the source entity's mobile computing device 226 gains access to the recipient entity's unique identifier. An application executing on the mobile computing device 226 can then send a transfer request 228 to the transfer module 202 over the network 250. In the example of FIG. 2, the transfer includes a series of actions in which the source entity provides a first type of asset (specifically, a digital asset associated with the distributed ledger 212) and the recipient entity receives a second type of asset, such as fiat currency.

[0048] In another embodiment, the mobile computing device 226 sends an electronic message to a terminal 228, such as a point-of-sale device operated by the recipient entity, which may then send a transfer request 228 to a transfer module.

[0049] In another embodiment, the terminal 228 sends the transfer request 228 directly to the transfer module 202. In this case, the terminal 228 obtains information about the source entity 222 through any of several possible means, such as through direct inquiry or interaction with the mobile computing device 226 of the source entity 222.

[0050] The transfer request 228 includes an identifier of the recipient entity and an amount for the transfer specified according to the destination asset type, i.e., the asset type requested by the recipient entity. For example, the amount may be specified in units of fiat currency.

[0051] In response to receiving the transfer request 228, the transfer module 202 creates a temporary distributed ledger account associated with the recipient entity 220. In one embodiment, creating the account includes forming a public / private key pair and a corresponding blockchain address that can be used to represent the temporary account in a subsequent digital asset transfer. In some cases, a temporary blockchain address is further generated for use as an interstitial change address.

[0052] In one embodiment, the transfer module 202 obtains a conversion factor that can be used to convert between the source and destination asset types. In an embodiment, the conversion factor is based on information obtained from the local exchange service 130 and represents the current exchange rate between the source and destination asset types. In an embodiment, the conversion factor is obtained within a threshold amount of time, such that it may be considered to have been obtained contemporaneously with the initiation of the transaction. This may have technical effects including, but not limited to, minimizing risk to the source entity 222 for the transaction, minimizing risk to the transfer module 202, and allowing the source entity 222 to have greater insight into the costs of the transaction.

[0053] As used herein, a local exchange service 230 is a computer-accessible service reached through a network 250, such as the Internet. The service may provide programming interfaces, protocols, or other similar mechanisms that perform functions including providing rates of exchange between asset types and effecting the exchange of these asset types. Asset types include digital assets bound to the distributed ledger 212.

[0054] In one embodiment, the local exchange service 230 is jurisdictionally proximate to at least one of the source entity 222 or the recipient entity 220. As used herein, jurisdictional proximity refers to the local exchange service 230 operating in the same country or economic area as the source or recipient transaction entity 220.

[0055] In one embodiment, the local exchange service 230 is geographically proximate to at least one of the source entity 222 or the recipient entity 220. As used herein, geographic proximity refers to the local exchange 230 being within the same geographic boundary as the first transaction entity 220.

[0056] In one embodiment, the local exchange service 230 is not geographically or jurisdictionally proximate to either the source entity 222 or the recipient entity 220, but still operates in a manner relevant to the jurisdiction and / or geography of at least one of the parties. For example, a global exchange may conduct exchanges between digital assets and various other asset types, such as asset types used in the jurisdictions and / or geographies associated with the source and / or recipient entities.

[0057] 2, the transfer module 202 selects a local exchange service 230 from among multiple local exchange services based on a set of criteria. The criteria may include conformance with the jurisdictional or geographic factors described above, and may further include other factors such as availability, latency, accuracy, etc. In one example, the recipient entity 220 provides an indication of a desired asset type, typically one associated with the jurisdiction of the recipient entity 2220. Thus, if the recipient entity 220 is a merchant, the local exchange service 230 may be selected based on the ability of the local exchange service 230 to offer the merchant's local fiat currency in exchange for digital assets associated with the distributed ledger 212.

[0058] The transfer module 202 processes distributed ledger transactions that transfer digital assets from an account associated with a source entity 222 to a temporary account. The use of a distributed ledger provides technical advantages, including, but not limited to, allowing the transfer module 202 to determine when to approve a payment or other transfer to a recipient entity.

[0059] The ledger transaction amount is based on the amount specified in the transfer request 228 and a conversion factor obtained from the local exchange service 230. Thus, the destination asset amount specified in the transfer request 228 is converted to a digital asset amount using the conversion factor. The ledger transaction amount corresponds to this amount, although it may be adjusted based on factors such as fees or commissions.

[0060] The transfer module 202 specifies that an intervening change address is to be used in the ledger entry 210. The intervening change address may be a one-time-use, generated blockchain address. The use of an intervening change address provides technical advantages including, but not limited to, enabling efficient approval of requested transactions, enabling detailed transaction information to be provided, and avoiding exposing any entity's transaction history to the public blockchain.

[0061] In one embodiment, ledger entry 210 includes a temporary blockchain address that is used as a transfer destination and as an intermediate change address.

[0062] In one embodiment, ledger entry 210 includes a first ephemeral blockchain address used as the transfer destination and a second ephemeral blockchain address used as the intermediate change address.

[0063] In one embodiment, the ledger entry 210 is posted by a transfer module 202 acting as a ledger node 232 that publishes (i.e., streams or broadcasts) the transaction to other ledger nodes 232.

[0064] The transfer module 202 can process distributed ledger transactions by submitting entries to the distributed ledger. Ledger entry 210 indicates a transfer of digital assets. In particular, the entry may include a source indicator set to the blockchain address for an account held by a second entity for the transaction, a destination indicator set to the blockchain address for the temporary account, and a change address set to an intervening change address.

[0065] The transfer module 202 may determine that a ledger entry 210 has been recorded in the distributed ledger 212. In various embodiments, an entry is considered to be recorded in the distributed ledger when one or more ledger nodes 232 have received and stored a copy of the ledger.

[0066] In response to determining that the entry has been recorded, the transfer module 202 can initiate an exchange of the digital asset for another asset type. This includes transferring the digital asset from the temporary digital asset account to a digital asset account at the exchange. The exchange can then remit the payment in the destination asset type. In the example of FIG. 2, the digital asset previously transferred from the source entity's account to the temporary account is then transferred to a digital asset account associated with the local exchange service 230. In response, the local exchange service 230 deposits the corresponding destination asset amount into an account owned by the transfer module.

[0067] Additionally, in response to determining that the ledger transaction has been recorded, the transfer module may initiate a deposit of the destination assets to the recipient entity's account. The amount of the deposit generally corresponds to the destination currency amount indicated in the transaction request 228, but may be adjusted based on various other factors, including, but not limited to, service fees, commissions, taxes, etc.

[0068] In one embodiment, the transfer module 202 sends the notification to a terminal 228. The terminal 228 may be, for example, a point of sale system used by the recipient entity 220. However, this example should not be considered to limit the scope of the present disclosure to only those embodiments consistent with this example.

[0069] 3 illustrates an exemplary process 300 for facilitating the transfer of assets between source and recipient parties. While depicted as a sequence of operations, the depicted sequence should not be construed as limiting the scope of the disclosure to only those embodiments conforming to the depicted sequence, unless explicitly stated or logically required (e.g., when the output of one operation is used as input to another operation). In particular, certain steps may be omitted, reordered, or performed in parallel in various embodiments.

[0070] The operations of example process 300 may be performed by a transfer module, such as transfer module 202 shown in FIG. 2. The operations may also be performed in a variety of contexts. In one example, the process may be employed to enable a merchant to receive payments in fiat currency based on digital currency held by a customer. In another context, exchanges between digital asset types are performed.

[0071] As used with respect to FIG. 3, an entity corresponds to a person, party, device, or system associated with a digital or non-digital asset type.

[0072] At 302, the transfer module receives a request to transfer assets. The received request includes an amount to transfer to a recipient entity and an identifier of the recipient entity. As described with respect to the example of FIG. 2, the request may be initiated in a variety of ways, including the source entity scanning a visually encoded recipient identifier using a mobile device and submitting the request using an application on the mobile device.

[0073] At 304, the transfer module responds to the request by creating a blockchain address that identifies the temporary account. The account and blockchain address reference the distributed ledger 212 and may itself be used to indicate the source or destination of a digital asset transfer linked to the distributed ledger 212.

[0074] At 306, the transfer module obtains a conversion rate between the amount to be transferred to the recipient and the amount of the digital asset associated with the distributed ledger. For example, the cryptocurrency Bitcoin is associated with a digital ledger sometimes called a "blockchain," although the term blockchain is sometimes used more generally to refer to distributed ledgers used in connection with other digital asset types. In various embodiments, the conversion rate may be obtained from a selected local exchange service concurrently with other operations related to the transfer.

[0075] At 308, the transfer module initiates the transfer of the determined quantity of the digital asset to the temporary account, which causes a record of the transaction to be recorded by the distributed ledger. For example, the transfer module 202 depicted in FIG. 2 may initiate the distributed ledger transaction using an application programming interface or web service. In response, one or more of the distributed ledger nodes 232 processes the transaction by at least storing a record of the transaction in the distributed ledger.

[0076] In one embodiment, the entry specifies the source entity address as the source of the transfer, the temporary account address as the destination, and the intervening change address as the change address of the transaction.

[0077] At 310, the transfer module sends a notification indicating that the transfer was successfully recorded. To determine that the transfer was successfully recorded, the transfer module may self-publish the blockchain transaction, for example, by operating as or interfacing with a distributed ledger node. In another embodiment, the transfer module determines that the transfer was successfully recorded by identifying an entry in the distributed ledger that is directed to the intermediate change address.

[0078] At 312, the transfer module initiates a deposit into an account associated with the recipient entity's identifier. This action may, in some cases and embodiments, be preceded or coincident with the transfer module initiating an exchange between the digital asset and an asset type used by the recipient. Performing this exchange helps to reduce the volatility risk associated with the digital asset and / or the volatility associated with the recipient's asset type.

[0079] To initiate the deposit, the transfer module can send an electronic message to another system, such as deposit request 214 shown in Figure 2. For example, deposit request 214 may be directed to a banking institution associated with the recipient entity in applications involving fiat currency.

[0080] 4 illustrates an exemplary process 400 for recording transactions in a distributed ledger. While depicted as a sequence of operations, the depicted sequence should not be construed as limiting the scope of the disclosure to only those embodiments conforming to the depicted sequence, unless explicitly stated or logically required (e.g., when the output of one operation is used as input to another operation). In particular, in various embodiments, certain steps may be omitted, reordered, or performed in parallel.

[0081] The operations of example process 400 may be performed by a transfer module, such as transfer module 202 shown in Figure 1. Example process 400 relates to resulting in the recording of a distributed ledger entry, as shown in operation 308 of Figure 3.

[0082] At 402, the transfer module sets a transfer amount for the distributed ledger entry. As described with respect to Figure 3, the amount is expressed in terms of a digital asset linked to the distributed ledger on which the entry is recorded. The amount of the transfer is based on the amount of the recipient asset being transferred and the exchange rate obtained from the selected local exchange service.

[0083] At 404, the transfer module sets the inputs for the transfer to be ledger entries associated with the source entity. The source entity's digital assets can be described as being held in the source entity's digital asset account, while they are represented in the distributed ledger as one or more transfers to the source entity that have not yet been transferred elsewhere. The transfer module locates the unused entries and uses them as inputs for the transfer to be recorded in the distributed ledger.

[0084] At 406, the transfer module sets the destination of the transfer to be the address associated with the temporary account created by the transfer module, thus indicating that the output of the transfer, minus any change, should be assigned to the temporary account.

[0085] At 408, the transfer module sets the change address to be the intermediate change address. Thus, the ledger entry indicates that any funds above the specified amount should be allocated to the specified intermediate change address.

[0086] At 410, the transfer module submits the distributed ledger entry for recording in the distributed ledger. The recording of the ledger entry transfers the digital asset to the temporary account. Additionally, a further entry is posted to the distributed ledger assigning the change to an intermediate change address.

[0087] Figure 5 illustrates a system for facilitating asset transfers between source and recipient parties in different jurisdictions. For example, using the system 500 illustrated in Figure 5, a source entity 522 can send currency to a recipient entity 520 in another country via a remittance facilitator 502 that utilizes a distributed ledger 512.

[0088] The example system 500 may include a transfer module 502 that performs operations to facilitate the transfer of assets from a source entity 522 to a recipient entity 520 using a distributed ledger 512. In one embodiment, the transfer module 502 includes a computing device, such as a computing device having a non-transitory memory of the computing device stored with processor-executable instructions that, in response to being executed by a processor, cause the computing device to perform the functions of the transfer module 502 described herein.

[0089] In various cases and embodiments, source entity 522 scans voucher 528 using mobile computing device 526. Voucher 528 may be obtained from a merchant or other source in exchange for a fiat currency amount corresponding to the amount the source entity intends to transfer, adjusted to reflect any fees, commissions, or other costs.

[0090] The voucher 528 may be a printed coupon or other physical document, or may be an electronic document or message that can be visually displayed. The voucher 528 may include a visual code, such as a barcode, quick response ("QR") code, or other visual markings that can be scanned by the mobile computing device 526. Alternatively, the voucher 528 may include a non-visual information encoding means, such as a magnetic strip or radio frequency identification ("RFID") that can be read by the mobile computing device 526, thereby providing the mobile computing device 526 with a voucher identifier. The voucher identifier includes data that uniquely identifies the voucher.

[0091] The mobile computing device 526 of the source entity 522 can send a transfer request 524 to the transfer module 502. In one embodiment, the transfer request 524 includes a voucher identifier. A one-time PIN or encryption key may also be included and used to verify the source entity's authorization to use the voucher.

[0092] In another embodiment, the transfer request 524 includes account access and authorization information and the amount to transfer. Thus, this information may be used in some embodiments in place of a voucher identifier to establish the terms of the requested transfer.

[0093] The transfer module 502 may validate the transfer request 524 by verifying that the voucher identifier corresponds to an authentic and unexpired voucher. In some cases, validating further includes determining that the amount of the requested transfer is consistent with the amount associated with the voucher.

[0094] Alternatively, the transfer module 502 can validate the transfer request 524 by authenticating the provided account credentials and determining that the amount of the requested transfer is consistent with the available balance in the account, or can simply determine the amount for the voucher stored by the system.

[0095] In response to validating the request, the transfer module 502 obtains a conversion factor for the exchange between the source asset type and the digital asset bound to the distributed ledger 512. The conversion factor may be obtained from a local exchange service 530. The technique for selecting a local exchange service may be similar to that described with respect to selecting the local exchange service 230 depicted in FIG. 2.

[0096] The transfer module 502 then acquires the digital assets in an amount proportional to the requested transfer amount, adjusted by the conversion factor. The acquisition may be performed via electronic communication with a local exchange service 530 in the source region 540. The acquisition is performed by exchanging a specified amount of the source assets for the digital assets, adjusted by the conversion factor of the local exchange service 530.

[0097] The transfer module 502 also sells a corresponding amount of the digital assets. The sale may be performed via electronic communication with a local exchange service 532 in the destination region 542. In various cases and embodiments, the acquisition of the digital assets is performed simultaneously with the sale of the digital assets. For example, the sale may be performed immediately after the successful acquisition of the digital assets. The sale may be performed by exchanging the digital assets for the destination assets, adjusted by a conversion factor provided by the local exchange service 532 in the destination region 542.

[0098] In some embodiments, the transfer module 504 can transfer digital assets from a source region 540 to a destination region 542 prior to a sale. In particular, assets acquired by an account associated with the source region 540 may be transferred to an account associated with the destination region 532. A sale of the digital assets may then be based on the digital assets held by the destination region account.

[0099] The acquisition of a digital asset is recorded in the distributed ledger 512 as an incoming transfer 504 of the digital asset, where "incoming" refers to the digital asset being transferred to an account associated with the transfer module 502. The incoming transfer 504 may be recorded in the distributed ledger 512 by initiating a ledger transaction where the destination address of the transfer corresponds to the account of the transfer module 502.

[0100] The sale of a digital asset may similarly be recorded in the distributed ledger 512 as an outgoing transfer 506 of the digital asset, where "outgoing" refers to the digital asset being transferred from an account held by the transfer module 502. The outgoing transfer 506 may be recorded in the distributed ledger 512 by initiating a ledger transaction in which the source address of the transfer is indicated to be the address of the account of the transfer module 512. In some cases, the destination address is that of a selected local exchange service 532 within the destination region 542.

[0101] The incoming transfer 504 and outgoing transfer 506 may be performed by respective local exchange services 530, 532. The incoming transfer 504 may be performed by a local exchange service 530 in a source region 540, and the outgoing transfer 506 may be performed by a local exchange service 532 in a destination region 542. In the example of FIG. 5, the transfer module 502 selects the local exchange service 530, 532 from among multiple local exchange services based on a set of criteria. The criteria may include conformance with jurisdictional or geographic factors, as well as the availability, latency, and cost of the selected exchange 530, 532. The local exchange service may be selected concurrently with other operations, such as in response to the transfer module 502 receiving the transfer request 524.

[0102] In one embodiment, the transfer module 502 uses proceeds from the sale of the digital assets to acquire assets in the second region and provide these assets to the recipient entity. In one embodiment, the assets in the second region are converted to mobile money and deposited in a mobile money account accessible to the recipient entity 520 using the mobile computing device 526. For example, the assets in the second region may be fiat currency for the jurisdiction of the destination region 542. The transfer module 502 can use the fiat currency funds to purchase a corresponding amount of mobile money for the recipient entity 520. The recipient entity can then use these funds to purchase goods and services. As used herein, mobile money refers to assets, typically denominated in fiat currency, made accessible to a user of a mobile device. A mobile money account refers to a service that tracks a user's mobile money availability.

[0103] 6 illustrates an exemplary process for facilitating asset transfers between source and recipient parties in different jurisdictions. While depicted as a sequence of operations, the depicted sequence should not be construed as limiting the scope of the disclosure to only those embodiments conforming to the depicted sequence, unless expressly stated or logically required (e.g., when the output of one operation is used as input to another operation). In particular, certain steps may be omitted, reordered, or performed in parallel in various embodiments.

[0104] At 602, the transfer module receives a request to transfer assets between parties in different jurisdictions. Thus, the requested transfer may involve the exchange of different types of assets. For example, a source entity may wish to transfer assets held in a local currency to another entity and convert the local currency into another asset type usable by the receiving entity.

[0105] The request received by the transfer module may include an identifier for the voucher, an identifier for the recipient entity, and an amount to transfer. The amount may be specified according to either the source or destination asset type. For example, the amount may correspond to the amount of fiat currency used to purchase the voucher from the merchant. The voucher may include a visual mark encoding the identifier, which may be scanned and transmitted to the transfer module in the request to initiate the transfer.

[0106] At 604, the transfer module validates the voucher identifier. In one embodiment, this includes identifying a record that associates the voucher identifier with other data, including the amount associated with the voucher, and how much of that amount has already been redeemed. The transfer module can, for example, retrieve a database record index by voucher identifier and that includes the above information.

[0107] At 606, the transfer module determines the first digital asset amount based on a conversion factor for the source region. Referring to Figure 5, embodiments may obtain the conversion factor by selecting a local exchange service 530 in the source region 540 and then utilizing the local exchange service 530 to obtain the conversion factor. The use of a dynamically and simultaneously selected local exchange service may have various advantages, including reduced exchange volatility risk.

[0108] At 608, the transfer module results in the recording of a distributed ledger entry indicating the incoming transfer of the first digital asset amount. The entry thus reallocates assets held by the source entity to another account owned by the transfer module. The transfer module, in one embodiment, performs this step through an intermediary, such as the local exchange service 530. For example, the transfer module may send a request to the local exchange service 530 for the first digital asset amount, and in return, the transfer module remits a corresponding amount of the source asset.

[0109] At 610, the transfer module determines the second digital asset transfer amount based on a conversion factor for the second region. Referring to Figure 5, embodiments may obtain the conversion factor by selecting a local exchange service 532 in the destination region 542. This selection may be dynamic and concurrent with other actions in the transfer, potentially reducing exchange volatility risk.

[0110] At 612, the transfer module results in the recording of a distributed ledger entry indicating the outgoing transfer of the second digital asset amount. Embodiments may perform the recording through an intermediary, such as a local exchange service 532 in the second region, to receive a corresponding amount of some other asset type in exchange.

[0111] At 614, the transfer module initiates a deposit to the recipient's account, the amount of the deposit being based on the second digital asset amount, which may correspond to the proceeds from the outgoing transfer of the digital asset minus any adjustments based on factors such as costs, fees, or commissions.

[0112] Embodiments of the present disclosure may convey various advantages, which may include one or more of the following: The described techniques (e.g., those described with respect to FIG. 3 ) may enable rapid approval of dependent operations, such as the transfer of goods or services, that may depend on a described set of operations (e.g., the operation of transferring assets depicted in FIG. 3 ). This may be particularly important for commercial transactions involving retailers or other scenarios in which dependent operations must be performed concurrently with the set of operations. The described techniques may also facilitate the provision of detailed transaction and operation data to entities affected by the set of operations. Furthermore, the described techniques may prevent the exposure of participating entities' transaction histories in a public blockchain. The described techniques may also reduce exchange rate volatility by performing related conversions concurrently with other operations.

[0113] The described techniques (e.g., those described with respect to FIG. 6) may leverage rapid completion of dependent transactions, such as the transfer of the asset type being exchanged. Furthermore, the use of vouchers and corresponding blockchain transaction sets enables the delivery of value to a receiving entity independent of traditional remittance mechanisms. The described techniques also enable near-instant delivery of assets to a receiving entity, much faster than is typically achievable through traditional remittance mechanisms.

[0114] The specification and drawings should be interpreted in an illustrative and not a restrictive sense. However, it will be apparent that various modifications and changes can be made thereto without departing from the scope of the invention as set forth in the appended claims. Likewise, other variations are within the scope of this disclosure. Thus, while the disclosed techniques are susceptible to various modifications and alternative constructions, certain illustrative embodiments thereof have been shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the particular forms or configurations disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the scope of the invention as defined by the appended claims.

[0115] Use of the terms "a," "an," "the," and similar referents in the context of describing embodiments of the disclosure (particularly in the context of the claims below) should be construed to cover both the singular and the plural unless otherwise indicated or clearly contradicted by context. The terms "comprise," "have," "include," and "comprise" should be construed as open-ended (i.e., meaning "including but not limited to") unless otherwise noted. The term "connected," when referring to an unmodified physical connection, should be construed as being partially or wholly contained within, attached to, or joined together, even if there is something intervening. Recitation of ranges of values in this disclosure is merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated, and each separate value is incorporated herein as if it were individually set forth. Use of the term "set" (e.g., "set of items") or "subset" should be construed as a non-empty collection containing one or more members, unless otherwise stated or contradicted by context. Further, unless otherwise stated or contradicted by context, the term "subset" of a corresponding set does not necessarily indicate a proper subset of the corresponding set, although a subset and a corresponding set may be equivalent.

[0116] Conjunctive language, such as phrases of the form "at least one of A, B, and C" or "at least one of A, B, and C," unless specifically indicated otherwise or clearly contradicted by context, is understood in the context of otherwise common usage to indicate that an item, term, etc. may be either A or B or C, or any non-empty subset of the set A, B, and C. For example, in the illustrative example of a set having three members, the conjunctive phrases "at least one of A, B, and C" and "at least one of A, B, and C" refer to any of the following sets: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Thus, such conjunctive language is generally not intended to imply that a particular embodiment requires that at least one of A, at least one of B, and at least one of C each be present.

[0117] The actions of the processes described can be performed in any suitable order unless otherwise indicated or otherwise clearly contradicted by context. The processes described (or variations and / or combinations thereof) can be performed under the control of one or more computer systems configured with executable instructions, implemented in hardware, or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that collectively execute on one or more processors. In some embodiments, the code can be stored on a computer-readable storage medium, for example, in the form of a computer program including a plurality of instructions executable by one or more processors. In some embodiments, the computer-readable storage medium is non-transitory.

[0118] Any or all examples provided, or the use of exemplary language (e.g., "such as"), are intended merely to better clarify embodiments of the invention and do not impose limitations on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.

[0119] Embodiments of the present disclosure have been described, including the best mode known to the inventors for carrying out the invention. Variations of these embodiments will become apparent to those skilled in the art upon reading the foregoing description. The inventors anticipate that skilled artisans will adopt such variations as appropriate, and the inventors intend for the embodiments of the present disclosure to be practiced otherwise than as specifically described. Accordingly, the scope of the present disclosure includes all modifications and equivalents of the subject matter recited in this specification and the appended claims as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed within the scope of the present disclosure unless otherwise indicated or otherwise clearly contradicted by context.

[0120] All references, including cited publications, patent applications, and patents, are herein incorporated by reference to the same extent as if each reference was individually and specifically indicated to be incorporated by reference and was set forth in its entirety.

[0121] The above-described embodiments illustrate rather than limit the invention, and it should be noted that those skilled in the art can design many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the scope of the claims. The words "comprises" and "comprises", and the like, do not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In this specification, "comprises" means "comprises or consists of", and "comprises" means "includes or consists of". The singular reference of an element does not exclude the plural reference of such elements, and vice versa. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The mere fact that certain means are recited in mutually different dependent claims does not indicate that a combination of these means cannot be used to advantage.

Claims

1. 1. A computer-implemented method comprising: receiving a request to initiate a plurality of actions, the request including a first value and an identifier of a first entity, the plurality of actions including a blockchain transaction and a second transaction of a different type than the blockchain transaction, the request being sent from a point of sale device controlled by the first entity; generating a blockchain address in a data store to be temporarily associated with the identifier, resulting in a temporary address; obtaining a conversion factor from a service, converting the first value to a second value for use in the blockchain transaction; recording the blockchain transaction in a blockchain, the blockchain transaction using the generated blockchain address and an intermediate change address, the intermediate change address being created prior to confirmation of the blockchain transaction; verifying the record of the blockchain transaction; causing the second transaction to be processed based at least in part on the first value as a result of the blockchain transaction being validated; A method comprising:

2. sending a notification that the third transaction can proceed as a result of the blockchain transaction being validated; The method of claim 1.

3. the identifier of the first entity is obtained from a visual code scanned by a device controlled by a second entity; The method of claim 1.

4. the request is sent from a point of sale device controlled by the first entity in response to an electronic communication from a device controlled by a second entity; The method of claim 1.

5. verifying the blockchain transaction includes identifying a further blockchain transaction that allocates change from the blockchain transaction to the intervening change address; The method of claim 1.

6. publishing the blockchain transaction, wherein verifying the blockchain transaction includes completing the publishing step. The method of claim 1.

7. The generated blockchain address is not used in a blockchain transaction after performing the operations. The method of claim 1.

8. the plurality of operations includes a further blockchain transaction that transfers digital assets from the temporary address to an address provided by the service; The method of claim 1.

9. selecting the service from among a plurality of services based at least in part on the service's conformance to at least one of jurisdictional or geographic criteria; The method of claim 1.

10. 1. A system comprising: at least one processor; a memory containing executable instructions that, upon execution by the at least one processor, cause the system to perform the method of claim 1 .

11. A non-transitory computer-readable storage medium having executable instructions stored thereon, The executable instructions, when executed by a processor of a computer system, cause the computer system to perform the method of claim 1. A non-transitory computer-readable storage medium.

Citation Information

Patent Citations

  • Method of exchanging currencies using an offline point of sale third party payment system and internet-connected mobile computing device

    JP2017107521A

  • Off-block chain transactions in combination with on-block chain transactions

    US20150262137A1

  • Settlement system and settlement method

    WO2016103373A1