The Radically Simple Guide to: The Power of Linux in Web3
Your go-to guide to understanding the power of Linux onchain.
Written By Cartesi Foundation
In Part I, we discussed the massive gains in computational scaling that application-specific rollups bring to the blockchain technology stack. In this second part, we explore the vast new dApp design space made possible by app-specific computing power.
The Ethereum Virtual Machine (EVM) is the execution engine that enables smart contract functionality on the Ethereum blockchain. Any time a dApp or user interacts with a smart contract, the transaction is executed on the EVM as part of the process for updating the network’s state.
Each smart contract transaction on the EVM has an associated gas cost. The more gas a transaction consumes, the more blockspace that’s needed to process the transaction. With Ethereum blockspace being a finite resource, this creates a competitive environment for smart contract execution. During periods of heavy network demand, dApps and users are forced into bidding wars to have their transactions executed.
Blockspace competition imposes significant design limitations on EVM smart contracts. With the prospect of bidding wars always looming, developers are incentivized to design dApps that optimize for gas costs, instead of optimizing for software functionality. Ultimately, this hinders innovation and leads to idiosyncratic design choices that can jeopardize code readability and security.
Traditional Layer 2 (L2) rollups solutions like Arbitrum and Optimism can help mitigate some of the negative effects of gas wars by providing cheaper execution off chain. But these rollups don’t offer any meaningful increase in design flexibility. They’re still susceptible to EVM-based competitive bidding dynamics, which means they’re still subject to the same design limitations we see for dApps deployed directly on Ethereum.
In search of greater design flexibility, some projects have turned their focus to EVM-alternatives like EVM+ and WASM. These projects offer developers the ability to write smart contracts in traditional programming languages like Rust and Python, instead of EVM-specific programming languages like Solidity and Vyper. But these solutions provide only marginal improvements to the dApp design experience. That’s because there’s a huge difference between simply being able to use a traditional programming syntax like Python to write smart contracts (which EVM+ and WASM offer), and being able to take advantage of decades of existing Python open-source code libraries and tooling (which EVM+ and WASM can’t realistically offer).
Open-source libraries are reusable pieces of prewritten code that allow software developers to handle complex tasks without inventing new solutions from scratch every time. The vast majority of these libraries, however, rely on an operating system (OS) for a number of vital services, including providing memory management, access to system hardware and resources, security measures, and more.
Existing EVM+ and WASM projects can’t realistically support a fully-fledged OS infrastructure. Without the benefit of an OS, dApp developers lose access to decades of open-source software development. Cut off from all of this previous work, certain tasks that are trivial for conventional developers – like transferring files, compressing data, finding the color of a pixel in an image, or querying a database for a record – are either impractical or impossible for dApp developers.
As explained in Part 1, application-specific rollups bring unparalleled computational capacity to the blockchain tech stack. The question then becomes: what can be done with these massive gains in computing power?
Cartesi uses this increased processing power to boot an entire Linux operating system. This allows Cartesi to create a novel dApp execution environment that transcends the EVM, EVM+, and WASM design limitations described above.
Cartesi’s core technology relies on the Cartesi Virtual Machine, a custom VM that emulates a RISC-V instruction set architecture (ISA). An ISA is essentially the set of rules that determines how a computer’s hardware and software interact with each other, and which operating systems are compatible with the computer’s architecture. RISC-V, in particular, is highly compatible with Linux, the most widely used open-source operating system in the world.
With the power to emulate a RISC-V microprocessor, the Cartesi Virtual Machine is capable of booting an entire Linux OS. As a result, Cartesi provides dApp developers access to decades of rich code libraries and open-sourcing tooling. This means that dApps powered by Cartesi can now begin to mimic traditional software applications in terms of design flexibility, user experience, predictability, and cost-efficiency – all while remaining verifiable on chain.
The software infrastructure that permeates nearly every aspect of our lives is composed of interdependent components created through nearly 50 years of global engineering efforts. With access to decades of prewritten code libraries, traditional software developers can optimize tasks quickly and easily without the need to reinvent new abstractions every time. Cartesi app-specific rollups and the Cartesi Virtual Machine bring these same efficiencies to blockchain, creating a vast new design space for decentralized applications.
To better illustrate what this means in practice, let’s take Topology as an example. Topology is an impressive decentralized game company in which players collaborate to build strategic infrastructure in worlds that are subject to planetary dynamics. To create this environment on blockchain, the game’s developers had to write a classical algorithm for simulating planetary dynamics from scratch. Not only was this an exceedingly heavy lift, but it also took a group of exceptional developers to bring this idea to life.
Now, contrast Topology with a traditional software game like Angry Birds. Angry Birds needed the same type of algorithm as Topology (after all, orbiting planets and flying birds follow the same laws of gravity). But the developers behind Angry Birds were not forced to write every line of code they needed from scratch. That’s because there are prewritten libraries that allow traditional software developers to add gravitational forces to their applications in nearly every programming language imaginable.
The above example is far from unique. Many libraries are being written in Solidity from scratch to aid the development of EVM smart contracts. But it would take literally decades for dApp developers to recreate the existing libraries and tooling available to traditional software developers. Cartesi removes the need to reinvent these abstractions.
With Cartesi, dApp developers have the tools they need to focus on what they really want to build, instead of becoming bogged down by the idiosyncratic design limitations that are often imposed by the underlying blockchain infrastructure.
Explore how others are pushing the boundaries of this new design space in the areas of:
Dive deeper in the docs. You can also stay in the loop with everything happening in the Cartesi ecosystem by joining the community. Better yet, start putting app-specific rollups to the test with the new Honeypot challenge, the first Cartesi Rollup dApp to go live on mainnet!
Join our newsletter to stay up to date on features and releases
Your go-to guide to understanding the power of Linux onchain.
Written By Cartesi Foundation
Exciting news! The Cartesi
Written By CARTESI FOUNDATION
Introducing the Cartesi ecosystem's
Written By Brandon Isaacson
© 2024 The Cartesi Foundation. All rights reserved.