Hacker News new | ask | show | jobs
by dperfect 1648 days ago
> Output: Digital services, site subscriptions, digital assets, in-game items, NFT's representing real world assets held by trusted companies (wine, event tickets, tokenized securities).

> None of this requires oracles and exists today.

While I only mentioned oracles specifically, I should have clarified: I'm referring both to oracles (making queries to external data sources and providing the results to the blockchain), and to external code that interprets data stored on the blockchain and acts on it. I'm not sure if there's a name for it in common use (I'd call it something like a "performer"). Either way, the issue is the same as that with oracles; whatever decentralization or smart contract guarantees you had on the blockchain disappear as soon as you have external code interpreting blockchain data to then make decisions in external systems (digital services, site subscriptions, digital assets, in-game items, NFT's, etc). If oracles provide inputs to the blockchain, these non-blockchain pieces of code provide the real-world outputs.

Example: even if somewhere in the blockchain I can prove that I should own something in the real world, it's still up to your site/service/app/whatever to honor that through external code. If it doesn't honor it, I'm stuck relying on traditional legal means to intervene, just as with any other standard contract. That legal system – as flawed as it is – tends to work for contracts written on the back of a napkin, stored in a SQL database, or coded in a smart contract (though that's probably the most questionable at the moment).

If I'm wrong, please correct me, but I've been interested in this stuff for a while, and I haven't found anything that actually solves the fundamental problem of oracles and the interpretation of blockchain data. That problem is important because it undermines many of the primary selling points of smart contracts.

> Your mistake is thinking that just because the base layer is decentralised that we're somehow not allowed to connect to companies we choose to trust

So, honest question: why care about the base layer being decentralized if in the end, you choose to trust those companies? What did the decentralization do for you in that interaction?

2 comments

Yep. Blockchain says I own this case of wine... but the other guy wont give me my wine! Who do I call? The physical, centralized police and the centralized legal system that back it. Without that legal system recognizing and honoring it, it's worthless. And if it all depends on my centralized legal system, then who cares about the decentralized blockchain. Might as well put it in a table in a database instance running on AWS, or in a written contract.
You could say the same thing about property deeds, contracts, etc. The fact that the laws of physics still apply in the world and thus people can still physically take things from you, harm you, etc. is hardly an argument against any specific method for establishing and recording ownership or contracts.
No, the basic problem is ownership rights over physical objects can't be enforced without coercive power, but blockchains and smart contracts can't use coercive power, therefore they would have to rely on an external entity to enforce such rights. But then the system is no longer "trustless", "permissionless", or "censorship-resistant", and therefore we have none of the supposed benefits of blockchains but we do have all of the inconveniences, which means at this point we're better off with a centrally-managed registry which at least is cost-effective.
This is a strawman. The entire ecosystem does not have to be 100% decentralised. There is massive utility in a trustless, permissionless, censorship-resistant contract layer connecting disparate centralised entities. A centrally managed registry would never be suitable for this task for a multitude of obvious reasons.
> There is massive utility in a trustless, permissionless, censorship-resistant contract layer connecting disparate centralised entities.

No, there's no utility in that, if ultimately enforcement relies on an entity that needs to be trusted and can override the blockchain.

> A centrally managed registry would never be suitable for this task for a multitude of obvious reasons.

Centrally-managed registries are already in use and have been in use for a long time, they exist in every single country, and entire markets depends upon them, but somehow they "would never be suitable for obvious reasons"? They have already been shown to be suitable, what on earth are you talking about?

> what on earth are you talking about?

I'm talking about a global, universal API layer supporting standardised contract enforcement and value transfer between applications. A centralised implementation of this would clearly be a bad idea.

If you don't see utility in this I don't know what to tell you.

What if they could have that power?

Imagine something like Robocop hooked up to the EVM, if you put your RealID in the escrow contract and then the ubiquitous camera network is unable to verify that you honored the transaction, well then you have 15 seconds to comply…

I worry that this is the endgame; you say "distributed organisation", I say "autonomous cyberweapon".

We're not that far from having a DAO that can bid on zero-days and use them against a list of targets of its choice. If a DAO can make POST requests it can launch exploits. A script kiddie without the kiddie.

Sure, but if you had a sufficiently powerful robot you could also circumvent traditional means of enforcing ownership and contracts.
Blockchain governs the DIGITAL sphere and in there can actually enforce. People who are trying to combine crypto with physical assets are a shrinking number. Focus on digital and its absolutely enforcable, to an extent not even governments can accomplish.
Not at all, blockchains can't enforce intellectual property rights either. For example, how is a blockchain going to stop an individual from using unlicensed content on their website?
Thats not what is meant by it being enforcable.

You are confusing things here.

