Bitcoin Forum
October 15, 2025, 09:34:12 PM *
News: Latest Bitcoin Core release: 30.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Question about smart contracts  (Read 15 times)
Vod (OP)
Legendary
*
Offline Offline

Activity: 4214
Merit: 3334


Licking my boob since 1970


View Profile WWW
Today at 05:26:54 PM
 #1

(Move if necessary, did not know where to put it)

I've been working on a project for a while now and have run into as problem I am not sure has a solution.

Alice puts out a request for information with a bitcoin reward.
Bob sends Alice the info and expects the reward.

I know how smart contracts can make this work, but I cannot figure out how to deal with fraud.   What if the info Bob sends is false?   What if it is true but Alice claims it's false to not pay?  How can smart contracts work (with additional actors if needed) to avoid manual intervention?
CoinAge.Cash
Newbie
*
Online Online

Activity: 20
Merit: 0


View Profile WWW
Today at 05:48:12 PM
 #2

To handle disputes in smart contracts, you can use oracles, which are third-party services that provide real-world data to the blockchain, or implement a multi-signature wallet with human arbitrators. To address a false claim, a smart contract can be designed to execute only after an external oracle confirms the data is accurate. To address a valid but disputed claim, you can create a mechanism for Alice to challenge the outcome, triggering a pre-defined arbitration process involving a group of trusted oracles who act as human judges.

Handling false information from Bob

Use oracles: To verify information sent by Bob, the smart contract can require a data feed from a trusted oracle. The contract will only execute if the oracle's data matches the expected outcome.

Example: In a smart contract for a delivery service, the contract could be coded to automatically release payment to Bob only after an oracle verifies the delivery status (e.g., a tracking number or a GPS location) has been updated to "delivered".

Handling false claim from Alice
Implement an arbitration mechanism: The contract can be designed to have a dispute resolution process. If Alice claims the delivery was not completed, the contract can trigger a multi-signature wallet controlled by a panel of arbitrators.

Arbitrators: These arbitrators could be human judges, oracles, or even a DAO (Decentralized Autonomous Organization) voted on by stakeholders.

Process: Once the dispute is initiated, all arbitrators receive the same information and have a specific timeframe to vote on the outcome. The majority vote will then trigger the appropriate action:

If Alice's claim is false, the contract releases payment to Bob.
If Bob's information is false, the contract could penalize him and/or refund Alice.

Example

Scenario: Alice hires Bob for a service and agrees to pay $100 in cryptocurrency upon completion.

Contract with oracle: Bob completes the job and the smart contract receives a confirmation from an oracle that the job is done. The contract automatically releases $100 to Bob.

Dispute resolution: Alice claims the job was not completed correctly. She can use the smart contract to formally dispute the payment.

Arbitration process: The dispute is sent to a panel of three arbitrators. They receive the evidence (e.g., photos, logs, oracles' data) and vote on the case.

Outcome:
If two out of three arbitrators find Bob's work satisfactory, they vote to release the payment to Bob.
If two out of three arbitrators find that Bob's work was not up to par, they can vote to either not release payment or to
send Bob a penalty.

Manual intervention: In this case, the smart contract requires manual intervention from the arbitrators to decide on the dispute. However, the decision is still executed automatically and irreversibly once the votes are cast.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!