CELAUT

A Peer-to-Peer Architecture for Software Design and Distribution

Inspired by cellular automata, Celaut is a revolutionary peer-to-peer architecture for software design and distribution built on decentralization, simplicity, and determinism principles.

Foundations in Cellular Automata

The Celaut architecture draws inspiration from cellular automata theory, pioneered by mathematicians John von Neumann and Stanislaw Ulam in the 1940s.

This mathematical model demonstrates how complex behaviors emerge from simple rules and local interactions.

In 1970, John Horton Conway's 'Game of Life' became a classic example of emergent complexity, showing how intricate patterns develop from basic interactions - a principle that forms the philosophical foundation of Celaut's design approach.

Conway's Game of Life
Conway’s Game of Life demonstrates how complex patterns emerge from simple rules - a core inspiration for Celaut’s architecture.

Core Principles of Celaut

Decentralization

Celaut eliminates single points of control or failure by allowing nodes to communicate and coordinate dynamically.

Simplicity

The architecture follows minimalist principles that reduce complexity, ensuring each component is easy to understand and maintain.

Determinism

Services are fully specified to ensure reproducible results across time and nodes. Given the same inputs, they always produce the same outputs, regardless of where or when they're run.

What Celaut Is Not

To fully understand Celaut's innovative approach, it's crucial to clarify what it is not. This architecture stands apart from common misconceptions in decentralized technologies.

Not a Single Network

Celaut defines a flexible architecture, not a predetermined, monolithic network. While predominant networks may emerge, the system inherently supports peer-to-peer constructions rather than dictating a singular one.

Not a Complete Protocol Stack

Celaut provides core principles for building computation distribution stacks, rather than a full, opinionated stack. Current implementations leverage components like gRPC or Docker, but these are interchangeable choices.

Not a Blockchain Project

Celaut is distinct from traditional blockchain initiatives. It operates without a native cryptocurrency or DAOs. However, it does incorporate blockchain technologies where appropriate—for example, to enable trustless cooperation—without adopting the broader blockchain ecosystem.

Nodes: The Foundation of the Network

Nodes are computers or devices within a Celaut network that communicate with peers and manage service execution.

They form the backbone of the decentralized architecture, ensuring no single point of failure exists in the system.

Nodo

The reference implementation of a Celaut node, built with Python3 and Rust, providing a working example of how nodes can be deployed in real-world scenarios.

Chatui

Another implementation of a Celaut node for Android devices, it allows interaction with services via basic chat interfaces, without requiring trust to other nodes.

Service Execution

The node negotiates execution costs with peers and decides whether to run a service locally or delegate it, optimizing resource use.

Communication

Nodes declare supported interfaces and accepted payment methods upon contact, allowing protocol evolution without prior agreement.

Security

The node manages addresses and authentication tokens for secure service interactions.

Dependencies

The node ensures services access required dependencies across the distributed network.

Services: Deterministic Software Containers

Services in Celaut are deterministic software containers designed to perform specific tasks. Following the black box principle, they operate independently of the nodes that execute them, focusing solely on their functionality.

Isolated Execution

Services are executed as isolated processes in containers or virtual machines, abstracting the details of the execution environment and maintaining security barriers.

Deterministic Behavior

Given the same inputs, services always produce the same outputs regardless of where or when they are executed, ensuring consistent and reproducible results across the entire network.

Hierarchical Execution

The service can request the execution of dependencies (child services) from its node. The parent service does not know where the dependencies are executed; each one specifies the required resources.

Service Specification Components

BOX

Defines the execution environment – architecture, filesystem, environment variables, entrypoint, configuration, and resources – to ensure deterministic execution across nodes.

API

Defines how to communicate with the service, accepted payment systems, and associated costs. Enables decentralized communication without central negotiation.

NET

Defines the scope of external network access. By default, services are isolated for security, but can request specific network access through the node when required for functionality.

Coordination Mechanisms

Reputation Systems

Builds trust and encourages quality through a history of reliable interactions.

  • Incentivizes high standards to maintain network standing.
  • Rewards reliability with increased trust and interactions.
  • Creates a self-regulating system for quality and performance.

Payment Mechanisms

Facilitates the exchange of resources for value and gates access to services.

  • Allows nodes to exchange resources for monetary value.
  • Requires proof of payment to access certain services.
  • Operates flexibly and independently of the core architecture.

Service Distribution

Celaut's architecture promotes dynamic, decentralized coordination. Unlike traditional systems, this approach ensures resilience and flexibility in how services are discovered and utilized across the network.

Decentralized Discovery

Celaut has no central service registry. Services are distributed across nodes peer-to-peer, allowing direct discovery without a single point of failure.

Optional Blockchain Integration

Services can be declared on blockchains that implement a registry, like the Sigma Reputation System on Ergo, to enhance visibility and trust.

User Roles in the Celaut Ecosystem

Node Maintainers

Similar to miners in blockchain systems, node maintainers provide computational resources to the network. They execute services requested by users in exchange for payment, without needing to understand the specific functionality of those services.

  • Provide hardware resources
  • Execute services on request
  • Receive compensation for resources

Service Developers

Developers create services that can run on any compatible node in the network. They focus on building functionality without worrying about the underlying infrastructure details.

  • Design service specifications
  • Build deterministic applications
  • Distribute services to nodes

Service Users

End users launch services on nodes, paying for the computational resources used.

  • Request service execution
  • Pay for computational resources
  • Consume service outputs

Real-World Impact and Applications

Game of Prompts is a competitive platform where creators design game-services that evaluate the robots playing them (solvers), and players create solver-services that attempt to maximize their score in those games.

The services operate following the Celaut paradigm, and the entire system functions using the Ergo (ERG) blockchain to record and evaluate results and transfer prizes.