Skip to content
Snippets Groups Projects

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

Merge request reports

Merge request pipeline #1266793423 passed with warnings

Merge request pipeline passed with warnings for 975f19fe

Approved by

Merged by Marge BotMarge Bot Apr 24, 2024 (Apr 24, 2024 10:22pm UTC)

Merge details

  • Changes merged into master with 24fa53df.
  • Deleted the source branch.

Pipeline #1266814891 passed with warnings

Pipeline passed with warnings for 24fa53df on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Sylvain R.
  • Sylvain R.
  • Sylvain R.
  • Andrea Cerone added 33 commits

    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

    Compare with previous version

  • Andrea Cerone added 1 commit

    added 1 commit

    • 92b6c896 - Fixup: decouple block producer and threshold_encryption_block_producer

    Compare with previous version

  • Andrea Cerone added 11 commits

    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

    Compare with previous version

  • Sylvain R.
  • Andrea Cerone added 80 commits

    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

    Compare with previous version

  • Andrea Cerone added 2 commits

    added 2 commits

    • 703bb891 - Evm node: new threshold encryption mode of operation
    • 342be027 - Tezt: Evm sequencer: fork all tests to run in TE sequencer mode

    Compare with previous version

  • Andrea Cerone mentioned in merge request !12645 (closed)

    mentioned in merge request !12645 (closed)

  • Andrea Cerone mentioned in merge request !12813 (closed)

    mentioned in merge request !12813 (closed)

  • Andrea Cerone added 2 commits

    added 2 commits

    • b010bc4a - Evm node: new threshold encryption mode of operation
    • 5769edfa - Tezt: Evm sequencer: fork all tests to run in TE sequencer mode

    Compare with previous version

  • Andrea Cerone marked this merge request as ready

    marked this merge request as ready

  • Andrea Cerone changed title from Draft: WIP: Sequencer: Blueprint producer client for threshold encryption mode (pull logic) to Sequencer: Threshold encryption mode

    changed title from Draft: WIP: Sequencer: Blueprint producer client for threshold encryption mode (pull logic) to Sequencer: Threshold encryption mode

  • Andrea Cerone changed the description

    changed the description

  • Andrea Cerone changed target branch from andrea@te-sequencer-new-evm-command to master

    changed target branch from andrea@te-sequencer-new-evm-command to master

  • requested review from @picdc, @sribaroud, @m-kus, and @lthms

  • Andrea Cerone requested review from @jtcoolen

    requested review from @jtcoolen

  • Andrea Cerone assigned to @lthms and unassigned @andrea.cerone

    assigned to @lthms and unassigned @andrea.cerone

  • Andrea Cerone added 173 commits

    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

    Compare with previous version

  • Julien Coolen changed the description

    changed the description

  • Julien Coolen assigned to @jtcoolen and unassigned @lthms

    assigned to @jtcoolen and unassigned @lthms

  • assigned to @andrea.cerone and unassigned @jtcoolen

  • Andrea Cerone added 34 commits

    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

    Compare with previous version

  • Andrea Cerone added 1 commit

    added 1 commit

    • 6a568193 - EVM node: improve documentation for TE Blueprints producer

    Compare with previous version

  • Andrea Cerone added 1 commit

    added 1 commit

    Compare with previous version

  • Andrea Cerone added 2 commits

    added 2 commits

    Compare with previous version

  • assigned to @jtcoolen and unassigned @andrea.cerone

  • Andrea Cerone marked this merge request as draft

    marked this merge request as draft

  • Andrea Cerone mentioned in commit fd50397c

    mentioned in commit fd50397c

  • Andrea Cerone added 99 commits

    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

    Compare with previous version

  • assigned to @sribaroud

  • assigned to @lthms

  • Sylvain R. resolved all threads

    resolved all threads

  • LTGM!

    Edited by Julien Coolen
  • Julien Coolen approved this merge request

    approved this merge request

  • Andrea Cerone added 255 commits

    added 255 commits

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading