Skip to content

Conversation

jaybuidl
Copy link
Member

@jaybuidl jaybuidl commented Sep 5, 2024

Adapted from @kevincharm's RandaoAccessor

Specifications

https://docs.google.com/document/d/1hKlzk51z-ULnfSL4sQ7aCl70IQBxObtr1i8ZfsYl6MY/edit

Usage

  1. Court is in Staking phase. The bot calls passPhase(), which makes the RNG emit a Request(_blockNumber) event,
  2. Court is now in Generating phase. The bot listens to the Request event and retrieves the requested block number, then retrieves the block header from RPC with the eth_getblockbynumber method, then RLP-encodes the header using getBlockWithRLP(), finally provides the header to the RNG by calling verifyRecent(),
  3. The bot calls passPhase(), the Court is now in Drawing phase.

@kevincharm
Copy link

Hey! I briefly read through your spec doc. Nowadays it should possible to use IVCs to verify older block hashes (see: https://github.com/arnaucube/hash-chain-sonobe). So you needn't necessarily rely on a third-party. It's still very fiddly, but just wanted to share in case in might be of use :)

@jaybuidl jaybuidl force-pushed the beacon-historical-rng branch from 03fac21 to 9bc79e3 Compare September 6, 2024 11:31
Copy link

sonarqubecloud bot commented Sep 6, 2024

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

Successfully merging this pull request may close these issues.

2 participants