Since the advent of Bitcoin, the “Scalability Trilema” problem has plagued the industry in our attempts to create a distributed ledger that does not compromise between decentralization, security, and scalability. The old design paradigm for blockchains was monolithic where data availability, smart contract execution, and consensus are all handled by the same layer and network participants (miners and nodes). The problem with this approach is that by requiring all network participants to contribute to all levels of blockchain production and maintenance, it prevents the process of optimization through specialization.
The current evolution of blockchain design can be compared to the concept of division of labor introduced during the industrial revolution, where production tasks were separated among highly specialized workers and equipment. This is the new model of modular blockchains. Modular blockchains differ from monolithic ones in that instead of requiring all network participants to contribute to smart contract execution, data availability, and consensus, network participants can specialize in their niche, optimizing and improving all individual slots, and therefore the blockchain as a whole.
Blockchain itself is a game of consensus, where disparate actors independent of each other collaborate with the common goal of reaching agreement on a set of transactions and the current state of a system. From the Nakamoto Consensus to Ouroboros, much thought and experimentation has taken place to find practical and effective large-scale ways to achieve consensus in a fully decentralized way. Security comes into play to provide resistance to bugs and attacks and is an interaction between fundamental aspects of computer science, software development, economics and game theory. As the blockchain grows in data and number of nodes, the practical limits of network communication come into play in how quickly consensus can be reached for a given state. The number of transactions that can be processed at any given time is reaching bottlenecks that can only be overcome by compromising decentralization and security.
For blockchain to achieve true mass adoption and support a global financial system of applications and services, throughput scaling solutions are needed. Allowing specialized networks to focus primarily on executing smart contracts eliminates the need to compromise on the decentralization and security of the network as a whole. This is an approach taken by rollups.
What is a “zkSNARK stack”?
Zero Knowledge (ZK) rollups are a mechanism by which transactions are processed off-chain and the results (evidence) are aggregated (rolled up) and submitted on-chain. In a layer 1 blockchain, all transactions, smart contracts, and state data are stored on the blockchain. In a ZK rollup, this code and data is stored off-chain, and the chain stores proof that this information exists. The zkSNARKs stored on the chain prove that for a set of inputs and a set of outputs, there is a set of transactions that have been signed by the parties involved and have followed the rules of the relevant smart contracts. These transactions never need to be recorded on-chain; we only have to record the inputs, the outputs and the proof that these outputs legally result (according to the rules of the blockchain) from the inputs.
A zkSNARK is a non-interactive zero-knowledge succinct knowledge ARgument. In this definition, “knowledge argument” means “evidence”. It has the characteristics of being zero-knowledge (it proves nothing more than the statement to be proven), succinct (the proof can be represented on a small number of bytes) and non-interactive (the proof can be represented by a single message, as opposed to a multi-step interaction between the evidence entity and the evidence verification entity).
Zero-knowledge rollups are superior to other rollup solutions in terms of speed, both rollup generation time and deposit/withdrawal times, scalability (ZKRs can scale linearly to using recursive proofs), and in that they provide mathematical guarantees that allow the network that generates the rollup to be decentralized.
Orbis is the first ZK rollup layer 2 solution for Cardano designed to support decentralized finance (DeFi) applications and a thriving blockchain ecosystem. Orbis provides the level of scalability and transaction throughput needed for blockchain to achieve its goal of becoming a truly global financial system. Transactions occur off-chain on layer 2 of Orbis and are aggregated into a single ZK (zero-knowledge) proof that is submitted on-chain to layer 1 of Cardano and verified. This proof provides mathematical and tamper-proof proof that the transactions took place on Orbis.
Orbis has two main components: the Prover and the Verifier.
The prover is an off-chain system and its objective is to build zkSNARK proofs verifying the occurrence of transactions. The prover has an API similar to a blockchain node that allows users to inspect rollup status and post transactions. The verifier is an on-chain smart contract. Its function is to settle transactions that take place on Cardano. The Contract Verifier accepts on-chain asset entries, locking them into the contract so they can be used on the rollup without risking double-spending. The verifier contract further validates transactions created by the prover that contain the outputs of the rollup and evidence that those transactions resulted from a set of valid transactions based on the inputs provided to the verifier contract.
Orbis provides an off-chain context in which smart contract validation code can run. Instead of being executed to create transactions on Cardano’s Layer 1, in this context, validation code is executed to create transactions on the Layer 2 rollup. Orbis will allow PlutusTx smart contracts to be easily transferred . Additionally, Orbis will support new programming languages called Pluto and Plutarch. Pluto and Plutarch are alternatives to PlutusTx for writing chain scripts. They optimize for efficient chain deployment using zero-cost abstractions on Plutus Core. Pluto is simple and easy to learn. Plutarch is a domain-specific language integrated with Haskell, which means that all of Haskell’s features are available to help write Plutarch programs.
Using Halo 2 recursive ZK proofs, Orbis will support the development of application-specific rollups for specific use cases such as DeFi, NFT, supply chains, and micropayments. We expect the general user and developer community on Cardano to find a familiar environment on Orbis Layer 2 with more niche applications creating their own bespoke rollup solutions that remain composable with other rollups. and the underlying Layer 2 Orbis. A thriving DeFi ecosystem built on Orbis can seamlessly interact between various rollups and the mainchain.
Initially, Orbis will launch with a single Prover operated by Orbis Labs. Orbis will transition to a fully decentralized and distributed stack where network participants will exist in an open, permissionless network. The complete decentralization of the prover means that no single computer, individual or trusted entity is a single point of failure. Complete decentralization of the Prover is not part of the initial release scope, but is an eventual project goal and commitment.
Cardano needs a scaling solution that makes minimal trade-offs to achieve optimal results and Hydra will not solve all scaling issues. We propose Orbis as the best possible scaling solution because it retains all the basic design principles of the Cardano blockchain while having the ability to scale the network until it can safely host large-scale RealFi and DeFi applications. The potential of ZK technology to transform the world in general and blockchains in particular cannot be underestimated. Orbis will enable all dApps on Cardano to achieve true mass adoption.
ZK rollups enable computation and verification of transactions and smart contract functions on a specialized off-chain network.
Orbis will allow dApps to enjoy much higher throughput without compromising Cardano’s Layer 1 security guarantees.
Orbis will be decentralized like the underlying Cardano blockchain, thereby preserving the censorship-resistant and fault-tolerant nature of decentralized systems.