Skip to main content

Node Architecture

In this section, we'll cover the different components of a prover node, especially with respect to the reference prover node implementation.

Architecture

The following diagram shows the architecture of a prover node and how its components interact:

Core Components

NodeContext

The NodeContext serves as the central coordination point for all node activities. It:

  • Manages the overall state of the node
  • Handles communication between internal components
  • Maintains connections to external services like the ProverNetwork and ArtifactStore
  • Coordinates resource allocation for proof generation
  • Handles configuration settings and environment variables
  • Ensures proper initialization and shutdown sequences

The NodeContext is the first component initialized when a node starts up and the last to shut down, making it responsible for the node's lifecycle management.

NodeBidder

The NodeBidder component is responsible for participating in the network's auction system:

  • Monitors the ProverNetwork for unassigned proof requests
  • Evaluates whether the node has sufficient resources to fulfill each request
  • Calculates appropriate bid amounts based on the node's cost structure and resource availability
  • Submits bids to the network when favorable opportunities are identified
  • Tracks the status of submitted bids
  • Receives notifications when bids are accepted or rejected

The NodeBidder implements sophisticated bidding strategies that take into account factors like hardware capabilities, current load, program complexity, and deadline constraints. This component is crucial for ensuring that the node operates profitably while maintaining high service levels.

NodeProver

The NodeProver handles the core functionality of generating zero-knowledge proofs:

  • Retrieves detailed information about assigned proof requests
  • Downloads necessary artifacts (like programs and inputs) from the ArtifactStore
  • Manages the proof generation process, including resource allocation
  • Monitors proof generation progress and handles failures gracefully
  • Submits completed proofs to the ProverNetwork
  • Reports on proving performance and resource utilization

This component interfaces directly with the underlying zero-knowledge proof system, orchestrating the complex cryptographic operations required to generate valid proofs within the specified deadlines.

NodeMonitor

The NodeMonitor provides observability and health checking for the node:

  • Tracks system resource usage (CPU, GPU, memory, disk space)
  • Collects performance metrics for proof generation
  • Monitors the status of all ongoing operations
  • Logs significant events and state changes
  • Provides diagnostics when issues arise
  • Implements alerting for critical conditions
  • Enables operators to understand node behavior and performance

The monitoring capabilities are essential for maintaining reliable node operation and diagnosing issues when they occur.

External Services

ProverNetwork

The ProverNetwork interface connects the node to the Succinct Prover Network's auction and coordination systems:

  • Provides API endpoints for retrieving proof requests and submitting bids
  • Notifies nodes when they've been assigned proof requests
  • Receives completed proofs and forwards them for verification
  • Handles prover registration and authentication
  • Communicates network status updates and protocol changes

This is the primary interface through which the node interacts with the broader Succinct ecosystem.

ArtifactStore

The ArtifactStore is a distributed storage system that:

  • Stores program binaries, inputs, and other data needed for proof generation
  • Provides secure, high-performance access to artifacts
  • Handles versioning of program artifacts
  • Enables efficient distribution of large datasets across the network
  • Ensures data integrity through cryptographic verification

Using a dedicated artifact store allows the network to handle large programs and inputs efficiently, without overloading the main coordination systems.