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