Section A — Current State

Single-Client Architecture

XDC Network currently runs on a single execution client — a fork of Go-Ethereum 1.8.3 (Geth) created in 2017. Every validator, RPC node, and archive node in the network runs this same binary.

!

Single Point of Failure

When the sole client has a consensus bug, an RPC regression, or a security vulnerability, every node on the network is simultaneously affected. There is no fallback implementation to maintain network liveness.

v2.6.8
Current Client
Geth 1.8.3 fork, 2017
~3/s
Block Sync Rate
eth/63 protocol only
~2TB
Archive Storage
No snap sync available
1
Active Client
100% of validators
Current network topology — all nodes share a single implementation
External P2P Network
eth/62 · eth/63 · eth/100
SPOF XDC Node v2.6.8
Go-Ethereum 1.8.3 fork — ALL validators run this binary
XDPoS v1
Consensus
XDPoS v2
BFT Consensus
~2TB Archive
No Snap Sync
A bug in the single client binary propagates to 100% of the network simultaneously
Risk Analysis

Single-Client Risk Matrix

The following scenarios illustrate the network-wide blast radius when a single client implementation contains a defect.

Failure TypeRoot CauseNetwork ImpactRecovery PathSeverity
Consensus bug State transition produces incorrect block hash 100% of validators stall or fork — network halts Emergency patch + forced upgrade of all 108 validators Critical
RPC regression API endpoint returns malformed response All DApp, exchange, and bridge integrations broken simultaneously Hotfix + coordinated redeployment High
Memory/resource leak Progressive heap exhaustion under load Validator nodes OOM-kill; reduced block production Restart + patch cycle; no alternative client available High
P2P protocol exploit RLPx or devp2p vulnerability in single implementation Network-wide DDoS or eclipse attack surface Patch and restart all nodes simultaneously Critical
Go runtime vulnerability Upstream Go compiler/runtime CVE affects single codebase All nodes potentially exploitable via same vector Recompile + redeploy; no language diversity Medium
Dependency supply chain Compromised dependency in single dependency tree All nodes potentially compromised via identical deps Full audit + rebuild + coordinated upgrade Critical
~

Legacy Protocol Constraints

The current client supports only eth/63 wire protocol (2018-era Ethereum). Modern clients support eth/66 through eth/68 with improved bandwidth efficiency, request multiplexing, and snap sync capability. XDC cannot benefit from these improvements while locked to the 2017 Geth fork.

Section B — Proposed Architecture

Multi-Client Design

The proposed architecture ports XDPoS consensus to five independent execution clients in three different programming languages. Validator operators choose their preferred client; the consensus layer remains consistent across all.

Proposed multi-client topology — XDPoS consensus layer shared across 5 independent implementations
XDPoS Consensus Layer (v1 + v2 BFT)
Shared consensus specification — all clients implement identical rules
GP5
Go
Live
Erigon
Go
Syncing
Nethermind
.NET
Syncing
Reth
Rust
Beta
Besu
Java
Planned
01

Blast Radius Reduction

A consensus bug in one client affects only the fraction of validators running that client. The other 4 clients continue producing blocks, maintaining network liveness while the bug is patched.

02

Performance Diversity

Reth delivers high-throughput parallel execution. Erigon provides sub-300GB archive storage via MDBX flat files. Operators choose the right client for their infrastructure budget and performance requirements.

03

Snap Sync Availability

New operators can sync from genesis in hours, not days. Snap sync eliminates the 2TB archive requirement for full nodes, lowering the barrier to running validator infrastructure.

04

Language Diversity

Three implementation languages — Go, Rust, and Java — mean that a runtime CVE or compiler vulnerability in one language cannot simultaneously compromise all clients.

05

Modern Protocol Support

New clients support eth/66, eth/67, eth/68 wire protocols — enabling request multiplexing, improved peer discovery, and compatibility with the broader Ethereum developer tooling ecosystem.

06

Independent Maintenance

Each client tracks its upstream (go-ethereum, Erigon, Nethermind, Reth, Besu) independently. XDC-specific patches stay minimal, reducing long-term maintenance burden.

Live Progress

Client Implementation Status

Current sync status and implementation progress across all five XDC execution client ports as of March 2026.

ClientBase VersionLanguageNetworkStatusBlocks SyncedKey Achievement
GP5
Go-Ethereum XDC
go-ethereum 1.14 Go 1.22 Mainnet + Apothem Live ~100M blocks Snap sync, eth/66–68, rebased from Geth 1.8 → 1.14
Nethermind
Nethermind XDC
Nethermind latest .NET 8 Mainnet + Apothem Syncing ~2M blocks XDPoS plugin integrated; P2P peer connection in progress
Erigon
Erigon XDC
Erigon v3 Go 1.22 Mainnet Syncing ~7M blocks XDPoS v1/v2 ported; MDBX storage; peering under active fix
Reth
Reth XDC
Reth v1.x Rust 2021 Apothem Beta ~1M blocks XDPoS consensus ported; ECIES handshake fix in progress
Besu
Besu XDC
Hyperledger Besu Java 21 Mainnet Planned Architecture analysis complete; porting roadmap defined
5
Client Implementations
3 languages, 5 codebases
3
Active on Mainnet
GP5, Nethermind, Erigon
100M+
Blocks Verified (GP5)
XDPoS consensus validated
2017
Legacy Client Fork Year
7+ years behind upstream
Architecture Comparison

Legacy vs Multi-Client

A direct comparison of capabilities between the current single-client architecture and the proposed multi-client implementation.

CapabilityCurrent (v2.6.8)GP5Erigon XDCNethermind XDCReth XDC
Base version Geth 1.8.3 (2017) go-eth 1.14 Erigon v3 NM latest Reth v1
Language GoGoGo.NET / C#Rust
Snap sync No Yes Yes Yes Yes
Archive storage ~2 TB ~2 TB ~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
Why Switch?

Client Advantages vs XDC 2.6.8

Concrete performance and architectural gains each client delivers over the current XDC 2.6.8 single-client infrastructure. Validated against official client documentation and benchmarks.

GP5 Go
  • 28× faster sync — 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 node
Best for: Drop-in replacement for XDC 2.6.8
Erigon v3 Go
  • 60% less disk — ~2.5 TB archive vs ~12 TB equiv.; saves ~$80/mo on cloud NVMe
  • 10× lower RPC latency — ~5ms flat B+ tree vs ~50ms trie+LevelDB traversal
  • 10× more RPC nodes/server — 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 measurably 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 all CPU cores
Best for: Enterprise & .NET environments
Reth Rust
  • Zero GC pauses — Rust ownership model eliminates runtime GC entirely; no missed blocks under load
  • Lowest RPC latency (~3ms) — Tokio async + zero-copy MDBX reads at peak concurrency
  • 12+ RPC nodes per server — 2–6 GB RAM; highest density of all clients
Best for: High-load RPC & latency-critical APIs
Besu Java
  • Enterprise support via Consensys — SLA, security audits, long-term maintenance commitment
  • JVM ZGC — sub-10ms GC pauses; lowest of any Java client; no stop-the-world events
  • Largest ecosystem — most widely deployed Ethereum client in enterprise & regulated finance
Best for: Enterprise & regulated financial institutions

* Disk figures are ETH mainnet equivalents; XDC chain is smaller. Nethermind archive corrected to ~14 TB per official docs (July 2023 baseline, +60 GB/week). All other benchmarks sourced from client documentation and community benchmarks.

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