No, smart contracts are the realization of something just as revolutionary as Web1 and Web2 and just as likely to change the world, once people use them to help communities organize and coordinate their activities:
Smart contracts represent the first time in history when you can trust code to do what it says. The next best thing that even come close is Intel’s SGX extensions, where we trust Intel, or AWS key management service, where we trust Amazon.
The idea that everyone can custody their own private keys as they want AND no one can be “above the law” and circumvent the business logic, is really powerful. That assurance and level of trust in the code is what enables a whole slew of new applications that currently require human gatekeeper institutions, same as Web1 replaced radio, TV, newspapers, magazines, and centralized platforms like America Online, Compuserve and Minitel.
You just are myopically focused on the silly Web3 phase, same as people derided Web1 personal home pages with <blink> and <marquee> tags until the Web grew up.
>Smart contracts represent the first time in history when you can trust code to do what it says.
This is extremely, extremely wrong. The operators of the network can change the smart contract VM whenever they want. There's nothing magic about it, the VM is just implemented in some code that all of the executor nodes happen to agree on at any given moment in time. In practice they don't change it, but neither would you if you were running a financial database on top of SQL.
And besides, the worst issue in software development is unintended bugs made by programmers. No programmer I know would ever trust any non-trivial code to simply "do what it says" because there could be complex bugs lurking in there somewhere. Smart contracts can't do anything about that, practically speaking they make it much worse by making it difficult/expensive to change the smart contract. There is nothing revolutionary or powerful about them, the point of them is actually to make them weak and expensive on purpose so the executors can charge increasing gas fees.
Edit: I looked at that list of applications, almost all of them could be done better without smart contracts or even without computers. Those things are all thousands of years old. The only exception on that list is NFTs, but NFTs are an entirely bogus concept that are yet another version of a ponzi scheme.
You seem intellectually curious and honest from what you write. So I think you’re one step away from the epiphany, if you can resist doubling down on this statement
this is extremely, extremely wrong
Sure, they can “hardfork” the protocol in a backwards-incompatible way, but they’d have to get the fork adopted by everyone who is currently running (and “securing”) the other version of the database and its “stored procedures”. Often, the node operators don’t all know each other and it’s hard for them to all collude to run the hardfork. Often, the old network has large enough incentives for each individual to not switch, similar to how everyone always threatens to leave Facebook but it still has the same MAU because its network effect is so huge. Good luck leaving when all your friends are on it, etc. And Facebook doesn’t give you a steady stream of income, even. If it did, if you made more profit than it cost you to run a node, why wouldn’t you ALSO keep supporting the old network? I can think of one reason only — if the new network hardfork would pay you MORE and it would be a zero-sum game. It would have to break old contracts AND gain enough traction to pay all the node operators MORE than the old one. That’s quite a hurdle and becomes harder the bigger the original network was.
Bitcoin was forked multiple times, but even a sensible hardfork change like increasing the block size proved too hard to do. Bitcoin Cash and Bitcoin SV are around but most Bitcoin ”miner” nodes still run the tried and true old blue.
Ethereum team had to put a “difficulty bomb” in there to try to get the miners to upgrade. See Ethereum Classic, for instance, it is still being run, despite having no widely adopted applications or stablecoins on it. So even without utility, you can have shitcoins running for years, and you’re talking to me about how ALL nodes can just abandon it?
Now about the bugs and correctness. Look… first of all, no one is claiming that smart contracts will solve every single problem, neither did Web1 but it solved enough that everyone left AOL and CompuServe and MSN and joined it. That’s a FACT. They also left Encarta and Britannica which were quite popular capitalist enterprises, paying all editors top-down from their profits, and instead Wikipedia eclipsed them all. They are now a rounding error.
But you bring a fair point — since smart contracts must be immutable to be trusted (like UniSwap Factory, or many other protocols) they have to be audited and battle tested before the public can trust them with large amounts of value (elections, money, etc.)
The ultimate in this is Provable Correctness, and there are now tools to actually prove a smart contract or a program is correct.
The second place is what Cardano is doing — running fuzzing with massive amounts of input through what is essentially a functional programming language (Haskell). What is not enough about that? You get the best of all worlds… trillions of tests, and then immutable code you can trust.
Disclaimer: I am not building on Cardano and have no connection to their ecosystem. Just that they are focused on moving the space to a more provably correct set of smart contracts, and it addresses your concern.
>So I think you’re one step away from the epiphany, if you can resist doubling down on this statement
I will double and triple down on it. I've been following this for at least a decade now. Smart contracts are completely useless and they need to go. The "epiphany" here is that it was obvious since The DAO transaction was reverted that there is nothing actually immutable about blockchains or smart contracts. If enough whales are threatened by some activity then they'll hard fork, because the miners/stakers all depend on the activity of the whales to realize their profits. The network doesn't exist without them, and it's not actually hard for them to collude.
This is another reason why it's futile for you to expect anything out of blockchains; they're not actually run by volunteers, by design they're run by the greediest possible participants who are supposed to do whatever they possibly can to maximize their profit from mining, because if they don't do this then the network collapses. This is entirely how the system is designed to work. You're not actually "trusting the code", you're trusting that a hardfork won't be successful for entirely non-technical reasons, i.e. that they would lose money. People who run ordinary databases also don't mess with the database for the same reason. Blockchains don't add anything new to this, they're not a good or even interesting invention.
>Bitcoin was forked multiple times, but even a sensible hardfork change like increasing the block size proved too hard to do
This is ahistorical, it wasn't hard to increase the block size, it was just undesired by the majority of the miners. BCH happened because some miners were upset about SegWit, a change that did actually succeed.
>The ultimate in this is Provable Correctness, and there are now tools to actually prove a smart contract or a program is correct.
These tools do not solve the problem, because "correct" is entirely subjective. With those, you can prove that the program doesn't violate its own invariants or contain certain logic errors, but you can't validate that the output for the human is correct. No amount of fuzzing can solve this.
I mean, I could say that you sound like the old fogies in each generation like Steve Ballmer who famously yelled "search is not a business!" People just don't get how the next generation of users could POSSIBLY find something useful, which they don't see useful. It's like people drew the future with flying cars, when in reality the innovation was in something else.
In a regular database, I can't have an election because someone can go in there and change all the votes or stored procedures. I can't trust the code. I can't trust the database. One person with one key can change everything.
You know what's better than that? People being able to only act as themselves, and the rules being enforced by multiple machines. As I said, it doesn't have be "a blockchain", but what I described is the defining features of "smart contracts". It's simply more resilient than any middleman, and it makes it much, much harder to corrupt the system to extract rents. The system ends up being neutral, and all the "profits" are either taken out of circulation or accrue to the participants. There is no parasitic investor class in the end. People sell the tokens once and then they circulate among network participants. There are multiple gateways to get or cash out of the token instead of one (like cashing in/out of PayPal using PayPal Inc only). It's very hard to shut the system down or exclude certain groups from it. In all these ways (except the last one perhaps, depending on who you ask), it's strictly BETTER than centralized, closed, privately-owned systems. Why do Web2 maxis hate all these improvements?
Smart contracts represent the first time in history when you can trust code to do what it says. The next best thing that even come close is Intel’s SGX extensions, where we trust Intel, or AWS key management service, where we trust Amazon.
The idea that everyone can custody their own private keys as they want AND no one can be “above the law” and circumvent the business logic, is really powerful. That assurance and level of trust in the code is what enables a whole slew of new applications that currently require human gatekeeper institutions, same as Web1 replaced radio, TV, newspapers, magazines, and centralized platforms like America Online, Compuserve and Minitel.
You just are myopically focused on the silly Web3 phase, same as people derided Web1 personal home pages with <blink> and <marquee> tags until the Web grew up.
For example https://intercoin.org/applications