Nomos is a blockchain infrastructure designed for dApps that require high levels of privacy and resilience. At the moment, you can’t build apps on Nomos directly. Instead, apps must be hosted on independent blockchains known as Sovereign Rollups, which use Nomos to enhance their own security.
A Sovereign Rollup is a type of blockchain that outsources some of its basic functions to another “Layer 1” (or L1) chain, such as Nomos. Essentially, Sovereign Rollups handle updating and verifying their own state, while relying on the larger L1 network to provide:
The beauty of Sovereign Rollups is their independence. Traditional rollups rely on enshrined smart contracts on the L1 chain to determine their correct state, making them inflexible and resistant to change. By contrast, Sovereign Rollups leverage the combined power of all L1 validators for resilience and security, while having full control over their own state. This makes them more customisable and often faster than traditional rollups, without having to gather their own validators from scratch.
<aside> 💡
For more information about Sovereign Rollups, please read the dedicated blog post.
</aside>
The common denominator between all Sovereign Rollups is that they obtain both consensus and data availability security from the base layer they attach themselves to (such as Nomos). Their state security, on the other hand, can be handled in by whichever method the SR’s creator chooses to use. There are many different ways to do this, including publishing Zero Knowledge (ZK) validity proofs to be verified by its validators (ZK rollups), providing a challenge window for fraud proofs (optimistic rollups), or by requiring rollup nodes to re-execute the state transition function (STF) (pessimistic rollups).
The best way to build a Sovereign Rollup is undoubtedly by using ZK validity proofs since only one sequencer is required. However, if using ZK validity proofs is not a viable option, the next-best option is to use a pessimistic approach. This entails having multiple nodes running the same STF to “keep each other in check”, without requiring consensus on the Sovereign Rollup. This allows nodes to signal to the network if they detect some node being malicious. The details of any such implementation are totally up to the creator(s) of the SR.
Smart contracts, programmable assets, and other applications cannot be implemented directly on Nomos. Instead, building an application on Nomos requires you to first define its Sovereign Rollup environment. This rollup could be as simple as a dedicated appchain or as complex as an entire ecosystem supporting multiple applications - all tailored to your specific requirements.
Sovereign Rollups send transaction data to Nomos, but Nomos doesn’t try to understand or interpret this data. Instead, the rollup’s own validators are responsible for using this data in order to maintain the correct state. All Nomos does is ensure the correct ordering and integrity of data posted to it. This approach gives developers tremendous freedom.
Under the Nomos model, responsibilities are divided between several blockchains, with every chain laser-focused on its own tasks and relying on others for the rest. Nomos acts as a foundational layer for Sovereign Rollups, letting them handle what they do best. For a summary of who’s in charge of what for applications built on Nomos, take a look at the table below:
Nomos | Sovereign Rollup | |
---|---|---|
Consensus (Transaction Ordering) | ✔ | ❌ |
Data Availability | ✔ | ❌ |
Validating State | ❌ | ✔ |
Asset Creation & Transfer | ❌ | ✔ |
Smart Contracts | ❌ | ✔ |
Asset Bridging | ❌ | ✔ |
Governance | ❌ | ✔ |
One possible way to build a Sovereign Rollup on Nomos is to create a Zero Knowledge (ZK) rollup that publishes its proofs to Nomos. This example rollup uses a specialised sequencer to process transactions it receives from clients. It batches transactions together and sends the batched state data to NomosDA (Nomo’s data availability service).
At the same time, the sequencer creates ZK proofs for its state updates and distributes them off-chain. Rollup light nodes can then verify the proofs received from the sequencer to ensure the correctness of state updates. To ensure that these proofs correspond to actual changes in the rollup state, these light nodes check the availability of the data on Nomos by using efficient sampling techniques. This process is illustrated in the diagram below.
This example ZK rollup is perfectly positioned to support verifiable applications that leverage the privacy and resilience of Nomos. Of course, any other method of state verification could also be used - including but not limited to providing a challenge window for fraud proofs or requiring rollup nodes to re-execute the state transition function.