Introduction to Modular Scalability
All blockchain protocols achieve consensus by sharing transaction information among a large network of computers. This process consists of three key elements:
Execution: the mechanism that computes the state change of the ledger, validating proposed transactions
Data Availability: access to current and previous states of the chain, as well as the transactions used to compute the new state of the chain
Settlement: the unification of the previous chain state, verified transactions, and the newly computed chain state, resulting in a confirmed, agreed-upon ledger
When blockchain technology first entered the mainstream, no one thought in these terms. The priority was achieving consensus — global agreement on chain state and a mechanism for updating it. On the original monolithic blockchains, such as Bitcoin or Ethereum, transaction execution, data availability, and settlement were inseparable. Every node had access to the entirety of the ledger, and state changes were recorded simultaneously by the distributed network.
While the unification of these three elements may seem intuitive, such rigidity limits the scalability of a monolithic blockchain. If a single element is inadequate, the problem magnifies exponentially when shared across thousands of nodes. The result necessitates a compromise in at least one of scalability, security, or decentralization (known as the Blockchain Trilemma). Ethereum, for example, is decentralized and secure, but also slow and expensive. Solana is quick and inexpensive, but centralized and insecure.
Years of innovation in the Ethereum ecosystem, however, have given rise to a new solution — modular scalability.
Breaking up the Band
Modular scalability is a simple concept — break blockchain transactions into their three constituent elements and optimize each individually. The result, often referred to as a rollup, is a consensus mechanism that leverages the security and decentralization of a traditional blockchain while vastly improving transaction cost, speed, and efficiency.
Execution
Execution is the process by which transactions are applied to a starting chain state in order to calculate a new chain state. The challenge is ensuring those transactions are applied following the rules of the blockchain.
For example, you want to send one bitcoin to a friend, but you only have half a bitcoin in your wallet. When the execution mechanism checks the proposed transaction against the previous state of the chain, it recognizes that you lack sufficient funds, so the transaction fails. Executing valid transactions requires either 1) proving in advance that the transactions are valid (in this case, publishing your account balance) or 2) penalizing invalid transactions after they occur.
Shared across countless computers on a distributed network, this process can be quite slow and expensive. With rollups, however, it is possible to segregate computation from verification, optimizing network resources. There are two main types of rollups: optimistic and zero-knowledge.
Optimistic Rollups
Optimistic rollups are so named because they “optimistically” assume a transaction will work — every transaction is valid unless proven otherwise. This assumption is both a strength and a weakness.
On one hand, such operation allows optimistic rollups to execute complex computations off-chain, where it is cheaper and more efficient. The rollup then publishes the proposed transactions, start state, and end state of the ledger to the main blockchain (let’s say Ethereum). On the other hand, the lack of assurance about transaction validity introduces a significant security risk. To compensate, validators must check the rollup’s calculations against available data to ensure the state change was executed correctly. If they detect errors or malicious manipulation, they post a fraud proof that invalidates the proposed transactions.
But who checks the chain state and posts the proofs?
While direct participants or benevolent actors may check the math themselves, current optimistic rollup schemes rely on unproven incentive structures to ensure both long-term security and continuous validation of third-party transactions. Additionally, relying on relatively few validators to inspect transactions results in a significantly more centralized network.
Most importantly, however, this verification process takes time. All assets managed through an optimistic rollup are essentially trapped in escrow, frozen for long enough that any interested party can review the state change and post a fraud proof disputing the transaction. This can be partially addressed by liquidity providers who verify the state and charge small fees for people to exit early, but that is capital inefficient and only works for fungible tokens, not NFTs.
Zero-Knowledge Rollups
At Uqbar, we believe that ZK computation is the future of blockchain technology. Shortly, we will publish an article explaining Uqbar’s unique ability to take advantage of ZK’s scaling potential.
For now, just know that ZK proofs are basically magic.
On the surface, ZK rollups function similarly to optimistic rollups — they move computation off chain and post the results of their calculations to the main chain. ZK, however, has the advantage of being trivially easy for third-party observers to validate. In fact, any computer — even the laptop you’re using right now — is capable of verifying a ZK proof. That is because ZK computation transforms all calculations into a simple argument that can be verified in just a few steps.
To better understand, imagine a program with 10,000 distinct computations. In order to discover an error in that program, you would need to individually inspect each calculation — randomly inspecting one tells you nothing about the others. ZK verification, however, can translate any calculation, no matter its size, into a straightforward proof whose each component reflects the validity of every other component. In essence, the ZK verifier acts as a kaleidoscope, magnifying any error such that it becomes visible from almost any vantage. Now, rather than individually examine all 10,000 calculations, verifiers may check a few at random to achieve near certainty that the computation was done correctly.
Data Availability
In a traditional blockchain environment, data availability is not a problem — all previous chain states, as well as pending transactions, are public and freely accessible. Every node checks the validity of every transaction — expensive and slow, but simple.
Separating data from the transactions manipulating the data has proved to be a difficult challenge. The benefits of this abstraction, however, are clear: rather than force thousands of computers to individually manage vast amounts of information, nodes can instead focus their computational energy on transaction verification (trivially easy through ZK computation) while referring to data made available outside the transaction itself.
There are several ways to make data available. The simplest is to directly publish the past and current states of the chain to the L1 settling the transaction, as described above for an optimistic roll-up. Posting data to the same L1 that settles the transaction is easy — but not necessarily a hard requirement. As rollups drastically reduce the cost of blockchain computation, the cost of publishing data to the main chain has become the prime inhibiting expense of blockchain computation.
As we speak, some promising projects are making progress with data sequestration, most notably Celestia. Celestia is a blockchain fully optimized for data availability — its only function. Celestia neither computes transactions nor makes any claims about validity. It only hosts the necessary data while interacting with the relevant L1 to periodically post attestations that the data is available.
By linking with a project like Celestia — exploiting future cost improvements in Ethereum data availability (like EIP-4844) — or eventually building a native data chain ourselves, Uqbar will reduce transaction costs to miniscule levels, taking full advantage of our unique ZK verification module.
Settlement
On a blockchain, settlement is the source of consensus. In some ways, its requirements are the most basic — a secure, decentralized, L1 on which to publish verified transactions. It is also the process by which execution and data availability are unified, creating a single recognizable ledger accessible to all nodes in the chain. With rollups, validity and fraud proofs are executed on the settlement layer as part of such unification.
As with data availability, it is theoretically possible to settle on any blockchain. Practically speaking, however, settlement requires a large decentralized network with full programmability, such as Ethereum. This is because the settlement layer acts as the ultimate source of truth — the more secure the settlement layer, the more trusted its infrastructure, the more developers are free to manipulate the execution and data availability mechanisms.
Due to its size and market dominance, most modular scaling solutions focus on settling to Ethereum (or Bitcoin, for cases not requiring full programmability). However, it is possible to envision a future in which a rival chain attracts enough monetary premium to act securely as the ultimate settlement layer — providing an opportunity for seamless integration of all three consensus elements.
Modular Scalability and Uqbar
Uqbar’s goal is to natively handle all three consensus layers — execution, data availability, and settlement. We are addressing each element individually as we move toward this goal.
Currently, we are close to deploying fully functional, generalized ZK architecture capable of interacting with the Ethereum ecosystem. While you can read more about Uqbar’s approach to ZK elsewhere, we believe that our singular cryptographic operating system makes Uqbar the best possible protocol for ZK scaling solutions.
Data availability is a bit trickier. Though we could easily publish data to the Eth mainchain, we are also exploring partnering with projects like Celestia or building our own data availability engine from scratch. Leveraging Uqbar’s native peer-to-peer computation features will enable us to coordinate the large number of nodes necessary to automate such a scheme.
Even moderate success in these two areas will make Uqbar the best scaling solution for Ethereum. However, while we think it likely Uqbar will act as a ZK-rollup to Ethereum for bootstrapping purposes, our ambitions are even higher — to modularly scale into the most dominant ecosystem for programmatic blockchains.
One component at a time.