DAS Guardian

A Data Availability Sampling tool to asses Ethereum Node's real custody

DAS Guardian is a CLI tool designed to assess and verify the correctness of given Beacon Node in the network. This includes: checking their beacon status, metadata, and data-column custody in the context of Ethereum's PeerDAS. It acts as a specialized auditor that connects to remote nodes to verify if they are correctly retaining and sharing the data columns they claim to be responsible for.

Methodology

  • Custody Verification: The tool targets specific nodes via their ENR (Ethereum Node Record) to audit their Column Custody Group (cgc) and ensure they are serving the expected data.
  • PeerDAS Protocol Auditing: It simulates sampling requests by interacting with the node's Libp2p interface, specifically monitoring DataColumnByRoot RPCs to check data availability.
  • Cross-Layer Analysis: The Guardian combines information from the Beacon API (to understand the network state) with direct P2P interactions to evaluate node performance.
  • Active Scanning & Monitoring: It can perform one-off health checks (scan) or persistent observation (monitor) of a node’s behavior across different slots.

Why you should care

As Ethereum moves toward PeerDAS, ensuring that nodes actually store the data they are assigned is critical for network security and scalability:

  • Client Reliability: Verify that different Consensus Layer (CL) client implementations (Lighthouse, Prysm, etc.) are correctly implementing the PeerDAS specifications.
  • Data Availability Health: Detect "lazy" nodes that might be participating in the network without fulfilling their data custody requirements.
  • Devnet Debugging: Provide developers with a detailed breakdown of latency, protocol versions, and success rates for column retrieval during experimental phases.

Usage & Integration

DAS Guardian is built in Go and is optimized for use in Ethereum devnets (such as Fusaka). It can be configured to:

  • Scan via ENR: Quickly audit a specific node's custody status using its network record.
  • Network-Wide Scans: Use the playtime command to automatically discover and audit consensus clients across an entire devnet via Dora.
  • Custom Beacon Endpoints: Connect to any Beacon API to synchronize with the current head-state and Fulu hardfork status.

Detailed setup instructions, configuration flags, and example commands can be found in the GitHub repository.