BookL1 Blockchains

Section IV: Virtual Machines and Programming Models

5 min read

Once a chain establishes its consensus mechanism, it must decide how developers will build applications on it. This choice shapes ecosystem growth as much as technical performance does.

The Ecosystem vs. Innovation Dilemma

The choice between virtual machines presents a classic innovator's dilemma. Building on an established VM like the EVM means accessing mature infrastructure: extensive documentation, battle-tested libraries, experienced developers, sophisticated debugging tools, comprehensive testing frameworks, and auditing firms with deep expertise. A protocol like Uniswap can deploy on EVM chains with minimal changes, bringing battle-tested DeFi primitives across networks. A new DeFi protocol can immediately plug into Uniswap liquidity, Chainlink oracles, and Aave lending markets. This shared application layer spanning EVM chains creates composability benefits (discussed in Section II) that alternative platforms struggle to replicate.

Alternative VMs provide genuine technical improvements. Parallel execution architectures enable higher throughput. Advanced type systems prevent entire classes of exploits through language design rather than developer discipline. More efficient compilation produces faster code while supporting multiple source languages.

However, these architectural improvements come with substantial adoption barriers. Finding and hiring experienced developers in newer languages takes longer and costs more. Development velocity suffers without mature tooling that established ecosystem developers take for granted. Security auditing creates bottlenecks; few firms possess expertise in newer languages, making reviews slower and more expensive. Newer platforms lack ecosystem depth, forcing developers to build more infrastructure themselves or wait for community growth.

For alternative VMs to succeed, they must either provide such dramatically better developer experience that it overcomes infrastructure disadvantages, or target specific niches where their advantages clearly matter more than missing tooling depth.

With these selection criteria established, let's examine the major virtual machine options and how they navigate these trade-offs.

The EVM Gravity Well

As established in Section I, network effects dominate adoption, and the EVM (introduced in Chapter II) exemplifies this dynamic. EVM-compatible chains like BNB Chain, Avalanche, and Polygon can instantly inherit this ecosystem. However, the EVM's architectural constraints become apparent at scale. Sequential execution means complex transactions block simpler ones, gas price volatility creates unpredictable costs, and the lack of native parallel execution limits throughput. These limitations have driven innovation in both optimized EVM implementations and alternative virtual machines that attempt to overcome these inherent constraints.

Parallel Execution: The SVM Approach

As detailed in Chapter III, the Solana Virtual Machine (SVM) enables blockchain execution through parallel processing. By requiring transactions to declare account access upfront, SVM enables concurrent execution of non-conflicting transactions, increasing throughput. Its account ownership model enhances security by preventing many reentrancy attacks.

The SVM design has attracted attention from new blockchain projects. Networks like Solayer and Fogo are building entirely new L1 blockchains on top of the SVM architecture. Fogo takes this further by attempting to maximize SVM performance through a permissioned validator set running exclusively the Firedancer client with multi-local consensus, exploring the SVM model's performance potential in a controlled environment.

Move: Safety Through Language Design

MoveVM, which is used by Aptos and Sui, takes a different approach by building safety directly into the programming language. Move treats digital assets as resources, special objects that cannot be copied or accidentally destroyed but only moved between accounts.

Move's linear types prevent accidental duplication/destruction of resources, helping avoid entire classes of bugs like double-spending through programming errors. However, mint and authorization policies still depend on how modules are written. Resources can only exist in one place at a time and must be explicitly consumed or stored.

Sui's object model treats everything as objects with unique identifiers. Transactions can operate on disjoint sets of objects in parallel, enabling very high throughput while maintaining safety guarantees. Simple transfers touching different objects can process in parallel, while complex transactions touching shared objects coordinate through consensus.

WASM and Emerging VMs

WebAssembly (WASM) provides a compilation target that enables multiple programming languages on the same blockchain. The approach offers a middle ground: better performance than interpreted bytecode while supporting diverse languages, though at the cost of increased complexity.

CosmWasm in the Cosmos ecosystem allows Rust contracts that compile to WASM. NEAR Protocol uses WASM while maintaining an account model familiar to Ethereum developers, bridging performance and familiarity. Polkadot's Substrate framework uses WASM as the format for its runtime logic. Because that runtime is stored on-chain and upgradable via governance, chains can replace core logic through “forkless” runtime upgrades rather than coordinating traditional hard forks. This approach is powerful but complex.

The WASM approach hasn't achieved the network effects of EVM or the performance claims of specialized VMs like SVM, occupying an intermediate position that trades universal compatibility for modest performance gains.

Bridging the Gap: Monad's Approach

Some projects aim to keep EVM compatibility while reimagining execution internals. Monad demonstrates this pragmatic path through the ecosystem versus innovation dilemma by maintaining full EVM bytecode compatibility while reimagining execution internals. Any Solidity contract written for Ethereum deploys on Monad without modification, preserving access to familiar tooling and audited libraries.

Underneath that compatible interface, Monad achieves 10,000+ TPS through optimistic parallel execution, asynchronous I/O, and a custom state database. Developers use familiar tools like Foundry and Remix. Protocols port seamlessly. Yet the performance gains are real, delivered through architectural innovation abstracted from the developer experience.

By separating the interface developers interact with from the execution engine underneath, Monad shows that chains can capture compatibility benefits while innovating on performance constraints. This approach may represent a more viable path than building entirely new VM communities from scratch, at least until alternative platforms develop infrastructure depth that justifies their technical advantages.

These architectural patterns (from modularity choices to consensus mechanisms to virtual machines) all influence throughput, but raw capacity remains the central challenge. How do individual chains push their performance limits? Vertical scaling provides answers through hardware optimization, fee market design, and clever data management.