Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Idea: On-chain analysis of missed attestations and related data #29

Open
potuz opened this issue Sep 27, 2021 · 1 comment
Open

Comments

@potuz
Copy link
Contributor

potuz commented Sep 27, 2021

The beaconchain is pushing the limits of software engineering on clients which are constantly finding new optimizations in order to maintain this high participation rate. In the last few weeks as the validator set reached a quarte of a million validators, reports of missed attestations have increased. I would be good to have some study of the data on-chain about missed attestations, late-included attestations, and soon sync committee participation. In rough terms the following are medium term objectives of this project

Here are some concrete problems to tackle in the short term: understanding pools' role in late blocks or rather if clustering on mainnet is causing missed attestations. The thesis is that there are very large chunks of validator keys being run by pools on highly peered networks of their own, that produce blocks fast and they pack them with their own attestations. Those blocks are then arriving late to the single validator. If this is the case this should be checkable with on-chain data.

  1. There are large lists of validators associated to pools in Beaconcha.in . Find those, just the first 5 pools would be more than enough.
  2. Grab several blocks and gather the average attestation performance of these validators: that is, for each block, get the committe, match how many of these pool validators were supposed to attest and then how many did correctly.
  3. Do the same for the network as a whole.
  4. Find blocks with a large number of missed attestations: Given the information in 3) you can filter now some blocks that were statistically not voted.
  5. On these blocks, determine the percentage of them that were proposed by the pools (see if it is more than their validator share)
  6. On these blocks determine if pool validators attested with average performance as in 2)

Other projects include analysis of sync committee participation on Altair forked networks: find correlation between sync committee particpation and attestation participation and/or slot position in epoch. Specially useful would be to have tools (inexistent currently) to visualize sync committee participation.

@taxmeifyoucan
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants