Holocene Hardfork: Block Derivation & Frame Queue

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

How does Holocene's 'Strict Batch Ordering' affect the frame queue, compared to pre-Holocene rules?

  • It prioritizes frames based on the gas price, regardless of their order within a channel.
  • It allows out-of-order frames to be buffered for later processing, optimizing transaction throughput.
  • It removes the frame queue entirely, relying solely on individual batch transaction processing.
  • It ensures the frame queue holds frames whose indices are ordered, contiguous, and include the first frame per channel. (correct)

What happens to a span batch under Holocene if one of its singular batches is found to be invalid?

  • The invalid batch is dropped, and any previously processed valid batches from the same span batch are retroactively invalidated (backwards-invalidation).
  • Only the invalid singular batch is dropped, while the remaining batches from the same span batch are processed as usual.
  • The invalid batch is dropped, and all subsequent batches from the same span batch are also dropped (forwards-invalidation). (correct)
  • The entire span batch is re-evaluated, potentially re-ordering the valid batches to bypass the invalid one.

How does Holocene handle an INVALID status returned by the engine for a derived payload?

  • The entire derivation pipeline is reset to prevent any inconsistencies.
  • The batch is discarded, and the system reverts to the last known valid state.
  • The invalid payload is replaced by a payload with the same fields, except the transaction list, which is trimmed to only include deposit transactions. (correct)
  • The system pauses and requests manual intervention to resolve the payload issue.

How does Steady Block Derivation in Holocene improve fault proofs and interop?

<p>By ensuring that batch validity is not influenced by future stages and the block derived from a valid batch will be determined by the engine stage before it pulls new payload attributes from the previous stage (D)</p> Signup and view all the answers

How might a batcher implementation need to adjust to account for Steady Block Derivation rules under Holocene?

<p>The batcher should wait on the sequencer until it has derived all blocks from L1 in order to only start batching new blocks on top of the possibly deposit-only derived reorg'd chain segment. (D)</p> Signup and view all the answers

What is the key difference in how Holocene activates compared to how span batches activated in Delta?

<p>Holocene activates when the L1 inclusion block timestamp is greater or equal to the Holocene activation timestamp. (A)</p> Signup and view all the answers

How does Holocene's Fast Channel Invalidation contribute to the overall system?

<p>It ensures that an invalid batch also forward-invalidates all remaining batches of the same channel due to the strict ordering and contiguous nature of batches inside channels. (C)</p> Signup and view all the answers

What is the significance of including a 0'd out eip1559Params on the fork activation block?

<p>It instructs the engine to use the canyon base fee parameter constants, priming the pipeline's view of the SystemConfig with the default EIP-1559 parameter values. (B)</p> Signup and view all the answers

What simplification does Holocene bring to the sync start algorithm, and why is it significant?

<p>The rules guarantee that So the sync start algorithm can optimistically select the last L2 unsafe, safe and finalized heads from the engine and if the L2 safe head's L1 origin is plausible (D)</p> Signup and view all the answers

What happens to the frame queue, channel bank, and batch queue during Holocene activation at the L1 block whose timestamp is the first to be greater or equal to the activation timestamp?

<p>They are discarded and replaced by the new Holocene frame queue, channel bank, and batch queue. (A)</p> Signup and view all the answers

Flashcards

Holocene Hardfork

Introduces changes to block derivation rules for stricter, simpler processing and better Fault Proofs/Interop.

Strict Batch Ordering

Frames must arrive in order; invalid frames are discarded sooner to reduce memory usage.

Channel Bank

Simplifies by holding only one channel at a time; uses MAX_RLP_BYTES_PER_CHANNEL for size limits.

Partial Span Batch Validity

Treated as an optional stage; invalid batches are dropped, but previous valid batches remain.

Signup and view all the flashcards

Batch Queue

Simplified to require strict ordering; violating batches are immediately dropped.

Signup and view all the flashcards

Steady Block Derivation

Invalid payloads are replaced with deposit-only transactions to contain the impact.

Signup and view all the flashcards

Payload Attributes

The attributes builder includes EIP-1559 parameters from the SystemConfig.

Signup and view all the flashcards

Holocene Activation

The pipeline state is reset and stages are replaced with new Holocene components.

Signup and view all the flashcards

Guaranteed Singular Batch Validity

Ensures a valid singular batch can be immediately processed, improving worst-case Fault Proof guarantees.

Signup and view all the flashcards

Fast Channel Invalidation

Invalid batches forward-invalidate all remaining batches in the same channel.

Signup and view all the flashcards

Study Notes

  • Holocene hardfork introduces changes to block derivation rules, making the derivation pipeline stricter and simpler.
  • It improves worst-case scenarios for Fault Proofs and Interop.
  • The impact of an invalid batch is contained to the block number, instead of propagating forwards or backwards in the safe chain.
  • Invalid payloads are contained at the engine stage, not propagating backwards in the derivation pipeline.

