Use The Shared Sequencer Network With Astria Dusknet
Oct 18, 2023
Astria is pleased to announce its shared sequencer devnet, Dusknet. This release marks the first time users can permissionlessly deploy rollups to a remote shared sequencer network.
Today, we are happy to announce the launch of Dusknet, our persistent devnet. Dusknet enables anyone to permissionlessly deploy multiple rollups to be sequenced by a single remote shared sequencer network. In a previous blog post, we showcased our dev cluster, which allowed developers to deploy the entire Astria stack locally.
Dusknet is operated as a centralized devnet, hosted by the Astria core development team. This release showcases our ongoing development work and serves as a major step towards making deploying a rollup as easy as deploying a smart contract.
Our upcoming testnet, Dawnnet, will be a decentralized network.
What Is A Shared Sequencer?
A sequencer orders rollup transactions on behalf of users. To date, major rollups have relied on independent centralized sequencers, wherein one party has complete control over transaction ordering for all blocks.
On the contrary, decentralized sequencers involve multiple parties who take turns ordering transactions for each block, eliminating reliance on a single entity and preventing persistent censorship.
A shared sequencer is a sequencer which orders blocks for more than one rollup. By sharing a sequencer, rollups inherently share a temporal domain (i.e. block timing), allowing for atomic inclusion of transactions for multiple rollups.
How The Astria Shared Sequencer Works
In Astria, transactions are ordered and submitted to the DA in the following sequence:
Users sign rollup transactions with a wallet and send them to a rollup's RPC node.
A composer takes these transactions, wraps them into an Astria transaction, signs the transaction, and sends it to the Astria mempool. A naive rollup deployment has a single composer for each rollup RPC node.
The sequencer orders transactions and commits to the block ordering, giving the user a fast (soft) confirmation.
The relayer posts blocks from the Astria sequencer to the DA layer.
The DA layer, Celestia, provides rollups with stronger finality and trust minimized data availability guarantees via Data Availability Sampling.
The conductor retrieves sequencer blocks both directly from the sequencer and from Celestia for a given rollup RPC node. These blocks are filtered to only include the transactions relevant to a given conductor’s rollup. The conductor then sends these transactions, along with metadata indicating if they had a soft or firm confirmation, back to the rollup RPC node to be executed.
For more technical details see the specs directory of the Astria monorepo.
How To Use Astria Dusknet To Sequence Your Rollup
To use Astria Dusknet, a rollup must be configured to write transactions to, and read and execute blocks from the remote sequencer network.
To make this as easy as possible, our dev-cluster repo includes a helm chart with all the necessary components to get started configuring and deploying a rollup. We also provide a CLI tool, astria-cli, to simplify the process.
To get started, head over to our documentation page, which contains step-by-step instructions for deploying rollup(s) locally or on a cloud provider of your choice.