ethereum / trin

An Ethereum portal client: a json-rpc server with nearly instant sync, and low CPU & storage usage
365 stars 113 forks source link

Post-merge canonicalness validation of an execution block header #691

Open ogenev opened 1 year ago

ogenev commented 1 year ago

This is an issue to track portal history post-merge header canonicalness validation.

The historical roots in the historical_summaries are only updated after a specific number of slots called SLOTS_PER_HISTORICAL_ROOT. Therefore, newly added blocks that are not part of a historical root cannot be verified using this method. These blocks need to be searched for directly in the block_roots BeaconState field.

In order to verify this proof, you must have access to two things: the historical_summaries in the BeaconState field and the block hash of the execution block. The verification process involves tracing the chain of evidence from demonstrating that the block hash belongs to the ExecutionPayload in the BeaconBlockBody, then proving that this BeaconBlockBody is rooted in the BeaconBlockHeader, and finally proving that the BeaconBlockHeader is rooted in the historical_summaries.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 60 days with no activity.

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale.