Draft: Tx_rollup: Implement the base semantics of the layer-2
Context
This is the Merge Request #2.B
(see the related document for more information).
The goal is to add the L2 implementation that will be needed by the rejection operation.
Changes with oru@main
:
- There is no more “full” and “compressed” versions of the L2 operations
- The true focus of this MR is to implement a correct
apply
function, wrt. available features and safety. - If a compressed version can be correctly signed at a given point, but incorrectly signed later (e.g., it is possible because the counter is not included in the compressed version of the operation), it is possible to discard a complete batch with a single operation. Indeed, with aggregated BLS signatures, it is not possible to know which operation is wrongly signed, so one need to discard the whole batch.
- The true focus of this MR is to implement a correct
- The notion of “atomic transaction” (made of several operations) is implemented.
- Note that we have shown that this new implementation of the apply function is compatible with
traced_storage
. If necessary, the related commit can be added to the MR.
A second MR is expected to focus on improve the theoretical throughput of transaction rollup by finding the best compromise between proof size and operation size.
Manually testing the MR
cd src/proto_alpha/lib_protocol/test && dune exec ./main.exe -- test "^tx rollup$"; cd -
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, theDevelopment Version
section ofCHANGES.md
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 Thomas Letan