~$ crypto-under-the-hood

# The machinery behind the coins

~/notes / node operation

The Cost of Verifying Everything

Every full node re-executes every transaction. That duplication is the entire point and it is also the reason these systems are slow.

Ivan Kruse · · 2 min

A blockchain is an extraordinarily inefficient computer. Thousands of machines perform identical work and produce identical results.

That inefficiency is not a flaw to be engineered away. It is the product.

What the duplication buys

Independent verification. Every node checks every rule itself. No participant has to trust any other.

Censorship resistance. No single party controls inclusion.

Availability. The system survives any individual failure.

Tamper evidence. Rewriting history requires convincing a majority, which is expensive by design.

Remove the duplication and you have a database, which is faster and provides none of the above.

The cost

Throughput is bounded by what the slowest participating node can handle, if you want that node to be able to participate.

Storage grows for everyone. Every node stores the same state.

Bandwidth scales with activity for every node, not just for the ones producing blocks.

The scaling responses, and what each gives up

Bigger blocks. More throughput, higher node requirements, fewer independent verifiers.

Faster blocks. More throughput, more forks, or higher connectivity requirements.

Smaller validator sets. More throughput and speed, less decentralisation.

Rollups. Execution moves off the base layer; the base layer verifies a proof or holds data for challenges. The duplication is preserved for verification and removed for execution.

The last is the only one that increases throughput without directly reducing the number of parties who can verify, which is why it became the dominant direction.

The asymmetry that makes it work

Verification being much cheaper than execution is the property everything rests on.

Checking a signature is cheaper than producing one. Checking a Merkle proof is cheaper than holding the set. Checking a validity proof is cheaper than running the computation.

Every scaling advance in this field exploits that asymmetry somewhere.

What this means for evaluating a chain

The question is not how fast it is. It is what it costs to be a participant who verifies rather than trusts.

A chain where validation requires infrastructure only a few organisations can operate has traded away the property that distinguishes it from a database, and the throughput figure does not tell you that.

Node requirements, sync times and the number of independent operators are the figures that do, and they are published or computable for any serious network.

The practical conclusion

Run a node if the amount you hold justifies the effort, because it is the only arrangement where you are verifying rather than asking.

For everything else, including the working balance at a platform with real on-chain withdrawals, you are trusting someone, and the honest position is to know who and to size accordingly.

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

verificationscalingdesign

# related notes