From e0fa5ea594a5f07077ba48d65d3ab512fb9ac4a4 Mon Sep 17 00:00:00 2001 From: Bradley Stephenson Date: Fri, 29 Sep 2023 15:49:08 -0500 Subject: [PATCH] Update data-avail.md: Non-EVM DA (PoDA) Please read! Your attention is appreciated. The first Non-EVM DA within the OP Stack Community exists, and it's a protocol called Proof of Data Availability. It is used by the Rollux fork of Optimism. PoDA is L1 and has been mainnet for about eight months and Rollux has been mainnet since June 28th. You can find out about PoDA's design here: https://docs.rollux.com/docs/sys/PoDA/#optimistic-rollup-with-poda-proof-of-data-availability PoDA is available for anyone to use. Being PoW at its base with a hybrid finality makes it an interesting Multi-DA option in particular if a Rollup doesn't want to depend 100% on a single Proof-of-Stake based DA solution (which seem to make up the overwhelming majority). Good approach for architectural redundancy. PoDA does not use sharding. State proof is settled on a UTXO-based chain that is merge mined with Bitcoin, and raw data is archived offchain in its entirety by each participating full node (open network), bringing a lot of censorship resistance. To see the DA difference in the code, a delta between the OP and Rollux approach to DA is visible here: SYS-Labs/rollux@25a4c94 ALSO, since OP is pursuing modularization of DA in Superchain, it's worth mentioning that the Rollux Team and Syscoin Foundation have some interest in contributing there. All the best! --- src/docs/build/data-avail.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/docs/build/data-avail.md b/src/docs/build/data-avail.md index 30822d9..f349372 100644 --- a/src/docs/build/data-avail.md +++ b/src/docs/build/data-avail.md @@ -40,10 +40,14 @@ An example of an EVM-Ordered Alternative DA module can be found within [this mod ### Non-EVM DA -A non-EVM DA module uses a chain not based on the EVM to manage both the ordering and storage of raw input data. Such a modification would require relatively significant modifications to the [derivation portion](https://github.com/ethereum-optimism/optimism/tree/129032f15b76b0d2a940443a39433de931a97a44/op-node/rollup/derive) of the `op-node`. No such fully-independent DA modules have been developed yet — be the first! +A non-EVM DA module uses a chain not based on the EVM to manage both the ordering and storage of raw input data. Such solutions require relatively significant modifications to the [derivation portion](https://github.com/ethereum-optimism/optimism/tree/129032f15b76b0d2a940443a39433de931a97a44/op-node/rollup/derive) of the `op-node`. + +The first fully-independent DA module can be found within [the Rollux fork of the OP Stack](https://github.com/sys-labs/rollux/commit/25a4c9410ddae31ff7195f67495491f71e684e03) that uses [PoDA Protocol (Proof of Data Availability)](https://docs.rollux.com/docs/sys/PoDA/). PoDA is a layer 1 DA solution served by the Syscoin blockchain. + +The Rollux implementation of PoDA also provides [a path for serving PoDA to fractal layers (L3 and beyond) through layer 2](https://github.com/sys-labs/rollux/commit/6de6849f60f20f1e0b5ca314daa543344010003e). ### Multiple DA It is possible to use multiple Data Availability Layer modules at the same time. For instance, one could source data from two EVM-based chains simultaneously in order to form a bridge between the two chains. When using multiple Data Availability Layer modules, it is imperative to establish a global ordering between the two chains. One option for establishing this ordering is to use the timestamps of blocks from each chain. -Like a non-EVM DA module, a system with multiple Data Availability modules would need to make significant modifications to the [derivation portion](https://github.com/ethereum-optimism/optimism/tree/129032f15b76b0d2a940443a39433de931a97a44/op-node/rollup/derive) of the `op-node`. No such projects have been constructed yet. \ No newline at end of file +Like a non-EVM DA module, a system with multiple Data Availability modules would need to make significant modifications to the [derivation portion](https://github.com/ethereum-optimism/optimism/tree/129032f15b76b0d2a940443a39433de931a97a44/op-node/rollup/derive) of the `op-node`. No such projects have been constructed yet.