Hacker News new | ask | show | jobs
by roberrrrrrt 1651 days ago
Getting data in isn’t the big issue though, and we’ve had market data streams since forever. I’m talking about the example above, where a smart contract would need some way of knowing when to flip the “Bob has satisfactorily finished community refurbishment” flag. This would require an abundance of interoperable data sources for bizzare things. Where do I subscribe to the count(dogshit_pile_in_the_playground) stream, and who or what is publishing to it in a trust-less manner?
1 comments

Getting all the data in the world into the blockchain and coding smart contracts to infer judgement from it would be too complex and expensive.

A more practical approach is to transfer the funds to Bob once he clicks on the checkbox and have some lock-up period, so that Alice has the opportunity to trigger a dispute if she needs to.

Then the dispute can be resolved by a private court (composed of humans) that both Alice and Bob agreed on beforehand. See: https://kleros.io

Ok, but this isn’t purely a smart contract anymore. You’re describing a typical escrow (running on a blockchain, because ______) with human judges, conceptually identical to what goes on behind the scenes at EBay. What necessitates a blockchain here?
No, it's running completely on smart contracts. You get the regular advantages of running on blockchain: permissionless and trustless access to finance.

You don't have to trust the escrow holder, you don't have to worry about getting banned from Ebay.

> it's running completely on smart contracts

The human judges/arbitrators aren’t, and they’re what’s critical. The contract cannot be sensibly completed without their input.

So you have an escrow system where human judges need to supply critical information. I’m left having to trust the human judges, unsurprisingly. Running this basic escrow code on the blockchain means that I no longer have to trust the kind of basic escrow code that’s used in centralised escrows. My question now is whether the escrow code of centralised providers (if condition then funds.release()) is really so unreliable that I’ll get get tonnes of benefit using blockchain escrows. Whenever there’s controversy over escrows, it comes down to the arbitration, which as you admitted would still be performed by humans.

> Running this basic escrow code on the blockchain means that I no longer have to trust the kind of basic escrow code that’s used in centralised escrows

Yes, it means that you will 100% know that the escrow website is not gambling your money away, that it won't out of the blue ask you to supply more documents when it finally comes the time for you to get paid, it means that the escrow won't get hacked and your PII won't be sold on darknet.

Smart contracts are just a simpler and more transparent way to deal with finance.

> you will 100% know that the escrow website is not gambling your money away

no, you won't

> Smart contracts are just a simpler and more transparent way to deal with finance.

no, they aren't

what's the advantage for Bob here?
He can work for Alice or anyone else in the world without having to deal with intermediaries and bureaucracy.
> He can work for Alice or anyone else in the world

what's stopping him now?

> without having to deal with intermediaries and bureaucracy.

you mean laws?

edit: immagine this situation, Bob does the job, the other party never clicks on "done", Bob doesn't get the money, what Bob can do if there's no intermediary and/or bureaucracy protecting him?

Laws are not ideal and are often used to discriminate against certain groups.

> immagine this situation, Bob does the job, the other party never clicks on "done", Bob doesn't get the money, what Bob can do if there's no intermediary and/or bureaucracy protecting him?

As I said, there is a period of funds lock-up. In the worst case, Bob has to wait some time until the smart contract sends him his payment.

> Laws are not ideal and are often used to discriminate against certain groups

and your virtual ideology is better, how?

since nobody can enforce anything.

> As I said, there is a period of funds lock-up. In the worst case, Bob has to wait some time until the smart contract sends him his payment.

What if they payment is never sent and "some time" is forever?

You need laws after all (AKA a solution outside of the chain, or a deus ex machina if you want)

If I was Bob I would not see this thing you're talking about like a great advancement and would continue doing my job like I do it now.

I mean, I get you watched a lot of fiction and wanna feel like living as an outlaw, but even outlaws have laws and follow some of them.

You are trading mid to low trust in your local community for zero trust to some entity you'll never know, who'll never know you, couldn't care less about you and respecting the terms of some virtual contract and pretend we all should do the same.

Do you understand that this is the exact definition of "out of touch"?