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.