Skip to main content

System Architecture

Xatu consists of multiple components that work together to provide comprehensive Ethereum network monitoring. Each component serves a specific purpose and can be deployed independently or as part of the complete system.

Architecture Overview

The components interact as shown in this simplified diagram:

             ┌───────────┐
│ CONSENSUS │
│P2P NETWORK│
└─────▲─────┘

┌────────────┘─────────────┐
│ │
┌─────▲─────┐ ┌─────▲─────┐ ┌───────────┐
│ CONSENSUS │ │ ARMIARMA │ │ EXECUTION │
│ CLIENT ◄─────┐ │ │ │P2P NETWORK│
└─────▲─────┘ │ └─────▲─────┘ └─────▲─────┘
│ │ │ ┌─────┘───────┐
│ │ │ │ │
┌───▼────┐ ┌────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ XATU │ │ XATU │ │ XATU │ │ XATU │ │ XATU │
│ SENTRY │ │ CANNON │ │ SAGE │ │ MIMICRY │ │ DISCOVERY │
└───┬────┘ └─────┬────┘ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │ │ │
│ │ │ │ │
│ ┌────▼─────┐ │ │ │
└───────► ◄───────┘─────────────┘─────────────┘
│ XATU │
│ SERVER │ ┌─────────────┐
│ ◄────► PERSISTENCE │
│ │ └─────────────┘
└─────┬────┘



DATA PIPELINE

Component Descriptions

Xatu Server

The centralized server that collects events from various clients and outputs them to various sinks:

  • Role: Central hub for data collection and processing
  • Features:
    • Data normalization and transformation
    • Filtering capabilities
    • Management of persistence and data pipelines
    • Support for multiple output destinations
  • Use Cases: Core component for any Xatu deployment, essential for aggregation

Xatu Sentry

A client that collects data from Ethereum consensus clients via the Beacon API:

  • Role: Consensus layer monitoring
  • Features:
    • Connects to existing consensus clients via HTTP
    • Subscribes to beacon chain events (attestations, blocks, etc.)
    • Collects validator activities
    • Real-time metrics gathering
  • Use Cases: Monitoring validator operations, consensus layer analysis

Xatu Discovery

A client that uses network discovery protocols to map the Ethereum network:

  • Role: Network topology mapping
  • Features:
    • Implements Discovery Protocol v5 and v4
    • Attempts connections to execution layer nodes
    • Collects node metadata (client type, version, etc.)
    • Geographic distribution information
  • Use Cases: Network health monitoring, client diversity analysis

Xatu Mimicry

A client that collects data from the execution layer P2P network:

  • Role: Execution layer monitoring
  • Features:
    • Acts as an execution layer node
    • Monitors transaction propagation
    • Captures network behavior
    • Collects execution layer metrics
  • Use Cases: Transaction analysis, network performance evaluation

Xatu Cannon

A client that collects canonical finalized data from consensus clients:

  • Role: Historical data collection
  • Features:
    • Focuses on finalized block data
    • Collects historical chain data
    • Gathers canonical state information
    • Provides data consistency checks
  • Use Cases: Long-term analysis, historical data archiving

Deployment Scenarios

Xatu components can be deployed in various configurations depending on monitoring needs:

Minimal Deployment

  • Xatu Server + Xatu Sentry
  • Suitable for basic validator monitoring

Network Research

  • All components
  • Provides comprehensive network visibility

Transaction Monitoring

  • Xatu Server + Xatu Mimicry
  • Focuses on transaction propagation and mempool analysis

Client Diversity Tracking

  • Xatu Server + Xatu Discovery
  • Tracks client implementations across the network

Further Information

For more detailed information on each component, check the Xatu GitHub repository.