Hacker News new | ask | show | jobs
by pavel_lishin 3409 days ago
A crypto-contract can't evaluate the work you've delivered. If we enter into some arbitrary crypto-contract for me to build you a chair in exchange for 20 currencies, and I bring you a stump I hacked out of the woods, there's no underlying system that can tell me to fuck off and that I'm not getting paid.
5 comments

> there's no underlying system that can tell me to fuck off and that I'm not getting paid.

You are right. This is why these things will not go anywhere. Ultimately they need some kind of "back up"... For example, the system we currently have flows like so: Nation state Military > Federal Police > Local Police > Physical Intimidation via face to face meeting. At every step, stop when lawyers and/or politicians get involved.

Well, you could have trusted third-party arbiters who would evaluate whether or not to release the funds on delivery of the good or service. But that brings on a whole new level of reputation-economy things you have to think about.
Then what's the point of doing the transaction with a digital contract in the first place? Weren't they meant to remove the need for trust or centralised arbitration?

We already have well-established mechanisms to arbitrate these kind of disagreements, e.g. courts. Adding blockchains to the process just makes it more complicated for no gain.

A notable advantage of smart contracts is the flexibility to choose your own arbiter in advance -- a "chair expert" perhaps.
You can already do that. Parties entering into an analog contract can agree to binding arbitration with a mutually-agreed-on arbiter (like a "chair expert"), instead of resolution in the courts. Again: what is being gained by smart contracts?
A system could arise where things start small, and trust and reputation is built up over many transactions, similar to how money works post gold-standard. Then there's the idea of private blockchains, where actors already kinda trust each other anyway (transactions between banks) which may apply at some point. Gains would be mostly efficiency.

However when I tried some Ethereum development my impression was that most cryptocurrency people I met just hope that the value of their bitcoins goes up, or that they can sell related products or services. Many things seem to be financed by cryptocoin-money (not necessarily bad in itself) to keep the hype going, but it doesn't feel like a movement that wants to change things.

It's not like with open source where Stallman, Linus and many many other dreamt a dream but also built a lot of really high quality and important software. I don't see that kind of movement going on with Ethereum.

what is that is stopping you to do the same with normal contracts? You can get the chair experts with a normal contract and a blockchain one. arguably much, much, more easily with the former one.
To those who asked: A smart contract runs with the predictability of code. Courts don't. In particular, arbitration clauses are often not upheld.
Courts run with the predictability of law/codes...it's one of the reason 90% of cases settle without trial.

If an arbitration clause isn't held up, it's not because of unpredictability of the court it's because the clause runs afoul of the actual law/code the court applies which is predictable. Moreover, smart contracts are not going to permit parties to circumvent law, in other words a smart contract arbitration clause would not be enforceable in a jurisdiction they are not otherwise enforceable.

And with all the reliability and security of code. See, for example, the DAO fiasco.
Interestingly this can be considered both an argument against and in favour of smart contracts.
And how deep should that go? Pretty soon you will need arbitration for the arbiters.

Has no one addressed the basic need of a justice system with these crypto currencies?

Like I said,

> that brings on a whole new level of reputation-economy things you have to think about.

How about some image processing/object recognition by standardized AI interfaces?
In other words, Eth and Aragon would work great, as soon as someone figures out how to build a strong AI that can arbitrate and enforce contracts?

We already have an inscrutable, unaccountable, super-intelligent system that can do that - the courts, the police...

I'm thinking something like unit tests but for real life objects, eg. the chair has to have four legs, specific length, etc. Then have mechanical turks "run" the tests.
Isn't this fully addressed by decentralized arbitrators and reputation systems, with a solid economic incentive setup? After all, we are just remaking human civilization on top of more efficient, modern platforms...the same old mechanisms will apply, they'll just (hopefully) work faster & better.
Thing is, that's not how it's pitched, and the trade-off needs to be worth it. I personally would rather we found a way to do verifiable e voting (no idea how though, some cryptographic way to sign the logic used to express the program so you can verify it's the thing everyone agreed on?) and remade our cooperation systems into a working version of libertarian communism/syndicalistic anarchism. IIRC rojave is trying something like that right now?
Rojava? Do you have a source? Interested in hearing more.
You can actually evaluate work you've delivered, but only for a very small subset of "work" - basically, things that can be represented and evaluated entirely with software. Here's an example: https://bitcoincore.org/en/2016/02/26/zero-knowledge-conting...

Of course, this is entirely insufficient to do something like "put your corporation on the blockchain".

you can also pay someone for the task of validating work that has been delivered
> there's no underlying system that can tell me to fuck off and that I'm not getting paid

No reason an arbitration clause couldn't be included in the contract.

Who or what backs up the arbitrator? This is why we have guns, police, prisons, and militaries and lawyers....
> Who or what backs up the arbitrator?

Ethereum contracts are turing complete. The payout function can be contingent on either the buyer or arbitrators releasing the funds. The arbitrators can be determined before hand or rely on an external contract that offers arbitration services. The possibilities are truly endless.

> The payout function can be contingent on either the buyer or arbitrators releasing the funds.

How long is the discovery period? What about "returns"? What if the arbitrator is working with the seller and scams me? When does "I have a big gun and I am not afraid to use it" come into the function?

> The arbitrators can be determined before hand or rely on an external contract that offers arbitration services.

And how much will those services cost? Who vets the arbitrator? What is my recourse if arbitration fails?

> The possibilities are truly endless.

Yes, I agree. This is just built for a place that does not yet exist.

why do people in the ethereum community throw around the phrase "turing complete" with such abandon? can't you just say that you can create smart contracts with contingent on conditions? I don't see what this has to do with a turing machine besides the fact that you can script if-else in a contract?
It is arguably a flaw to write contracts in a turing complete language.
If the arbitrator hits the "approve payout" (or "deny payout") API endpoint (or however this works), the e-currency gets cyber-delivered (or not) into my VR-wallet or whatever. I mentioned in another comment the headache that reputation systems required would bring.
Good point.

It might help if 'contracts' and payment amounts were small. In the Antifragile (book) sense: the fairness of any individual contract is fragile, rife with risk. However, in aggregation the system is antifragile (better than robust) as long as occasional bad deals are acceptable.