ChainSafe / ChainSafe/lodestar

Implement EIP-7716: Anti-correlation attestation penalties for analysis

Open
#6,848 0 comments 0 reactions 0 assignees View on GitHub
meta-feature-request
Dominant language
TypeScript
Stars
1.4k
Forks
483
Avg merge
1d 16h
Merged PRs (30d)
150

Description

### Problem description

Referencing the EthBerlin04 hackathon and other works conducted in the community:
- Anticorrelation penalties FAQ: https://github.com/dapplion/anti-correlation-penalties-faq
- Original proposal by Vitalik: https://ethresear.ch/t/a-concrete-proposal-for-correlated-attester-penalties/19341

There seems to be adequate consensus to further this specification through implementations and further testing. See [Lighthouse implementation](https://github.com/igorline/lighthouse/pull/1).

Some analytics collected and modelled have shown larger correlated penalties for Lodestar. See: https://ethresear.ch/t/analysis-on-correlated-attestation-penalties/19244. We argue that the average correlation penalties for Lodestar is higher than it should be in this analysis due to the current mainnet distributions of Lodestar, rather than the client itself. Most of Lodestar's mainnet usage is factually within a correlated environment. As of today, an estimated 0.88% of the validator set is running Lodestar via Blockprint. With an active validator set of 1,013,143 as of today via beaconcha.in, the assumption is 8915 active validators are using Lodestar.

ChainSafe currently runs about 8,898 validators in a clustered environment, greatly linking the correlated penalties to penalize ChainSafe's validators more than any other environment using Lodestar.

### Solution description

By implementing EIP-7716 for further analysis, we can collect data on mainnet to verify penalties outside of a clustered environment. As suggested by @wemeetagain , instead of actually applying penalties, we can just log the output to have it run mainnet to collect more concrete data on how much of an effect anti-correlation attestation penalties apply to the client software itself.

### Additional context

Though this EIP is technically [drafted for implementation](https://github.com/ethereum/EIPs/pull/8598), there has been no current discussion of adoption. There is no guarantee that this EIP or even a modified version of it will get included in a future hard fork. However, portions of the community signal for the inclusion of this to further promote decentralization values within Ethereum.

Current mainnet distribution from clientdiversity.org
![Screenshot 2024-06-03 at 1 47 04 PM](https://github.com/ChainSafe/lodestar/assets/58080811/b7942881-997c-47bb-b4b5-7d7ff856bd15)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.