Method and system for transfer of ownership of NFTs upon redemption transactions in payment networks
Patent Information
- Application Number
- JP2024547093
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-08
- Filing Date
- 2023-02-02
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2043-02-02
Smart Images

Figure 2025506453000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to enabling automatic redemption of non-fungible tokens (NFTs), and in particular to effecting redemption of an NFT following a redemption in a payment transaction in connection with an initial transfer of ownership of the NFT.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application No. 17 / 667,246, filed February 8, 2022, the entire contents of which are incorporated by reference for all purposes. [Background technology]
[0003] Since their development, blockchains and other distributed ledgers have been used in a wide range of applications. Most commonly, blockchains are used to manage and transfer digital currency. The advantages of using blockchains that have led to the popularity of digital currency include that blockchains are largely immutable, transactions have a high level of anonymity, and blockchain networks are decentralized. Due to these advantages, blockchains have been used in a wide variety of applications, such as voting, data storage, and supply chain management.
[0004] Recently, NFTs have become popular as an application of blockchain technology. An NFT is a digital asset whose ownership can be tracked using a blockchain. The digital asset can be any type of asset, such as text, data, images, songs, or videos, and the original creator of the asset creates an NFT for the asset, which is stored on a blockchain, such as Ethereum. The creator can then freely transfer the NFT to any other interested party, and the transfer of ownership is registered via a transaction on the blockchain from the creator to the transferee. In many cases, the recipient purchases the NFT via a traditional payment transaction using fiat currency.
[0005] However, relying on blockchain technology for registering NFTs (also known as minting NFTs) and transferring them is not without its challenges. In particular, one drawback is that unlike traditional payment transactions, blockchain transactions are irreversible due to the distributed nature of the blockchain. In traditional payment transactions processed through a payment network, such as credit card transactions, if the buyer believes he or she has been defrauded or does not receive the purchased product, the payment network can enforce a refund of the payment transaction, ensuring that the buyer gets back the payment that he or she made. However, since there is no centralized control in the blockchain, there is no functionality for reversing or refunding a transaction. Therefore, both the buyer and the seller may be placed in a precarious position if either party is forced to trust the other party's performance of a given transaction (e.g., a payment transaction to transfer the NFT back to the seller or to refund the buyer).
[0006] There is a need for technological improvements over existing technology that allow for trusted and safe payouts for the purchase or transfer of NFTs. Summary of the Invention
[0007] This disclosure provides a description of a system and method that allows for refunds of non-fungible tokens (NFTs) with the use of smart contracts. When an NFT is purchased, a payment transaction is processed for the payment made toward the purchase, and an identifier associated therewith is generated. The identifier of the payment transaction is stored in a smart contract, which is added to the blockchain, along with an identifier for the NFT and blockchain addresses for the buyer and seller. If either party wishes to refund the transaction, a refund request is submitted to a processing server, which includes the transaction identifier. The processing server initiates a refund for the payment transaction and submits the transaction identifier as an input to the smart contract. The smart contract executes a new transaction on the blockchain to transfer ownership from the buyer back to the seller. As a result, both the original payment transaction and the transfer of the NFT are reversed, and both parties are back in their original positions. By using smart contracts in conjunction with a processing server, NFT purchases can be rewound, and this can be done with minimal action by either party, and while ensuring that the rewound occurs without the opportunity for the other party to misbehave, thus providing significant advantages over existing systems used for the transfer of ownership of NFTs.
[0008] A method for enabling redemption for a non-fungible token (NFT) includes the steps of: receiving a transaction message for a payment transaction by a receiver of a processing server; processing the payment transaction by a processor of the processing server using at least the transaction message, the processing including identifying a transaction identifier for the payment transaction; transmitting the transaction identifier by a transmitter of the processing server to a first computing device; receiving a notification message by the receiver of the processing server including at least the transaction identifier and a token identifier, the token identifier being associated with the NFT; receiving a redemption request message by the receiver of the processing server from a second computing device, the redemption request message including: at least one of the transaction identifier and the token identifier; processing a redemption transaction for the payment transaction by the processor of the processing server; and submitting by the transmitter of the processing server at least the transaction identifier as an input to a smart contract stored in a blockchain associated with the NFT.
[0009] A system for enabling refunds for non-fungible tokens (NFTs) comprising: a first computing device, a second computing device, a blockchain associated with the NFT, and a processing server, the processing server including a receiver for receiving a transaction message for a payment transaction, a processor for processing the payment transaction using at least the transaction message, the processing including identifying a transaction identifier for the payment transaction, and a transmitter for transmitting the transaction identifier to the first computing device, the receiver of the processing server further receiving a notification message including at least the transaction identifier and a token identifier, the token identifier being associated with the NFT, and a refund request message from the second computing device, the refund request message including at least one of the transaction identifier and the token identifier, the processor of the processing server further processes a refund transaction for the payment transaction, and the transmitter of the processing server further submits at least the transaction identifier as an input to a smart contract stored in the blockchain associated with the NFT. [Brief description of the drawings]
[0010] The scope of the present disclosure is best understood from the following detailed description of illustrative embodiments when taken in conjunction with the accompanying drawing figures, which include:
[0011] [Figure 1] A block diagram illustrating a high-level system architecture that enables redemption of NFTs, according to an exemplary embodiment. [Diagram 2] A block diagram illustrating a processing server that enables NFT redemption in the system of FIG. 1 according to an exemplary embodiment. [Figure 3A]2 is a flow diagram illustrating processing for transfer of ownership of an NFT following a payment transaction in the system of FIG. 1 according to an exemplary embodiment. [Figure 3B] 2 is a flow diagram illustrating processing for transfer of ownership of an NFT following a payment transaction in the system of FIG. 1 according to an exemplary embodiment. [Figure 4] 2 is a flow diagram illustrating a process for implementing NFT redemptions and associated payment transactions in the system of FIG. 1 according to an exemplary embodiment. [Diagram 5] 1 is a flow diagram illustrating an example method for enabling redemption of an NFT, according to an example embodiment. [Figure 6] FIG. 1 is a block diagram illustrating a computer system architecture, in accordance with an exemplary embodiment.
[0012] Further areas of applicability of the present disclosure will become apparent from the following detailed description. The detailed description of the exemplary embodiments is intended for purposes of illustration only and is not intended to necessarily limit the scope of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] A system that allows refunds of non-fungible tokens FIG. 1 illustrates a system 100 that provides automatic refunds and unwindings for transactions involving ownership transfers of non-fungible tokens (NFTs). The system 100 may include a processing server 102. The processing server 102, described below, may be configured to facilitate automatic refunds and unwindings for transfers of ownership of NFTs through the use of smart contracts. In the system 100, a party, such as a creator of an NFT, may have ownership of the NFT through a seller device 104, or another party may have acquired ownership of the NFT through any suitable method. A party associated with a buyer device 106 may have an interest in purchasing the NFT from a party associated with the seller device 104. Parties associated with the seller device 104 and the buyer device 106 may be referred to herein via their associated device names. The seller device 104 and the buyer device 106 may be any type of computing device suitable for performing the functions described herein, such as a cellular phone, a smartphone, a smart watch, a smart television, a desktop computer, a laptop computer, a notebook computer, a tablet computer, a wearable computing device, etc.
[0014] In the system 100, matters related to ownership of NFTs can be stored in a blockchain. The blockchain can be managed by a blockchain network 108 included in the system 100. The blockchain network 108 can include a plurality of blockchain nodes 110. Each blockchain node 110 can be a computing system, such as those shown in FIG. 2 or FIG. 6 and described in more detail below, configured to perform functions related to blockchain processing and management, such as generating blockchain data values, verifying proposed blockchain transactions, verifying digital signatures, generating new blocks, validating new blocks, and maintaining copies of the blockchain.
[0015] A blockchain may be a distributed ledger that includes at least a number of blocks. Each block may include at least a block header and one or more data values. Each block header may include at least a timestamp, a block reference value, and a data reference value. The timestamp may be the time when the block header is generated and may be expressed using any suitable method (e.g., UNIX timestamp, DateTime notation, etc.). The block reference value may be a value that references (e.g., based on the timestamp) a preceding block in the blockchain. 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 in the block that includes 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.
[0016] As a result of using a block reference value and a data reference value in each block header, the blockchain can be given immutability. Any attempt to change the data value requires the generation of a new data reference value for the block, which in turn requires the generation of a new block reference value for the subsequent block, which in turn requires the generation of a new block reference value for each subsequent block. To make the change permanent, the above must be performed and updated for every single blockchain node 110 in the blockchain network 108 before a new block is created and added to the blockchain. Computing and communication capacity limitations can make such changes extremely difficult or impossible, and thus the blockchain achieves immutability.
[0017] In some embodiments, a blockchain can be used to store information about blockchain transactions made between two different blockchain wallets. A blockchain wallet can include a private key of a cryptographic key pair that can be used to generate a digital signature that can serve as a payer's authorization for a blockchain transaction, and the digital signature can be verified by the blockchain network 108 using the public key of the cryptographic key pair. In some cases, the term "blockchain wallet" can refer specifically to a private key. In other cases, the term "blockchain wallet" can refer to a computing device (e.g., seller device 104, buyer device 106, etc.) that stores a private key for use in blockchain transactions. For example, each computing device can have its own private key for each cryptographic key pair, and each can be a blockchain wallet for use in transactions with a blockchain associated with the blockchain network. The computing device can be any type of device suitable for storing and utilizing a blockchain wallet, such as a desktop computer, a laptop computer, a notebook computer, a tablet computer, a mobile phone, a smartphone, a smart watch, a smart TV, a wearable computing device, an embeddable computing device, etc.
[0018] Each blockchain data value stored in the blockchain may correspond to a blockchain transaction or storage of other data, if applicable. A blockchain transaction may comprise at least the following: a digital signature of the currency sender (e.g., buyer device 106) generated using the sender's private key, a blockchain address of the currency recipient (e.g., seller device 104) 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., if access to such currency is established by a digital signature); and an address for any changes to be held by the sender, generated using the sender public key. Addresses to which cryptocurrency that can be used in future transactions is sent are referred to as "output" addresses because they were previously used to capture the output of a previous blockchain transaction, and are also referred to as "unspent transactions" because there is currency sent to the address in a previous transaction where that currency has not yet been spent. In some cases, a blockchain transaction may also include a sender public key for use by an entity to validate the transaction. For traditional processing of blockchain transactions, such data may be provided by either the sender or the recipient to a blockchain node 110 in the blockchain network 108. The node can verify the digital signature using the public key in the sender's wallet cryptographic key pair and verify access to the sender's funds (e.g., if an unspent transaction has not yet been spent and was sent to an address associated with the sender's wallet), a process known as "confirming" the transaction, and the blockchain transaction is then included in a new block.In a traditional blockchain implementation, new blocks may be verified by other nodes in the blockchain network 108 before being added to the blockchain and distributed to all blockchain nodes 110 in the blockchain network 108. If the blockchain data value does not relate to a blockchain transaction but instead relates to the storage of other types of data, the blockchain data value may still include or otherwise involve verification of a digital signature.
[0019] In the system 100, a record of ownership of the NFT can be stored in a blockchain data entry in a blockchain associated with the blockchain network 108. A data value representing the NFT is stored in the blockchain data entry, and ownership transfers are recorded in the blockchain via adding a new blockchain data entry in a new block that includes the data value for the NFT and the recipient address of the recipient's blockchain wallet. The recipient can then make further ownership transfers of the NFT via proof of ownership, which can be done via generation of a digital signature of the cryptographic key pair of their blockchain wallet, with the corresponding public key being used to generate the recipient address of the NFT.
[0020] In the system 100, a buyer device 106 may agree to purchase an NFT owned by a seller device 104 for a predetermined currency amount. In some embodiments, the buyer device 106 may purchase the NFT using a traditional payment transaction processed by a payment network 112, such as with a credit card, debit card, or other suitable type of payment instrument. In other embodiments, the buyer device 106 may purchase the NFT using digital currency that is transferred over a blockchain, which may be the same blockchain used to record the ownership transfer of the NFT or may be a separate blockchain that may be managed by the blockchain network 108 or an additional blockchain network 108 in the system 100.
[0021] If a traditional payment transaction is used, the buyer device 106 may submit the payment using any suitable method. For example, the processing server 102 may provide a service whereby the buyer device 106 submits payment details (e.g., transaction amount provided by the seller device 104, account details for the source transaction account, account details for the recipient transaction account, etc.), the buyer device 106 may use a suitable website or application program, etc. An authorization request for the payment transaction may be sent electronically to the payment network 112 using a settlement rail associated therewith. The authorization request may be a specially formatted transaction message formatted in accordance with one or more standards governing the exchange of financial transaction messages, such as the International Organization for Standardization's ISO 8583 or ISO 20022 standards. The authorization request may include payment details for the payment transaction stored in data elements contained therein, such as the transaction amount, account details for the source transaction account, and account details for the recipient transaction account. The payment network 112 may process the payment transaction using traditional systems and methods.
[0022] As part of processing the payment transaction, the transaction identifier may be generated (e.g., by the payment network 112, the processing server 102, or other entity or system involved in processing the payment transaction). The transaction identifier may be provided to the buyer equipment 106 in a confirmation message confirming successful processing of the payment transaction. If the processing server 102 is involved in processing the payment transaction, the processing server 102 may receive the transaction identifier as part of its participation in processing the payment transaction. In some such cases, the processing server 102 may provide the confirmation message to the buyer equipment 106 using an appropriate communication network and method. In other cases, the buyer equipment 106 and / or the seller equipment 104 may provide the transaction identifier to the processing server 102 after receipt of the confirmation message.
[0023] In an embodiment where digital currency is used for payment in connection with the purchase of an NFT, the buyer device 106 can electronically submit transaction details for the blockchain transaction, which can be submitted directly to the blockchain node 110, submitted to the processing server 102 for forwarding to the blockchain node 110 on behalf of the buyer device 106, or submitted to the processing server 102 for processing, if the processing server 102 can be a blockchain node 110 in the blockchain network 108. A new blockchain transaction can then be processed and added to the blockchain for the transfer of the specified amount of digital currency from the blockchain wallet of the buyer device 106 to the blockchain wallet of the seller device 104, using the methods described above.
[0024] In some embodiments, the seller device 104 may initiate processing of a traditional or blockchain payment transaction using transaction details provided by the buyer device 106.
[0025] The seller apparatus 104 can submit a request for ownership transfer of the purchased NFT to the blockchain network 108, which can be submitted directly to the blockchain node 110, submitted to the processing server 102 for forwarding to the blockchain node 110 on behalf of the seller apparatus 104, or submitted to the processing server 102 for processing if the processing server 102 can be a blockchain node 110 in the blockchain network 108. The request can include a digital signature generated by a private key of a cryptographic key pair that includes the seller apparatus's blockchain wallet, which can correspond to a public key used to generate an address that currently has ownership of the NFT as registered in the blockchain. Verification of the seller apparatus's ownership of the NFT can be performed via verification of the digital signature, which can be performed using the same public key used to generate the address that currently has ownership of the NFT. The request can also include a destination address to which ownership of the NFT is to be transferred, which can be generated via a public key of a cryptographic key pair that includes the buyer apparatus's blockchain wallet, which can have been sent by the buyer apparatus 106 to the seller apparatus 104 prior to the ownership transfer. The blockchain node 110 can verify and validate the necessary data and can generate a new blockchain data item containing the ownership transfer, which is included in a new block that is generated and verified using traditional methods and systems and added to the blockchain. A transaction identifier can be generated for the blockchain transaction, which can be returned to the buyer unit 106 in a confirmation message or identified by the buyer unit 106 in a blockchain data item for the blockchain transaction stored in the blockchain.
[0026] In some embodiments, the payment transaction may be processed prior to the transfer of ownership of the NFT on the blockchain. In other embodiments, the transfer of ownership of the NFT may occur prior to the processing of the payment transaction. In yet other embodiments, the payment transaction and the transfer of ownership of the NFT may occur simultaneously.
[0027] In the system 100, a smart contract may be generated and stored in a blockchain associated with the blockchain network 108 and may be used to facilitate an automatic unwinding of an ownership transfer of an NFT from the buyer device 106 to the seller device 104. In some embodiments, the smart contract may be generated after processing of a payment transaction and / or ownership transfer of an NFT, as described above. In other embodiments, the smart contract may be generated after processing of a payment transaction and before ownership transfer of an NFT. In such embodiments, the smart contract may be configured to execute a function to process the ownership transfer of an NFT once the payment transaction is processed. In such embodiments, the function may be executed by the smart contract using a transaction identifier for the processed payment transaction as input, and execution of the smart contract may result in generation of a blockchain transaction for the ownership transfer of an NFT from the seller device 104 to the buyer device 106, as described above.
[0028] The smart contract can be configured to store at least a token identifier for the NFT, a blockchain address associated with the seller device 104 that originally had ownership of the NFT, and a blockchain address associated with the buyer device 106 to which ownership of the NFT has been transferred. The token identifier can be a value associated with the NFT or a data value that is the digital asset itself (e.g., a hash of an image, video, etc.). When the smart contract is executed to process the ownership transfer, the smart contract can store the received transaction identifier as an input. When the smart contract is created after ownership of the NFT is transferred, the transaction identifier can be included within the smart contract as part of its creation process.
[0029] In the system 100, the seller device 104 or the buyer device 106 may wish to have a rewind performed on the payment transaction and ownership transfer of the NFT. As an example, the buyer may have provided an incorrect payment amount and the seller may wish to rewind the transaction if the proper payment is not made. As another example, the NFT transferred to the buyer may be a different asset than originally discussed between the parties. As yet another example, the seller may offer a return policy to the buyer and the buyer may wish to enforce it, leveraging the system 100 to provide a faster, more secure, and easier return process.
[0030] If a reversal is desired, the seller device 104 or the buyer device 106 can electronically submit a refund request to the processing server 102 using any suitable communications network and method, such as using a web page, an application program, an application programming interface (API), etc. In some cases, the processing server 102 can require confirmation from both the buyer device 106 and the seller device 104 before processing the refund request. In such cases, the seller device 104 and / or the buyer device 106 can be authenticated prior to processing, such as using a digital signature generated with the device's private key and verified with the corresponding public key.
[0031] The refund request may include a transaction identifier for the payment transaction to be refunded. The processing server 102 may use the transaction identifier to identify the payment transaction. The processing server 102 may then initiate processing of the refund transaction for the payment transaction. In some cases, once the refund request is received by the processing server 102, a dispute resolution process may occur. For example, the processing server 102 may perform a dispute resolution process directly or through a third party service (e.g., provided by the payment network 112) to determine whether a refund should be granted, such as by collecting evidence from the seller device 104 and the buyer device 106 based on the requested refund reason. For example, the seller device 104 may request a refund alleging that an insufficient payment was made and may present as evidence a past communication from the buyer device 106 agreeing on a different price. Similarly, if the NFT is defective (e.g., damaged, incorrect, misidentified, etc.), the buyer may present evidence of such. If the dispute resolution process determines that the refund request should be denied, a notification message to that effect can be sent to the submitter of the refund request. If the dispute resolution process approves the refund, the processing server 102 can proceed by refunding the original payment transaction. If a traditional payment transaction was used, a transaction message including the transaction identifier can be submitted to the payment network 112 using its associated settlement rail, which can result in a payment for the original transaction amount being refunded from the original recipient transaction account to the original source transaction account. In some cases, the refund transaction can be processed via an authorization request for a new payment transaction for the same transaction amount, in which the payment details for the transaction accounts have been swapped, and the original payment made from the buyer to the seller is returned from the seller to the buyer.
[0032] If the blockchain transaction is spent, a new blockchain transaction can be generated and submitted to the blockchain node 110 for payment that returns the original digital currency amount from the blockchain wallet of the seller device 104 to the blockchain wallet of the buyer device 106. In some embodiments, the seller device 104 can generate a digital signature on the unspent transaction output for the original blockchain transaction provided to the processing server 102 or provided in the smart contract, and the digital signature is used in connection with the submission of the new blockchain transaction to ensure that the blockchain transaction is successfully verified and processed. If the digital signature is included in the smart contract, the payback of the blockchain transaction can be made via execution of the appropriate function in the smart contract using the transaction identifier as input, and the smart contract can generate the blockchain transaction and submit the transaction to the blockchain node 110.
[0033] In addition to processing the refund, the processing server 102 can submit the transaction identifier as an input to the smart contract. In some cases, the smart contract can be configured to initiate the unwinding of the ownership transfer of the NFT when the transaction identifier is submitted, which can occur only after other functions related to receiving the transaction identifier as input have been executed (e.g., the initial ownership transfer of the NFT). In other cases, the smart contract can include a function for unwinding the ownership transfer of the NFT (e.g., a refund() function), and the transaction identifier can be provided as an input to the function. The smart contract can execute a function to identify the token identifier associated with the NFT, and can also generate a new blockchain transaction for the ownership transfer from the buyer device 106 back to the seller device 104. If a digital signature is required for the transfer, the buyer device 106 can provide a digital signature generated with its private key as part of the initial processing (e.g., when submitting the payment transaction, when submitting the transaction identifier for the payment transaction, when provided to and submitted by the seller device 104, etc.). The new blockchain transaction is then automatically submitted to the blockchain node 110 for validation and inclusion in the blockchain. Once added to the blockchain, the seller device 104 will have ownership of the NFT returned to it.
[0034] In some embodiments, the blockchain network 108 can be configured to allow multiple entities to initiate an ownership transfer of an NFT. For example, an entity that has ownership of an NFT through control over an address to which the NFT was transferred (e.g., when indicated using a digital signature generated using a private key corresponding to the public key used to generate the address) can also designate another entity using a blockchain address (e.g., when authenticated in a similar manner using a cryptographic key) or other data used for authentication. In such a case, the processing server 102 can be designated as the other entity that is permitted to transfer ownership of the NFT. The processing server 102 can then include its own digital signature or other authentication data, which can be provided as an input to the smart contract along with the transaction identifier to effectuate the unwinding of the ownership transfer of the NFT.
[0035] The methods and systems discussed herein allow for automatic reversal of ownership transfers of NFTs. Using a processing server plus smart contracts and appropriate inputs, payment transactions using either traditional or digital currencies can be automatically refunded and ownership of NFTs can be automatically rewound back to the original owner with a single submission of a transaction identifier by the seller device 104 or the buyer device 106. This results in a fast and secure process for refunds and reversals, requiring minimal interaction for the parties involved and eliminating the opportunity for fraud by either party. As a result, entities have unprecedented flexibility when making transactions involving ownership transfers of NFTs.
[0036] Processing Server FIG. 2 illustrates an embodiment of the processing server 102. It will be apparent to one of ordinary skill in the art that the embodiment of the processing server 102 illustrated in FIG. 2 is provided for illustrative purposes only and is not an exhaustive list of all possible configurations of the processing server 102 suitable for performing the functions of the present disclosure. For example, computer system 600 illustrated in FIG. 6 and described in more detail below may be a suitable configuration of the processing server 102. In some cases, additional components of the system 100, such as the seller device 104, the buyer device 106, the blockchain node 110, etc., may include the components illustrated in FIG. 2 and described below.
[0037] The processing server 102 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 seller device 104, the buyer device 106, the blockchain node 110, the payment network 112, 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, the Internet, etc. In some embodiments, the receiving device 202 may include multiple devices (e.g., different receiving devices receiving data over different networks, such as a first receiving device receiving data over a local area network and a second receiving device receiving data over the Internet). The receiving device 202 may receive a transmitted electronic data signal. Then, upon receipt of the data signal by the receiving device 202, data may be superimposed on the data signal and may be decoded, parsed, read, or obtained. In some embodiments, the receiving device 202 may include a parsing module for parsing the received data signal to obtain the data superimposed thereon. For example, the receiving device 202 may include an analysis program configured to receive and convert received data signals into usable input for functions performed by the processing device to implement the methods and systems of the present disclosure.
[0038] The receiving device 202 can be configured to receive data signals transmitted electronically by the seller device 104 and / or the buyer device 106, where the data signals can be superimposed or encoded with payment transaction data, transaction identifiers, token identifiers, smart contract data, refund requests, etc. The receiving device 202 can be configured to receive data signals transmitted electronically by a blockchain node 110 within the blockchain network 108, where the data signals can be superimposed or encoded with blockchain data, transaction identifiers, notification messages, etc. The receiving device 202 can further be configured to receive data signals transmitted electronically by the payment network 112 (e.g., via a settlement rail associated therewith), where the data signals can be superimposed or encoded with transaction messages, notification messages, etc.
[0039] The processing server 102 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 processing server 102 for use in performing the functions of the present disclosure. The communication module 204 may include one or more communication types and may use various communication methods for communication within a computing device. For example, the communication module 204 may include a bus, a connection pin connector, wires, etc. In some embodiments, the communication module 204 may also be configured to communicate between internal components of the processing server 102 and external components of the processing server 102 (e.g., an externally connected database, a display device, an input device, etc.). The processing server 102 may also include a processing device. The processing device may be configured to perform the functions of the processing server 102 of the present disclosure. This will be apparent to one of ordinary skill in the art. In some embodiments, the processing device may include multiple engines and / or modules (e.g., the query module 216, the generation module 218, the validation module 220, etc.) that are specifically configured to perform one or more functions of the processing device. As disclosed herein, the term "module" may refer to software or hardware that is specifically programmed to receive an input, perform one or more operations using the input, and provide an output. The inputs, outputs, and operations performed by the various modules will be apparent to one of ordinary skill in the art based on this disclosure.
[0040] The processing server 102 may include blockchain data 206, which may be stored in the memory 214 of the processing server 102 or stored in a separate area within the processing server 102 or made accessible by it. The blockchain data 206 may include a blockchain, which may comprise a number of blocks, and which may be associated with the blockchain network 108. In some cases, the blockchain data 206 may further include any other data associated with the blockchain and its management and its performance, including, for example, block generation algorithms, digital signature generation and confirmation algorithms, communication data for the blockchain nodes 110, smart contracts, cryptographic key pairs, public keys, etc.
[0041] The processing server 102 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 processing server 102 in performing the functions of the present 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, program code for modules and application programs for the processing device, and other appropriate data used by the processing server 102 in performing the functions of the present disclosure. This will be apparent to those of skill in the art upon reading this disclosure. In some embodiments, the memory 214 may include a relational database using Structured Query Language (SQL) to store, identify, modify, update, access, etc., stored structured data sets. The memory 214 may be configured to store, for example, cryptographic keys, cryptographic key pairs, encryption algorithms, encryption keys, data formatting rules, signature generation algorithms, standards, public databases, private databases, payment network processing rules, transaction message standard data, and the like.
[0042] The processing server 102 may also include a query module 216. The query module 216 may be configured to perform a query on a database to identify information. The query module 216 may receive one or more data values or query strings, and based thereon, may perform a query string on an indicated database (e.g., memory 214 of the processing server 102) to identify information stored therein. The query module 216 may then output the identified information to an appropriate engine or module of the processing server 102 as needed. The query module 216 may, for example, perform a query on the memory 214 to identify a private key for use in generating a digital signature for submission to a smart contract as an input for unwinding an ownership transfer of an NFT.
[0043] The processing server 102 may also include a generation module 218. The generation module 218 may be configured to generate data for use by the processing server 102 in performing functions of the present disclosure. The generation module 218 may receive instructions as input values, generate data based on the instructions, and output the generated data to one or more modules of the processing server 102. For example, the generation module 218 may be configured to generate transaction messages, blockchain transactions, blockchain data items, digital signatures, blocks, response messages, notification messages, etc.
[0044] The processing server 102 may also include a validation module 220. The validation module 220 may be configured to perform validation for the processing server 102 as part of the functionality described in this disclosure. The validation module 220 may receive instructions as input, which may also include data used to perform the validation, perform the validation as requested, and output the results of the validation to another module or engine of the processing server 102. The validation module 220 may be configured, for example, to validate a digital signature using a suitable signature generation algorithm and key, to validate a hash value by hashing on provided data using a suitable one-way hashing algorithm, to validate NFT ownership status based on blockchain address and cryptographic key data, to validate payment transactions, etc.
[0045] The processing server 102 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 seller device 104, the buyer device 106, the blockchain node 110, the payment network 112, and other entities via one or more communication methods, such as a local area network, a wireless area network, cellular communication, Bluetooth, radio frequency, the Internet, etc. 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 transmitting data over a local area network and a second transmitting device transmitting data over the Internet)). The transmitting device 222 may electronically transmit a data signal with the superimposed data, the data being analyzed by a receiving computing device. In some embodiments, the transmitting device 222 may include one or more modules for superimposing, encoding, or shaping the data into a data signal suitable for transmission.
[0046] The sending device 222 can be configured to electronically send data signals to the seller device 104 and / or the buyer device 106, where the data signals can be superimposed or encoded with notification messages for payment transactions, requests for digital signatures, notification messages for blockchain transactions, requests for smart contract data, etc. The sending device 222 can also be configured to electronically send data signals to the blockchain node 110, where the data signals can be superimposed or encoded with blockchain transactions, blockchain data items, blocks, response messages, smart contract data, inputs for smart contracts, etc. The sending device 222 can further be configured to electronically send data signals to the payment network 112 (e.g., via a settlement rail associated therewith), where the data signals can be superimposed or encoded with transaction messages, authorization requests, refund messages, etc.
[0047] Processing for transfer of ownership of non-fungible tokens 3A and 3B illustrate a process for transferring ownership of a non-fungible token (NFT) within the system 100 from a seller device 104 to a buyer device 106 in exchange for payment via a traditional payment transaction that can be automatically refunded and reversed.
[0048] At S302, the buyer device 106 can electronically send a message to the seller device 104, using a suitable communication network and method, offering to purchase an NFT owned by the seller device 104. At S304, the seller device 104 can receive the message, which can include transaction terms such as the transaction amount, currency type, and token identifier for the NFT being purchased. In some cases, the terms can also include a blockchain address for the buyer device 106 for receipt of the NFT. The terms can be presented to a user of the seller device 104, who can decide to proceed with the transaction and provide input to approve the transaction. At S306, the seller device 104 can send its approval of the proposed transaction to the buyer device 106, using a suitable communication network and method. The approval can include at least account details for the transaction account to be paid, and can include, for example, an account number, a username, an email address, a phone number, or other data that can depend on the service and / or payment instrument used for the payment transaction. At S308, the buyer device 106 may receive the approval message and the included account details.
[0049] At S310, the buyer device 106 can electronically send a message about the desired payment transaction to the processing server 102 using a suitable communication network and method. The message can include at least account details for the seller's transaction account, account details for the buyer's transaction account used to fund the payment transaction, and the transaction amount. In some cases, the message can also include a token identifier for the NFT. At S312, the receiving device 202 of the processing server 102 can receive the message about the payment transaction. At S314, the processing server 102 can process the payment transaction using a suitable method. In some cases, the processing server 102 can generate an authorization request for the payment transaction (e.g., via the generation module 218), which is submitted to the payment network 112 using an associated settlement rail. In other cases, the processing server 102 can submit the payment details for the transaction account and the transaction account to another payment service to facilitate the transfer of funds to complete the payment transaction. As part of processing the payment transaction, at S314, the processing server 102 may identify a transaction identifier for the payment transaction, which may be a value (eg, a number) that is unique to the payment transaction.
[0050] At S316, the sending device 222 of the processing server 102 can electronically send a confirmation message to the buyer device 106 about the successful payment transaction. The confirmation message can include at least a transaction identifier and can also include any additional transaction details, such as the transaction amount, some account details about the seller's transaction account, etc. At S318, the buyer device 106 can receive the confirmation message. At S320, the buyer device 106 can forward the confirmation message to the seller device 104 for receipt thereby at S322. The confirmation message can be presented to a user of the seller device 104 to inform the seller that the payment for the proposed amount has been successfully passed to the seller's transaction account. If the buyer device 106 did not previously provide the seller device 104 with a destination address for the NFT, the buyer device 106 can add the destination address to the confirmation message.
[0051] At S324, the seller device 104 can electronically transmit data about the smart contract to a blockchain node 110 in the blockchain network 108 using a suitable communication network and method. The data can include at least a transaction identifier for the processed payment transaction, a token identifier associated with the NFT, a blockchain address of the seller having ownership of the NFT (and a digital signature generated by the seller's private key, if applicable, for example), and a destination address for the NFT generated by the buyer device 106. At S326, the blockchain node 110 can receive the smart contract data. At S328, the blockchain node 110 can verify the seller's ability to transfer ownership of the specified NFT, generate a smart contract using the provided data, generate a new block including the smart contract, and confirm and add the new block (i.e., posted to the blockchain). At S330, the blockchain node 110 can send a notification message to the seller device 104 indicating that the smart contract was successfully added to the blockchain.
[0052] At S332, the seller apparatus 104 may receive a notification message from the blockchain node 110. At S334, the seller apparatus 104 may forward the notification message to the buyer apparatus 106 and the processing server 102 to inform the parties of the successful transfer of ownership of the NFT. At S336, the buyer apparatus 106 may receive the notification message, which may be displayed to its user, informing the user that it has gained ownership of the NFT. At S338, the receiving apparatus 202 of the processing server 102 may receive the notification message from the seller apparatus 104. At S340, the processing server 102 may identify that the smart contract is stored in the blockchain, which may be done by using, for example, a transaction identifier. At S342, the validation module 220 of the processing server 102 may validate the data contained in the smart contract to ensure its accuracy, such as by checking that the token identifier corresponds to that submitted with the payment transaction data, and checking the accuracy of the transaction identifier.
[0053] As a result of the process shown in Figures 3A and 3B, a negotiated amount of fiat currency is transferred from the buyer to the seller and the agreed upon NFT is transferred from the seller to the buyer, with corresponding data being registered in a smart contract stored on the blockchain and can be used to assist in reversing the NFT ownership transfer if desired, as will be described in more detail below in conjunction with the process shown in Figure 4.
[0054] Refund and reversal procedures for transfers of ownership of non-fungible tokens FIG. 4 illustrates a process for automatic refunds for traditional payment transactions and unwinding ownership transfers of NFTs in system 100, such as when a transfer is made using the process shown in FIGS. 3A and 3B above.
[0055] At S402, the buyer device 106 (or, for example, the seller device 104, if desired) can electronically transmit a request to the processing server for a refund of the payment transaction and a reversal of the transfer of ownership of the NFT, using an appropriate communication network and method. The refund request can include at least a transaction identifier associated with the payment transaction for transferring a specified amount of fiat currency from the buyer to the seller. At S404, the receiving device 202 of the processing server 102 can receive the refund request. At S406, the processing server 102 can initiate processing of the refund of the payment transaction. If the processing server 102 directly initiated the payment transaction, the processing server 102 can generate an appropriate transaction message (e.g., via the generation module 218), which is submitted to the payment network 112 using the associated settlement rail, and which includes the transaction identifier. In other cases, the processing server 102 can submit the transaction identifier to a payment service to facilitate the transfer from the seller's transaction account back to the buyer's transaction account using an appropriate method. In some embodiments, the processing server 102 may perform a dispute resolution process to determine whether the refund should be granted, and step S406 is initiated only if the dispute resolution process results in the refund request being granted.
[0056] At S408, the sending device 222 of the processing server 102 can submit a transaction identifier as an input to a smart contract associated with the ownership transfer of the NFT, which can be identified using a transaction identifier stored in a blockchain associated with the blockchain network 108. At S410, a blockchain node 110 in the blockchain network 108 can receive the transaction identifier, which can be submitted as an input to the smart contract for execution by it at S412. Alternatively, at S412, the smart contract can initiate a dispute resolution process as described above and post a rewind transaction pending the outcome. Execution of the smart contract can include the generation of a new blockchain transaction for the ownership transfer of the NFT, which can be identified via a token identifier stored in a smart contract associated with the transaction identifier submitted to the blockchain node 110. At S414, the blockchain node 110 can generate a new block including the new blockchain transaction and confirm the new block to have it added to the blockchain. At S416, the blockchain node 110 can send a notification message to the processing server 102 indicating that the new transfer of ownership back to the seller device 104 has been successfully added to the blockchain.
[0057] At S418, the receiving device 202 of the processing server 102 can receive the notification message from the blockchain node 110. At S420, the generating module 218 of the processing server 102 can generate a new notification message indicating that the payment transaction has been refunded and ownership of the NFT has been transferred back to the seller device 104, which can be sent by the sending device 222 of the processing server 102 to the buyer device 106. At S422, the buyer device 106 can receive the notification message, which can be presented to its user and / or forwarded to the seller device 104, which can also inform the seller about the refund and rewind.
[0058] As a result of the process shown in FIG. 4 and described above, a fiat currency payment transaction is automatically refunded to the buyer and the transfer of ownership of the NFT is automatically reversed to the seller in a manner that ensures no room for fraud, which can be initiated via a single message submitted by the buyer device 106 or seller device 104 and is accomplished via the use of the processing server 102 and specially configured smart contracts.
[0059] Exemplary Methods for Enabling Refunds for Non-Fungible Tokens FIG. 5 illustrates a method 500 for automatically refunding and unwinding ownership of NFTs and corresponding payment transactions through the use of a processing server and smart contracts.
[0060] At S502, a transaction message for the payment transaction may be received by a receiver (e.g., receiving device 202) of a processing server (e.g., processing server 102). At S504, the payment transaction may be processed by a processor of the processing server using at least the transaction message, including identifying a transaction identifier for the payment transaction. At S506, the transaction identifier may be transmitted by a transmitter (e.g., sending device 222) of the processing server to a first computing device (e.g., seller device 104, buyer device 106, blockchain node 110, etc.).
[0061] At S508, a notification message may be received by a receiver of the processing server, the notification message including at least a transaction identifier and a token identifier, the token identifier being associated with the NFT. At S510, a refund request message may be received by a receiver of the processing server from a second computing device (e.g., seller device 104, buyer device 106, etc.), the refund request message including at least one of: a transaction identifier and a token identifier. At S512, a refund transaction for the payment transaction may be processed by a processor of the processing server. At S514, at least the transaction identifier may be submitted by a transmitter of the processing server as an input to a smart contract stored in the blockchain associated with the NFT.
[0062] In one embodiment, the transaction message can be an authorization request formatted according to one or more standards, and the payment transaction can be for a payment using fiat currency from a first transaction account to a second transaction account. In some embodiments, the transaction message can be a data message for a blockchain transaction, and the payment transaction can be processed using one or more blockchain nodes (e.g., blockchain node 110) in a blockchain network (e.g., blockchain network 108). In further embodiments, the blockchain transaction can be added to a second blockchain different from the blockchain associated with the NFT.
[0063] In one embodiment, the smart contract can be executed using the transaction identifier as an input to unwind a prior transfer of ownership of the NFT on the blockchain associated with the NFT. In some embodiments, the smart contract can include at least the transaction identifier, the token identifier, the buyer address, and the seller address. In one embodiment, the method 500 can further include the following steps: verifying, by a processor (e.g., the verification module 220) of the processing server, the transfer of ownership of the NFT after receiving the notification message, where the verification of the transfer of ownership of the NFT includes identifying a block in the blockchain associated with the NFT that includes a blockchain data item that includes at least the token identifier and the transaction identifier. In some embodiments, the transaction identifier can be submitted to the smart contract as an input in a function call included in the smart contract.
[0064] Computer System Architecture 6 illustrates a computer system 600 in which embodiments of the present disclosure or portions thereof may be implemented as computer readable code. For example, the processing server 102 of FIGS. 1 and 2 may be implemented in the computer system 600 using hardware, a non-transitory computer readable medium having instructions stored thereon, or a combination thereof, and may be implemented in one or more computer systems or other processing systems. The hardware may embody modules and components used to implement the methods of FIGS. 3A, 3B, 4, 5.
[0065] Where programmable logic is used, such logic may be executed on commercially available processing platforms configured with executable software code, and may be dedicated or special purpose devices (e.g., programmable logic arrays (PGAs), application specific integrated circuits (ASICs), etc.). Those skilled in the art will appreciate that embodiments of the disclosed subject matter may be implemented in a variety of computer system configurations, including multi-core, multi-processor systems, minicomputers, mainframe computers, distributed functionality linked or clustered computers, and general purpose or miniature computers that may be implemented in virtually any device. For example, at least one processor unit and memory may be used to implement the above embodiments.
[0066] A processor unit or device of the present disclosure may be a single processor, multiple processors, or a combination thereof. A processor device may have one or more processor “cores.” The terms “computer program medium,” “non-transitory computer-readable medium,” and “computer usable medium” of the present disclosure are generally used to refer to tangible media (e.g., removable storage unit 618, removable storage unit 622, and a hard disk installed in hard disk drive 612, etc.).
[0067] Various embodiments of the present disclosure are described with respect to this exemplary computer system 600. After reading this disclosure, it will be apparent to one of ordinary skill in the art how to implement the present disclosure using other computer systems and / or computer architectures. Although operations are disclosed as sequential processes, some operations may in fact be performed in parallel, concurrently and / or in distributed environments, where the program code is stored locally or remotely for access by a single processor or multi-processor machine. Furthermore, in some embodiments, the order of operations can be rearranged without departing from the spirit of the disclosed subject matter.
[0068] The processor unit 604 may be a special purpose or general purpose processor unit that is specially configured to perform the functions of the present disclosure. The processor unit 604 may be connected to a communication infrastructure 606 (e.g., a bus, a message queue, a network, a multi-core message passing scheme, etc.). The network may be any network suitable for performing the functions of the present disclosure, and may include a local area network (LAN), a wide area network (WAN), a wireless network (e.g., Wifi), 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 apparent to those skilled in the art. The computer system 600 may also include a main memory 608 (e.g., random access memory, read only memory, etc.) and may also include a secondary memory 610. The secondary memory 610 may include a hard disk drive 612 and a removable storage drive 614 (e.g., a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, etc.).
[0069] The removable storage drive 614 may read from and / or write to the removable storage unit 618 in a well-known manner. The removable storage unit 618 may include a removable storage medium that can be read from and written to by the removable storage drive 614. For example, if the removable storage drive 614 is a floppy disk drive or a USB port, the removable storage unit 618 may be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 618 may be a non-transitory readable recording medium.
[0070] In some embodiments, secondary memory 610 may include alternative means for allowing computer programs or other instructions to be loaded into computer system 600 (e.g., removable storage unit 622 and interface 620). Examples of such means may include program cartridges and cartridge interfaces (e.g., as found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, other removable storage units 622 and interfaces 620, as will be apparent to those skilled in the art.
[0071] Data stored in computer system 600 (e.g., in main memory 608 and / or secondary memory 610) may be stored on any type of suitable computer-readable medium, such as optical storage (compact discs, digital versatile discs, Blu-ray discs, etc.) or magnetic tape storage (e.g., hard disk drives). The data may be organized in any type of suitable database structure (e.g., a relational database, a Structured Query Language (SQL) database, a distributed database, an object database, etc.). Suitable structures and storage types will be apparent to those skilled in the art.
[0072] Computer system 600 may also include a communications interface 624. Communications interface 624 may allow software and data to be sent and received between computer system 600 and external devices. Exemplary communications interface 624 may include a modem, a network interface (e.g., an Ethernet card), a communications port, a PCMCIA slot and card, and the like. The software and data transferred through communications interface 624 may be in the form of signals. The signals may be electronic, electromagnetic, optical, or other signals as will be apparent to those skilled in the art. The signals propagate through communications paths 626. The paths are configured to carry the signals and may be implemented using wire, cable, fiber optics, a phone line, a cellular phone link, a radio frequency link, and the like.
[0073] Computer system 600 may further include a display interface 602. Display interface 602 may be configured to allow data to be transferred between computer system 600 and an external display 630. Exemplary display interfaces 602 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), etc. Display 630 may be any suitable type of display to display data transferred via display interface 602 of computer system 600, including a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light emitting diode (LED) display, a capacitive touch display, a thin film transistor (TFT) display, etc.
[0074] The computer program medium and computer usable medium may refer to memory (e.g., main memory 608 and auxiliary memory 610), which may be semiconductor memory (DRAM, etc.). These computer program products may be means for providing software to the computer system 600. Computer programs (e.g., computer control logic) may be stored in the main memory 608 and / or the auxiliary memory 610. Computer programs may also be received via the communication interface 624. Such computer programs, when executed, may enable the computer system 600 to perform the methods of the present disclosure. In particular, the computer programs, when executed, may enable the processor unit 604 to perform the methods shown in Figures 3A, 3B, 4, 5 as described herein. Thus, such computer programs represent the controller of the computer system 600. The present disclosure is implemented using software. The software may be stored in the computer program product and loaded into the computer system 600 using the removable storage drive 614, the interface 620, and the hard disk drive 612 or the communication interface 624.
[0075] The processor unit 604 may include one or more modules or engines configured to perform the functions of the computer system 600. Each module or engine may be implemented using hardware and in some embodiments using software (e.g., which corresponds to a program code or program stored in the main memory 608 or the secondary memory 610). In such embodiments, the program code may be compiled by the processor unit 604 (e.g., by a compilation module or engine) before execution by the hardware of the computer system 600. 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 lower-level language for execution by the processor unit 604 and / or any additional hardware components of the computer system 600. The compilation process may include the use of lexical analysis, preprocessing, syntax analysis, semantic analysis, syntax-driven translation, code generation, code optimization, and any other techniques suitable for translating the program code into a lower-level language for control of the computer system 600 to perform the functions of the present disclosure. Those skilled in the art will appreciate that such processing results in computer system 600 being a specially configured computer system 600 that is uniquely programmed to perform the functions described above.
[0076] Among other features, technology consistent with the present disclosure provides systems and methods that allow for redemption of non-fungible tokens. While various exemplary embodiments of the systems and methods of the present disclosure have been described above, it should be understood that they are presented by way of example only and not by way of limitation. It is not intended to be exhaustive or to limit the present disclosure to the precise form disclosed. Modifications and variations are possible in light of the above teachings. Modifications and variations may be made from the implementation of the present disclosure without departing from the scope or spirit of the present disclosure.
Claims
1. 1. A method for enabling redemption of a non-fungible token (NFT), comprising: receiving, by a receiver of the processing server, a transaction message for the payment transaction; processing, by a processor of the processing server, the payment transaction using at least the transaction message, the processing including identifying a transaction identifier for the payment transaction; transmitting, by a transmitter of the processing server, the transaction identifier to a first computing device; receiving, by the receiver of the processing server, a notification message including at least the transaction identifier and a token identifier, the token identifier being associated with the NFT; receiving, by the receiver of the processing server, a refund request message from a second computing device, the refund request message including at least one of: the transaction identifier and the token identifier; processing, by the processor of the processing server, a refund transaction for the payment transaction; and submitting, by the transmitter of the processing server, at least the transaction identifier as an input to a smart contract stored in a blockchain associated with the NFT.
2. 10. The method of claim 1 , the transaction message is an authorization request formatted according to one or more standards; The method, wherein the payment transaction involves a payment from a first transaction account to a second transaction account using fiat currency.
3. 10. The method of claim 1 , The transaction message is a data message for a blockchain transaction; The method, wherein the payment transaction is processed using one or more blockchain nodes in a blockchain network.
4. 4. The method of claim 3, wherein the blockchain transaction is added to a second blockchain different from the blockchain associated with the NFT.
5. 2. The method of claim 1, wherein the smart contract executes using the transaction identifier as input to undo a prior transfer of ownership of the NFT on the blockchain associated with the NFT.
6. 2. The method of claim 1, wherein the smart contract comprises at least the transaction identifier, a token identifier, a buyer address, and a seller address.
7. The method of claim 1 further comprising: The method includes verifying, by the processor of the processing server, a transfer of ownership of the NFT after receiving the notification message, wherein verifying the transfer of ownership of the NFT includes identifying a block in the blockchain associated with the NFT, the block including a blockchain data item including at least the token identifier and the transaction identifier.
8. 2. The method of claim 1, wherein the transaction identifier is submitted to the smart contract as an input in a function call included in the smart contract.
9. A system for enabling redemption of non-fungible tokens (NFTs), a first computing device; a second computing device; and A blockchain associated with the NFT; a processing server, the processing server comprising: a receiver for receiving a transaction message for a payment transaction; a processor for processing the payment transaction using at least the transaction message, the processing including identifying a transaction identifier for the payment transaction; a transmitter for transmitting the transaction identifier to the first computing device; The receiver of the processing server further comprises: a notification message including at least the transaction identifier and a token identifier, the token identifier being associated with the NFT; and receiving a refund request message from the second computing device, the refund request message including at least one of the transaction identifier and the token identifier; The processor of the processing server further processes a refund transaction for the payment transaction; The system, wherein the transmitter of the processing server further submits at least the transaction identifier as an input to a smart contract stored in the blockchain that is associated with the NFT.
10. 10. The system of claim 9, the transaction message is an authorization request formatted according to one or more standards; The system, wherein the payment transaction involves a payment using fiat currency from a first transaction account to a second transaction account.
11. 10. The system of claim 9, The transaction message is a data message for a blockchain transaction; The payment transaction is processed using one or more blockchain nodes in a blockchain network.
12. 12. The system of claim 11, wherein the blockchain transaction is added to a second blockchain different from the blockchain associated with the NFT.
13. 10. The system of claim 9, wherein the smart contract executes using the transaction identifier as input to undo a prior transfer of ownership of the NFT on the blockchain associated with the NFT.
14. 10. The system of claim 9, wherein the smart contract comprises at least the transaction identifier, a token identifier, a buyer address, and a seller address.
15. 10. The system of claim 9, The processor of the processing server further verifies a transfer of ownership of the NFT upon receipt of the notification message; The system, wherein verifying the transfer of ownership of the NFT includes identifying a block in the blockchain associated with the NFT, the block including a blockchain data item including at least the token identifier and the transaction identifier.
16. 10. The system of claim 9, wherein the transaction identifier is submitted to the smart contract as an input in a function call included in the smart contract.
Citation Information
Patent Citations
Computer network system for cryptographically protected token-based alternative management, and method of using the same
JP2020014193A
Electronic transaction device, electronic transaction verification device, and electronic transaction method
JP2020039061A
Method and System for Dispute Resolution in a Public Blockchain
US20210406846A1
Non-fungible cryptographic tokens for tracking trees
US20220027992A1