specs icon indicating copy to clipboard operation
specs copied to clipboard

feat(engine.queue): consistent safe head progression on failures

Open hamdiallam opened this issue 1 year ago • 3 comments

We can simplify derivation by having the pipeline always ensure safe head progression when processing payloads pulled from L1.

  1. Always Valid (empty deposits-only block)
  2. A proper L2 block created from the provided payload.

This simplifies the back & forth between the engine and attributes queue upon failures when producing batches. Rather than wait for the sequencer window to create empty batches, we do it right away and move onto the next batch.

hamdiallam avatar Mar 12 '24 02:03 hamdiallam

Can you make this its own markdown file in the experimental section? This helps to keep information more modular, then we can link that doc directly into a network upgrade doc, see https://github.com/ethereum-optimism/specs/issues/26 for context

tynes avatar Mar 12 '24 02:03 tynes

Can you make this its own markdown file in the experimental section? This helps to keep information more modular, then we can link that doc directly into a network upgrade doc, see #26 for context

Moved over to /experimental/engine_queue_block_derivation.md

hamdiallam avatar Mar 12 '24 21:03 hamdiallam

The complexity here lies in the block hash consistency checks, if we malleate a block then we need a way to signal there was a malleated block and keep the hash consistency

tynes avatar May 20 '24 22:05 tynes

Going to close this as @sebastianst now owns this

tynes avatar Aug 02 '24 03:08 tynes