A layer 2, scaling solution using zkSNARK rollups. Increasing transaction throughput whilst keeping all three part of the scalability trilema intact.
The Orbis Protocol, created by Orbis Labs, aims to address the scalability of Cardano by utilizing an already proven technology, zkSNARK rollups. This scalability solution can be put to use by many parts of the ecosystem but it is initially envisioned that they can provide DeFi with mass adoption capabilities. Other notable use cases include supply chains and micropayment platforms. These will not only make transactions faster but can also significantly reduce the cost of transactions.
The Orbis protocol utilizes the Halo 2 ZK proving system developed by Zcash. Chosen because it allows for a highly efficiency system.
It is possible, due to the nature of this technology, to build an entire ecosystem on top of Orbis and the Orbis Protocol can support Layer 3 rollups built on top of the Orbis Layer 2.
What is a zkSNARK Rollup?
zkSNARK stands for:
Zero Knowledge Succinct Non-interactive ARgument of Knowledge
- Zero Knowledge: Meaning that it does not prove anything more than it needs to prove i.e. it doesn’t reveal any information other than that the statement it makes is true.
- Succinct: Small and easy to verify.
- Non-interactive: Constructed without interaction between the two parties, the prover and verifier.
- Argument of Knowledge: Proof.
Rollup means to roll multiple zkSNARK transactions into one zkSNARK, presenting a batch of transactions as a single, succinct, and cryptographically secure piece of information to be stored on-chain.
How the Orbis Protocol Works
The Orbis protocol can be thought of as a sidechain within a smart contract. A smart contract on the Cardano main-chain is used to lock up the funds that are used in the off-chain environment. Transactions are processed off-chain and the results, called proofs, are bundled, i.e. rolled up, into a single knowledge proof and submitted on-chain via the smart contract. The two parts of this system are called a Verifier and a Prover.
Prover - The prover is the off-chain system that creates the zkSNARK proofs by verifying that transactions have occurred in the off-chain environment. An API allows users to inspect the state of the rollup and to post transactions to it.
Verifier - The verifier is the on-chain smart contract where the funds used on the layer 2, off-chain environment are locked. This prevents double spending of these funds. The verifier validates the transactions created by the prover before posting the completed rollup proof onto the main-chain.
Initially Orbis Labs will operate the only Prover Node but, in time, others will be able to operate prover nodes, thus increasing decentralization of the protocol. It is envision that this will take on a life of its own and that the Orbis protocol will be decentralized and used throughout the Cardano ecosystem.
Orbis will support 2 new programing languages related to the Cardano smart contract programing language Pultus. Both of these are alternatives to Plutus and are optimized for efficient on-chain deployment. These are:
- Pluto: A simple and easy to learn language
- Plutarch: a Haskell-embedded domain specific language