WeaveVM: the hyperscalable EVM protocol on Arweave

WeaveVM: the hyperscalable EVM protocol on Arweave

December 21, 2023

⚠️ This announcement refers to an architectural model we have decided to deprecate - read the up-to-date description of WeaveVM’s network architecture and the rationale for the change here.

WeaveVM (WVM) is the first EVM-compatible protocol engineered to manage complex, large-scale data computation without the high gas fees typically associated with on-chain state storage on EVM chains.

WVM is also the first EVM-compatible protocol that fully relies on Arweave for permanent storage, enabling atomicity of executable EVM bytecode and data of any size on the same ledger. On the principles of VACP, we are building the hyperscalable, lazy-evaluated EVM protocol to compute data at any scale.

This document summarizes the design and motivations behind the team’s early development progress towards WeaveVM, and is open to feedback from the community in this GitHub discussion.

The design of WeaveVM

SEE-EVM compatible protocol

WeaveVM operates as a protocol (not a network), employing a custom Ethereum Virtual Machine (EVM) capable of interfacing with Arweave. WeaveVM is SEE-EVM compatible, aligning with the Specialized Execution Environment (SEE)—EVM compatibility model introduced by the Decent Land Labs team and operating as the execution machine within the VACP framework.

At this stage of development, we cannot provide an exhaustive list of features which will and will not be supported, but have confirmed the viability of deploying standard ERC20 and ERC721 contracts on WeaveVM and are exploring solutions for bridgeable assets. WeaveVM will be blockless and not have a native gas token.

The VACP model for hyperscalability

The Verifiable Atomic Computing Paradigm (VACP) was publicly introduced in October 2023 with an implementation known as the Molecular Execution Machine (MEM). Serving as an integral component within the VACP framework, MEM aims to solve scalability challenges inherent in on-chain serverless functions and SmartWeave, a smart contract protocol on Arweave.

As per the VACP model, WeaveVM consists of:

  1. A SEE-EVM forked machine that implements the Lazy Evaluation paradigm.
  2. Permissionless Verifiable Computing (VC), which enables computation to be independently verified and executed without centralized control
  3. A tamper-proof storage layer, Arweave, to ensure data integrity
  4. Permanent data access provided by any one of the 300+ gateways built on ar.io
  5. A sequencer which handles serving, updating, and evaluating protocol state
  6. A spec-compliant tagging standard for WeaveVM transactions and contract deployments

Built on Arweave

Arweave is a decentralized storage chain for permanent data at any scale. With over 2 billion pieces of data across nearly 145 petabytes, Arweave is the only option for long-term storage of vital application data that doesn’t rely on paying rent to a centralized third party.

WeaveVM relies on Arweave to store contract code, a log of contract interactions, and the resulting application state, allowing any third party to trustlessly verify WeaveVM’s computation.

Why we are building WeaveVM

Foundations for an EVM ecosystem on top of Arweave

As the foundation for an EVM-compatible ecosystem built on top of Arweave, WeaveVM acts as the gateway for Solidity developers to deploy their smart contracts on the permaweb. It offers a dependable, permanent, and cost-efficient storage layer for computation, leveraging the power of Arweave. By utilizing Arweave, WVM can manage extensive data processing and storage at a fraction of the cost usually associated with EVMs.

With WeaveVM, it will be possible to deploy ERC20 and other EVM-native token types for use on the permaweb.

Robust ERC721s and hyperscalable inscriptions

The increasing popularity of inscriptions has revealed that the scalability and cost-efficiency of EVM-based layer 1 chains doesn’t hold up when subject to intense demand. In the second week of December 2023, Avalanche users paid $13.8 million in transaction fees to mint and move inscriptions on the network, spiking gas prices over 500%.

Beyond economics, there is also the problem that inscriptions rely heavily on off-chain indexers. Unlike ERC20 tokens, where rules are enforced by smart contracts, here all logic resides externally. The fact that the architecture was not purpose-built for the use case means that burden of computing inscription token transactions falls on external systems.

A key benefit of EVM inscriptions is that the asset and its contract can both be stored permanently in full, removing the need for third-party storage. With WVM, both the ERC721 contract and the tokenURI can reside on the same layer — Arweave. This resolution tackles the issue of EVM inscriptions aimed to solve, eliminating the need for a new token standard.

Solving the archive node problem

EVM chains are not typically set up to incentivize the storage of data. For example, Ethereum light clients can only access the last 128 blocks of the chain’s state (~10 seconds of history), and full nodes must re-calculate the state based on metadata to look back further in history. According to Chainstack, “in theory, you can use a full node to recalculate all the intermediate states, it would take an exceptionally long time and would be very resource-intensive, and your node might run out of memory and stop”.

To solve this, some Ethereum node operators run full archival nodes which store the entire state (currently over 16TB) in a digestible format. The problem here is that there are no protocol-level incentives to do so, and it is mostly done by large centralized entities to provide fast access to data for block explorers and indexers.

By offloading this concern to Arweave, WeaveVM addresses the problem of incentives for data storage of any scale and does not rely on the survival of unincentivized archival nodes to retain a full record of onchain activity.

Next steps

We are eager to hear feedback as we work towards a public alpha of WeaveVM! There is a GitHub discussion open here for questions and discussion. Follow along with our development progress on Twitter, @weavevm.