Replicas
One validator identity, several machines, spread across clouds and continents. One produces; the rest stand ready. Shipped in v1.5.8.
Setup lives in the validator guide; this is the deep dive.
01One identity, many machines
A replica group is the same seed pack on several nodes — different machines, different clouds, different continents:
- Members heartbeat each other every
500ms, encrypted withAES-256-GCMunder a shared secret. - Only the member that a majority acks as the leader may sign. The lowest
REPLICA_IDonline wins leadership. - No member ever signs a height another member already signed — the high-water mark is on disk and survives restarts. Double-signing is structurally impossible.
02When us-east-1 goes down — and it will
AWS us-east-1 is the internet's single biggest point of failure, and it has a track record:
When it happens, half the internet goes dark with it. With replicas, the group notices the silence in ~2s, leadership falls to the lowest ID still online, and production continues from another cloud:
For teams running customer validators behind an SLA, this is the point: an AWS outage can never be your validators' blame. While status pages everywhere turn red, your fleet keeps signing from another cloud — no missed slots, no angry customers, no post-mortem where the answer is "Amazon".
03Sizing the group
Signing needs a majority online, so useful sizes are odd:
- Group of 3 — survives 1 failure (the standard shape)
- Group of 5 — survives 2
- Group of 7 — survives 3
Spread members across providers and regions — three nodes in one datacenter share one failure domain. Lose quorum entirely and the group goes safely silent rather than risk a double-sign.
04Config
Enterprise territory
# the group: id@ip:port, comma-separated — identical on every member
[email protected]:36969,[email protected]:36969,[email protected]:36969
# this machine's id — must appear in REPLICAS. doubles as leader
# priority: the lowest id online becomes leader
REPLICA_ID=1
# shared secret: 32 random bytes, Base58 — generate once, same on every member
REPLICA_PSK=<32-bytes-base58>Full node setup — hardware, seeds file, systemd — is in the validator guide.