With enforcable, what is meant is anything that can be programmed into a contract and be executed will be executed (enforced).

That can as an example be someone raising a million dollars for a crypto game by offering 10000 tokens for 100$ each. The million dollars are going to be unlocked in phases. 50k for proof of concept, 250k for alpha etc. Each phase have to be approved by the toke holders. If they dont agree that the proof of concept is good enough they can vote the unlocking down and there is nothing the game developers can do about that. That is what is meant by enforable.

> Focus on digital and its absolutely enforcable, to an extent not even governments can accomplish.

The Winklevosses came up with an elaborate system to store and secure their own private keys. They cut up printouts of their private keys into pieces and then distributed them in envelopes to safe deposit boxes around the country, so if one envelope were stolen the thief would not have the entire key.

https://www.nytimes.com/2017/12/19/technology/bitcoin-winkle...

> Blockchain governs the DIGITAL sphere and in there can actually enforce.

how?

it's all based on cryptographic keys, if I stole the keys, how can blockchain block me, without someone intervening?

You are answering your own question by asking the wrong one.

This is only a problem if it's in fact enforcable. There are many ways to solve the stealing among others multisig.

> You could say the same thing about property deeds, contracts, etc. The fact that the laws of physics still apply in the world and thus people can still physically take things from you, harm you, etc. is hardly an argument against any specific method for establishing and recording ownership or contracts.

On the contrary, it's a strong argument for using those methods of establishing and recording ownership that are blessed by the relevant local legal system (or, sure, ultimately by those who control local violence, if you want to go all the way down). It's the reason why you get lawyers still insisting on using faxes rather than emails.

> This <legally enforceable contract> says I (should) own this case of wine... but the other guy wont give me my wine! Who do I call?

Answer: You have a cause of action for breach of contract. In UK/US/Aus/Canada/etc, you can "call" / take it to a court, and they may grant you the remedy known as specific performance, which is essentially a court order to do the thing that was promised. This remedy is available because the thing to be done was the transfer of property. The remedy is part of the law of Equity, a set of doctrines and principles that has been in development since the 13th century. It got its big break with people complaining to the King of England that "the law is too harsh, it should be fair!!!" and went from there, eventually becoming a huge body of law about exactly what it means to make the law fair, what principles to follow when doing that, and how to deal with the many categories of unfairness that come up regularly.

You might look at the DAO hack in this context and think, the Ethereum folks really threw out the baby with the bathwater when they decided to invent a new financial system that didn't have to play by the existing rules. Many people talk about ICOs etc taking us back to the 19th century and the Wild West, but smart contracts take us back hundreds of years further back, with echoes of literally the first people to complain to the King demanding a writ to remedy the injustice of the Common Law. If since then blockchain enthusiasts have come up with something better than Equity, I would ask that they let us know.

Main message from the people in The System to you: We have thought of all of these problems before, and we have solved them all before, and if ye who have spurned the legal system come running for help, ... we will actually welcome you with open arms, like we aspire to do for everyone else.

It is an argument against unnecessarily elaborate and complex methods of recording contracts like crypto.

A lot of important, trusted systems often don't have particularly sophisticated security in every single layer. Homes and mailboxes have simple locks. Online transactions have fairly basic digital integrity checks (ie. you connected to a bank's server using HTTPS with a secret cookie). Credit card chips and card readers are riddled with vulnerabilities. We still sign legal documents with like, pen and paper and a scribble that even children can forge.

These systems are still trusted because trust isn't established by infallible recordkeeping processes, it's the humans and the organizations and the written/spoken promises we make that matter. A legally recognized scribble is as trustworthy and useful as a foolproof NFT. Crypto's complexity adds very little in practice.

Sure. You need a state to enforce property rights.

But the point is that the centralized system that managed property deeds does not require an absolutely gargantuan amount of computation to be performed to do a basic transaction. And since I already need the state to enforce property rights, why not have the state also be involved in the recognition of who owns what?

> So, honest question: why care about the base layer being decentralized if in the end, you choose to trust those companies? What did the decentralization do for you in that interaction?

My trust extended only as far as a single interaction/asset. The rest of my wallet and the assets within are completely unaffected. A company might rip me off, and I might have legal recourse, or I might not. Such is life. We won't ever be able to decentralise away all trust. A single entity isn't able to manipulate all my assets, or print more tokens, or confiscate my money. The network is solid even if all the 'performers' are not.

To build a centralised 'universal API' on which applications can communicate and exchange value is a terrible idea. Who would own it? But such an API is surely a useful technology.

We do need reliable oracles for external data feeds- prices, weather, news... can all feed into contracts for extra utility. This is a hard problem being tackled by ChainLink and others.