Sequencer: Threshold encryption mode
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