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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Merge request reports
Activity
added EVMthreshold-encryption label
assigned to @andrea.cerone
added 1 commit
- d6d87658 - Evm node: Block producer for threshold encryption mode
- Resolved by Sylvain R.
- Resolved by Sylvain R.
- Resolved by Sylvain R.
- Resolved by Sylvain R.
added 33 commits
-
b94cc982...73eff9b6 - 28 commits from branch
andrea@te-sequencer-new-evm-command - adfa0b8c - Evm node: blueprint producer
- a5905f2b - Evm node: Block producer for threshold encryption mode
- 5bc92a0e - Fixup: get maximum number of chunks from config
- a79a7640 - Evm node: decouple Blueprint_publisher from Tx_pool
- 1df80b6c - Evm_node: Blueprint_producer: decouple initialization from starting execution
Toggle commit list-
b94cc982...73eff9b6 - 28 commits from branch
added 1 commit
- 92b6c896 - Fixup: decouple block producer and threshold_encryption_block_producer
added 11 commits
-
92b6c896...4a05b898 - 3 commits from branch
andrea@te-sequencer-new-evm-command - c89e596a - Evm node: blueprint producer
- 66eea222 - Evm node: Block producer for threshold encryption mode
- 8b98c301 - Fixup: get maximum number of chunks from config
- f55b19f0 - Evm node: decouple Blueprint_publisher from Tx_pool
- 0be0f614 - Evm_node: Blueprint_producer: decouple initialization from starting execution
- c51ff215 - Fixup: decouple block producer and threshold_encryption_block_producer
- 7289373a - Fixup: tezt command
- 0f00898a - Fixup: block producer decoupling
Toggle commit list-
92b6c896...4a05b898 - 3 commits from branch
- Resolved by Sylvain R.
added 80 commits
-
0f00898a...2f707802 - 70 commits from branch
andrea@te-sequencer-new-evm-command - a851bda6 - Evm node: blueprint producer
- 356ee9aa - Evm node: Block producer for threshold encryption mode
- 712b77d2 - Fixup: get maximum number of chunks from config
- 20d4ac3f - Evm node: decouple Blueprint_publisher from Tx_pool
- 99168a38 - Evm_node: Blueprint_producer: decouple initialization from starting execution
- 19b31097 - Fixup: decouple block producer and threshold_encryption_block_producer
- 1c41480f - Fixup: tezt command
- 14327b9a - Fixup: block producer decoupling
- 384b7542 - Fixup: add tx_pool_timeout_limit to TE sequencer
- 681a76c6 - Fixup: blueprint producer documentation
Toggle commit list-
0f00898a...2f707802 - 70 commits from branch
mentioned in merge request !12645 (closed)
mentioned in merge request !12813 (closed)
requested review from @picdc, @sribaroud, @m-kus, and @lthms
requested review from @jtcoolen
assigned to @lthms and unassigned @andrea.cerone
added 173 commits
-
5769edfa...316c0765 - 171 commits from branch
master - 806d1145 - Evm node: new threshold encryption mode of operation
- 18e29ba2 - Tezt: Evm sequencer: fork all tests to run in TE sequencer mode
-
5769edfa...316c0765 - 171 commits from branch
- Resolved by Julien Coolen
- Resolved by Andrea Cerone
- Resolved by Julien Coolen
- Resolved by Julien Coolen
assigned to @andrea.cerone and unassigned @jtcoolen
added 34 commits
-
18e29ba2...da6e2077 - 30 commits from branch
master - 7d14fb67 - Evm node: new threshold encryption mode of operation
- e3afd69c - Blueprints produced: wait for blueprint to be applied before producing the next one
- ab46ed3d - Evm node: keep produce_block synchronised with blueprint production loop
- 15268aa1 - Fixup - tezts
Toggle commit list-
18e29ba2...da6e2077 - 30 commits from branch
added 1 commit
- 6a568193 - EVM node: improve documentation for TE Blueprints producer
added 2 commits
assigned to @jtcoolen and unassigned @andrea.cerone
mentioned in commit fd50397c
added 99 commits
-
6b38b3ad...0f52b2ff - 91 commits from branch
master - 08926224 - Evm node: new threshold encryption mode of operation
- 7b935020 - Blueprints produced: wait for blueprint to be applied before producing the next one
- e6b386c5 - Evm node: keep produce_block synchronised with blueprint production loop
- 441192fd - Fixup - tezts
- 564c95e2 - EVM node: improve documentation for TE Blueprints producer
- c9d2c6bf - Fixup: shutdown logic
- 391b049a - Fixup: threshold_encryption
- c9bb001c - EVM Node: sequencer - switch back to pull logic
Toggle commit list-
6b38b3ad...0f52b2ff - 91 commits from branch
assigned to @sribaroud
unassigned @jtcoolen
assigned to @lthms
LTGM!
Edited by Julien Coolenadded 255 commits
-
c9bb001c...96ba29d8 - 253 commits from branch
master - d8be7cb2 - Evm node: new threshold encryption mode of operation
- d5fc101c - Tests
-
c9bb001c...96ba29d8 - 253 commits from branch