I’ve been observing the development of the smart contract paradigm, and one issue has been bothering me. I know it’s bound to generate arguments, but I’m raising the topic anyway because it’s the single biggest obstacle to the mainstream adoption of the smart contracts.
Software will always have bugs. There will always be gray zones. I don’t have to tell you about the DAO incident. OK, if there’s something as egregious as the DAO, the community may be convinced to do a fork. But if it’s a gray zone or a smaller robbery, the fork is not a solution.
And if the actual consequences are not enough for you, think of the skepticism that will prevent people from leaving their contracts in the hands of software.
Charles recently posted a screenshot with blocks representing components of a contract.
Is it possible to include a provision for human arbitration within one of these blocks?
Such arbitration can be picked by the contract parties; it can be a state structure, or an independent private structure.
The arbiters may become a new part of the cryptocurrency ecosystem with (hopefully unforgeable) reputation points, just like the miners are. In fact, the existing structures will be able to participate and will have to prove to the public their decisions are fair, unbiased, and skilled. The commercial courts will finally be held accountable.
Cryptocurrencies are the first step to the de-nationalisation and de-monopolisation of money; isn’t it time to de-nationalise and de-monopolise justice?
You may know about that guys who claimed the “code is law” idea?
Your point of view makes me think you are sceptical like me, because it would mean that some programmers would want to “decentralize” the power of politicians, banks, judges and police by encoding “the rules” with simple 0 and 1 bits and thoughts. Period.
The point is probably that blockchain ideas bring some basic facts: for example, because every transaction is public (compared to traditional bank accounts), it is obvious that everyone in this game wants to remain anonymous.
But even when it comes to executing rules, blockchains have been developed for automated 0/1 (black and white) decisions and executions without human intervention or interpretation. Otherwise, not only judges (legislature), but also the police (executive) would be needed. Both don’t seem to fit in so easily with decentralization.
That’s exactly what bothers me. There are many issues with the code is law principle:
It is plain unreliable. If the smart contracts become mainstream, everyone and their sister (mother, father, …) will be writing them. Imagine the “law” at the quality of websites today.
Even the bravest and the most technically savvy today won’t trust software blindly, even if it’s guaranteed to be well-intentioned (which is always the case when the money is involved, right )? And it’d be crazy otherwise.
Like you say, the world is not black and white. The contract may be overlooking some circumstances or unexpected developments.
Last but not least, the compliance that the Cardano developers seem to care about.
And then again, it’s not only the stick. There is also the carrot: there will be another group of people interested in the growing ecosystem, like the miners today or the drivers in the car sharing startups. Resolving disputes can be a nice side income for white-collars!
EDIT: Sorry, I forgot to refer to the anonymity point. Right now, yes. With the smart contracts, no. The point of the smart contracts is to eliminate legal fees and legal red tape, which are enormous today.
Well, strictly speaking, the current systems do work. Poorly, but they do.
On the other hand, no one in their right mind today would delegate anything serious to a smart contract alone. It’s like a choice between a horse buggy and Puff the magic dragon to get from A to B, everyone knows that the horse buggy works somehow. What about yourself, for example?
But regardless. What I propose is not the current systems. We’re talking about a new system taking the best of both worlds, and providing options.
If they don’t want arbitration at all, because they believe the software will never have serious bugs, good for them.
However, more pragmatic people who live in the real world, may want some fallback options. Once again, it does not have to be a local court (as long as the local legislation allows this degree of freedom). Think about it as an escrow service. People with more common sense and integrity will be promoted. What’s not to like?
Of course, it would be cool if all-knowing, wise, benevolent computers ruled us. Except the kind that can do it even at the level of the current governments, do not exist yet.
If we can’t build super-duper robots yet, why not compromise for exoskeletons?
Hi, I apologize if I’m way off but isn’t this why there will also be permissioned chains or enterprise chains so that companies or organizations that do need more control will be able to do that while also be able to interact with the main chain when necessary?
I can’t tell, sorry, but that sounds like a generic lock/key mechanism.
What I meant was a situation when any smart contract, whether it’s an enterprise SLA, “turn your key, sir” kind of a protocol, or Sheldon Cooper’s roommate agreement, would have this option as one of the standard blocks.
Same as all my previous replies in this topic: I have no answer yet, and it’s one of multiple things I try to figure out how this could work in a world that doesn’t look like “The Matrix”
In the meantime keep in mind that Etherium forked from Etherium classic mainly because of such a question: should there be some arbitrary “correction” allowed or not? Charles voted for not.
The guys around Vitalik had and are still struggling with this question if they should make some “interpretation” steps to recover monetary value that’s locked since an event where the code did something that wasn’t the creators idea.
The problem with this interpretation thing is: it smells very much like that “poorly working” system we already have and know.
A dedicated (optional) arbitration component. Again, optional. If someone decides there will never be an issue, or it’s not applicable, it won’t be a part of the smart contract.
A choice between:
Choose arbitration later by mutual consent (bad idea, generally, but may be necessary)
Specific “independent arbiter” or a pool of arbiters in case the primary choice is unavailable
Independent arbiters from a specific group or category
The arbitration is activated when a particular “exception” in the smart contract code is hit, or when one of the parties raises an objection
Independent arbiters are rated, Uber, TripAdvisor, etc. style, for their integrity and performance. The track record, both the reputation points and the history of arbitration, is kept on the Cardano blockchain (naturally). Like the miners today, the independent arbiters become an integral part of the ecosystem.
But that’s exactly the reason I’m proposing it!
Both Charles and Vitalik had valid reasons for their choices (more pragmatically, the top Ethereum people would be at risk of being sued in the real, physical world if they just let people lose their money). Both choices were bad: one allows the crook get away and the people lose their hard-earned money, the other means that the founding team believes the concept does not work.
In programming terms, it’s like building an application that never handles exceptions. Nobody does it since 1990s.
It may smell the same, but it’s very different.
If you were ever involved in a commercial dispute, you know that the choices of arbitration are limited. If you live in (say) France, you can’t go to Italy for the litigation. You’re stuck in a particular district, with a particular court. Sometimes, the contracts allow choosing the region, but it’s not guaranteed the court in an unrelated region will agree to hear the case.
I am not even talking about the fact that the courts are expensive, slow, inefficient enough to make the arbitration economically non-viable in most cases.
Think about it. If someone appropriated a few hundred bucks of your money, you can’t demand justice because the courts are not equipped to handle it. (Yes, there are small claims courts but that also comes with strings attached.)
On the other hand, if you trust an independent party, that at a click of a button will be as available as (say) Mechanical Turk workers for 10% fee, you can handle all the small transactions.
The worse part is, today’s smart contracts do not have a system at all. Trusting Vitalik / Charles to initiate a fork when another problem surfaces is not a solution.
I do not get your points. It seems that you’re trying to force something into a thing which is not suitable for that.
Why the hack would we need any human based arbitration (do not provide examples, I know what you’re talking abt), means centralization?
The code is the arbitration and if it’s buggy, then the community (stakeholders) and NOT somebody (Vitalik\Charles\Jesus\God etc.) would decide what should happen. Cardano working hard to implement this, to prevent any human interaction, which makes sense, as they know what humans are capable of if they’re allowed to (game and chaos theory). That’s why I like Charles idea cos they know humans are fallible.
Look around how corrupt, fraudulent the supply chains are because there is no choice for the suppliers to choose. In permissionless blockchain, they will choose one (the most reputable, honest and correct one) and if somebody is fraudulent, then he/she will learn it with the hard way, as nobody will do business with them again.
You want to force an unknown variable into the system, that would not work or at least it would not work as you expect, just look around the globe.
Anyway, your idea can be implemented on CCL, and the market will decide whether we need it or not, but I am against any centralisation in any way, but the others will try hard for the sake of <chose anything that can fool the ppl>.
Yes, I’m afraid so. I’ll answer your points and see if it helps.
I am not trying to “force” anything; like I stated before about 15 times, it is an optional component. As for the suitability, any contract is incomplete without arbitration, just like a software platform is incomplete without the ability to handle unforeseen circumstances.
Do you agree?
Explain how human-based arbitration, with specific emphasis on choice, is centralisation in any way?
(Heck, you know what, why does it even have to be human? We can plug in an AI or a rock/paper/scissors game, just create the arbitration framework.)
It would be centralised if I said, it has to be redirected to the local court, or decided by one software package (like you seem to be suggesting). But the whole point is to give choice.
OK, this is where it’s getting interesting, and I believe we’re not as far apart.
So far, Vitalik and Jesus were pretty much initiating the forks (which was the only way to fix these things). “Rebooting the universe” might work for mega-disasters, but obviously will not happen for a crappy 3rd party rental contract with a loss of $500.
So moving the decision to the stakeholders is a great development. It is, however, nearly not enough.
Humans are fallible - absolutely.
Software is infallible - only in science fiction.
Is software less fallible than humans? In some cases, yes, in other cases, no. And it will stay this way in the foreseeable future.
Seriously, why do you think assertions and exceptions exist in software? Fun fact. Did you know that 60% of the software R&D cost is maintenance?
If I understand your idea here correctly, you’re saying that the disputes will not happen, because the market will push the bad players to the bottom.
Let alone the nagging question what to do with the honest folks they’ve screwed, do you really believe that there is always an infinite supply of good suppliers?
Regardless: it’s not only about one party screwing another. There is plenty of gray zones and special circumstances, which may send two well-meaning folks into each other’s throats.
And if your response is that decent people can always resolve a dispute, why do we need smart contracts at all then?
And, even more, if the humans are so fallible, how come you can trust the community to do the right thing? Will they never oppress minority shareholders, for example?
But, on the positive side, the whole point is to allow the choice of arbitration. Like you said yourself, the lack of choice causes bad players to act with impunity. Imagine if there were an alternative to the state-controlled courts.
No, _ilap. The whole world is one big fat unknown variable .
Read my posts above for the suggestions how to deal with the unknowns. Unlike the perfect nonexistent infallible 100% secure software, there is no technology readiness barrier here.
Did you mean “de-centralisation” here (because I’m actually suggesting another way to de-centralise)?
Can you please elaborate how it can be implemented on the CCL?
The problem I see when we would trust in source coded “legislation” and rules: What if a group of people (or companies) largely agree on something, and they put it in code as their law, but then another group of people become aware that thus rules are only ok for because heavily favourishing that first group. Is it really immutable coded law and f…k up?
For example what if Monsanto and some large farmers decide to code their machines and delivery chains for usage and concentration of agent or… ah Glyphosate und start the DAP?
What if a group in the uper half of the valley decides to “smart contract” how to divide up 100% of the water rights to irrigate their fields. Shit happens for the lower valleys citicens?
Uber and Airbnb could simply code their laws including both the right to do their business without any licensing and taxation, and with a hardcoded wage dumping. Sorry guys: that’s our immutable law.
Just to clarify, my suggestion is not about legislation. It’s about arbitration. That is, who is the judge. Not the laws they judge by.
But let’s say, your examples are about the choice of arbitration.
If that’s the case, and you want to avoid working with the arbiters who favour Monsanto, you just say, no, and go to their small competitor whose contract links to a retired judge who is a kewl dude and fights for the little man.
One thing that I have to agree is that indeed, it’s easier for the big guys to sneak in their lap dogs, when you can choose the arbiter. But that’s why I would love it to be on the system level, so that the impartiality can be at least tracked over the blockchain. (And, of course, the smart contracts will not obliterate monopolies, although they’ll make it harder to be a monopoly.)
Most importantly, even with the smart contracts, no one plans abolishing the actual laws. The actions you described are illegal, whether they are in a smart contract or in a dumb paper contract. If your employer makes you sign a paper that says they will execute you mafia-style if you don’t meet your sales target, do you think it will be ever enforced? No, of course not. It’s illegal. There are many contracts with less dramatic clauses which are unenforceable (in the US, for example, the non-compete agreements in tech companies are not worth the paper they are written on in some states). Which is why the lawyers use so-called severability clause.
What I want to solve is the opposite side. You know, stuff too small to get to the court. Not overpaying for the damage when you rent your apartment. Servicing your car properly and getting the mechanic to finish the job if they screw up. Making sure your roommate contributes the right amount to the electricity bill. Making sure that friend you loaned the money to, gives it back to you.
In most countries, the financial bar to the justice is very high. FYI, over 90% of the legal disputes are settled outside of the court. I can tell you from my unfortunate experience that the only party that remains happy are the lawyers .
sorry, yes it should be arbitration not legislation.
The fear, by introducing something like human arbitration, is that it becomes a speculative / interpretative endless story… or in short: everything that computers really hate about us humans…
And I agree or want to point out: at first we have to define and distinguish what of this we think should or shouldn’t become arbitrated, constitutioned, governed.
It’s a similar question as if people discuss implementation and impact of blockchains before they define if they are talking about CryptoKitties 2.0, IOTIndustry 5.0 or next step in industrial revolution (steel/steam machine production, then electrification, micro-electronics, internet, …)
Well yes, obviously. The problem is, we do need arbitration (machine, human, etc.), and there is no machine arbitration yet. The best a machine can do is rock/paper/scissors to decide on an argument .
So this flawed option is the only option we got. Otherwise, we have to bury our heads in sand and pretend there will be no disagreements over unspecified items or bugs, shouting “centralisation” like some people here do without any sane reason.
That’s a great point. Which is why I am trying to convince people to consider embedding this option at a system level (again, an option).
A platform has a better chance to stay alive and thrive if there are lots of people either making a living or saving money thanks to it.
Apart from the new class of the independent arbitrators I mentioned, who can supplement their income just by the virtue of having common sense and integrity, the configurable arbitration option is an attack on the ridiculously overpaid lawyers, who will lose a large portion of their market, allowing justice to become more a commodity than a luxury.
Talking about a positive impact of automation.
there was a society of men among us, bred up from their youth in the art of proving, by words multiplied for the purpose, that white is black, and black is white, according as they are paid. To this society all the rest of the people are slaves.
– Jonathan Swift, Gulliver’s Travels about lawyers
By “we” you mean people with reading comprehension issues, I suppose.
Considering that you managed to completely miss the point of the previous 18 posts and lump judges and lawyers together, the only way forward is (borrowing Reddit terminology) ELI5.
A simple question.
You have a 12 months-long rental contract (code or paper). Suddenly, you have to move to a different city, and have to terminate it after 9 months. The contract has no early termination clause. The landlord wants the entire amount.
What happens next? (Hint: burying your head in sand, going back in time, or asking Charles H to do a fork are not valid options.)