Method and system for transaction dispute resolution - Patents.com

The system facilitates dispute resolution for blockchain transactions using smart contracts and multiple wallets, allowing consumers to dispute and receive refunds through the blockchain, addressing the lack of inherent dispute resolution in existing blockchain systems.

JP7733250B2Active Publication Date: 2025-09-02MASTERCARD INT INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024552319
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-03
Filing Date
2023-02-06
Publication Date
2025-09-02
Estimated Expiration
2043-02-06

AI Technical Summary

Technical Problem

Existing blockchain systems lack inherent mechanisms for dispute resolution in transactions, making it difficult for consumers to force currency returns or resolve disputes without adversely affecting merchants.

Method used

A system and method utilizing smart contracts that include multiple blockchain wallets and a dispute resolution process, enabling transactions to be disputed and resolved through the blockchain, ensuring consumers can receive refunds while maintaining merchant transaction capabilities.

Benefits of technology

Enables dispute resolution for blockchain transactions without modifying existing systems, allowing consumers to successfully dispute transactions and receive refunds, while ensuring merchant operations are not hindered.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007733250000001
    Figure 0007733250000001
  • Figure 0007733250000002
    Figure 0007733250000002
  • Figure 0007733250000003
    Figure 0007733250000003
Patent Text Reader

Abstract

A smart contract is received for the new blockchain transaction and is added to the blockchain. The smart contract contains information about the merchant blockchain wallet, the reserve blockchain wallet for the merchant, the dispute blockchain wallet, and a time period. If a dispute is raised by the consumer during the time period, the smart contract causes a new transaction to be added to the blockchain, which transfers an amount covering the disputed transaction from the merchant reserve wallet to the dispute wallet. The dispute is resolved and the dispute resolution is added to the blockchain, which causes the smart contract to add another new transaction to the blockchain, which is either transferring an amount from the dispute wallet back to the merchant's wallet or transferring an amount from the dispute wallet back to the consumer's wallet.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to transaction dispute resolution, and more particularly to dispute resolution for blockchain transactions utilizing multiple blockchain wallets and smart contracts.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application No. 17 / 685,762, filed March 3, 2022, the entire contents of which are incorporated by reference for all purposes. [Background technology]

[0003] Blockchain was originally created as a storage mechanism used to make payment transactions using cryptocurrencies. Its use offers several benefits, such as decentralization, distributed computing, and transaction transparency, while providing anonymity for the individuals or entities involved in the transactions. A relatively favorable property of blockchain is the immutability of its records: all transactions that are part of the chain are stored and are immutable due to the computational power and bandwidth limitations required, especially as the chain grows and the blockchain network adds more nodes.

[0004] However, due to the immutability of blockchains, there is no inherent way to unwind a transaction, for example, if a dispute arises about the transaction or if a consumer refunds a purchase. Instead, the remedy for the involved parties is a new transaction in which the initial recipient transfers the original currency amount back to the original sending party. If both parties agree on a return or refund, such a transaction could be added to the blockchain without any problems. On the other hand, if there is a dispute, the original sending party would have no way to force a currency return or other resolution to the dispute. Therefore, improvements are needed to existing blockchain systems to enable dispute resolution processing for blockchain transactions. Summary of the Invention

[0005] This disclosure provides a description of a system and method for facilitating dispute resolution for blockchain transactions using smart contracts. A smart contract is received for a new blockchain transaction and added to the blockchain. The smart contract contains information about a merchant blockchain wallet, a reserve blockchain wallet for the merchant, a dispute blockchain wallet, and a time period. If a dispute is raised by a consumer during the time period, the smart contract causes a new transaction to be added to the blockchain, which transfers an amount covering the disputed transaction from the merchant reserve wallet to the dispute wallet. The dispute is resolved and the dispute resolution is added to the blockchain, which causes the smart contract to add another new transaction to the blockchain, which either transfers an amount from the dispute wallet back to the merchant's wallet or transfers an amount from the dispute wallet back to the consumer's wallet. The result is a dispute resolution process that leverages existing blockchain technology, ensuring that consumers can successfully dispute blockchain transactions and receive refunded currency without adversely affecting the merchant's ability to complete the transaction.

[0006] A method for facilitating dispute resolution for blockchain transactions using smart contracts includes the steps of: receiving, by a receiver of a blockchain node in a blockchain network, a smart contract, the smart contract including data associated with a first blockchain wallet, data associated with a second blockchain wallet, data associated with a third blockchain wallet, and a term; receiving, by the receiver of the blockchain node, a first blockchain transaction for payment of a digital currency amount from a fourth blockchain wallet to the first blockchain wallet; adding, by a processor of the blockchain node, the smart contract and the first blockchain transaction in one or more first new blocks to a blockchain associated with the blockchain network; and receiving, by the receiver of the blockchain node, a dispute notification, wherein the dispute notification is the knowledge identifies one of the first blockchain transaction and the smart contract; adding, by the processor of the blockchain node, a second blockchain transaction to the blockchain in a second new block, the second blockchain transaction relating to a payment of the digital currency amount from the second blockchain wallet to the third blockchain wallet; receiving, by the receiver of the blockchain node, a dispute resolution, the dispute resolution indicating a decision regarding a first party or a second party; and adding, by the processor of the blockchain node, a third blockchain transaction to the blockchain in a third new block, the third blockchain transaction relating to a payment of the digital currency amount from the third blockchain wallet to the fourth blockchain wallet if the dispute resolution indicates a decision regarding the first party;or (ii) if the dispute resolution indicates a decision for the second party, regarding payment of the digital currency amount from the third blockchain wallet to the first blockchain wallet.

