Skip to content

What is AO-Core?

AO-Core is a protocol and standard for distributed computation that forms the foundation of the AO Computer. Inspired by and built upon concepts from the Erlang language, AO-Core embraces the actor model for concurrent, distributed systems. It defines a minimal, generalized model for decentralized computation built around standard web technologies like HTTP.

Think of it as a way to interpret the Arweave permaweb not just as static storage, but as a dynamic, programmable, and infinitely scalable computing environment. Unlike traditional blockchain systems, AO-Core defines a flexible, powerful computation protocol that enables a wide range of applications beyond just running Lua programs.

Core Concepts

AO-Core revolves around three fundamental components:

Messages

Messages are cryptographically linked, forming a verifiable computation graph.

Devices

Modules responsible for interpreting and processing messages. Each device defines specific logic for how messages are handled (e.g., executing WASM, storing data, relaying information). This modular design enables composable development and allows nodes to specialize, making the system highly flexible and extensible.

Paths

Structures that link messages over time, creating a verifiable history of computations. Paths allow users to navigate the computation graph and access specific states or results. They leverage HashPaths, cryptographic fingerprints representing the sequence of operations leading to a specific message state, ensuring traceability and integrity.

Key Features

  1. AO-Core is inherently resilient, running across a global network of machines that eliminates any single point of failure.
  2. Its computations are permanent, immutably stored on Arweave so they can be recalled—or continued—at any time.
  3. The protocol remains permissionless, meaning anyone can participate.
  4. And it is trustless, with every state mathematically verifiable so no central authority is required.

The Actor Model in AO

Inspired by Erlang, AO-Core implements the actor model to provide a foundation for inherently concurrent, distributed, and scalable systems. In this model, computation is performed by independent actors (or processes). These actors communicate exclusively by passing messages to one another, and each can make local decisions, send more messages, and create new actors.

Beyond Processes

While AO Processes (smart contracts built using the AO-Core protocol) are a powerful application, AO-Core itself enables a much broader range of computational patterns:

  • Serverless functions with trustless guarantees
  • Hybrid applications combining smart contracts and serverless functionality
  • Custom execution environments through new devices
  • Composable systems using the path language