Plot: yewjin.com/assets/html/eth_block_probability.html is a plot of the probabilities where you can fit in your own values.

Note (June 2024): This blog post is updated regularly (ideally daily!) with the current eligible ETH value from the blockchain.

As an Ethereum staker, one of the key aspects of participation in the network is decentralization … OK … nevermind it’s the opportunity to propose a block and hope for winning the block lottery. The probability of getting this chance, however, depends on several factors, most notably the total number of validators in the network and the number of validators you control. Here’s how to calculate the probability of not proposing a block over different time periods - an hour, a day, a week, or even a month. Because, admit it, you are only asking this question after not getting a block proposal for that long and you are asking: “WHAT ARE THE ODDS?!”

The Ethereum PoS protocol, specifically in the context of block validation, operates with discrete time units called slots. A new block is proposed in each slot by a randomly selected validator. The probability of a specific validator being chosen for any given slot is inversely proportional to the total number of effective ETH balance of each validator. See Block Proposal (ethereum.org)

  1. Total Eligible ETH (N): The total amount of eligible ETH in the network. As of 2024-07-26 10:15, it’s approximately 33459080 ETH.
  2. Your ETH (V): The amount of ETH you have staked.
  3. Time Period (T): The duration for which you want to calculate the probability, measured in slots. (Note: The Ethereum network typically operates with a slot time of 12 seconds.)

Calculating the Probability

The probability of not proposing a block in a single slot, for a user with V ETH, is calculated as follows:

Probability (Single Slot) = 1 - (V / N)

To extend this to a specific time period, T slots, the formula becomes:

Probability (T Slots) = (1 - (V / N))^T

Handy number of slots in various time periods

  • For One Hour: With T = 300 slots (assuming 12 seconds per slot).
  • For One Day: T = 7,200 slots.
  • For One Week: T = 50,400 slots.
  • For One Month: Approximating a month as 30 days, T = 216,000 slots.

Probabilities for 32 ETH

  • Probability of not proposing a block in one slot: \(1 - \frac{32}{33459080}\)
  • One Hour (300 slots): \(\left( 1 - \frac{32}{33459080} \right)^{300}\)
  • One Day (7,200 slots): \(\left( 1 - \frac{32}{33459080} \right)^{7200}\)
  • One Week (50,400 slots): \(\left( 1 - \frac{32}{33459080} \right)^{50400}\)
  • One Month (approx. 30 days, 216,000 slots): \(\left( 1 - \frac{32}{33459080} \right)^{216000}\)

Summary

  • Chance of not proposing a block in one hour: Approximately 99.97%
  • Chance of not proposing a block in one day: Approximately 99.31%
  • Chance of not proposing a block in one week: Approximately 95.29%
  • Chance of not proposing a block in one month: Approximately 81.34%

Probabilities for 3200 ETH

  • Probability of not proposing a block in one slot: \(1 - \frac{3200}{33459080}\)
  • One Hour (300 slots): \(\left( 1 - \frac{3200}{33459080} \right)^{300}\)
  • One Day (7,200 slots): \(\left( 1 - \frac{3200}{33459080} \right)^{7200}\)
  • One Week (50,400 slots): \(\left( 1 - \frac{3200}{33459080} \right)^{50400}\)
  • One Month (approx. 30 days, 216,000 slots): \(\left( 1 - \frac{3200}{33459080} \right)^{216000}\)

Summary

  • Chance of not proposing a block in one hour: Approximately 97.17%
  • Chance of not proposing a block in one day: Approximately 50.23%
  • Chance of not proposing a block in one week: Approximately 0.81%
  • Chance of not proposing a block in one month: Practically 0% (very close to zero)

Calculating the Probability of Proposing At Least B Blocks

To calculate the probability of proposing at least B blocks, we can use the Poisson distribution as an approximation for large T, where T is the total number of slots and p is the probability of proposing a block in a slot. The parameter lambda (λ) for the Poisson distribution is:

\[\lambda = T \times \left( \frac{V}{N} \right)\]

The cumulative probability of proposing at least B blocks is:

\[P(\text{proposing at least } B \text{ blocks}) = 1 - \sum_{k=0}^{B-1} \frac{\lambda^k e^{-\lambda}}{k!}\]

where \(\lambda = T \times \left( \frac{V}{N} \right)\).

Example Probabilities for 32 ETH

  • Probability of proposing at least 1 block in one day: \(1 - \sum_{k=0}^{0} \frac{\lambda_{1 \, day}^k e^{-\lambda_{1 \, day}}}{k!}\)
  • Probability of proposing at least 2 blocks in one week: \(1 - \sum_{k=0}^{1} \frac{\lambda_{1 \, week}^k e^{-\lambda_{1 \, week}}}{k!}\)
  • Probability of proposing at least 5 blocks in one month: \(1 - \sum_{k=0}^{4} \frac{\lambda_{1 \, month}^k e^{-\lambda_{1 \, month}}}{k!}\)

Finally, if you want to see the latest statistics on block proposal frequency, see LuckyStaker.com