Skip to content

Sequencer: Threshold encryption mode

Andrea Cerone requested to merge andrea@te-sequencer-blueprint-producer-1 into master

Follows: !12645 (closed)

What

  • A new threshold encryption mode of operation for the EVM node
  • A new threshold encryption sequencer module for when the EVM node sequencer is run in threshold encryption sequencer mode
  • A blueprint producer interface responsible for receiving transactions and produce blueprints
  • An implementation of the blueprint producer using the Tx_pool and a scheduler that produces transactions every .5 seconds

Why

Because for the threshold encryption, blueprint production will be deferred to a rust sidecar. For this reason, we need to have a clearly defined interface. Later on we will provide an implementation that will make use of calls to the rust sidecar to provide blueprint production capabilities.

How

  • With OCaml, Harnessing first-class modules, module types, and functors for unparalleled code flexibility and scalability.

Manually testing the MR

Note that threshold encryption tezts are disabled on purpose in the CI. If you want to test this MR, you'll need to checkout the branch, build the octez binaries and etherlink kernel, and run

$ make
$ dune exec etherlink/tezt/tests/main.exe -- --file evm_sequencer.ml threshold_encryption

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 Julien Coolen

Merge request reports