Yet what I see with smart contracts on blockchain, such as the Ethereum Virtual Machine, is a huge potential for change and opportunity.
If you don't know what that is:
You can run code on the Ethereum blockchain. The user pays to run your code, instead of you paying to run the server that serves them the code. This is because everyone who's running an Ethereum node actually has a copy of your code in the blockchain.
This is called a "smart contract" but enough people have experimented with it that they've actually built decentralised applications - dApps for short.
There are now real world examples of decentralised applications in Finance - DeFi - which includes a Decentralised exchange - uniswap - and decentralised finance like Compound, Balancer and Yield Finance. So there are apps. You can get a loan from a DeFi app today.
This seems like it has huge disruptive potential. Mark Cuban has talked about how he could sell tickets as NFTs on the blockchain, and get a percentage of resell, forever.
You could in theory build something similar for Airbnb or Uber on the blockchain - just NFT a house/day and then sell it on the blockchain. Same thing with Uber - drivers could auction off their time in a blockchain dApp.
Because devs don't pay to keep their code in the ETH blockchain, you can just build software and it will "run" forever, at no cost to the developer. You can also set up the smart contract to give you a percentage every time it runs - see uniswap. Thus user - pays the dev + network on usage.
This is a radical change and imo a huge avenue for new innovation.
But this is hardly talked about here in HN.
Let's ignore, if possible, the whole "proof of work is bad for the environment" question (all I'll say about that is proof of stake is real and in production with DOT/ALGO and that's a 99% reduction in energy consumption). I know it's tempting to go in this direction but again - let's assume all crypto is proof of stake for the sake of argument.
Yes blockchains are indeed an exciting development and present a lot of potential, but "true" hackers are probably as excited by blockchains as they are by say Rust. The thing is that generally speaking we can have informed conversations about Rust, because those that understand the novelty of Rust have come to that understanding through a genuine interest in the technology, not because of how Rust can make them rich.
So yes, blockchains are indeed very interesting, but unfortunately the conversations around them are overwhelmingly distorted by the superficialities of what I would cynically describe as dilettantes. Of course there are indeed serious hackers doing game-changing work in the blockchain space and I believe blockchain does have a future, but right now it's almost impossible to hear the signal from the noise :/
I don’t care what Mark Cuban thinks, I hardly know who he is beyond being wealthy and liking limelight.
We already have software that runs at no cost to the developer. It's called software.
Which is more likely?
A) That thousands of progress-minded professional technologists are all wrong and ignorant, as you've suggested above...
Or...
B) That you are wrong, and there are people with huge financial incentives to pump up crypto platforms by misleading people about their capabilities
I'll ask you the same question I've been asking for 5 years without getting a good response:
What is a real pain that a dApp can solve better today than non-blockchain software?
Uber drivers auctioning their time is not one of them, because Uber drivers do want a benefit that's only possible with centralization: vetting/banning of passengers.
The fact is that 99% of the perceived uses are simply riding the hype train for investment. The 1% is really changing things, despite all the haters, but it’s typically finance, currency, settlement, etc.
Do you need a decentralized, trustless, transparent and uncensorable system with adversarial participants and you can boil down your logic to a bunch of if/else conditions and some for-loops? Then blockchain probably makes sense and finance is the best use case so far.
But decentralization comes at a great cost, both in efficiency and actual costs. So do I want to train a ML model in a decentralized way? Probably not. Do I want to put my game on the blockchain where I relinquish any control? Probably not.
The hype means that people are trying to put blockchain into everything which in turn turns off a bunch of people because it doesn't make sense.
And there's nobody there to enforce any rules or regulations.
So you fly down to Mexico and your Airbnb simply doesn't exist, meanwhile your money is irreversibly transferred.
If you try to prevent that by holding the funds in escrow until after the stay then the reverse scam and nonpayment of funds can happen by staying in the house and then claiming fraud.
Shifting the window around just shifts the window from favoring the renter or the client.
There's flaws with having a company acting as the dispute resolver, but the centralized reputational authority means that people have an incentive to not trash the place or fail to pay and cannot list houses that don't exist, and don't rape or rob the clients, etc. It also helps to have dispute resolution via credit cards, and to have court systems. Those centralized third parties also should have taken some time to validate the information of the parties on both sides (Airbnb made me scan my passport to validate my identity, which raises the bar somewhat over creating a thousand different random identities on the blockchain).
Making it all decentralized with no trusted third parties has very significant downsides.
(And that is before we start to consider the fact that contracts as code is limited by our ability to write bug free code, which as it currently stands is incredibly poor)
- UX of interacting with/running code. This isn't users going to a website or downloading an app from an app store. Until it is, it's a non-starter.
- Unsolved side-effects/data input. While "blockchains" are good at reducing the amount of trust needed in a system, for smart contracts to interact with the real world, they still need trust for data input/output. This all seems like it's in very early development.
- Inflexibility of contracts. "Paper" contracts, T&Cs, etc, have an advantage that they work 99% of the time, but that when you hit an edge case that no one has figured out before you can email someone and come to a resolution, or at worst, go to court to have a (hopefully unbiased) third party decide. This is often better for both parties, but is not an option with smart contracts.
- Development risks. Last time I checked smart contracts were written in a language that seemed to be inspired by a combination of C and Javascript. I'm not sure there's a worse way to write code that is so critical. Software engineering is decades ahead of this, safety-critical software engineering is many more decades ahead of that, and contract law is centuries ahead.
First, whenever I work with blockchain, I reach a point where I realize all my technical issues are because I chose that data structure.
The second is that outside of hype, your examples are remarkably poor uses for blockchain. Each can be solved more efficiently and effectively through better technology choices.
The other fundamental problem is connecting the blockchains to the outside world. There are various libraries to help with this, e.g. web3.js for Ethereum, but this typically means most DApps are inward-looking (exchanges, DeFi, token-based games etc.) rather than providing any non-crypto-related functionality. That of course makes it look to many people (rightly or wrongly) that DApps, DeFi, etc. all just serve two functions: (i) "plausible deniability" (look, my cryptocurrency does all this, so it can't just be a pyramid scheme), and (ii) sustain the pyramid schemes (i.e. keep them going for longer, draw more people in etc.).
Relating this to your example of selling a house as an NFT, there was an attempt to do so earlier in the year[1], but the key point is "Whoever purchases the NFT will be able to contact the seller and organize the sale of the house through standard legal means." So if you buy the NFT, you are not buying the house, but buying a brochure with the particulars you'd need to try to actually buy the house. That is the fundamental issue: to do anything useful you still need to interact with the real world. And personally, when it comes to something like buying a house, I'd much rather deal with real people, than hope I don't irreversably lose all my money due to an unfixable bug in the immutable smart contract or someone typing in the wrong address or something.
Anyway, take a look at https://dappradar.com/ for DApp listings.
[0] https://www.bbc.co.uk/news/technology-42237162
[1] https://decrypt.co/66173/a-house-in-germany-is-being-sold-as...
They have a $500k hackathon coming up this month:
https://cointelegraph.com/press-releases/sirius-labs-launche...
> As will become apparent from this exposition, the notion that a “blockchain technology” exists and can be deployed to solve any specific problems is highly dubious.
> It is unworkable for third‐party intermediaries to imagine they could improve their performance by employing a technology that sacrifices efficiency and speed precisely to remove third‐party intermediaries.
> Ethereum can be rolled back means that all blockchains smaller than Bitcoin's are effectively centralized databases under the control of their operators. It turns out code is not really law, because the operators of these contracts can override what the contract executes. Smart contracts have not replaced courts with code, but they have replaced courts with software developers with little experience, knowledge, or accountability in arbitrating.
I see blockchain being useful in two areas, finance and transport/delivery logistics. Environments where no one trusts each other outside of financial contracts and you need to share information publicly to address faults and concerns without other parties being able to change anything.
You need to host an app or a website that facilitates that. Same for the Airbnb scenario. You'll quickly find that how that transaction works is a relatively small part of operating the platform. You need search, customer support, reviews, recommendations, marketing, analytics. Paying Visa and friends 3% to process payments isn't where your costs or complexity are.
fundamentally in such an environment there's just very little practical use for "decentralised finance" - we have spent millenia creating regulation and trusted (of varying degrees) parties to manage all this stuff and it works well enough compared to any of the "defi" stuff, where almost the entire ecosystem is fraud and pump and dump. and normal people fundamentally seem to like the system where they can't just be frauded without recourse.
if you can provide a way to do the smart contract bit without the toxic hangers-on then I'm sure there's niche uses for it all, but no one ever proposes any compelling argument other than, fundamentally, the proposer will make more money out of it that way.
Unlike the Web2 revolution, retail users get to participate and benefit from the value creation. Between social tokens, NFTs, decentralized finance protocols, and DAOs (decentralized organizations), there is now a burgeoning ecosystem of tooling for organizing human capital around a cause or a goal. This goes beyond centralized tooling. It's all open source, it's all forkable, it's creative, it is fresh and reminds me of the early promising days of the internet. It's a chance to get a redo on the promise of the web.
I'm spending my time learning several things in the Ethereum ecosystem. One is using Ethereum for authentication, by using the wallet as a public key login and ENS domains as a user-friendly user name service (effectively acting as a decentralized auth/identity solution).
I'm also learning about IPFS and decentralized data storage through solutions like Filecoin and Arweave. I'm exploring a peer to peer database called ThreadDB.
And I'm studying Solidity and all the tooling for creating and interacting with EVM based smart contracts.
It's a very fascinating space and HN is doing a disservice to itself and its users by not featuring the positive side of it more.
So if the user runs an Ethereum node, they have your code too, and then they can run it for free.
What am I missing?
Concrete technologies, software architecture and design, algorithms, cryptography etc. are all means to an end. Start with what you want to achieve, what real world problem you want to solve and the people you want to solve it for.
And then work backwards from there.
All the use-cases you listed can be done without a Blockchain and in much much more efficient way, even if decentralized.
Smart contracts! Its all absolutely revolutionary -- but also kinda sketchy. I have been playing with various defi protocols on various EVM based chains, and while it makes money (ideally, you are gaining more value by locking up funds in farms, vaults and pools.)
The reality is you are probably either holding a decreasing in value position in a liquidity pool (impermanent loss -- your apples and oranges are worth less in a month, but you end up with more apples and oranges with you withdraw), being issued inflation reward points from a vault (they are printed out of nothing as a reward for locking up funds) or being screwed on deposit, withdraw or 'performance' fees in a pool/farm. Dont get me wrong, there is actual value being created, the trade fees on the Automated Market Making contracts is actually good (eg: ~0.2% per trade * many trades!) It can be much higher than centralized finance can provide at a much highest risk.
While the savvy can use this system to buy more bitcoin (which is happily tokenized on EVM chains and convertible back to good ol' [bitcoin] UTXOs), most will probably just lose fiat value equivalency while increasing their holdings in shittokens, all the while thinking they are growing value.
The most promising value extract routine at the moment looks to be:
* Borrow fiat at low interest rates from cefi (banks)
* Convert fiat into stablecoins
* Deposit stablecoins into lending platforms
* Use stablecoin collateral to borrow at a slightly higher rate (but lower than the bank in step 1)
* Deposit borrowed funds as collateral in more lending platforms
* Repeat borrow until all collateral is consumed (to your own leverage/risk level).
* Deposit in pool/vault and collect 'interest', ideally higher than you are borrowing at.
* Last step probably earns the most of all, and will pay for the rest of the steps
* Profit!
My take on this is that this is just more Wall street fiat money shenanigans, reinvented on public blockchains. Or we could just have hard money -- 21 million coins. No yield, No interest, No inflation of the monetary base, No bs.