You’ve built a website and someone wants to buy it for $5000 but they can only pay in March. In the traditional approach, you transfer control of the website and write down what’s been agreed on a piece of paper. March arrives and it seems there has been some confusion. You assumed the contract meant this March but they insist they meant next March. Get ready to argue in court about the meaning of “March”.
So we’re looking at a Bitcoin-based Smart contract implementation. But I don’t think it will work. Just look at the example above, how can a smart contract ensure that the developer made the customer happy and it was a good business for both parties?
I don’t know about you but I developed websites and I also had websites developed for me. I don’t think I can recall a single case where it was as clear as Ethereum makes it seem it is. The argument is usually about mapping expectations both for the product itself and the delivery by the contractor to reality.
Example: What if March arrives but a component is missing from the website? Or the component is there but doesn’t work the way the initial arrangement was made? If this was carried out through Ethereum, I, as a client, would certainly be annoyed. The implementation focuses only on transferring ownership, but doesn’t focus on the delivery itself.
The example code transfers ownership in case the 5k was transferred before the deadline. It doesn’t say anything about the delivery.
I’m pro Bitcoin and new world, but I’d be sceptical to use this.