If you’ve been in the blockchain space for a while, you already know how painful it becomes to transact on the Ethereum blockchain during the peak phase of the bull market. High transaction fees and slow processing times are common issues. The problem lies with the design choices of the popular blockchains we use now.
A blockchain has four primary functions: consensus, which handles the order of transactions; data availability, which ensures data can be accessed when requested; execution, which maintains the state of the blockchain and handles transactions; and settlement, which verifies the validity of blocks and handles dispute resolution.
Blockchains like Ethereum, Solana, and Bitcoin have a monolithic design, which means that all functions, such as consensus, data availability, settlement, and execution, are handled on a single layer.
As a result, during peak traffic on the Ethereum network, the network gets clogged. And as we discussed earlier, users encounter high gas fees, slow network, and transactions become very slow.
It clearly shows that scalability is still a big problem in this space. To achieve widespread adoption like web2 and onboard a billion users, we have to think beyond the current design pattern.
As mentioned, scalability is a problem. So we need to understand the popular Scalability Trilemma theory that states that a blockchain network can only choose to be two out of three properties: scalable, decentralized, and secure, with our current monolithic architecture, which most of the popular blockchains follow.
What do these terms mean? Let us have a quick look first.
Decentralized means the network has a large number of participants.
Scalable means the blockchain can handle a large number of users.
Secure means the network is safe enough to serve its users without exploits
Ethereum has managed to be secure and reasonably decentralized, but it lacks scalability.
Different blockchains have enabled various scaling solutions to tackle this issue, to name a few Avalanche Subnets: essentially is a split-up network of smaller validators, and these subnets will have their data availability, execution, settlement, and consensus.
Ethereum is working towards becoming a sharded network, with rollups as the primary solution. A sharded network means that the blockchain is split into smaller components.So what’s a rollup, and what is a sharded network? Let us understand it first. Sharding means when a blockchain is split into components horizontally, these split-up components will handle the data availability.
Currently, the rollups are powering the Ethereum blockchain. Rollups essentially are different chains that perform the transactions off-chain and send batches of transaction data or proof of execution to the host chain, (here Ethereum) where the settlement happens. The rollups or the Layer2 solutions acquire the host chain’s security and work seamlessly.
Layer 2 or rollups can be differentiated primarily into two categories. These are ZK rollups and Optimistic Rollups.
Let's understand how these two solutions work a bit better.
Optimistic rollups execute transactions on Layer2 and provide the transaction data to the L1. The Optimistic solutions assume the transactions are valid without any proof. If there's any reason to believe that the state transition of layer 2 is incorrect, fraud proof is created, and the L2 state transition is then amended and the operator will be penalised.
Examples of this solution are: Arbitrum, Optimism, Metis, Boba Network
In the case of the ZK rollups, the execution happens off-chain and then transaction data and L2 state transition data are submitted to Layer1 or the host chain. ZK rollups then create proof that the transaction was correct, using zero-knowledge technology. Unlike an optimistic rollup, the L1 will not accept the L2 state transition is correct until the proof has been verified.
Example: ZkSync, Starknet
Rollups are a great solution towards scalability, but incidents like Yuga Labs Metaverse land sell proved that current Layer2 solutions still haven’t reached there. These solutions are making the Ethereum blockchain even more congested, along with the core Ethereum blockchain users. So the search for a more optimized solution is still in place.
Amongst all these proposed scalability solutions, a new paradigm or design pattern is making the headline nowadays, Modular blockchains.
Monolithic chains handle data availability, settlement, and execution all on their own. But the modular design suggests that each of these functionalities needs to be executed in separate layers.
The modular blockchain design was first adopted and popularized by Celestia, a modular data availability layer. Similar to this, there’s another first mover, Fuel creating the fastest modular execution layer.
In the case of Celestia, it specializes in handling the data availability and consensus while it delegates the rest of the functionalities of a blockchain to other chains. On the other hand, Fuel works as a modular execution layer, and the rest of the functionalities can be executed by the L1 chain or even that can be distributed between more chains.
What started as an optimistic rollup solution for Ethereum is now focused on becoming the go-to execution layer for the future of modularity. Although Fuel is an optimistic rollup solution to its core, it has some unique features, that set it apart from other optimistic solutions.
Fuel's unique design choices make it one of the most promising flag bearers of the Modular movement. Fuel was built for fraud proofs and that enables trust minimized light clients, high security with minimal hardware resources.
In the case of Ethereum full nodes, the nodes need to be run on consumer-grade hardware due to their high computation requirement. This kind of setup creates a bit of centralization as well, as it's not easy for everyone to run this type of node except a few resourceful entities.
Fuel has achieved to resolve this issue by using trust-minimized light clients. Unlike full nodes, Light clients do not need to download the entire blocks. They only download block headers and check their proof-of-work (PoW), assuming the heaviest chain is valid. The amount of computational resources and storage needed to run a light client is lower than a full node. Light clients don't need to download the entire blocks so its security is relatively low. But Fuel’s design lets light clients say if blocks are valid through fraud proofs. Therefore it eliminates the need for a trusted party while maintaining low resource requirements and achieving high security.
Now, you can ask how's Fuel different and better than a rollup.
Along with the rollup properties, a modular execution layer (here Fuel) has two additional properties:
With a modular execution layer, users can run an off-chain light client, allowing users to validate the chain without running a full node.
A modular execution layer is not tightly coupled to a specific layer 1 like the Ethereum layer 2 solutions, allowing for greater flexibility.
The other great features it possesses are:
Fuel uses the UTXO model like bitcoin, which enables it to do parallel transaction execution. Therefore Fuel can use more threads and cores of a CPU, as a result, Fuel can provide more compute and transaction throughput than other rollups like on Ethereum. As a result, it would increase scalability compared to account-based rollups.
FuelVM is the virtual machine used on Fuel for building out various applications and smart contracts through the Sway language. In the FuelVM, transactions occur through UTXOs. As it proudly features, FuelVM has learned from others like EVM, Solana, Wasm, and Bitcoin and improved upon that learning. It has some unique features, unlike others. To learn more about FuelVM, please refer to the docs.
Sway is a programming language for building out smart contracts and applications on top of Fuel. Sway is heavily based on Rust, which is already a hugely popular language for building out blockchain applications (primarily used in the Cosmos ecosystem and on Solana and Near as well). So the developers who want to build on Fuel can learn Sway without much friction. It has a toolchain Forc which is similar to the Cargo in Rust.
Another unique thing I’ve found, it’s the token model that Fuel has proposed. All the rollup solutions on Ethereum have chosen some suboptimal token models like;
A Proof-of-Stake (PoS) token, where most validators sign off on blocks.
A fee-paying token, where users must pay fees in the token.
A governance token, where a majority of votes can upgrade the rollup contract
but instead of these models, Fuel has decided to tokenize the rollup space capacity. For Fuel, it’ll be the finite execution capacity. This token model helps solve a major challenge in rollup design: decentralizing block production. The modular architecture is not the whole solution. It's part of the bigger puzzle we're all trying to solve in the web3 space. It will be interesting to see how Fuel and other modular blockchains provide rocket fuel to the web3 rocket's Jet engine.