[go: up one dir, main page]

DAL: Introduce shard validation disabling mechanism

What

Enable disabling shard validation in the DAL node using an environment variable (together with the necessary CLI option --disable-shard-validation )

Why

One of the detected bottlenecks in the DAL layer was determined to be the cryptographic validation of shards, as explained in this experiment.

Therefore, in order to continue searching for other potential bottlenecks, we want to be able to disable the shard validation (but only for testing purposes) therefore we introduce a more complex mechanism to do that (inspired by the approach used for the Yes-crypto mechanism in !13862 (merged)).

How

By using a TEZOS_DISABLE_SHARD_VALIDATION_I_KNOW_WHAT_I_AM_DOING environment variable.

To further protect against a mis-usage of this environment variable, DAL nodes must also explicitly disable shard validation by using the new argument --disable-shard-validation.

Manually testing the MR

dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation wrong CLI)'

dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation wrong env)'

dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation correct CLI)'

For the tezt-cloud, one should now be able to add the --disable-shard-validation option to the DAL scenario command, and this should disable the cryptographic verification of the DAL shards.

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 Gabriel Moise

Merge request reports

Loading