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

Incorrect Block Author Reward During Era Transition in Polkadot and Other Chains #4923

Open
2 tasks done
ToufeeqP opened this issue Jul 2, 2024 · 3 comments
Open
2 tasks done
Labels
I2-bug The node fails to follow expected behavior. I10-unconfirmed Issue might be valid, but it's not yet known.

Comments

@ToufeeqP
Copy link
Contributor

ToufeeqP commented Jul 2, 2024

Is there an existing issue?

  • I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

  • This is not a support question.

Description of bug

During era transitions in PoS-based chains utilizing the BABE protocol for block production, the authorship of blocks is sometimes incorrectly identified. This leads to the block author reward being misallocated. Specifically, the reward may be given to the wrong authority or not given at all for certain era-transitioning blocks.

As a result of this bug, many of the era transition blocks have either rewarded the incorrect authority or were not rewarded at all. The following list of blocks is non-exhaustive:

  • No reward blocks: [328745, 362133]
  • Incorrect reward blocks: [10016532, 10030907, 10059692, 10073976, 2088572]

Steps to reproduce

  1. Set up a PoS-based chain using Substrate with BABE as the block production authority with multiple validators.
  2. Modify the staking dynamics to change the vote weight of the existing validator set or increase the number of validators
  3. Allow the chain to progress to an era transition.
  4. Observe the authorship rewards during the blocks where the new era is enacted.
  5. Verify the author of a block by decoding the SEAL digest and check the author who was rewarded by the authorship pallet.
@ToufeeqP ToufeeqP added I10-unconfirmed Issue might be valid, but it's not yet known. I2-bug The node fails to follow expected behavior. labels Jul 2, 2024
@chungquantin
Copy link
Contributor

I think it would be clearer if you can attach a code snippet for the PoS chain runtime & node service configuration.

@burdges
Copy link

burdges commented Jul 10, 2024

This is bizarre because you'd expect the chain tracks its own block author rewards on-chain.

@ToufeeqP
Copy link
Contributor Author

I think it would be clearer if you can attach a code snippet for the PoS chain runtime & node service configuration.

This issue applies to both the Polkadot and Kusama chains as well. I have already provided some blocks on Polkadot as references where the block authoring reward was either not awarded to the author or was given to a different validator than the one who authored the block.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I2-bug The node fails to follow expected behavior. I10-unconfirmed Issue might be valid, but it's not yet known.
Projects
None yet
Development

No branches or pull requests

3 participants