> I think it's interesting that via Ethereum, I can spend Ether to perform distributed computations on nodes across the globe and that this also serves as a store of value.
I find this "value proposition" highly dubious. You can already rent compute globally and perform computation in an environment orders of magnitude faster than on the EVM. Distributed compute on its own doesn't confer any points as a "store of value." The nature of the compute needs to be something that can be done strictly in the blockchain domain, and as we've seen, the result is a system that's easy to manipulate by spinning up new shitcoins, insider trading, wash trades, and worse - not to mention the loss of privacy given how effective on-chain analysis is. The features that make up a cryptocurrency make it decidedly unsuitable as the basis of a modern financial system. Some of the underlying principles are "neat," but that's as far as the tech goes for me.
>Coming up with a way to have a decentralised currency where everyone involved gets a fair say without consuming too many resources is a super interesting problem.
I think the obvious solution is to do useful work rather than throwing away work on crypto. Have miners solve real problems and give them credit for getting the right answer.
This is what Ethereum is supposed to do. I don't think it's a great solution. It's still extremely wasteful since every node runs every computation. Even something like TrueBit, which is designed to be scalable and efficient, is still far less efficient than normal cloud architectures. It still throws away the vast majority of the work in the interest of safety and incentives. These systems are good if you want trustworthy computation, but not if you want high-performance and power-efficient computation.
I'm trying to design a system where something like 95% of the work goes to useful computation, but I have nothing anywhere near shippable. It's a hard problem.
>I can't tell if this is all horseshit, or too deep for me to understand.
A mixture of horseshit and mildly interesting stuff.
Even though ethereum is technically feasible, it's plagued by developmental issues (including, IIRC, failed attempts at roll-your-own crypto), and even if it does ever get launched, the incentive structure doesn't make sense and the whole platform is essentially useless. It's absolutely no good for distributed apps; you still need oracles for those to do anything useful, and if you have oracles, you might as well put the apps on the oracles in the first place. It might be useful for digital contracts, but Bitcoin already handles those very well in the vast majority of cases.
> Ethereum is a world computer. As in, it acts like a single public computer that can perform computations for anyone who is willing to pay for them, but instead of this computer being run by a third party, it's run by the network as a whole.
Compared to actual Python code, or Ruby code, or any code that you can imagine, Ethereum VM code is a hobbled down child's toy. Think: Gameboy from 1995. The memory is scant. The performance, abysmal.
> This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - for example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.
You can do all of those things with Bitcoin. We don't promote it much because no one has cared to use any of it for years. It's always hooked in investors, though. Lots and lots of investors.
> You can already rent compute globally and perform computation in an environment orders of magnitude faster than on the EVM
True, but Ethereum also has the benefit of having a globally agreed upon state that is transparent and traceable when a change occurs. Not saying this setup couldn't be done any other way, but the fact that all you need to enable yourself to make those changes is a digital token is what I find interesting about it. The use of this token combined with the fact that people arguably care about the state of this system is what I feel gives it intrinsic value.
>Can someone explain to me how Ethereum fulfils the "dream of having a truly decentralised web"?
It doesn't. It's hyped up bullshit.
Every Ethereum node runs the exact same code (single threaded too) with heavy computing and storage restraints. There's no sharding or load balancing. Can you run the entire reddit website on a single 90s computer? The answer is no.
Don't get me wrong, Ethereum is an interesting experiment and blockchains are useful for a number of things, but the notion of "lets put everything on the blockchain" is a shitty, terribly inefficient solution looking for a problem.
The potential capital efficiency for for these services is vastly greater than credit cards. You are trying to undersell the potential in distributed computing platform and smart contract technology if you defend
the current cost structure.
The promise of these technologies is to reduce cost of financial transactions almost without limit.
Lets look into the future of efficient and revolutionary transaction and smart contact technology.
If billion people do 10 transactions per day (alternatively 10 billion 1 transactions per day) with cost $0.01 per transaction, the cost of this service would be only $10 million per day or 3.65 billion a year. Remove the operating costs in competitive markets and the profit margins will be extremely low.
The beauty of efficient established markets is that profits will be driven down. Artificial scarcity created by different coin protocols is temporary phenomenon. It dies when the hype dies.
> Building a secure, scalable, sufficiently decentralized distributed computer system is hard.
Yep. This blockchain/PoW/PoS way they’ve come up with to do it, with a built in cryptocurrency, doesn’t really cut it.
The trade offs to be “sufficiently decentralized” make it slow, expensive and unscalable. Making it effectively useless for real-world applications. The whole of Ethereum has as much power as a raspberry pi.
> Why? Because Ethereum isn’t just a store-of-value. The Ethereum network also contains smart contracts that execute native code on the blockchain.
It's funny when things are presented this way. Ethereum was never intended to be a store of value. It's a distributed computer that needs its own token economy in order to charge "hosting costs" to the computational agents running on it, and to allow those agents to trade work done for other agents for transfer of "hosting costs."
Ethereum would still be doing what it's designed to do, even if the price of ETH tanked. (In fact, dapp developers would probably prefer ETH to tank, since that'd mean transactions would be cheaper and less crowded by speculative traders and selfish miners.)
>>recently I tried using an Ethereum "web3 defi" thing. Huge transfer fees to the point where I'd either have to be making large transactions or it's not worthwhile in the slightest
Ethereum is only economical to use for huge financial transactions, like transferring $100,000 in USDC, or succinct, consensus critical programs, like zk-S[NT]ARK proofs for batched account updates. The latter enables economical every day use of Ethereum layer 1 consensus via layer 2 platforms:
> Ethereum has very different philosophy (just as an example it's supposed to be an universal computer, not a cryptocurrency).
Etherum doesn't have much of a philosophy. They have recently been pivoting away from a "universal computer" rhetoric to one focused on "decentralized finance."
> Ethereum should inspire anyone interested in the future(s) of the internet, because it demonstrates, powerfully, that new protocols are still possible.
Yes it should. Hence the reasons why there are alternative blockchains that not only aim to supersede Ethereum but they are specifically designed to scale and handle more applications and use-cases with cheaper transaction fees and are also EVM compatible.
The only reason that they have decided on something unscalable and expensive as Ethereum is because they missed out on Bitcoin. So the Web3 crowd decides to hype it everywhere.
I still cannot use Ethereum to buy my groceries. Therefore it is completely useless for that case.
> The "blockchain as a distributed transaction DB" concept is more interesting than I thought
Not particularly. It's using the wrong tool for the job. A distributed database is helpful in many ways, but you don't need an attached proof-of-work system.
> but I already have a financial system where humans make usually-reasonable judgments about fraud and can reverse transactions. It's not perfect, but I have a decent set of expectations about it, it works well enough, and it's very well-supported.
Totally independent of Ethereum, this style of argument is kinda weak. We really should be trying to build something better, either by improving the existing system or building a parallel system that will slowly replace what's there. Good enough is the enemy of great.
Unfortunately, building better stuff winds up requiring building a bunch of stupid stuff that doesn't work out.
It's smart to avoid being an early adopter, unless you have some unique interest in whatever the topic might be, photography, self driving cars, or Ethereum.
Back to Ethereum, yeah, i agree smart contracts aren't a good idea. They may be a good idea in the future, but today they're a mess. I think, in general, some sort of blockchain transaction history is a great idea; it should be adopted somehow. I can't say exactly what that might look like though.
> The blockchain to me is fundamentally flawed way to look at distributed computation. It really isn't distributed computing because there is a shared agreed and singular "truth".
This is an odd definition of distributed computing. Blockchains fall squarely under the realm of "distributed consensus protocols", which are quite fundamental to distributed computing.
> ethereum tremendously exciting, from a pure technology standpoint
I don't.
I think it's the wrong model and it's only interesting when you don't have a very complete model of what computation is doing inside a consensus system.
What script is actually doing in Bitcoin is not "running code"— running identical code with identical on hundreds of thousands of nodes just for it own sake would be stupid and wasteful. What happens is that users of the network run the code themselves and their scriptSig is a proof that they ran the code correctly (and that the code accepted their inputs). The simplest way to do this is to replay the execution, but now it makes sense: The network runs the code to verify you ran it right, and by doing so the contract embedded in the script is made trustless.
Running the code in the network has a lot of downsides, however. It completely lacks privacy (except to the extent that we have an opcode that implements a zero knoweldge proof of knoweldge of the discrete log of an EC point), and there is tremendous pressure on the computational complexity, implementation complexity risk, and size of these scripts because of the cost of verify them. Script execution is a pure externality that we only safely know how to cope with by making sure that it is very very cheap (we do this in Bitcoin by making sure that trivial static analysis can determine the execution cost (measure the size), and then bounding that cost).
But actually executing the script isn't the only way to verify computation was performed correctly. Using cryptography it's possible to have constant size and complexity proofs, independent of the program size.
This lets you cook up stuff like: https://bitcointalk.org/index.php?topic=277389.0 and I find that a lot more exciting. Especially since these kinds of enhancements don't demand the risky tradeoffs that making script more expensive demands.
I'm also excited about distributed oracles— programs that sign transactions conditional on user specified code, including— potentially— external inputs. The ability to have external inputs (trusted by the oracle) greatly increases the expressive power beyond what any in-consensus system could have, and using multisignatures with multiple oracles you can achieve good security though not trustlessness. E.g. "This tx pays to bob if bob.com is on the first page of google, otherwise after april 1st it can be redeemed by greg". I would expect to see any attempt at more powerful script first implemented via multisignature oracles before even considering making it trustless by merging it into the network.
>Conversely, cryptocurrencies such as Bitcoin or Ethereum have decentralized the process of issuing and managing a currency. But while the operations of such currencies, based on blockchains, have been fully decentralized, the trust graph of these cryptocurrencies have remained entirely centralized. Everyone need to trust Bitcoin to transact in Bitcoin, and everyone needs to trust Ethereum to transact in Ethereum or assets issued on the Ethereum blockchain. The centralized nature of the trust involved in these cryptocurrencies being actually at the core of how these currencies operate, as the only viable way to properly incentivize a proof-of-work system.
I don't think it's useful to equivocate the trust one places in an open decentralized system with the trust someone puts in a custodian of their money to not run off with it. That's like equivocating trusting end-to-end encryption to keep your messages secure with trusting Facebook to keep your messages secure. Sure, in both cases there's a risk, but one is based on your understanding of an open system, and the other is based on a guess that the custodian you're trusting your data to won't expose it by choice or accident. Just because the word "trust" can be used for both doesn't mean there aren't significant differences between them.
I think the system described is interesting, but for regular human commerce purposes, I think the downsides of it (managing IOUs from many different parties, needing to have a trust-path between users that could steal from you, needing to keep a node online always or trust your money to someone else who does so) make it less useful than cryptocurrencies. Having a common currency between many different parties is much easier to work with than trying to figure out a workable way to value IOUs from many different parties. Needing an established trust-path between users seems like a large obstacle in the internet age where I might suddenly want to transact with anyone on the planet.
The scalability of this system seems interesting, but I think the scalability upgrades that cryptocurrency is getting from sharding and rollups will make cryptocurrency more than scalable enough for human commerce purposes. I wonder if details of this system would be more useful in some kind of scenario of machine swarms bartering with each other, maybe in a situation where a common currency specifically doesn't make sense and is undesirable, or where there's no reasonable-latency access to the common blockchain because of the isolation of the network. Or maybe there's a technique here that's useful for cross-currency or cross-blockchain transactions.
>I believe there is a purpose for crypto in the backend of our financial system
That seems paradoxical to me. The power of blockchain (to me, okay, I'm no blockchain expert, I'm barely a novice) comes from the number of people publicly using your blockchain because every user added makes it that much more difficult to execute a 51%-style attack on the blockchain.
Stuffing blockchain under the rug by placing it exclusively on the back-end seems like you wouldn't actually be having people use it in a way that wouldn't be just as useful by including a hash on each transaction in your transaction DB. If we're being honest, the people "trading" cryptocurrencies on the current exchanges are antithetical to what crypto is about because they're not actually trading cryptocurrencies - they're trading the rights to the cryptocurrencies owned by the exchange. By centralizing the ownership of the cryptocurrencies to the exchanges instead of using their own wallet, they're again opening the gates further to a 51% attack.
I find this "value proposition" highly dubious. You can already rent compute globally and perform computation in an environment orders of magnitude faster than on the EVM. Distributed compute on its own doesn't confer any points as a "store of value." The nature of the compute needs to be something that can be done strictly in the blockchain domain, and as we've seen, the result is a system that's easy to manipulate by spinning up new shitcoins, insider trading, wash trades, and worse - not to mention the loss of privacy given how effective on-chain analysis is. The features that make up a cryptocurrency make it decidedly unsuitable as the basis of a modern financial system. Some of the underlying principles are "neat," but that's as far as the tech goes for me.
reply