What is a Modular Execution Layer? Let's dissect, a 🧵
Fuel defines a Modular Execution Layer as:
"A verifiable computation system designed for the modular blockchain stack."
More concretely, a fraud- or validity-provable blockchain (or other computation system) that leverages a modular blockchain for data availability.
Why is modular execution important?
L2s built on monolithic chains have failed to keep costs low. This is because current rollups optimize for the small amount of DA capacity provided by the monolithic present rather than the enormous capacity available in the modular future.
Modular blockchains are built different: they separate execution from data availability and consensus.
This means consensus-layer nodes can specialize in only data, thus providing far more of it for modular execution layers built on top.
Now, what is NOT a modular execution layer?
Computation systems that:
1) are not fraud- or validity-provable, or
2) do not offload data availability to another layer.
Fuel is specifically built to deliver the benefits of modular execution layers.
With parallel tx. execution, the powerful FuelVM, and our superior developer experience with @SwayLang, Fuel can handle the enormous amount of secure bandwidth provided by modular chains.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
🔪 Why is this needed? Solidity doesn’t support pass-by-reference or slices.
This means parsing Merkle branches/proofs---a key component of stateless contracts---is wastefully expensive if written in Solidity.
➕ Yul+ adds a number of QoL improvements, such as enums, constants, Booleans, and by-default safemath. But most importantly, it adds in-memory structures.
This means structured calldata can be parsed *in-place* (no memory copies, no problems!).