A little over two months we announced that sustainable scaling would be coming to Ethereum in the form of Fuel, the most advanced, efficient, and secure optimistic rollup. As of a few days ago, the long wait is finally over: our first public testnet is now live, and the code is open-source! Fuel v0 is a series of short-lived testnets that test stability and performance, and will see a series of improvements over the coming months. We’re aiming for launching a long-lived testnet of Fuel v1 by the end of Q1 2020.
Fuel v0 Features
⛽ The Fuel v0 testnets will be a series of short-lived testnets as we iteratively improve performance and stability and add new features (which we’ll discuss in the next section).
⚙️ Fuel is a highly-optimized version of Minimal Viable Merged Consensus (aka Optimistic Rollup) that is more responsive and cheaper than the original design, while retaining identical security guarantees. By using Yul instead of Solidity for low-level memory manipulation, our fraud proofs can execute in under 1M gas.
🔒 The safety and security of Fuel is optimal. With cheap fraud proofs, it is highly-resilient against chain congestion attacks, unlike Plasma and state channel networks. As with any properly-design optimistic rollup, the only way to attack it is for miners to conduct a week-long 51% attack on the main chain — highly visible, easily attributable, and impossible in practice for a chain as important and secure as Ethereum.
🔀 Rather than the accounts data model used by Ethereum, Fuel uses the UTXO data model similarly to Bitcoin. This allows for parallelizable transaction verification and, more importantly, provides substantially more efficient state access patterns. As a consequence, Fuel full nodes don’t require a fast SSD. Both ether and tokens are supported through the use of colored coins (yes, those are finally happening, and not on Bitcoin).
⚡ To eliminate the hassle of a one-week withdrawal delay for funds that channels, Plasma, and vanilla optimistic rollup are burdened with, transactions on Fuel can also send funds to HTLCs, which allow for atomic swaps. When combined with a liquidity provider network, users can instantly withdraw their funds, potentially in as quickly as a single block. This also opens yet another door for liquidity providers to earn returns on their ether and tokens completely trustlessly.
🦄 Thanks to the use of the UTXO data model over the accounts data model, transfers that swap funds between two parties can be constructed. This means scalable and completely non-custodial exchanges can be built on top of Fuel, with only order matching happening off-chain.
⚙️ By moving state and state accesses completely off-chain, optimistic rollup is sustainably scalable. Uncontrolled state growth is the largest problem and bottleneck facing Ethereum today. Fuel eliminates this problem in practice completely today, without having to wait for Eth 2.0 or stateless Ethereum.
🤷 One key principle that we will defend to the death is that Fuel is — and will always be — completely tokenless. Tokens are not necessary to secure an L2: that’s what the Ethereum chain is for after all. Tokens for L2 systems serve no functional purpose, they exist only to enrich the developers and their investors at the cost of higher friction and additional rent-seeking for users. Fuel on the other hand is completely permissionless and non-custodial. Our block production model is a priority aggregator, namely that we have a short period of time where we have exclusive access to including transactions in blocks.
⏩ Tired of waiting 6–12 second for the next Ethereum block that will secure the next Fuel block? We support instant trusted transactions: if you, the receiver choose to trust us until the next block, you can accept a received transaction as valid. You’ll receive signed cryptographic proof from both the transaction sender and us, so any double-spending on our part would be provably attributable. Unlike other scaling projects that use a shared bond pool for instant transactions — which doesn’t actually add any safety — and obfuscate risks by describing attacks as “inconvenient” to pull off, we make our trust relationships explicit so that users can make informed choices.
😸 Our code is now open-source under the Apache 2 license. Check it out here.
We have a number of improvements to both our Fuel optimistic rollup chain and surrounding tooling planned.
We’ll soon be releasing Yul+, which builds upon the Yul intermediate language by adding in-memory structures, enums, constants, and other Quality-of-Life improvements. This allows contracts with lots of memory accesses (anything that will deal with calldata a lot, such as all rollups) to be written in a readable manner while remaining extremely gas-efficient.
A Bitcoin-like predicate scripting system with covenants is in this works. This will enable a whole multitude of smart contract applications on Fuel, all while retaining the performance gains of the UTXO data model over the accounts data model.
The only performance advantage of zk rollups over optimistic rollups is that the former can get away with not posting witness data (i.e. transaction signatures) on-chain. With BLS aggregate signature schemes, this advantage disappears completely and optimistic rollups are in fact more scalable than zk rollups. We are actively researching cutting-edge signature aggregation schemes that combine numerous desirable properties.
Given that optimistic rollups can be thought of as a form of transactions batching, we can build highly scalable and decentralized social networks on top of Fuel! Twitter, Reddit, you name it, can all be built as uncensorable and completely open social networks that can leverage Ethereum’s money legos and DeFi ecosystem.
This is just the beginning. We have big plans for the future of Fuel and the promise of highly-scalable stablecoin payments — and other usecases — it brings to the table. If you’d like to support our R&D efforts, consider contributing to our Gitcoin grant.
In the meantime, for more info and to keep up to date with our work: