WeaveVM & VACP
WVM's implementation of the Verifiable Atomic Computing Paradigm
RnD Type 3 (Withdrawn & Archived): The content is now in a read-only format for reference!
Abstract
WeaveVM integrates the principles of the Verifiable Atomic Computing Paradigm (VACP). This paradigm, developed by the Decent Land Labs team, is a novel computational framework designed to address the technical constraints of on-chain computation.
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.
VACP offers a robust framework for maintaining decentralization, transparency, and trustlessness while enabling scalable and verifiable computation for web3 developers.
How WeaveVM implements VACPs
This section will detail the implementation of WVM within the VACP framework. Initially, we'll explore the high-level design before delving into specifics. The subsequent points outline how WVM implements the VACP principles:
A SEE-EVM forked machine that implements the Lazy Evaluation paradigm.
Permissionless Verifiable Computing (VC), which enables computation to be independently verified and executed without centralized control.
Leveraging a decentralized tamper-proof data storage solution, Arweave, to ensure data integrity and availability throughout the process.
An Atomic Node, in WeaveVM, is called a Sequencer, which manages to scale the protocol and handle state serving, updating, and evaluating.
An Arweave-specific Tag protocol for WVM transactions and contracts deployments.
SEE-EVM and Lazy Evaluating
This component serves as the fundamental machine within the protocol, known as SEE-EVM. It operates as an EVM-compatible machine equipped with a Specialized Execution Environment tailored to seamlessly integrate Arweave functionality. The primary function of SEE-EVM involves receiving transactions from the sequencer, submitted by end users. It then conducts a lazy evaluation of interactions within the corresponding runtime bytecode, subsequently returning the freshly assessed state(s) to the protocol's sequencer.
The protocol's Sequencer (aka Atomic Node in VACP's language)
This second-level component plays a crucial role in ensuring user-friendly access to the protocol. The sequencer's function cycle involves:
Receiving transaction payloads (contract interactions or deployments) via HTTP.
Submitting the interactions on behalf of the user to Arweave through ARIO Bundler.
Utilizing the WVM SEE-EVM crate to evaluate the transaction payloads, generating the newly lazily evaluated state.
Indexing (caching) the updated state and providing access via HTTP.
Arweave usage: data storage, tagging, and verifiable computing
By leveraging Arweave's tamper-proof, permanent, censorship-resistant, and decentralized data storage solution, WeaveVM ensures unrestricted access to its state. Leveraging Arweave's blockweave's data, accessible via GraphQL through ARIO gateways (a feature unique to WeaveVM), grants permissionless data access to its global state. This openness allows any third party to independently run their own sequencer and verify the integrity of the WeaveVM Sequencer, contributing to verifiable computing.
Moreover, to facilitate the easy reconstruction of the WeaveVM EVM global state using Arweave, the WVM Sequencer employs a specific tagging protocol utilizing Arweave data transaction tags. These tags enable data to be easily queried via GraphQL.
More regarding the WVM Sequencer
WeaveVM's Sequencer is centralized. In this mode, there will be a single centralized operator with a conventional REST API to accept transactions from users. The sequencer must be trusted to maintain liveness, not to abuse MEV, and not to allow reorgs of transactions, so the sequencer's reputation will play a big role. The biggest advantage of this option is that it can provide the lowest possible latency to confirm transactions.
Last updated