Try   HackMD

Data-Availibility Layer

The Data-Availibility Layer (DAL) is a decentralize data-base for Tezos. The use-case for such a data-base are the rollups solutions provided on Tezos: Smart-rollups and Epoxy. Such a decentralised data-base would allow to discharge the current Layer 1 that contains rollup operations.

Using such a decentralised database, it is possible to reach 1 million of TPS in a decentralised way.
The current alternative being the DAC project (Data-availibility Committee) which provides also a storage solution but backed only by a committee.

With data posted off-chain, we can jeopardize the refutability of rollups. Indeed, the refutability of rollups relies crucially on the fact that any honest player can get those data. When those data are on the Layer 1, it is sufficient to track the Layer 1. When data are posted on the DAL, the Layer 1 should be able to attest whether those data where indeed published on the DAL. This is what is called data-availibility.

The data availiblity only guarantees that the data where published at least once. It says nothing with respect to the availibility of the data over the time.

In the litterature, we may find also data-availibility sampling. The word sampling refers to a feature that allows to guarantee the availibility of the data for some amount of time which is fixed. In general, such amount of time depends on the use-case. For smart-rollups, it would be probably around two weeks.

Retrospective of 2022

In 2022, we started to explore solutions to implement a data-availibility layer for Tezos. In particular:

  • We have integrated the DAL to the economic protocol (behind a feature flag)
  • We have integrated the DAL with the Smart-rollups
  • We have integrated the DAL cryptographic primitives to the Tezos codebase
  • We have started the implementation of a DAL node. A binary similar to the octez-node for the DAL.
  • We have explored a P2P protocol for the DAL

The integration with Smart-rollups relies on the Reveal data channel. This allowed us to remove this idea of rollup subscription to the DAL. The integration of the DAL with the economic protocol relies on some parameters. The design of the DAL is resilient to changing values of this parameters (even though this is not fully supported yet).

Regarding the P2P protocol for the DAL, the experimentation shows that it is possible to support the bandwith required for the DAL. However, we lack of confidence for reliability.

The DAL in 2023

The current target is to release the DAL for 2023. The main development axis are:

  • Propose a design for the P2P protocol and test it
  • Validate the design of the DAL using E2E tests
  • Consolidate our P2P layer
  • Branch the P2P protocol to the DAL node
  • Make the DAL node resiliant to changes of parameters

Note that this plan is all about "data-availibility" and consequently, we do not propose to implement the sampling yet, even though we plan to add it in the future.

P2P/DAL node
Gossipsub
Consolidate P2P
End to end tests at large scale
Run numerous machines
End to end tests for the DAL node
Branch the DAL node on Gossipsub
2 week
Test extensively gossiupsub
Implement a
prototype of gossiupsub
3 weeks
Write a design document
4 weeks
Branch gossipsub on top of Octez-p2p
2 week
Extensively test
the connection protocol
6 weeks
Being able to
deactivate
the maintenance
2 weeks
Run end-to-end tests on a larger scale
?? weeks
Have an infrastruture
to run numerous machines
?? weeks
Fully automated test
for the DAL without P2P
1 weeks
The endorser emits
DAL attestations
1 week
Write Tezt tests
where everything
is automated except
the endorser
1 week
Automated tests
with mainnet parameters
1 week