How difficult would it be to stake Ethereum, supposing you could afford a multiple of 32 eth?
I know you can join cooperatives for this purpose, but then it’s not your crypto anymore and this space is filled with thieves and con artists.
It’s something I’ve been kicking around as an idea for a while as part of a diversified portfolio, if eth drops to a point where I could afford 32.
I’m extremely skeptical of cryptocurrencies, but eth is the best of them and the network transaction volume is supposedly in the neighborhood with Visa ( something I find hard to believe.)
If you are interested in running what is referred to as a 'solo' validator, it isn't that difficult if you already have some linux sysadmin experience. There are several good guides around setting up the physical hardware, the node software, generating the validator key(s), making the staking deposit and then running the validator.[1][2][3]
Then there is a very helpful community called EthStaker - they have a subreddit at r/ethstaker and a discord (invite should be available in the subreddit).
If you want something a little more automated, Dappnode is a well regarded web based front-end and the Rocketpool node stack makes things very easy to be an operator for their pool using a TUI.
There are a lot of options, with a wide range of requirement and capabilities.
> the network transaction volume is supposedly in the neighborhood with Visa ( something I find hard to believe.)
I think the PR line is that PoS ETH can “scale to 100,000 TPS”, but it’s currently pushing 15-30 [1]. Visa does much more, though various figures are reported from 1,750 to 24,000. So, grains of salt and all that.
Correct, the plan is to scale to that level but currently is not doing that. The current L1 (Ethereum Mainnet) + L2 combined TPS can be seen here https://ethtps.info/
Important to note that Ethereum embraces the idea that L2's will provide a lot of the scale and L1 will remain the base, main layer of security. So the goal isn't for L1 to scale massively, but to be able to support a healthy ecosystem of secure L2's which scale in different ways!
For one, Visa just does funds transfers. If Ethereum just transferred ETH, it could do 700 tx/sec, based on the gas limit per block divided by the 20K gas for a simple ETH transfer. A lot of Ethereum transactions are more complex and use more gas.
Second, second-layer "rollups" already support transaction rates up to a couple thousand per second, without losing base-layer security guarantees. Essentially they compress the transactions on chain. (Actual traffic is much lower than that, so far.)
The longer-term plan is to move to rollups in a big way, and add a form of data sharding to multiply the on-chain data storage. That's where the 100K/sec comes from.
> If Ethereum just transferred ETH, it could do 700 tx/sec
So... Still an order of magnitude less than Visa.
> A lot of Ethereum transactions are more complex and use more gas.
How complex are they, are they a significant number, and dies this explain the abysmal transaction rates?
Visa aside, on Singles Day AliPay does 1 to 1.5 billion transactions in one day.
Okay. AliPay is an outlier. Klarna does about 2 million transactions per day, an average of 23 per second (it's significantly higher during peak hours, and lower during off-peak hours. Source: worked at Klarna). The transaction includes: client lookup (a complicated affair that differs from country to country and session to session), credit score calculation, order set up, payment (out of a several dozen different options) set up... all while conforming to banking and local regulations across 45 countries. Anything in eth anywhere close to that complexity-wise?
> Second, second-layer "rollups" already support transaction rates up to a couple thousand per second
So layer 2 batches transaction into a batch that then gets batched on layer 1 into a bugger batch that is then written in one go to the blockchain.
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.
Most 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.
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.
Over 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.
> 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.
> 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.
> 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).
And 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.
You are not making an effort to appreciate the opposite point if view. An order of magnitude for a young, decentralized, trustless and permissionless network is quite an engineering feat.
How complex? -> Turing complete.
Also there is more to L2s than batching. Their aim is to maintain the security guarantees of the L1 without sacrificing availability. Plus, Zk proofs and merkle trees allow for great data compression in the rollup.
Turing completeness is actually amazing in its simplicity.
You take a push down automata (finite state automata plus a stack) and then add the ability to read and write anywhere in the stack.
The essence of Turing completeness is the ability to take any intermediate result as an input to the computation of the next result.
This is why the halting problem is even a problem, because you need all of the intermediate results to know the end result.
Ok now back to the topic at hand. Turing completeness on the L1 layer isn't very impressive because every node is supposed execute the code to validate it. The problem with L2 then is the fact that you must somehow avoid that, i.e. the L2 layer executes the smart contract and determines a result and these results are batched on the L1 where the point is that you're not supposed to execute the contract as otherwise there is no speedup to be gained. It is sort of a paradox.
The end result has to be verified on chain. The most promising strategy so far is build a zkEVM which produces a zero knowledge proof that can be verified on L1 via a smart contract.
I still don't understand how this convinces people to buy Ethereum.
Money is supposed to be a medium of exchange because barter is expensive and time consuming. Instead of trading anything for anything we trade anything for money and money for anything. Competition is good but is Ethereum even competing?
How exactly do random wealth transfers to early adopters serve any purpose that money is supposed to be used for according to classical text books?
The real problem right now is you can't unstake any eth you have staked. The developers promise it's coming soon, but personally I wouldn't stake any until then.
Given that they successfully transitioned an entire consensus change and things didn't implode (yet), I'm feeling a bit more optimistic that they can do withdrawals.
In practice: pretty simple. You can do it at home if you have decently reliable internet and power.
You don't need five nines of uptime, you need like, two.
You don't get subject to slashing for your node going offline, you only get slashed if your node is doing shit out of consensus like actively cooperating in double spends.
Remember that Visa transactions are not equal to Bitcoin/Ethereum transactions. A visa transaction is just a promise of payment at some future date, probably. That's why they can have such a high rate. Bitcoin and Ethereum transactions are settled cash in your wallet. Apples and oranges.
Bitcoin has the lightning network based on Bitcoin smart contracts that can do Visa-like rates of Visa-like transactions. I don't know if Ethereum has anything like that.
I suggest checking the /r/ethstaker/ (https://www.reddit.com/r/ethstaker/) community if you are interested in staking. I've been staking from genesis block and has required very little upkeep. Dive in!
Its about as difficult as setting up an Ubuntu desktop PC. Can get a NUC + 16gb ram + 2TB SSD and that will be more than enough.
For software Rocketpool has a really nice guide + configuration GUI, and you only need 16eth for it and you get more rewards than from a normal staking node. It's still fully self custodial.
Over many years, the 32 ETH limit really screws everyone in the world who can’t afford to stake $40k USD.
Choices are: use custodial staking (share your keys with custodian - risky), use non-custodial staking (keeps your keys private but has costs e.g. Lido charges 10% of your staking rewards), use an L2 coin (risks), use a financial proxy for Etherium (ugggh).
I guess running your own node means you can’t use a cold wallet, so security costs/risks are high?
> Choices are: use custodial staking (share your keys with custodian - risky), use non-custodial staking (keeps your keys private but has costs e.g. Lido charges 10% of your staking rewards), use an L2 coin (risks), use a financial proxy for Etherium (ugggh).
Rocketpool is non-custodial, allows you to run your own node with about 17.6 eth (16 eth + 1.6 eth worth of their token), and then earn a commission from the folks contributing the other 16 eth and not running a node. There is a decent amount of smart contract risk and risk around the value of the token, but it is a generally working protocol.
> I guess running your own node means you can’t use a cold wallet, so security costs/risks are high?
To answer the security concern - The staking keys can only be used for validation activities, and can't be used to spend the funds. When depositing the stake, you can specify a normal ethereum address where withdrawn funds will go to, and that address can be controlled with a hardware or cold paper wallet/signer. The worst an attacker who compromised your node and took your staking keys could do is get you slashed (a little more then a 1 eth penalty in normal circumstances), which would be of no benefit to them.
Apart from the solid advice below, I would probably suggest practicing cor a while on a testnet to see can you meet the required availability requirements.
It doesn't seem to be that hard, but keep in mind that staking requires you to be actively validating. There are major penalties for screwing up (attacking the network), and minor penalties even for going offline. You still need hardware, network, and electricity to run the validator.
I know you can join cooperatives for this purpose, but then it’s not your crypto anymore and this space is filled with thieves and con artists.
It’s something I’ve been kicking around as an idea for a while as part of a diversified portfolio, if eth drops to a point where I could afford 32.
I’m extremely skeptical of cryptocurrencies, but eth is the best of them and the network transaction volume is supposedly in the neighborhood with Visa ( something I find hard to believe.)