Comment on page
Rollups on Bitcoin
Bitcoin, scaled. NOS is a fast, stable, and scalable Bitcoin L2 blockchain.
By bringing smart contracts to Bitcoin, Trustless Computer lets developers create DEX, DAO, tokens, data storage, and many other use cases on Bitcoin. However, the biggest challenge is Bitcoin's 10-min block time.
Increasing Bitcoin capability in terms of speed is fundamental to the mass adoption of decentralized applications on Bitcoin.
The main goal of NOS (or "Nitrous Oxide") is to turbocharge Bitcoin transactions (reduce transaction latency) without sacrificing decentralization or security.
In this case, NOS takes advantage of the consensus mechanism of Bitcoin instead of its own. This is possible thanks to the Trustless Computer protocol, which brings smart contract capability to Bitcoin.
Figure 1. The NOS software stack.
The foundation of the NOS software stack is the Data Validation component. This component significantly impacts the security model of the whole stack. Everything else in the entire stack is derived from the Data Validation component.
For pragmatic reasons, NOS currently stores data on both Bitcoin and Polygon. Bitcoin is arguably the most secure blockchain. NOS stores the data hash on Bitcoin. Polygon is the most cost-effective storage solution. NOS stores the data (compressed transactions) on Polygon.
Trustless Computer #0 is a special computer. It is a modified version of the EVM that adds smart contracts to Bitcoin. Trustless Computer #0 is used to glue all the components of the NOS software stack together.
Implementation: Under development
We're actively working on decentralizing the sequencer. ETA: Q3 2023.
A sequencer (block producer) determines how transactions are collected and published to Layer 1. The sequencer compresses transactions into batches and writes these batches to Polygon, and writes the hash to Bitcoin via Trustless Computer to ensure data availability and integrity.
NOS blocks are currently produced every 2 seconds.
Figure 2. The transaction flow of writing the transactions to L1
The Rollup node defines how the raw data stored in the Data Availability component (Polygon) is processed to form the inputs for the Execution Engine.
This is also referred to as the Derivation component, which derives the L2 blocks from the L1 blocks.
The Execution Engine defines the state transition function. It takes inputs from the Rollup node, executes on the current state, and outputs the new state.
op-geth is a modified version of the EVM that adds support for L2 transactions.
The Settlement component commits the Merkle root of the new state (the output from the Execution Engine) to Bitcoin.
Note that the state roots are not immediately valid. In an optimistic rollup setup, state commitments are published onto Bitcoin as pending validity for a period (currently, set as 7 days) and subject to challenge.
The Optimism team is developing the fault-proof process. Once it’s completed, we’ll add it to NOS.
Figure 3. The transaction flow of state processing.
Users can deposit Bitcoin assets (BTC and BRC-20 tokens) from Bitcoin to NOS and, vice versa, withdraw them back.
For example, to deposit BTC from Bitcoin to NOS
To withdraw BTC from NOS to Bitcoin
- 1.Initiate a withdrawal on NOS
- 2.Wait for the next Merkle root to be committed to Bitcoin
- 3.Submit the withdrawal proof
- 4.After the fault challenge period ends, withdraw your WBTC
- 5.Unwrap WBTC to BTC via Trustless Bridge
Implementation: NOS as a BRC-20 token
NOS is the governance token to decentralize decision-making.
Implementation: Under development
The NOS DAO manages NOS configurations, upgrades, design decisions, development grants, etc.