Deku, Shared DA as a messaging channel

Deku, Shared DA as a messaging channel

Deku is a new idea of sovereign roll-up architecture design that adds messaging layer for cross-sovereign rollups that share the same Data Availability layer.

The problem Deku, Shared DA as a messaging channel solves

Follow us on Twitter: piapark.eth and smuu.eth.

In this project, Deku, we introduce a new approach to accessing cross-chain data if they are sovereign rollups that use the same DA layer. This project is more like

Deku aims to provide a seamless cross-chain transaction experience that offers users to batch multiple cross-chain transactions into one request. By creating a membership payment system that utilizes blockchain technology --using Account Abstraction for customization, users can potentially receive discounts on gas fees and even pay gas with native tokens -- can be anything! Additionally, the ability to customize benefits based on membership tier could provide users with a personalized experience while allowing communities to set specific conditions for each tier.

For example, let's say Gitcoin is running its own rollup. And using Deku, other rollups that use the same DA layer as Gitcoin can actually do cross-chain public goods voting and batch these multiple voting transactions into one DA request.
(See attached picture)

Please take a look at our GitHub org to see all the detailed information: https://github.com/Deku-DA-project

Challenges we ran into

  • We failed to integrate with a Celestia local devnet in different versions.
    There were different reasons why we failed for different Celestia versions.
  • We tried integrating with a public devnet Arabica based on a new rc of Celestia. This means we need to use the newest version of rollkit to be compatible, but we could not start the first node because we can only start it if we have a trusted peer.
  • We got CORS errors when calling the Celestia endpoints from our frontend. We tried to fix it, but the Celestia node cannot add CORS headers. We tried to figure out if we could change the code of the Celestia node, but we could not find the correct place.
  • Celestia has two endpoints, gateway and openRPC. Celestia plans to have gateway read-only and openRPC for writing and reading.
    We tried using openRPC first, but in the older versions, it does not return anything, and in the newest version, it fails with a claim that the JSON is misconfigured. Then we tried gateway nevertheless and could read and write in the versions we tested.
    But due to the other blockers, we could not continue with that.

Technologies used

Discussion