Fuel — A DEEP DIVE
November 4th, 2022

FUEL – one of the first modular blockchain aiming to “enhance existing blockchains such as Ethereum as a high-performance execution layer.”

In this article I’ll cover such terms as Modular blockchains, FuelVM, Sway programming language & Forc. You will understand what, why & how everything works or should work in the nearest future in terms of Fuel. Almost no technical knowledge required. Just basic understanding of blockchain technology.

Contents

PART 1 – The determination of Modular blockchains
PART 2 – Fuel’s approach
PART 3 – Structure specifics
3.1 – Sway
3.2 – FuelVM
3.3 – Fuel Orchestrator (Forc)
PART 4 – Conclusion

PART 1 – The determination of Modular blockchains

First, let’s remind or learn the base:

Blockchains have four functions (or layers; don’t confuse with L1 & L2 blockchains):

  • Execution: Execute transactions to make updates to the state;

  • Settlement: Dispute resolution;

  • Consensus: Defines the state and validates that all nodes on the blockchain have the same state;

  • Data availability: Ensure block data has been published to the network.

The well-known blockchains like Ethereum are monolithic blockchains. That means all four functions are executed by the same nodes and normally require high specs of the machines running these nodes.

Modular blockchains, in turn, provide the possibility to split execution of the functions between different layers. The logic is simple – reducing load and space used on the machine results in better throughput. Thus, a node focusing on execution or any other layer only can be much more effective. Here Fuel comes, a modular blockchain providing various configurations:

Fuel's configurations
Fuel's configurations

I can’t mention another great project focusing on modular future of blockchains – Celestia. I won’t describe its specifics in this article but probably will cover in the future one, so don’t forget to subscribe ;)

Both of them raised significant amount of funding btw: Fuel, Celestia.

The main thing differs Celestia from Fuel is its focus on Consensus and Data layer, while Fuel focuses on Execution. Even though Fuel can be run as a complete L1 network, the main goal is to enhance existing blockchains.

PART 2 – Fuel’s approach

The current L2 solutions proved in the past that during high traffic on Ethereum mainnet, they’re currently unable to maintain constant low fees. Fuel, by its design, won’t face the same problem thanks to parallel transaction execution & Trust-minimized light clients.

Remind the base one more time:

There are two types of node clients: full-node and light-node. While full-node requires high specs of the machine and downloading the whole state of the network, light-node requires verifying only the headers of the blocks. Thus, it’s pretty challenging for a general user to run a full-node, while running a light client doesn’t provide high security standards of the network. The difference is greatly explained by the team:

“An honest majority light client is only secure if most validators are honest. A full node is honest even if all validators are not honest.”

The first innovation by Fuel Labs is Trust-minimized light client. Using Fraud Proofs, Trust-minimized light clients achieve high security with low specs requirements.

Fraud Proofs – is a blockchain mechanism used to determine whether a block should or should not be accepted. A block is deemed to be valid if there is no proof of fraud is posted during a pre-determined period of time. Thus, using this mechanism, Trust-minimized light client is secure until at least 1 honest validator exists.

The difference between clients
The difference between clients

As was mentioned, Fuel is able of parallel transaction execution. Imagine the following. While sending a transaction, it’s assigned to a special list. This list is determined by which contracts your transaction are gonna be interacted with. There are many various lists. Therefore, there is no need to execute transactions in particular order, since some of them will never intersect with the others. That’s a simplified version of how it’s done in Fuel.

So we are getting high throughput & great horizontal scalability. Let’s continue.

PART 3 – Structure specifics

Fuel Labs introduces new terms: Sway, FuelVM & Forc.

3.1 – Sway

Sway is a domain-specific language (DSL) created on Rust + Solidity for the Fuel Virtual Machine (FuelVM). Rust is a well-known friendly programming language which, in theory, makes devs’ life easier. Some blockchains are already built using it: Solana, Near, Polkadot, Elrond.

While Sway is mostly based on Rust, some concepts for smart contracts are taken from Solidity. Such the combination along with Forc (read below) should create a unique experience of blockchain development.

3.2 – FuelVM

FuelVM, simply speaking, is an upgraded version of EVM. The team implements improvements that were suggested to Ethereum for many years but couldn’t be implemented due to some possible consequences.

There are many differences between EVM & FuelVM you can find here. Most of them are quite technical, but still, I can cover some:

  • FuelVM removes such functions as “approval” & “transferFrom” by using special scripts, what makes UX even better. Actions, in that case, are called directly by a sender.

  • FuelVM uses 64-bit words instead of 256-bit. Since most of the machines use 64-bit, that should be easier for devs.

3.3 – Fuel Orchestrator (Forc)

The last but not least Fuel Orchestrator (Forc) – is a toolchain built by Fuel Labs for assisting the Fuel application development experience.

Developers can get everything they need to start creating Sway applications for the Fuel VM with a single toolchain, blessed by the same teams that create the FuelVM and Sway language.”

PART 4 – Conclusion

I’d say modular blockchains are able to become serious competitors to L2 & L0 solutions. The time will show whether it’s just an idealistic idea or a genius construction. I haven’t covered many complicated tech aspects, since I try to keep the article as simple as possible. In addition, you can always check the official docs & socials: Twitter, Discord.

If you found this modest article useful, you may find more interesting ones here. Always happy to see your support by subscribing & spreading. See you!

My Twitter.

Subscribe to mac'Evoy
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from mac'Evoy

Skeleton

Skeleton

Skeleton