[0007] A system for facilitating dispute resolution for blockchain transactions using smart contracts includes: a blockchain network including a plurality of blockchain nodes; a blockchain node included within the blockchain network, the blockchain node including a receiver that performs the steps of receiving a smart contract, the smart contract including data associated with a first blockchain wallet, data associated with a second blockchain wallet, data associated with a third blockchain wallet, and a term; and receiving a first blockchain transaction related to a payment of a digital currency amount from a fourth blockchain wallet to the first blockchain wallet; and a processor that adds the smart contract and the first blockchain transaction to a blockchain associated with the blockchain network in one or more first new blocks, the receiver further receives a dispute notification, the dispute notification identifying one of the first blockchain transaction and the smart contract; the processor of the blockchain node further adds a second blockchain transaction to the blockchain in a second new block, the second blockchain transaction relating to payment of the digital currency amount from the second blockchain wallet to the third blockchain wallet; the receiver of the blockchain node further receives a dispute resolution, the dispute resolution indicating a decision regarding the first party or the second party; and the processor of the blockchain node further adds a third blockchain transaction to the blockchain in a third new block, the third blockchain transaction (i) relating to payment of the digital currency amount from the third blockchain wallet to the fourth blockchain wallet if the dispute resolution indicates a decision regarding the first party;or (ii) if the dispute resolution indicates a decision for the second party, regarding the payment of the digital currency amount from the third blockchain wallet to the first blockchain wallet. [Brief explanation of the drawings]

[0008] The scope of the present disclosure is best understood from the following detailed description of illustrative embodiments when taken in conjunction with the accompanying drawings, in which:

[0009] [Figure 1] FIG. 1 is a block diagram illustrating a high-level system architecture for facilitating dispute resolution for blockchain transactions, according to an example embodiment. [Figure 2] FIG. 2 is a block diagram illustrating a blockchain node for facilitating dispute resolution for blockchain transactions within the system of FIG. 1 , according to an example embodiment. [Figure 3] 10 is a flow diagram illustrating a process for facilitating dispute resolution for blockchain transactions by blockchain nodes in the system of FIG. 1 according to an example embodiment. [Figure 4] 1 is a flow diagram illustrating an example method for facilitating dispute resolution for blockchain transactions, according to an example embodiment. [Figure 5] FIG. 1 is a block diagram illustrating a computer system architecture, according to an exemplary embodiment.

[0010] Further areas of applicability of the present disclosure will become apparent from the following detailed description. The detailed description of 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 INVENTION

[0011] A system to facilitate dispute resolution for blockchain transactions FIG. 1 illustrates a system 100 that facilitates dispute resolution for blockchain transactions through the use of smart contracts.

[0012] The system 100 may include a blockchain network 102. The blockchain network 102 may include multiple blockchain nodes 104. Each blockchain node 104 may be a computing system, such as those shown in FIG. 2 or FIG. 5 and described in more detail below, configured to perform functions related to blockchain processing and management, which may include, for example, generating blockchain data values, verifying proposed blockchain transactions, verifying digital signatures, generating new blocks, validating new blocks, and maintaining copies of the blockchain.

[0013] A blockchain may be a distributed ledger comprising at least a plurality 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 was generated and may be expressed using any suitable method (e.g., a UNIX timestamp, DateTime notation, etc.). The block reference value may be a value that references a preceding block in the blockchain (e.g., based on the timestamp). In some embodiments, the block reference value in the block header may be a reference to the block header of the most recently added block preceding the respective 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 containing the block header. In an exemplary embodiment, the data reference value may be a hash value generated by hashing one or more data values. For example, the block reference value may be the root of a Merkle tree generated using one or more data values.

[0014] The use of a block reference value and a data reference value in each block header results in immutability for the blockchain. Any attempted change to the data value requires the generation of a new data reference value for that block, which in turn requires the generation of a new block reference value for the subsequent block, which in turn requires the generation of a new block reference value for each subsequent block. For the change to be permanent, this must be performed and updated for every single blockchain node 104 in the blockchain network 102 before a new block is created and added to the blockchain. Computational and communication limitations can make such changes extremely difficult or impossible, thus achieving the blockchain's immutability.

[0015] In some embodiments, a blockchain can be used to store information about blockchain transactions made between two different blockchain wallets. A blockchain wallet can contain a private key of a cryptographic key pair, which can be used to generate a digital signature that can serve as the payer's authorization for the blockchain transaction, and which 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 specifically refer to a private key. In other cases, the term "blockchain wallet" can refer to a computing device (e.g., buyer system 106, seller system 108, 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 can each 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, laptop computer, notebook computer, tablet computer, mobile phone, smartphone, smartwatch, smart TV, wearable computing device, embedded computing device, etc.

[0016] Each blockchain data value stored in the blockchain may correspond to a blockchain transaction or, if applicable, the storage of other data. A blockchain transaction may include at least the following: a digital signature of the currency sender (e.g., buyer system 106) generated using the sender's private key, a blockchain address of the currency recipient (e.g., seller system 108) 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 verified by a digital signature); and an address for any changes to be maintained by the sender, generated using the sender public key. Addresses to which cryptocurrency that can be used in future transactions is sent are called "output" addresses because they were previously used to capture the output of a previous blockchain transaction, and are also called "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 entities to verify the transaction. For traditional processing of blockchain transactions, such data may be provided by either the sender or the recipient to a blockchain node 104 in the blockchain network 102. The node can verify the digital signature using the public key in the sender's wallet's cryptographic key pair and verify access to the sender's funds (e.g., if the 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 102 before being added to the blockchain and distributed to all blockchain nodes 104 in the blockchain network 102. 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 the verification of a digital signature.

[0017] In system 100, the blockchain can be configured to store smart contracts. Smart contracts can be self-executable data objects that can be stored on the blockchain within blockchain data values ​​and execute when one or more conditions are met. The smart contract can monitor new blocks being added to the blockchain until expected data that satisfies the condition is added to the blockchain or until the condition is otherwise met. When the condition is met, the smart contract can self-execute, resulting in one or more actions associated with the blockchain, which can include, for example, submitting a new transaction for the transfer of digital currency or submitting new data for storage in a new blockchain data value on the blockchain.

[0018] For example, users of two different computing devices can enter into a contract to buy and sell a vehicle to be paid for using digital currency. The buyer can agree to pay a specified amount of digital currency (e.g., 500 units), which can be due upon delivery of the vehicle by the seller. In a traditional scenario, the seller must deliver the vehicle to the buyer with the expectation that the buyer will fulfill his or her obligation, making it difficult to remedy if the buyer defaults on payment. With smart contracts, a self-executing smart contract can be created to add a new transaction to the blockchain to transfer 500 units of currency from the buyer's blockchain wallet to the seller's blockchain wallet. The terms and conditions for the smart contract can be the storage of a deed or other document on the blockchain. When the smart contract detects the document added to the blockchain, the smart contract self-executes, causing the buyer to make payment to the seller. Using a smart contract, the buyer cannot block the transfer of currency if the seller fulfills the transfer. Similarly, the seller cannot force the transfer of currency without actually providing the buyer with documented ownership of the vehicle. Additionally, the smart contract can be designed to expire if no documented storage is detected before a predetermined time period has passed, ensuring that the seller fulfills the vehicle transfer in a timely manner and that the buyer maintains control of their digital currency otherwise.

[0019] In the system 100, the buyer device 106 and the seller system 108 participate in a blockchain transaction. The buyer device 106 and the seller system 108 may be any type of computing device suitable for performing the functions described herein, such as a laptop computer, a desktop computer, a notebook computer, a tablet computer, a mobile phone, a smartphone, a smart watch, a smart TV, a wearable computing device, etc. A consumer associated with the buyer device 106 purchases one or more products from a seller associated with the seller system 108, and to make the purchase, the consumer uses blockchain digital currency associated with the blockchain network 102. To conduct the transaction, the buyer device 106 or the seller system 108 submits a new blockchain transaction to a blockchain node 104 in the blockchain network 102, where the new blockchain transaction includes: one or more unspent transaction outputs sent to the buyer device's 106 blockchain wallet, a digital signature generated using the buyer device's private key, the transaction amount, and a destination address for the seller system's 108 blockchain wallet using the seller system's public key. A blockchain node 104 receives blockchain transactions, confirms the transactions, and includes the transactions in a new block, which is confirmed by other blockchain nodes 104 in the blockchain network 102 and added to the blockchain.

[0020] To enable dispute resolution for blockchain transactions, a merchant system 108 can submit a smart contract to a blockchain node 104 in the blockchain network 102, or can submit data to the blockchain node 104 for inclusion in the smart contract, which itself can generate. The smart contract can include data about at least three different blockchain wallets: a blockchain wallet in the merchant system 108 used to receive and transfer digital currency (the “merchant blockchain wallet”), a blockchain wallet that holds digital currency in preparation for satisfying a disputed transaction (the “preparation blockchain wallet”), and a blockchain wallet used to hold digital currency that is the subject of a disputed transaction (the “dispute blockchain wallet”). The data contained in each blockchain wallet can include the following: one or more destination addresses and / or the public keys themselves generated by each blockchain wallet’s public key, one or more digital signatures generated using each blockchain wallet’s private key, unspent transaction outputs, the digital currency amounts associated therewith, etc. The smart contract can also include a duration or expiration date and / or time.

[0021] In some embodiments, the merchant system 108 may have control or possession of the merchant blockchain wallet and the reserve blockchain wallet. In such embodiments, the blockchain node 104 or the dispute resolution system 110 may have control or possession of the dispute blockchain wallet, and the blockchain node 104 or the dispute resolution system 110 may have possession or access to the private key of the blockchain wallet. In some cases, the system 100 may include one or more exchange systems, which may be used to store private keys for blockchain wallets on behalf of other entities. In such cases, functions performed by one of the entities of the system 100 described herein may be performed by the associated exchange system, if applicable.

[0022] The smart contract can be sent to or generated by the blockchain node 104 and added to the blockchain with new blockchain data values, which are included in a new block, and the new block is confirmed and added to the blockchain. In some cases, the seller system 108 can send the smart contract or data for use in its generation before sending and adding the blockchain transaction for the initial payment of digital currency from the buyer to the seller. In such cases, the smart contract can be added to the blockchain, and the buyer device 106 can use the smart contract to identify a seller blockchain wallet to which the digital currency should be sent based on the data contained therein. The buyer device 106 can then generate a blockchain transaction and submit the transaction to the blockchain node 104 for inclusion in the blockchain.

[0023] After both the blockchain transaction and the smart contract have been added to the blockchain, a buyer may be interested in raising a dispute regarding the transaction. The buyer device 106 can electronically send a data message to the dispute resolution system 110 to initiate a dispute resolution process for the blockchain transaction. The data message can include data identifying the blockchain transaction for which the dispute is being raised, such as a transaction identifier, a blockchain address, or other unique data contained in the blockchain transaction or its blockchain data items. The data message can also include additional information, such as the reason for the dispute and data supporting that reason. For example, a buyer can raise a dispute regarding the blockchain transaction due to defective goods and can provide evidence of the defect.

[0024] The dispute resolution system 110 can receive the data message and initiate a dispute resolution process to determine whether the dispute should be adjudicated in favor of the buyer, and can return the appropriate amount of digital currency to the buyer or seller, with the seller retaining the transferred digital currency. The dispute resolution system 110 can submit a notification message to a blockchain node 104 in the blockchain network 102 to notify the blockchain node 104 of the filed dispute. In some embodiments, the buyer device 106 can submit the dispute data message to the blockchain node 104, and the blockchain node 104 can forward the data message to the dispute resolution system 110.

[0025] Upon informing the blockchain node 104 about the dispute, a new blockchain transaction can be added to the blockchain. The new blockchain transaction can involve a payment of a digital currency amount equal to the digital currency amount in the disputed transaction and can be deposited from the reserve blockchain wallet into the dispute blockchain wallet. In some cases, the amount for the new blockchain transaction can exceed the amount for the disputed transaction and can include, for example, a fee that the dispute resolution system 110 may collect for administering the dispute resolution process. In some embodiments, the blockchain node 104 can add a dispute notification message to the blockchain with new blockchain data values, which are included in a new block added to the blockchain. In some cases, the blockchain node 104 can generate a new blockchain transaction using data contained within a smart contract upon receipt of the dispute notification message. In other cases, the smart contract can self-execute upon detection that the dispute notification message has been added to the blockchain, thereby submitting the new blockchain transaction to the blockchain node 104 for inclusion in the blockchain.

[0026] As new blockchain transactions are added to the blockchain, the digital currency can be held in the dispute blockchain wallet while the dispute resolution process proceeds. The dispute resolution system 110 can proceed to resolve the dispute using traditional methods and systems, such as by collecting evidence from the buyer device 106 and the seller system 108, reviewing any transaction agreements, analyzing other provided data, etc. The dispute resolution system 110 can determine the resolution or outcome of the dispute as part of the process. In some cases, the dispute resolution system 110 can utilize multiple mediations or arbitrations to determine the outcome of the dispute. In some such cases, the number of mediations or arbitrations can be based on the digital currency amount in dispute. Once the outcome is determined, the dispute resolution system 110 can electronically send a notification message to the buyer device 106 and / or the seller system 108 to inform participants about the resolution of the dispute, which can include the reason for the dispute, fees incurred, etc. As part of the resolution, the dispute resolution system 110 can electronically send an outcome message about the dispute to the blockchain node 104 in the blockchain network 102.

[0027] The blockchain node 104 can receive the dispute outcome message and can add a new blockchain transaction to the blockchain. The new blockchain transaction can relate to the payment of a digital currency amount for the disputed blockchain transaction and / or the second blockchain transaction and can be paid from the dispute blockchain wallet and deposited into the blockchain wallet of the buyer device 106 (e.g., identified as the payer of the disputed blockchain transaction) if the outcome is in the buyer's favor, or into the seller blockchain wallet if the outcome is in the seller system 108's favor. In an example embodiment, the dispute outcome message can be added to the blockchain within a new blockchain data item included in a new block that is confirmed and added to the blockchain. In some cases, the blockchain node 104 itself can generate the new blockchain transaction after receiving the dispute outcome message. In other cases, a smart contract can detect the addition of the dispute outcome message on the blockchain and, as a result, self-execute, thereby submitting the new blockchain transaction to the blockchain node 104 for inclusion in the blockchain.

[0028] In some cases, the dispute resolution system 110 may collect a fee for performing the dispute resolution process. In such cases, the final blockchain transaction added to the blockchain may include a transfer of digital currency from the dispute blockchain wallet to a blockchain wallet associated with the dispute resolution system 110. In such cases, the fee may be paid by the buyer device 106 or the seller system 108. In some cases, the dispute resolution system 110 may determine which entity is liable for the fee based on, for example, the terms of a smart contract, the outcome of the dispute resolution process, etc.

[0029] In embodiments where the smart contract includes a time period or expiration date, the buyer apparatus 106 may be required to submit a dispute about the associated blockchain transaction before the time period expires. In such embodiments, if the time period expires or the expiration date has passed, the smart contract may self-execute and fail to submit a new blockchain transaction as part of the dispute resolution process. In such cases, if the buyer apparatus 106 does not initiate the dispute process before the time period expires or the expiration date, the disputed transaction may remain unresolved. In some cases, the smart contract may include additional terms, such as additional fees to be incurred if a transaction is disputed. For example, the seller may charge a restocking fee for the disputed transaction, and any refund resulting from the dispute resolution process may be the original digital currency amount minus the specified fee.

[0030] In some cases, the seller system 108 may be required to fund a reserve blockchain wallet with digital currency in an amount appropriate to cover the digital currency amount for blockchain transactions related to unexpired terms or expiration dates. In such cases, the smart contract may be validated by the blockchain node 104 before being added to the blockchain, and the blockchain node 104 may validate the reserve blockchain wallet to ensure that the reserve blockchain wallet has sufficient access for digital currency to cover all pending smart contracts. In some cases, the initial blockchain transaction may be made directly from the buyer's blockchain wallet to the reserve blockchain wallet, and the seller may hold the digital currency in the reserve blockchain wallet until the term or expiration date for the dispute expires. In some such cases, the smart contract may be configured to self-execute after expiration to transfer the digital currency from the reserve blockchain wallet to the seller blockchain wallet.

[0031] The described method and system allows participants in a blockchain transaction to dispute the transaction. By utilizing smart contracts and multiple blockchain wallets, blockchain transactions can be disputed to the buyer's or seller's satisfaction without requiring modifications to any existing systems. As a result, blockchain transactions can be disputed on traditional systems through the use of smart contracts and the dispute resolution system 110, providing a significant improvement over existing systems.

[0032] Blockchain Node FIG. 2 illustrates an embodiment of a blockchain node 104. Those skilled in the art will appreciate that the embodiment of the blockchain node 104 illustrated in FIG. 2 is provided for illustrative purposes only and is not an exhaustive list of all possible configurations of a blockchain node 104 suitable for performing the functions of the present disclosure. For example, computer system 500 illustrated in FIG. 5 and described in more detail below may be a suitable configuration of a blockchain node 104. In some cases, additional components of the system 100, such as the buyer system 106, the seller system 108, and the dispute resolution system 110, may include the components illustrated in FIG. 2 and described below.

[0033] The blockchain node 104 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 other blockchain nodes 104, buyer devices 106, seller systems 108, dispute resolution systems 110, and other systems and entities via one or more communication methods, such as radio frequency, a local area network, a wireless area network, a 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 (e.g., 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. 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 otherwise obtained. In some embodiments, the receiving device 202 may include an analysis module for analyzing 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.

[0034] The receiving device 202 can be configured to receive data signals electronically transmitted by other blockchain nodes 104, which may be superimposed or encoded with blocks, blockchain data values, confirmation messages, cryptographic keys, smart contracts, etc. The receiving device 202 can be configured to receive data signals electronically transmitted by the buyer device 106 and / or the seller system 108, which may be superimposed or encoded with new blockchain transactions, new smart contracts, requests for blockchain data, cryptographic keys, digital signatures, unspent transaction outputs, digital currency amounts, blockchain wallet data, etc. The receiving device 202 can further be configured to receive data signals electronically transmitted by the dispute resolution system 110, which may be superimposed or encoded with dispute notification messages, dispute outcome messages, etc.

[0035] The blockchain node 104 may also include a communications module 204. The communications module 204 may be configured to transfer data between modules, engines, databases, memory, and other components of the blockchain node 104 for use in performing the functions of the present disclosure. The communications module 204 may include one or more communication types and may use various communication methods for communication within a computing device. For example, the communications module 204 may include a bus, a connection pin connector, a wire, etc. In some embodiments, the communications module 204 may also be configured to communicate between internal components of the blockchain node 104 and external components of the blockchain node 104 (e.g., an externally connected database, display device, input device, etc.). The blockchain node 104 may also include a processing unit. The processing unit may be configured to perform the functions of the blockchain node 104 of the present disclosure, as will be apparent to those skilled in the art. In some embodiments, the processing unit may include multiple engines and / or modules (e.g., the query module 216, the generation module 218, the validation module 220, etc.) specifically configured to perform one or more functions of the processing unit. As used herein, the term "module" may refer to software or hardware that is specifically programmed to receive 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.

[0036] A blockchain node 104 may include blockchain data 206. The blockchain data 206 may be configured to store data associated with a blockchain. The blockchain data 206 may include blockchain wallet data, blocks, cryptographic keys, data formatting rules, communication data, smart contract data, pending blockchain transactions, pending smart contracts, etc.

[0037] The blockchain node 104 may also include memory 214. The memory 214 may be configured to store data (e.g., public keys, private keys, symmetric keys, etc.) for use by the blockchain node 104 when performing the functions of the present disclosure. The memory 214 may be configured to store data using any suitable data formatting methodology and schema and may be any suitable 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 processing unit application programs, and other suitable data used by the blockchain node 104 when performing the functions of the present disclosure. This will be apparent to those skilled 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, cryptographic algorithms, encryption algorithms, communication information, data formatting rules, signature generation algorithms, smart contract data, and the like.

[0038] The blockchain node 104 may also include a query module 216. The query module 216 may be configured to run queries on a database to identify information. The query module 216 may receive one or more data values ​​or query strings, and based thereon, may run the query string on an indicated database (e.g., the memory 214 of the blockchain node 104) to identify information stored therein. The query module 216 may then output the identified information to an appropriate engine or module of the blockchain node 104, as needed. The query module 216 may, for example, run queries on the blockchain data 206 to identify pending blockchain transactions for inclusion in a new block generated by the blockchain node 104.

[0039] The blockchain node 104 may also include a generation module 218. The generation module 218 may be configured to generate data for use by the blockchain node 104 when performing functions of the present disclosure. The generation module 218 may receive instructions as input, generate data based on the instructions, and output the generated data to one or more modules of the blockchain node 104. For example, the generation module 218 may be configured to generate blockchain data items, blocks, confirmation messages, cryptographic key pairs, digital signatures, functions and instructions for performing actions, etc.

[0040] The processing server 102 may also include a validation module 220. The validation module 220 may be configured to perform validations 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 digital signatures using appropriate signature generation algorithms and keys, to validate smart contract data, to validate new blockchain transactions, etc.

[0041] The blockchain node 104 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 other blockchain nodes 104, buyer devices 106, seller systems 108, dispute resolution systems 110, 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 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 formatting data into a data signal suitable for transmission.

[0042] The transmitting device 222 may also be configured to electronically transmit a data signal to the blockchain node 104, which may be superimposed or encoded with a blockchain data value, a block, a confirmation message, a request for blockchain data, smart contract data, etc. The transmitting device 222 may also be configured to electronically transmit a data signal to the buyer device 106 and / or the seller system 108, which may be superimposed or encoded with blockchain data, a block, a blockchain data value, an identifier for a new blockchain transaction, a request for a digital signature or cryptographic key, etc. The transmitting device 222 may further be configured to electronically transmit a data signal to the dispute resolution system 110, which may be superimposed or encoded with a dispute data message, a request for dispute information, etc.

[0043] Facilitating dispute resolution for blockchain transactions FIG. 3 illustrates a process 300 for facilitating dispute resolution for blockchain transactions performed by blockchain nodes 104 of the system 100 of FIGS. 1 and 2.

[0044] At S302, the receiver 202 of the blockchain node 104 may receive a smart contract or data associated therewith from the merchant system 108 associated with the new blockchain transaction being submitted. The smart contract may include data about the merchant blockchain wallet and the provision blockchain wallet, and a term. The data received from the merchant system 108 may also include data about the dispute blockchain wallet, or the data about the dispute blockchain wallet may be added to the data received by the blockchain node 104. In some cases, the data may be included in an already generated smart contract, or the generation module 218 of the blockchain node 104 may generate the smart contract using the received data.

[0045] At S304, the receiving device 204 of the blockchain node 104 may receive a first blockchain transaction from the buyer device 106. The first blockchain transaction may be for a digital currency amount to be paid from the buyer's blockchain wallet to the seller's blockchain wallet. At S306, the generating module 218 of the blockchain node 104 may generate blockchain data items for the first blockchain transaction and the smart contract, and generate a new block that includes at least the newly generated blockchain data items. The new block may be distributed by the sending device 222 of the blockchain node 104 to other blockchain nodes 104 in the blockchain network 102 for confirmation and inclusion in the blockchain.

[0046] At S308, the blockchain node 104 may determine whether a dispute about the first blockchain transaction is received by the receiving device 202 of the blockchain node 104 before the expiration of the time period in the smart contract. If no dispute is raised, the process 300 is complete and the first blockchain transaction is established. If a dispute is received before the expiration of the time period, at S310, the blockchain node 104 may add a second transaction to the blockchain. The second transaction may be made to pay from the reserve blockchain wallet to the dispute blockchain wallet for at least the digital currency amount from the disputed transaction. In some cases, the second blockchain transaction may be generated by the generation module 218 of the blockchain node 104. In other cases, the blockchain node 104 may add a dispute message to the blockchain, and the second blockchain transaction may be generated via self-execution of the smart contract upon detection of the dispute message.

[0047] At S312, the receiving device 202 of the blockchain node 104 may receive an outcome message regarding the dispute from the dispute resolution system 110. In some embodiments, the generation module 218 of the blockchain node 104 may generate a new blockchain data value that includes the outcome message and is included in a new block that is added to the blockchain. At S314, the blockchain node 104 may determine whether the buyer or the seller is successful in the dispute based on the content of the outcome message. If the buyer is successful in the dispute, at S316, a third blockchain transaction is added to the blockchain that refunds the digital currency amount from the dispute blockchain transaction to the blockchain wallet of the buyer device 106. If the seller is successful in the dispute, at S318, a third blockchain transaction is added to the blockchain that transfers the digital currency amount from the dispute blockchain wallet to the seller blockchain wallet. In some cases, the generation module 218 of the blockchain node 104 generates the third blockchain transaction using data from the first blockchain transaction and the smart contract. In other cases, a third blockchain transaction may be generated by execution of a smart contract upon detection of adding a dispute outcome to the blockchain.

[0048] Exemplary Method for Facilitating Dispute Resolution for Blockchain Transactions FIG. 4 illustrates a method 400 for facilitating dispute resolution for blockchain transactions through the use of smart contracts and multiple blockchain wallets.

[0049] At S402, a smart contract can be received by a receiver (e.g., receiving device 202) of a blockchain node (e.g., blockchain node 104) in a blockchain network (e.g., blockchain network 102), where the smart contract includes data associated with a first blockchain wallet, data associated with a second blockchain wallet, data associated with a third blockchain wallet, and a term. At S404, a first blockchain transaction related to a payment of a digital currency amount from a fourth blockchain wallet to the first blockchain wallet can be received by the blockchain node receiver. At S406, the smart contract and the first blockchain transaction can be added in one or more first new blocks by a processor of the blockchain node to a blockchain associated with the blockchain network. At S408, a dispute notice can be received by the blockchain node receiver, where the dispute notice identifies one of the first blockchain transaction and the smart contract.

[0050] At S410, a second blockchain transaction may be added to the blockchain in a second new block by a processor of the blockchain node, the second blockchain transaction relating to a payment of a digital currency amount from the second blockchain wallet to a third blockchain wallet. At S412, a dispute resolution may be received by a receiver of the blockchain node, the dispute resolution indicating a decision for the first party or the second party. At S414, a third blockchain transaction may be added to the blockchain in a third new block by a processor of the blockchain node, the third blockchain transaction relating to (i) a payment of a digital currency amount from the third blockchain wallet to a fourth blockchain wallet if the dispute resolution indicates a decision for the first party, or (ii) a payment of a digital currency amount from the third blockchain wallet to the first blockchain wallet if the dispute resolution indicates a decision for the second party.

[0051] In one embodiment, the third blockchain transaction can further involve payment of an additional currency amount to a fifth blockchain wallet. In a further embodiment, the fifth blockchain wallet can be associated with a dispute resolution entity (e.g., dispute resolution system 110), and the dispute resolution can be received from the dispute resolution entity. In some embodiments, the smart contract can further include an identification value, and the first blockchain transaction can include the identification value.

[0052] In one embodiment, method 400 may further include the step of: adding, by a processor of the blockchain node, the dispute resolution to the blockchain in a fourth new block before the third blockchain transaction is added to the blockchain. In a further embodiment, the smart contract may self-execute upon detection of the fourth new block including the dispute resolution, and the receiver of the blockchain node may receive the third blockchain transaction from the self-execution of the smart contract. In some embodiments, method 400 may also include the step of: adding, by a processor of the blockchain node, a dispute notice to the blockchain in a fourth new block before the second blockchain transaction is added to the blockchain. In one embodiment, the dispute notice may be received before the expiration date.

[0053] Computer System Architecture 5 illustrates a computer system 500 in which embodiments of the present disclosure, or portions thereof, may be implemented as computer-readable code. For example, the blockchain node 104 of FIGS. 1 and 2 and the buyer device 106, seller system 108, and dispute resolution system 110 of FIG. 1 may be implemented in the computer system 500 using hardware, a non-transitory computer-readable medium having stored instructions, or a combination thereof, and may be implemented in one or more computer systems or other processing systems. The hardware may embody modules and components used to implement the methods of FIGS. 3 and 4.

[0054] Where programmable logic is used, such logic may be executed on commercially available processing platforms configured with executable software code, resulting in special-purpose or dedicated devices (e.g., programmable logic arrays, 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 embodiments.

[0055] 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 used generally to refer to tangible media (e.g., removable storage unit 518, removable storage unit 522, and a hard disk installed in hard disk drive 512, etc.).

[0056] Various embodiments of the present disclosure are described with respect to this exemplary computer system 500. After reading this disclosure, it will be apparent to one skilled in the art how to implement the present disclosure using other computer systems and / or computer architectures. While operations are disclosed as sequential processes, some operations may in fact be performed in parallel, concurrently, and / or in distributed environments, where program code is stored locally or remotely for access by uniprocessor or multiprocessor machines. Furthermore, in some embodiments, the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.

[0057] The processor unit 504 may be a special-purpose or general-purpose processor unit specially configured to perform the functions of the present disclosure. The processor unit 504 may be connected to a communications infrastructure 506 (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., Wi-Fi), a mobile communications network, a satellite network, the Internet, fiber optics, 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 500 may also include a main memory 508 (e.g., random access memory, read-only memory, etc.) and may also include a secondary memory 510. The secondary memory 510 may include a hard disk drive 512 and a removable storage drive 514 (e.g., a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, etc.).

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

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

[0060] Data stored in computer system 500 (e.g., in main memory 508 and / or secondary memory 510) may be stored on any type of suitable computer-readable medium, such as optical storage (compact disc, digital versatile disc, Blu-ray disc, etc.) or magnetic tape storage (e.g., hard disk drive). 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.

[0061] Computer system 500 may also include a communications interface 524. Communications interface 524 may allow software and data to be sent and received between computer system 500 and external devices. Exemplary communications interface 524 may include a modem, a network interface (e.g., an Ethernet card), a communications port, a PCMCIA slot and card, etc. The software and data transferred via communications interface 524 may be in the form of signals. The signals may be electronic, electromagnetic, optical, or other signals apparent to those skilled in the art. The signals propagate over communications path 526. The paths are configured to carry the signals and may be implemented using wire, cable, fiber optics, a telephone line, a cellular phone link, a radio frequency link, etc.

[0062] Computer system 500 may further include a display interface 502. Display interface 502 may be configured to allow data to be transferred between computer system 500 and an external display 530. Exemplary display interfaces 502 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), etc. Display 530 may be any suitable type of display that displays data transferred via display interface 502 of computer system 500, 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.

[0063] The computer program medium and computer usable medium may refer to memory (e.g., main memory 508 and secondary memory 510), which may be semiconductor memory (such as DRAM). These computer program products may be means for providing software to computer system 500. Computer programs (e.g., computer control logic) may be stored in main memory 508 and / or secondary memory 510. Computer programs may also be received via communications interface 524. Such computer programs, when executed, may enable computer system 500 to perform methods of the present disclosure. In particular, computer programs, when executed, may enable processor unit 504 to implement the methods illustrated in FIGS. 3 and 4 as described herein. Such computer programs therefore represent a controller of computer system 500. When the present disclosure is implemented using software, the software may be stored in a computer program product and loaded into computer system 500 using removable storage drive 514, interface 520, hard disk drive 512, or communications interface 524.

[0064] The processor unit 504 may include one or more modules or engines configured to perform the functions of the computer system 500. Each module or engine may be implemented using hardware, or in some embodiments, software (e.g., corresponding to program code or programs stored in the main memory 508 or the secondary memory 510). In such embodiments, the program code may be compiled by the processor unit 504 (e.g., by a compilation module or engine) before execution by the hardware of the computer system 500. For example, the program code may be source code written in a programming language (e.g., assembly language or machine code) that is translated into a lower-level language for execution by the processor unit 504 and / or any additional hardware components of the computer system 500. The compilation process may include the use of lexical analysis, preprocessing, syntactic analysis, semantic analysis, syntax-driven translation, code generation, code optimization, or any other techniques suitable for translating the program code into a lower-level language suitable for controlling the computer system 500 to perform the functions of the present disclosure. Those skilled in the art will appreciate that such processing results in computer system 500 being a specially configured computer system 500 that is uniquely programmed to perform the functions described above.

[0065] Among other features, technology consistent with the present disclosure provides systems and methods for facilitating dispute resolution for blockchain transactions using smart contracts. While various exemplary embodiments of the disclosed systems and methods have been described above, it should be understood that they are presented by way of example only, and not by way of limitation. They are not exhaustive and do not limit the disclosure to the precise form disclosed. Modifications and variations are possible in light of the above teachings. Modifications and variations may be obtained from implementations of the present disclosure without departing from the scope or spirit of the disclosure.

Claims

1. 1. A method for facilitating dispute resolution for blockchain transactions using smart contracts, comprising: receiving, by a receiver at a blockchain node in a blockchain network, a smart contract, the smart contract including data associated with a first blockchain wallet, data associated with a second blockchain wallet, data associated with a third blockchain wallet, and a time period; receiving, by the receiver of the blockchain node, a first blockchain transaction relating to a payment of a digital currency amount from a fourth blockchain wallet to the first blockchain wallet; adding, by a processor of the blockchain node, the smart contract and the first blockchain transaction in one or more first new blocks to a blockchain associated with the blockchain network; receiving, by the receiver of the blockchain node, a dispute notification, the dispute notification identifying one of the first blockchain transaction and the smart contract; adding, by the processor of the blockchain node, a second blockchain transaction to the blockchain in a second new block, the second blockchain transaction relating to a payment of the digital currency amount from the second blockchain wallet to the third blockchain wallet; receiving, by the receiver of the blockchain node, a dispute resolution, the dispute resolution indicating a decision regarding a first party or a second party; adding, by the processor of the blockchain node, a third blockchain transaction to the blockchain in a third new block, the third blockchain transaction (i) for a payment of the digital currency amount from the third blockchain wallet to the fourth blockchain wallet if the dispute resolution indicates a decision regarding the first party, or (ii) for a payment of the digital currency amount from the third blockchain wallet to the first blockchain wallet if the dispute resolution indicates a decision regarding the second party.

2. 10. The method of claim 1, wherein the third blockchain transaction further involves payment of an additional currency amount to a fifth blockchain wallet.

3. 3. The method of claim 2, the fifth blockchain wallet is associated with a dispute resolution entity; The method wherein the dispute resolution is received from the dispute resolution entity.

4. 10. The method of claim 1, The smart contract further includes an identification value; The first blockchain transaction includes the identification value.

5. The method of claim 1 further comprising: adding, by the processor of the blockchain node, the dispute resolution to the blockchain in a fourth new block before adding the third blockchain transaction to the blockchain.

6. 6. The method of claim 5, upon detection of the fourth new block including the dispute resolution, the smart contract self-executes; The receiver of the blockchain node receives the third blockchain transaction from self-execution of the smart contract.

7. The method of claim 1 further comprising: adding, by the processor of the blockchain node, the dispute notice to the blockchain in a fourth new block before adding the second blockchain transaction to the blockchain.

8. 10. The method of claim 1, wherein the notice of dispute is received before the expiration of the period.

9. 1. A system for facilitating dispute resolution for blockchain transactions using smart contracts, comprising: a blockchain network including a plurality of blockchain nodes; a blockchain node included in the blockchain network; The blockchain node: a receiver, receiving a smart contract, the smart contract including data associated with a first blockchain wallet, data associated with a second blockchain wallet, data associated with a third blockchain wallet, and a term; receiving a first blockchain transaction relating to a payment of a digital currency amount from a fourth blockchain wallet to the first blockchain wallet; a processor that adds the smart contract and the first blockchain transaction in one or more first new blocks to a blockchain associated with the blockchain network; The receiver at the blockchain node further receives a dispute notice, the dispute notice identifying one of the first blockchain transaction and the smart contract; The processor of the blockchain node further adds a second blockchain transaction to the blockchain in a second new block, the second blockchain transaction relating to a payment of the digital currency amount from the second blockchain wallet to the third blockchain wallet; The receiver of the blockchain node further receives a dispute resolution, the dispute resolution indicating a decision regarding the first party or the second party; The processor of the blockchain node further adds a third blockchain transaction to the blockchain in a third new block, the third blockchain transaction (i) for payment of the digital currency amount from the third blockchain wallet to the fourth blockchain wallet if the dispute resolution indicates a decision regarding the first party, or (ii) for payment of the digital currency amount from the third blockchain wallet to the first blockchain wallet if the dispute resolution indicates a decision regarding the second party.

10. 10. The system of claim 9, wherein the third blockchain transaction further involves payment of an additional currency amount to a fifth blockchain wallet.

11. 11. The system of claim 10, the fifth blockchain wallet is associated with a dispute resolution entity; The dispute resolution is received from the dispute resolution entity.

12. 10. The system of claim 9, The smart contract further includes an identification value; The first blockchain transaction includes the identification value.

13. 10. The system of claim 9, wherein before adding the third blockchain transaction to the blockchain, the processor of the blockchain node further adds the dispute resolution to the blockchain in a fourth new block.

14. 14. The system of claim 13, upon detection of the fourth new block including the dispute resolution, the smart contract self-executes; The receiver of the blockchain node receives the third blockchain transaction from self-execution of the smart contract.

15. 10. The system of claim 9, wherein before adding the second blockchain transaction to the blockchain, the processor of the blockchain node further adds the dispute notice to the blockchain in a fourth new block.

16. 10. The system of claim 9, wherein the notice of dispute is received before the expiration of the period.

Citation Information

Patent Citations

  • Information processing method, information processing device, and program

    JP2020053056A

  • Method and system for dispute resolution on a public blockchain

    JP2022506010A

  • Dispute Resolution Cryptocurrency Sidechain System

    US20190205844A1

  • Cryptographic Contract Payment and Dispute Resolution System

    US20190378128A1