The Smart Contract Flaw - Stressing the Need for a Machine Readable Legal Prose - Part 1
In a community where the only thing people seem to talk about are Smart Contracts the automation they would bring about, no one seems to understand the huge flaw this idea carries. Smart Contracts are sure to revolutionize finance and automation as we know it, there still remains a huge problem that needs to be solved. Since Smart Contracts are neither smart nor contracts, what happens when agreements are not honored? What happens when one decides not to go by the pre-defined rules on the blockchain?
When all parties remain ethical there will never be any problem. But as we all now that won’t always be the case.
Let me iterate the problem with a small thought experiment
Say @jadams2k18 and @crypto.piort get into an agreement, wherein one agrees to reward 10 Steem if the other successfully completes a task, submit an article about #HelpVenezuela. They decide to make a smart contracts that has 10 Steem reserve in its wallet, which can only be withdrawn only if @crypto.piotr successfully sends an article to that address. If both parties abide by the agreement, there seems to be no problem at all. @jadams2k18 gets the article he wanted and @crypto.piotr get his 10 Steem.
But
What happens if @crypto.piotr does not send the article? What happens if @jadams2k18 does not like the article? What happens if @crypto.piotr decides to send gibberish and the contract readily executes and gives him the reward?
There appears to be an asymmetry between honoring and dishonoring the agreement. The incentives appear to be leaning towards misusing the terms rather than stimulating enforcement.
What seems to be missing is a legally binding mechanism that ensures the enforcement of agreement between both parties by rewarding good behavior and penalize unethical ones.
Let us explore and discuss the topic in greater depth in the following post. Until then, I would love to hear your opinion regarding the following questions that have been raised:
- What do you think the problems are with recognizing smart contracts as legal documents?
- What can be done to make them irrefutable by law?
- What are the mechanisms that can be used to integrate them with existing frameworks?
Waiting to hear your responses. Keep a look out for the follow up post soon.
And finally, don't miss out the chance to be in our Discord Channel.
We are building a community there!
---Previous Posts
- CELEBRATING OUR 1ST ANNIVERSARY!!!
- Is Bitcoin Really Digital Gold?
- Part 7 - NEM
- Oracles and their Inherent Censorship Problem
- Steem - A Fertile Ground for dApps Growth
- The Advent of Cryptoeconomics - Why Traditional Economics Is In Danger
- Why Do Smart Contracts Need a Blockchain
- Layer 2 Protocols: Functionality as a Mode of Micropayment
- Layer 0 Protocols: The Key to Scaling Crypto for the Masses
- Diving Deeper into Zero-Knowledge Proofs (Part 2)
- Bitcoin’s Innate Problems: Volatility and Mining Centralization
About Reverse Acid
Be a part of our Discord community to engage in related topic conversation.
Follow our Instagram and Twitter page for timely market updates
First of all great article @reverseacid. You explained smart contracts and issues with smart contract very well.
There are surely many cases when it comes to smart contracts. There are many possibilities. Suppose "Mr. C" is the customer who is paying for some task and "Mr. S" is the seller or the freelancer who is doing the job. There are many possibilities and ways that people can play with smart contracts. With different kind of smart contracts, there are many loopholes using which Client or the seller can do the fraud.
I think following system can work :
The customer creates the order - the fund will be stored in the wallet - Seller submits the files - Fund will be release once customer confirm the delivery - fund will be released but there will be some freezing time and seller will get the fund after a certain time, let's take 7 days of freezing time.
Why freezing time ?
I don't know if this is the proper solution. But suggested this based on some most popular site's concept.
Wow. Impressive comment @flash07
Hello @flash07
Thanks for the appreciation.
There are many interesting thoughts that I came across in your comment. Let me address them.
I find your analogy about the freezing time quite impressive. It could really help in the arbitration with the need for an actual arbitrator. As you said, if any discrepancies arise, a third party can be introduced to help ease the flow. But the contract has to mention beforehand the existence of such a third party acting as an arbitrator.
Your comment is pretty interesting and practical, but it didn't give a good enough explanation for the question I had posed. How can the contract be held up in a court of law? Or can it in the first place?
Greetings appreciated @reverseacid.
I loved the simplicity with which you explained the smart contracts. As simple as accurate.
We must not forget that an intyeligente contract is a set of programming codes. They are programs, elaborated routines following a structure. Conditional decisions: Make "A" if condition "1A" is met, otherwise make "B".
Due to its programmable nature, the limit of the contract's completeness will be on the creativity of those who design it.
Many, thousands of conditions can be added.
In contracts there is a frequently used figure that involves involving a neutral third party. This third party must not have any relationship with either of the two parties in dispute.
The funds would go into a reserve state and these would be released once the third party evaluates whether the delivered product meets the requirements, which should have been sufficiently well detailed by the requesting party.
Your friend, Juan.
You just make the permitters of the contract better. Just sending any gibberish is not how you would do that contract. In this case you may have a verification from a human, or in the future, AI. If 2/3 humans (one human being the person receiving the article) verify the submission is satisfactory, then the 10 Steem are paid out. Why would they do that? Incentive, each are paid a fee of 1 Steem to do the verification. So as long as 1/2 available verifiers see that you approved you received the work and was satisfied, they then verify with you. They have incentive to be the first one to agree with you and win the payment. Or maybe both receive payment for being available to verify. Or maybe the contract says only you verify. Or maybe the person submitting the work says they require a 2nd person verifying so that you can’t come back later after you said you were satisfied and then say you weren’t, because the other party witnessed you verified the work was complete. There will be businesses around oracles for information and verification of contracts. The smart contract is not to ensure they do the work. It’s to ensure they are paid if the work is deemed satisfactory by a wide variety of programmable choices used to verify. You can also set up arbitration to settle disputes after the fact and who pays for any fees or any arbitration can be built into the contract. I don’t think the goal is to say you can have legal binding to force anyone to do physical work or submit anything. The goals are for there to be incentive for all parties to work together to ensure that contracts are handled correctly for all the involved parties. This is done because any parties who have the potential to issue payment for work, penalties, or fees must have those fees locked into the contracts as a guarantee. Once the contract is satisfied, any amount of money held as potential fees or payment but were not needed based on the satisfaction of the contract being completed, are then returned automatically to the address specified in the contract by dates specified on the contract. There are still a lot of human interactions required. The automation is to ensure the payments are made and that there is less counterparty risk. As in, you do the work, and the buyer never had the money, or never pays you after completion. You can enforce those things with these types of contracts. You can’t necessarily enforce the work to be done or that it’s satisfactory.
Dear @jiujitsu:
I recommend that you use spaces between paragraphs when writing your comments.
Many times readers are discouraged from reading when we see this type of writing and it would be a shame to miss such valuable comments as yours.
Your friend, Juan.
Blind faith contracts highly esteemed by a network that runs on blind faith.. Without putting much thought into it, it seems there is a need for escrow until a technology exists that can reach consensus from human to ai back to human before a transaction is performed..
That tech is on the way...
Posted using Partiko Android
Hello my dear @reverseacid, thanks for this post. There really is a dilemma here, questions to be resolved. On my part I can tell you that I need to study the subject in more depth to be able to issue a more or less coherent judgment of the matter, for now, your approach sounds very convincing and in reference to ethics, it is possible that these contracts cannot replace the existing legal agreements person to person.
Dear @reverseacid
Very interesting this topic.
I think that both of you have to know very well how the contract is established and that part stops complying with it because the responsibility is individual but both are involved.
If only two are involved, how to know which of the two is including it if both say they are doing well.
Then, in my opinion, there should be a mediator if either one claims that the other is not complying with the contract.
Well that's my humble opinion.
Congratulations @reverseacid! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
SEEKING LOGICAL COHERENCE.
Thank you for this excellent post.