Architecture geth v1.17.3 Live Compare Quantum Nodes Current architecture Live status Client repos About Team Careers Blog Get in touch
XDC Innovation Labs / Network Architecture
Infrastructure · Foundation for a quantum-first chain

Multi-Client Architecture✓ Achieved

XDC Network runs 4 independent execution clients in 3 languages — all syncing mainnet. The first XDPoS chain to achieve true multi-client diversity, delivering fault tolerance, performance diversity, and long-term network resilience.

Section A — Current architecture

Multi-client architecture ✓ achieved

XDC Network now runs 4 independent execution clients across 6 servers — the first XDPoS chain to achieve true multi-client diversity. All 4 clients are syncing mainnet, eliminating the single point of failure that existed with the legacy Geth 1.8.3 fork.

Client diversity achieved

4 independent clients in 3 languages (Go, Rust, C#) are all syncing XDC mainnet. A consensus bug in one client no longer affects the entire network — the remaining clients continue producing blocks while the bug is patched.

4
Live Clients
GP5, Erigon, Nethermind, Reth
3
Languages
Go, Rust, C#
~103.3M
Mainnet Head
Reference client at chain tip
6
Servers
Multi-client fleet deployed
Current network topology — 4 independent clients syncing mainnet across 6 servers
XDPoS Consensus Layer (v1 + v2 BFT)
Shared consensus specification — all 4 clients implement identical rules
GP5
Go — Reference Client
~103.3M ✔
Reth-XDC
Rust — First Rust XDPoS
At tip ✔
Nethermind-XDC
C# / .NET
At tip ✔
Erigon-XDC
Go — MDBX Storage
Syncing · 11.5M ↻
All 4 clients independently verifying XDPoS consensus — no single point of failure
📊 Live node monitoring → 📦 Download snapshots
Risk mitigation

Risks now mitigated

With 4 independent clients live on mainnet, the single-client risks that previously threatened network liveness are now mitigated through client diversity.

Failure typePrevious riskCurrent mitigationStatus
Consensus bug 100% of validators stall — network halts Only nodes running affected client are impacted; 3 other clients continue producing blocks Mitigated
RPC regression All DApps and integrations broken simultaneously Operators switch RPC traffic to unaffected client; Reth, GP5, NM, Erigon all serve JSON-RPC Mitigated
Memory/resource leak No alternative client to fall back to Operators restart affected client while others handle load; different memory profiles per client Mitigated
P2P protocol exploit Network-wide DDoS via single implementation 4 independent P2P stacks; exploit in one doesn't affect others Mitigated
Language runtime CVE Go CVE affects 100% of nodes 3 languages (Go, Rust, C#) — a Go CVE leaves Reth and Nethermind unaffected Mitigated
Supply chain attack Single dependency tree compromises all nodes 4 independent dependency trees across 3 ecosystems (Go modules, Cargo, NuGet) Mitigated

Modern protocol support achieved

XDC clients now support eth/62, eth/63, eth/66–68, eth/100, and xdpos/100 wire protocols. Reth-XDC alone supports 7 protocol versions. The 2018 Geth fork protocol limitation is no longer the network bottleneck.

Section B — Achieved architecture

Multi-client design ✓ deployed

XDPoS consensus has been successfully ported to four independent execution clients in three different programming languages — all syncing XDC mainnet. Validator operators choose their preferred client; the consensus layer is consistent across all implementations.

Deployed multi-client topology — XDPoS consensus layer running across 4 independent live implementations
XDPoS Consensus Layer (v1 + v2 BFT)
Shared consensus specification — all clients implement identical rules
GP5
Go — Reference
~103.3M ✔
Erigon
Go — MDBX
Syncing · 11.5M ↻
Nethermind
C# / .NET
At tip ✔
Reth
Rust — First
At tip ✔
Besu
Java
Planned
01

Blast radius reduction ✅

A consensus bug in one client affects only validators running that client. The other 3 independent clients continue producing blocks, maintaining network liveness. Now proven live — 4 clients running in parallel on mainnet.

02

Performance diversity ✅

Reth delivers high-throughput parallel execution. Erigon provides a sub-300 GB archive via MDBX. GP5 and Nethermind provide Go and C# reference paths. All live on mainnet.

03

Snap sync available ✅

Snapshots published at xdc.network/snapshots. New operators sync in hours. Multi-TB full-replay requirement eliminated — lowering the barrier to validator infrastructure.

04

Language diversity ✅

Three implementation languages deployed: Go (GP5, Erigon), Rust (Reth), C# (Nethermind). A Go runtime CVE leaves Reth and Nethermind unaffected. First XDPoS chain with 3-language client diversity.

05

Modern protocol support ✅

All 4 clients support eth/66–68, eth/100, xdpos/100 wire protocols. Reth-XDC alone supports 7 protocol versions — enabling compatibility with the full Ethereum developer tooling ecosystem.

06

Key technical breakthroughs

Erigon: M2 validator ASCII decode fix. GP5: binary search ancestor caching. Reth: ECIES bridge via Erigon (reverse direction). NM: static-nodes mesh for peer stability.

Live progress

Client implementation status ✓ live

Current sync status across all XDC execution clients. All 4 primary clients are live on mainnet. Live monitoring at stats.xdcindia.com.

ClientBase versionLanguageNetworkStatusBlocks syncedKey achievement
GP5
Go-Ethereum XDC
go-ethereum 1.14
modern branch: v1.17.3
Go 1.22 Mainnet + Apothem Live ~103.3M (head) Snap sync, eth/66–68, rebased from Geth 1.8 → 1.14; v1.17.3 modernization branch in progress
Nethermind
Nethermind XDC
Nethermind latest .NET 8 Mainnet + Apothem Live At tip At tip — static-nodes mesh fix resolved peer stability; C# XDPoS fully operational
Erigon
Erigon XDC
Erigon v3 Go 1.22 Mainnet Syncing ~11.5M (mid-sync) Past V2 switch (block 80.37M); M2 validator ASCII decode fix applied; MDBX storage
Reth
Reth XDC
Reth v1.x Rust 2021 Mainnet Live At tip First Rust XDPoS client — at tip; ECIES bridge via Erigon (reverse direction) solved P2P
Besu
Besu XDC
Hyperledger Besu Java 21 Mainnet Planned Architecture analysis complete; porting roadmap defined
4
Clients Live
GP5, Reth, NM, Erigon — all on mainnet
3
At Chain Tip
GP5, Reth, Nethermind at head
~103.3M
Mainnet Head
Reference client at tip
6
Servers Deployed
Multi-client fleet running
Architecture comparison

Legacy vs multi-client

A direct comparison of capabilities between the legacy single-client architecture and the live multi-client implementation now running on XDC mainnet.

CapabilityLegacy (v2.6.8)GP5Erigon XDCNethermind XDCReth XDC
Base version Geth 1.8.3 (2018) go-eth 1.14 Erigon v3 NM latest Reth v1
Language GoGoGo.NET / C#Rust
Snap sync No Yes Yes Yes Yes
Archive storage ~919 GB ~303 GB ~300 GB ~1 TB * ~800 GB *
Wire protocol eth/62, 63, 100 eth/63–68 eth/63–68 eth/63–68 eth/63–68
XDPoS v1 Yes Yes Yes Yes In progress
XDPoS v2 (BFT) Yes Yes Yes In progress In progress
JSON-RPC API Yes Yes Yes Yes Yes
Parallel execution No Roadmap Yes Yes Yes
Engine API (CL-ready) No Yes Yes Yes Yes
Validator support Yes Yes Yes In progress Planned

* Archive storage for Nethermind and Reth are ETH-mainnet-equivalent estimates from client documentation, not direct XDC measurements; the XDC chain is smaller. GP5 (~303 GB) and Erigon (~300 GB) reflect XDC mainnet readings.

Why switch?

Client advantages vs XDC 2.6.8

Performance and architectural gains each client delivers over the current XDC 2.6.8 single-client infrastructure. Figures marked est. are ETH-mainnet-equivalent estimates from client documentation and community benchmarks, not direct XDC measurements.

GP5 Go
  • ~28× faster sync (est.) — ~85 blk/s vs ~3 blk/s; resync in hours, not weeks
  • Snap sync — new nodes join in hours, not weeks of full replay
  • PBSS online pruning — no archive growth, prune without stopping the node
Best for: Drop-in replacement for XDC 2.6.8
Erigon v3 Go
  • ~300 GB archive — flat MDBX storage on XDC mainnet vs ~919 GB legacy full node
  • ~10× lower RPC latency (est.) — flat B+ tree reads vs trie + LevelDB traversal
  • Higher RPC density (est.) — ~2 GB RAM/instance vs 8–16 GB with v2.6.8
Best for: Archive nodes & high-throughput RPC operators
Nethermind C#
  • JIT-compiled EVM — RyuJIT optimization accelerates heavy smart-contract execution
  • Independent CVE surface — .NET runtime isolates from Go CVEs; different blast radius
  • Parallel tx processing — .NET TPL distributes EVM workload across CPU cores
Best for: Enterprise & .NET environments
Reth Rust
  • Zero GC pauses — Rust ownership model eliminates runtime GC; no missed blocks under load
  • Low RPC latency (est.) — Tokio async + zero-copy MDBX reads at peak concurrency
  • Highest RPC density (est.) — ~2–6 GB RAM; most instances per server of all clients
Best for: High-load RPC & latency-critical APIs
Besu Java
  • Enterprise support via Consensys — SLA, security audits, long-term maintenance
  • JVM ZGC — sub-10 ms GC pauses; no stop-the-world events
  • Largest ecosystem — widely deployed in enterprise & regulated finance
Best for: Enterprise & regulated financial institutions (planned)
Open source

Client repositories

All XDC Innovation Labs client implementations are fully open source under the XDCIndia GitHub organization. Contributions, issues, and forks are welcome.

GP5
Go — go-ethereum 1.14
go-ethereum-xdc
Erigon
Go — Erigon v3
erigon-xdc
Nethermind
.NET 8 — C#
nethermind-xdc
Reth
Rust 2021 edition
reth-xdc
Besu
Java 21 / Hyperledger
besu-xdc
The two pillars connect

Client diversity is the foundation for a quantum-first migration.

Multi-client diversity is more than fault tolerance — it is the resilient base that lets XDC roll out its upcoming XDSS-PQ post-quantum migration one client at a time. Each implementation can adopt post-quantum signatures independently, verified against bit-exact consensus parity, so the chain hardens against the quantum threat without ever halting the network. Post-quantum readiness is an active initiative on the roadmap — ahead of DORA, CNSA 2.0 and the EU PQC deadline.

Explore the quantum initiative → geth v1.17.3 modernization →