~$ crypto-under-the-hood

# The machinery behind the coins

~/notes / node operation

Client Diversity and Why It Is the Risk Nobody Watches

A network running mostly one software implementation has a single point of failure that no amount of node distribution fixes.

Ivan Kruse · · 2 min

Decentralisation discussions count nodes and validators. The number that matters more is how many independent software implementations they are running.

Why it matters

Every node runs code. If a supermajority runs the same implementation, a bug in that implementation is a bug in the network.

Two failure modes follow.

A consensus bug causes the majority to accept an invalid block. Nodes running a minority client reject it correctly and are forked off the chain the majority is following. The correct nodes are the ones that appear to be wrong.

A liveness bug takes the majority offline simultaneously. On a proof-of-stake network, a large fraction of validators failing at once triggers correlated penalties, which is the severe case by design.

Neither is hypothetical. Client bugs have caused real incidents on major networks, and the reason they were survivable is that minority clients kept running.

The threshold that matters

A client with more than two thirds of the validator set can finalise an incorrect chain by itself.

A client between one third and two thirds can halt finality if it fails.

Below one third, a failure is survivable: the network continues, the affected validators are penalised for downtime, and the chain is correct.

Those thresholds make client share a security parameter rather than a preference.

Why it is difficult to fix

Network effects in software. The most documented, best supported client attracts new operators, which increases its share.

Performance differences. Operators choose the fastest or most resource-efficient client, which concentrates them.

Institutional standardisation. Large staking operators run one client across their infrastructure for operational simplicity, which concentrates a great deal of stake in one implementation.

That last factor is the largest contributor and the least discussed.

What is being done

Client diversity dashboards publish the distribution. Some staking services commit publicly to running minority clients. Protocol research on correlated penalties makes concentration explicitly expensive.

Progress is real and the distribution on major networks remains more concentrated than the thresholds above would suggest is comfortable.

What an individual can do

If you run a validator, run a minority client. The performance difference is usually small and the contribution is disproportionate.

If you delegate, ask which client your operator runs. Several publish it.

If you do neither, the relevance is knowing that the figure to watch when someone claims a network is decentralised is not the node count. It is the client distribution, and it is published.

For anyone whose exposure is a balance at a venue such as a platform with real on-chain withdrawals, this is the venue’s operational concern rather than yours, which is one of the things you are paying them for.

# Corrections and technical nitpicks are welcome. Send them over. They get published with the fix.

clientsdiversityrisk

# related notes