Skip to content

Comments

Remove block types with both execute and availability properties#21

Draft
dapplion wants to merge 1 commit intounstablefrom
flat-block-type
Draft

Remove block types with both execute and availability properties#21
dapplion wants to merge 1 commit intounstablefrom
flat-block-type

Conversation

@dapplion
Copy link
Owner

Motivation

Those where the good old days..

SignedBeaconBlock --------
         |               |
         |      GossipVerifiedBlock
         |               |
SignatureVerifiedBlock  <-
         |   
ExecutionPendingBlock
         |
        END

Where block types had a linear progression. Now there are two states progressing in parallel: execution + availability. Now block types are nested, featuring a combination of enums and names with double status

  • ExecutionPendingBlock: MaybeAvailableBlock + import data
  • MaybeAvailableBlock:
    • Available: AvailableBlock
    • Not available: SignedBeaconBlock
  • Availability
    • Available: AvailableExecutedBlock
    • Not available: ()
  • ExecutedBlock:
    • Available: AvailableExecutedBlock
    • AvailabilityPending: AvailabilityPendingExecutedBlock
  • AvailabilityPendingExecutedBlock: SignedBeaconBlock + import data
  • AvailableExecutedBlock: AvailableBlock + import data

Changes

This PR explores returning linearity by making availability a property of the block types, since it happens in the background.

SignedBeaconBlock --------
         |               |
         |      GossipVerifiedBlock
         |               |
SignatureVerifiedBlock  <-
         |   
ExecutionPendingBlock
         |
   ExecutedBlock
         |
ExecutedAvailableBlock

TODO

  • Remove AvailabilityPendingExecutedBlock. It's existence does not affect things too much now as its main consumer (the overflow cache) is isolated.

@dapplion dapplion marked this pull request as draft March 17, 2024 09:46
dapplion pushed a commit that referenced this pull request Oct 21, 2025
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.

1 participant