Skip to main content

Node Types and Capabilities

The Symbiotic relay network operates through three distinct node operation modes, each implemented as Go applications with specific responsibilities in the signature aggregation workflow.

All nodes run the signer app as a base capability. For small test networks, only one instance each of aggregator and committer nodes is sufficient for operation.

Signer

Primary Role: Signs validator set headers and broadcasts signatures to the network

Key Responsibilities:

  • Receives signature requests for validator set headers (and arbitrary signature requests)
  • Signs messages using validator private keys
  • Broadcasts signed messages via P2P network
  • Verifies and processes aggregated signature proofs

Configuration: Enabled on all nodes by default

API Endpoints: Provides /signMessage endpoint for external signature requests

Aggregator

Primary Role: Collects individual signatures and creates aggregated cryptographic proofs

Key Responsibilities:

  • Monitors P2P network for signature messages
  • Verifies individual signatures against validator sets
  • Tracks voting power accumulation until quorum is reached
  • Creates BLS signature aggregations or zero-knowledge proofs
  • Broadcasts aggregated proofs to the network

Configuration: Enabled via --aggregator bool flag

Aggregation Types: Supports both simple BLS aggregation and zero-knowledge proof generation

Committer

Primary Role: Submits aggregated proofs to blockchain settlement contracts

Key Responsibilities:

  • Receives aggregated signature proofs from the network
  • Retrieves pending validator sets for commitment
  • Generates extra data required for on-chain verification
  • Submits transactions to all configured settlement contract replicas

Configuration: Enabled via --committer bool flag

Fault Tolerance: Attempts commitment to multiple contract replicas for redundancy

Network Topology

Minimal Setup: For test networks, run one aggregator node and one committer node alongside multiple signer nodes.

Production Setup: Multiple aggregator and committer nodes can be deployed for redundancy, though only one aggregator needs to reach quorum and only one committer needs to successfully submit transactions per epoch.

P2P Communication: All nodes participate in the libp2p network for signature and proof message broadcasting