| > (1) has no I/O functions Input: User identity, money. 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. 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, just like we all already do. Then it becomes interesting because there's a programmable market for these assets/services that didn't previously exist because the underlying value was not represented in an exchangable form. The outputs are also inputs. Ethereum is the trustless, standardised substrate on which trusting parties can interact. HackerNews will continue to fail to see the utility of this system for years to come until it's mature and undeniable. It will be an interesting case study into how experts missed the potential of emergent technology in the same way we look back on yesterday's commentators not realising the disruption of Amazon or the internet. As to your second point, it's unlikely the end user will ever want to transact on layer 1. Layer 2 technology is making steady progress. See l2beat.com for examples. |
> 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?