4 ms·
Ethereum runs the EVM, which is a Turing complete execution environment. It can run things of arbitrary complexity. > Congrats, you've reinvented batch proces
by pa7x1 4y ago
Ethereum runs the EVM, which is a Turing complete execution environment. It can run things of arbitrary complexity.
> Congrats, you've reinvented batch processing.
This is an extreme over-simplification of zero knowledge proofs. You would do well in digging deeper what is being achieved instead of dismissing it without any understanding.
- dmitriid 4y ago> Ethereum runs the EVM, which is a Turing complete execution environment. It can run things of arbitrary complexity. There's a gulf between "can run" and "actually runs". So what exactly is so complex that Ethereum runs that it processes stuff so slowly?
- pa7x1 4y agoOver Ethereum there are completely automated exchanges (think Nasdaq), lending, escrow, stablecoins, zero-knowledge proof verifiers, games, payments... Blockchains are designed to meet the most extreme requirements of availability, censorship-resistance and cost of attack. They achieve them by exploring the extremes of replication of the solution space of distributed systems. For example, Ethereum runs on a Raspberry Pi, and every node runs the exact same things. Therefore how fast it goes is limited to the slowest node you want to make able to run the blockchain. But, what you are dismissing as simple batch processing are the application of very novel techniques (novel as in math was invented in the last 5 years to make them possible) that allow to externalize most of the heavy computation outside the blockchain and delegate to the blockchain the verification of a proof. Therefore allowing to inherit the security properties of the blockchain but achieving much higher scalability. Ethereum settles nowadays 200 bitcoin equivalent transactions per second. And is targeting to scale to 1-10M transactions per second by 2030.
- dmitriid 4y ago> Over Ethereum there are completely automated exchanges (think Nasdaq), lending, escrow, stablecoins, zero-knowledge proof verifiers, games, payments... All of those "oh my god complex things" on Ethereum are a variation of "look up a single number in one account, look up a second number in the other account, add or subtract two numbers". Even doing a KYC + proper credit check on a client will cripple Ethereum. > that allow to externalize most of the heavy computation outside the blockchain and delegate to the blockchain the verification of a proof. So, batching. But with an extremely complex processing that you trust devs implemented correctly. > Ethereum settles nowadays 200 bitcoin equivalent transactions per second. No one cares about "equivalent transactions" to be honest. People care about actual things being handled by actual transactions they engage in.
- matthewdgreen 4y agoMost of the cost comes from the need to maintain consistency in state. This means that even simple database updates require a lot of work updating hash trees and verifying that other nodes reach the same results. The design of these hash trees isn’t terribly efficient, and indeed was in some ways designed to be deliberately inefficient in order to ensure that nodes didn’t fragment into running specific contracts. The good news is that there’s a lot of room for improvement in the design. The bad news is twofold: (1) efficiency improvements will eventually cause transaction processing to be data-bound rather than compute-bound, and (2) these improvements to improve compute may be incompatible with existing Ethereum nodes. ZK and optimistic rollups potentially offer a way out of this update mess that don’t require dramatic changes to the underlying consensus system. However they will also inherit some of the limitations above, including tradeoffs between availability and processing speed.
- dmitriid 4y agoThank you! This is probably the first reply I've seen that doesn't shy away from saying "yes, we're inefficient", and looking at the solutions with a critical eye.
- miracle2k 4y ago> So what exactly is so complex that Ethereum runs that it processes stuff so slowly? Nothing against the talented devs working at Klarna, but if they have trouble handling the load, they can always add a couple TB of memory or a couple hundred CPU cores. Ethereum needs to solve 100k tps while continuing to run on a Raspberry Pie on a home internet connection.
- dmitriid 4y ago> Nothing against the talented devs working at Klarna, but if they have trouble handling the load, they can always add a couple TB of memory or a couple hundred CPU cores. Ouch. Burn :) A lot of fat has been trimmed from Kred and it's now rammed into an AWS instance, but the pain is real :) > Ethereum needs to solve 100k tps while continuing to run on a Raspberry Pie on a home internet connection. To run a node you need a 2TB disc, at least 16 GB of RAM and a quad-core CPU. So, not on Raspberry Pi yet (and probably not ever).
- pa7x1 4y agohttps://twitter.com/ethereumonarm/status/1432251814402002948?lang=en https://twitter.com/ethereumonarm/status/1432251814402002948... This is just an example, there is plenty other hobbyists doing so. And here detailed instructions for you to try at home: https://docs.rocketpool.net/guides/node/local/prepare-pi.html#mounting-the-ssd https://docs.rocketpool.net/guides/node/local/prepare-pi.htm...
- dmitriid 4y agoAnd then you actually go into the docs.... And: oh, 8 GB RAM should work, but let's have a 32 GB swap. The CPU should be fine, but let's overclock it. Oh, you shouldn't use Geth to ensure ecosystem health, but all clients except Geth require at least 16 GB of RAM. And geth will eat all of your disk spce if you're not careful. So, for a single combination (Geth + Nimbus) it may just be possible to run this tower of babel on a Raspberry Pi. And.... The only thing it will be doing is... nothing, really.