Frame Queue Changes

  • The frame queue retains its function and queues all frames which weren't assembled into a channel yet.
  • Holocene still allows multiple frames per batcher transaction, possibly from different channels.
  • Strict Batch Ordering leads to additional checks and rules to the frame queue.
  • The rules guarantee that the frame queue always holds frames whose indices are ordered, contiguous and include the first frame, per channel.
  • A first frame of a channel is either the first frame in the queue, or is preceded by a closing frame of a previous channel.
  • Pre-Holocene, frame validity checks were only done at the Channel Bank stage.
  • Checks are performed at the Frame Queue stage, leading to faster discarding of invalid frames.

Channel Bank Changes

  • Because channel frames have to arrive in order, the Channel Bank becomes much simpler and only holds at most a single channel at a time.
  • Pruning is vastly simplified as there is at most only one open channel in the channel bank.
  • The channel bank's queue becomes effectively a staging slot for a single channel, the staging channel.
  • The MAX_CHANNEL_BANK_SIZE parameter is no longer used, and the compressed size of the staging channel is required to be at most MAX_RLP_BYTES_PER_CHANNEL.
  • The timeout is applied as before, just only to the single staging channel.
  • The frame queue is guaranteed to hold ordered and contiguous frames, per channel.

Partial Span Batch Validity

  • Treats a span batch as an optional stage in the derivation pipeline that sits before the batch queue.
  • When encountering an invalid singular batch, it is dropped, as is the remaining span batch for consistency reasons (forwards-invalidation).
  • Doesn't backwards-invalidate previous valid batches that came from the same span batch.
  • When a batch derived from the current staging channel is a singular batch, it is directly forwarded to the batch queue.
  • Otherwise, it is set as the current span batch in the span batch stage.
  • Span batch validity checks are performed before singular batches are derived from it.
  • If any checks invalidate the span batch, it is dropped and the remaining channel from which the span batch was derived is also immediately dropped (Fast Channel Invalidation).
  • A past span batch is only dropped, without dropping the remaining channel.

Batch Queue Changes

  • Batches are required to arrive strictly ordered, and any batches that violate the ordering requirements are immediately dropped, instead of buffered.
  • Changes to batch validity rules also activate by the L1 inclusion block timestamp of a batch, not with the batch timestamp.
  • When the L1 origin of the batch queue moves forward, it is guaranteed that it is empty, because future batches aren't buffered any more.
  • Batch queue effectively becomes a simpler batch stage that holds at most one span batch from which singular batches are read from, and doesn't buffer singular batches itself in a queue anymore.
  • A valid batch is directly forwarded to the next stage.
  • Upon finding an invalid batch, the remaining channel it got derived from is also discarded.

Payload Attributes

  • Starting after the fork activation block, the PayloadAttributes produced by the attributes builder will include the eip1559Params field.
  • On the fork activation block, the attributes builder will include a 0'd out eip1559Params, as to instruct the engine to use the canyon base fee parameter constants.
  • After the first Holocene payload has been processed, future payloads should use the SystemConfig's EIP-1559 denominator and elasticity parameter as the eip1559Params field's value.
  • When the pipeline encounters a UpdateType. EIP_1559_PARAMS, ConfigUpdate event, the pipeline's system config will be synchronized with the SystemConfig contract's.

Holocene Activation

  • The new batch rules activate when the L1 inclusion block timestamp is greater or equal to the Holocene activation timestamp.
  • When the L1 traversal stage of the derivation pipeline moves its origin to L1 block, the derivation pipeline's state is mostly reset by discarding.
  • The three stages are then replaced by the new Holocene frame queue, channel bank and batch queue.
  • Batcher implementations must be aware of this activation behavior, so any frames of a partially submitted channel that were included pre-Holocene must be sent again.

Advantages of Holocene

  • Strict Frame and Batch Ordering simplifies implementations of the derivation pipeline.
  • Leads to better worst-case cached data usage.
  • Partial Span Batch Validity guarantees that a valid singular batch derived from a span batch can immediately be processed as valid.
  • The new Fast Channel Invalidation rule is a consistency implication of the Strict Ordering Rules.
  • Steady Block Derivation changes the derivation rules for invalid payload attributes, replacing an invalid payload by a deposit-only/empty payload.
  • Stricter derivation rules lead to a less defensive protocol.
  • Shifts some complexity from derivation to the batching phase.

Batcher Implementation

  • Simpler and stricter derivation rules need to be met by a more complex batcher implementation.
  • Batcher must be hardened to guarantee the strict ordering requirements.
  • Batcher implementations are suggested to follow a fixed nonce to block-range assignment, once the first batcher transaction starts being submitted.
  • Batcher implementations need to be made aware of the Steady Block Derivation rules, namely that invalid payloads will be derived as deposit-only blocks.
  • The sync-status should repeatedly be queried and matched against the expected safe chain, and halt operations until derivation catches up.

Sync Start Algorithm

  • Thanks to the new strict frame and batch ordering rules, the sync start algorithm can be simplified in the average case.
  • The sync start algorithm can optimistically select the last L2 unsafe, safe and finalized heads from the engine.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Holocene Era and Cultural Dynamics Quiz
25 questions
Human Impact on Extinction and Resources
50 questions
Rising Sea Levels in the Holocene Epoch
21 questions
Use Quizgecko on...
Browser
Browser