Overview of Holochain Architecture
This section explores the technical architecture of Holochain, including its core components, design principles, and system interactions. Understanding Holochain’s architecture is essential for developing robust applications and leveraging the full potential of this distributed computing framework.
Architectural Components
Core System Components
- Holochain Architecture Overview - High-level explanation of the system design
- Conductor - The runtime environment for Holochain applications
Core Components
- Core Components Directory - Detailed documentation of Holochain’s fundamental building blocks
- Source Chain - Agent’s personal immutable record chain
- DHT - Distributed Hash Table for shared data
- Networking Layer - Peer discovery and communication
- WASM Runtime - Execution environment for application code
Architectural Principles
Agent-Centricity
- Each agent maintains their own source chain
- Data originates from and is signed by agents
- Validation occurs from the perspective of receiving agents
Distributed Validation
- Rules are enforced by the collective
- No central authority for validation
- Cryptographic accountability for all actions
Scalability by Design
- Sharding through DHT architecture
- Parallel validation across the network
- Local-first operations with eventual consistency
System Interactions
Data Flow
- Agent creates and signs data on their source chain
- Data is published to the DHT
- Validators check data against validation rules
- Valid data becomes available to other agents
Application Execution
- User interfaces interact with the Conductor
- Conductor manages cell instances
- Cells execute application logic in WASM
- Results propagate through the network
Technical Specifications
- Written primarily in Rust for performance and safety
- WebAssembly (WASM) for portable application code
- Libp2p networking stack for peer communication
- Content-addressable storage using multihash