A lot of people have been wondering why the requirement for Ethereum’s PoS was kept at 32ETH. Was it a form of a meme? Was it because of the pre-mine? Sharding? Or was it just a choice made by Vitalik and crew?
In this article, I would try to explain why “32ETH” was chosen.
To those who are not aware, Ethereum has been in the news lately because of its ongoing transition from PoW to PoS. The PoS stage is called the Ethereum 2.0
The ETH 2.0 consists of three phases:
Beacon Chain (separate chain from the mainnet that was launched on December 2021 by the foundation for Ethereum to switch from PoW to PoS).
The merge
Sharding (By splitting the blockchain into shards; separate chains, it kind of solves Ethereum’s scaling problems. After sharding, Ethereum would be able to handle thousands of transactions per second).
At the rate at which things are going, we might likely have “the merge” by early August of this year. That aside, let’s talk about why people had to stake 32ETH in a smart contract, to begin the process for ETH 2.0
The 32 ETH stake size requirement is a compromise imposed by the messaging overhead of Gasper, the consensus mechanism utilized by Ethereum. Or more concretely, Casper FFG, the finality gadget of Gasper.
What is a finality gadget?
A finality gadget allows for transactions to always optimistically commit but informs the clients that these transactions might be unsafe. As a result, a blockchain can execute transactions optimistically and only commit them after they have been sufficiently and provably audited.
The idea behind the finality gadget is to leverage a property, called finality, of the Casper proof-of-stake consensus protocol to be deployed in Ethereum 2.0. But before we get into the Casper FFG, let’s talk a bit about the Gasper.
Gasper sits on top of a proof-of-stake blockchain where nodes provide ether as a security deposit that can be destroyed if they are lazy or dishonest in proposing or validating blocks. Gasper is the mechanism defining how validators get rewarded and punished, decide which blocks to accept and reject, and which fork of the blockchain to build on.
Gasper can be conceptually split into two sub-mechanisms:
LMD GHOST (the fork-choice algorithm) and,
Casper FFG (the finality gadget).
LMD GHOST enables the protocol to select a non-finalized chain tip and to use accumulated votes to ensure that nodes can easily select the correct one when forks arise in the blockchain, while Casper FFG enables the protocol to finalize blocks from the non-finalized chain tip. It is the mechanism that upgrades certain blocks to "finalized" so that new entrants into the network can be confident that they are syncing the canonical chain.
Casper FFG has quadratic communication complexity [i.e. O(N^2), where N is the node count].
Quadratic messaging complexity means that every participating node is required to propagate a message to all other participating nodes per step. As such, the maximum number of participating nodes that the protocol can handle is bounded by the following formula: N <= (m*T)/2, where m is the messaging throughput per second, and T is time-to-finality.
Ideally, we would like to have as many participating nodes as possible (i.e. N be as large as possible), and propagate as few messages per second as possible (i.e. m be as small as possible) to make the protocol accessible to users with low-spec hardware and have the fastest time-to-finality possible (i.e. T be as small as possible).
Unfortunately, ideal models only work on paper. Therefore, a compromise had to be agreed upon. The parameters chosen were the following:
32 ETH stake size and
Time-to-finality of 768 seconds (i.e. 64 12-second slots or 2 32-slot epochs).
If we assume that every ETH in the circulating supply (≈120M ETH) is staked (≈3.75M participating nodes), the messaging throughput required would be equivalent to 9765 messages per second. Realistically, we wouldn't expect the total amount of ETH staked to surpass 20-25% of the supply, so the messaging throughput would drop to 2440 messages (at 25%) accordingly (which can be handled by even the most modest internet connections).
Is the 32 ETH stake size requirement permanent?
This answer might vary depending on who you ask. But in my personal opinion, I’ll say it isn’t permanent.
As internet connections and computer hardware improve and messaging compression techniques are applied (e.g. BLS signature aggregation), the requirement will be dropped to 16 or maybe even 8 ETH.
If you want to explore more about the 32ETH requirement, feel free to check out the resources below.
Parametrizing Casper: the decentralization/finality time/overhead tradeoff
Using Secure Hardware to Harden Casper for Greater Defense In Depth
Credits also go to Toghrul and Vitalik Buterin
If you’d like to read more content like this, consider following me on Medium and Twitter. I’d appreciate it!
Why 32 ETH was required for Ethereum's PoS
Great timing call