Skip to content

SCORU: Add reveal ticks

Context

Fixes #3817 (closed)

This MR introduces a new kind of ticks for PVM, namely reveal ticks. The purpose of such ticks is to allow the PVM to be provided with some data that is the preimage of a hash.

This creates an efficient channel of input data that is not coming from layer 1 (by contrast with inbox messages). As such, the amount of data is not limited by the size of L1 blocks or the latency of the mainnet.

It is the responsibility of rollups to make the preimages available to anyone to keep the rollup verifiable.

Manually testing the MR

Using:

 dune exec tezt/tests/main.exe -- --file sc_rollup.ml reveal --verbose

one can observe that the arithmetic PVM is now able to perform a lot of transactions by downloading from the rollup node a large file representing a large arithmetic expression, this file being denoted by its hash in an initial inbox message:

[13:04:28.701] [sc-rollup-node1] Sep  2 15:04:28.701 - sc_rollup_node.arith.interpreter: Transitioned PVM at inbox level 3 to
[13:04:28.701] [sc-rollup-node1] Sep  2 15:04:28.701 - sc_rollup_node.arith.interpreter:   scs132jMQiY7xF26BGWBGkSWUnYS5ji9QhEUgK2v4PVSiES6uhZJW5 at tick 197387 with
[13:04:28.701] [sc-rollup-node1] Sep  2 15:04:28.701 - sc_rollup_node.arith.interpreter:   1 messages

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 Yann Regis-Gianas

Merge request reports