[DAL]: Making DAL Participation Explicit for Bakers
Owner: @GuillaumeGen
The goal of this milestone is to modify the baker binary to enforce run of a DAL node, unless explicitly opting out. It aims to address both the technical and user experience (UX) challenges related to the launch of the DAL by bakers.
Associated design document is: https://docs.google.com/document/d/1RztUpkLE6ns9Ys94_hVDreUf-TIngYLxyRxvmx1keng/edit?tab=t.0
Work breakdown for alpha
-
A call to the health RPC is done (!14960 (merged)) -
Create an option --without-daland prevent launch on a baker daemon without mention of the DAL node. A warning is also emitted if the DAL node is unreachable or in bad health when the baking daemon is launched (!16049 (merged) for alpha) -
A call to the health RPC of the DAL node is done periodically and displayed in the baker logs. (!16081 (merged)) -
The periodic heath check of the DAL node is more accurate (check that expected-to-be-attested shards are attested).
Releasing it
A design choice has to be taken regarding the release of this change.
A suggested strategy, was to have a minor version (21.2 typically) for which --without-dal is optional and a deprecation warning is issued if it is not used, and the next major release of octez contains the breaking change (so --without-dal becomes mandatory if no DAL node is provided).
To implement this strategy, it would require to open a merge request affecting at least Quebec where:
-
--without-dalis accepted byoctez-baker-XXXcommand line. (!16214 (merged)) -
A deprecation warning is issued if a baker daemon is launched without DAL mention. (!16213 (merged))
Communication
-
Update the baker command documentation. (!16361 (merged)) -
update changelog of octez. (Partially done in !16049 (merged), docs/introduction/breaking_changes.rstchanged in !16361 (merged)) -
update tutorials.
Deliverables
-
The baker daemon cannot be launched omitting mention of the DAL node. Either a DAL endpoint is provided or --without-dalis explicitly given.