ethereum / ethereum/staking-launchpad

Launchpad issuance graph doesn't state assumptions

Open
#289 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
304
Forks
226
PR merge metrics
No merged PRs in 30d

Description

The issuance graph on the launchpad shows maximum validator return of 21.6% (at 524,288 ETH staked) and 4.9% return at 10m ETH staked. However, digging into the code that generates these numbers (https://github.com/ethereum/eth2.0-deposit/blob/83f34b82a967ba52532f58e7c28467982429a4a2/src/utils/calculateEth2Rewards.ts) it seems that this is based on average network participation of 95% and individual validator uptime of 99%. These assumptions are important and should be stated clearly on the launchpad.

Also the `calculateEth2Rewards` function seems to rely on a quadratic approximation of the expected inclusion delay reward using `rewardAdjModifier`. However the rationale for this approximation is not documented anywhere. How was this approximation derived? It looks as though it assumes a fixed penalty for every slot delay (`oneSlotLatePenalty`) but this isn't consistent with the spec, which indicates that inclusion delays lead to an inversely proportional scaling of the reward, not linear.

@flamingYawn

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/utils/calculateEth2Rewards.ts and the calculateEth2Rewards function, then compare its rewardAdjModifier and oneSlotLatePenalty assumptions with the referenced Ethereum specification. Done means the launchpad graph clearly states its participation and uptime assumptions, and the approximation's rationale or discrepancy is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, documentation, frontend
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.