[go: up one dir, main page]

EVM Node: Verify sequencer blueprint signatures in the node

Part of L2-151

What

This change introduces a signature verification step for sequencer blueprints within the EVM node. It also modifies the mechanism for passing blueprints to the PVM, shifting from direct kernel inputs to durable storage.

Why

This is first and foremost a preparatory step to allow skipping the signature verification of the blueprint for the sequencer mode.

How

Before applying a new blueprint, the Evm_context now retrieves the sequencer's public key from storage. It then uses the new Sequencer_blueprint.check_signature function to verify each chunk of the incoming blueprint.

The Evm_state.apply_blueprint function has been refactored. It no longer passes the blueprint payload as a kernel input. Instead, it writes the verified, unsigned blueprint chunks to the dedicated paths in durable storage. The PVM is then executed with an empty input list, signaling to the kernel that it must read the current blueprint from durable storage itself. This essentially allows to skip the stage one of the EVM node. The replay logic has been adapted to this new flow, skipping the signature check for trusted, previously-validated blueprints.

Manually testing the MR

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Thomas Letan

Merge request reports

Loading