How will disputes in a smart-contract obligation be managed? How is fraud prevented if a party does not fulfil an obligation?
When there are various jurisdictions, there may be different governing bodies.
How will disputes in a smart-contract obligation be managed? How is fraud prevented if a party does not fulfil an obligation?
When there are various jurisdictions, there may be different governing bodies.
Obligations that are written into the contract, can't be disputed. For example, if a contract allows money to be withdrawn from the contract address, only if the party leaves their money inside for some period of time, then it can be made impossible for a withdrawal to occur before the time is up, using the programming language of the contract.
For things that can't be made impossible through code, then in some cases we can rely on penalties and rewards to enforce the desired running of the contract. One could code in a reward to any entities who provide a proof that a party was trying to cheat the contract, and penalise those parties who are caught. But for this to work, we need ways of providing proofs about the real world that our contracts can understand, which is why oracles will be an essential part of such systems.
For any obligations that are not written in the code of the contract, they will rely on the same things that are in place today, court systems and public reputation. Legal systems may choose to recognise smart contracts as legally binding, and provide some pathway for dispute resolution when a smart contract has failed to do what was intended or otherwise.
The governing idea behind a smart contract is the efficiency gained from "Code is law" philosophy that allows humans to do away with the archaic inefficient contract law that has been present since the middle ages.
Before interacting (transacting) with a smart contract you should be well aware of the contract you are using and the implications and terms thereof. The obligations and terms of any smart contract are immutably written into the contract itself, so there can be no unintended disputes, only a lack of understanding of the person executing the smart contract.
All of this is to say that you are in the driver seat when it comes to blockchain and the web3 world. Do your own research before interacting with any smart contract, and fully understand what you are dealing with. If you lose money due to a lack of understanding of how the contract worked and feel wronged, there is no mechanism, unless written into the smart contract when it was deployed for dispute resolution. A smart contract has no concept of the laws of one legal jurisdiction or another, once the transaction is submitted you cannot utilise the legal system to retrieve any funds you may have unintentionally used.
Technically, even if a judge were to rule in your favor that somehow a smart contract you willingly transacted with was "fraud", the chance that the smart contract was created by someone governed by the same legal jurisdiction is very, very small and I wouldn't count on it. According to some quick research there is approximately 320 legal jurisdictions in the world. Not what I would bet on, especially in this distributed global ecosystem like Cardano.