Scaling the storage layer behind the Tezos blockchain
Six times the storage throughput, 80% less memory, and rolling nodes that need a tenth of the disk.
Octez, the main Tezos node implementation, needed its storage layer to keep pace with a growing network. Tarides made it six times faster and cheaper to run.
- Storage throughput
- 6x
- Less memory used
- 80%
- Smaller rolling nodes
- 10x
Outcome
The storage layer of Octez 13 reached 1,043 transactions per second on average, passing the thousand-per-second goal the team had set and a six-fold improvement on Octez 10. The same work made the layer far steadier, with a twelve-fold improvement in the mean latency of operations, and much cheaper to run: memory use fell by 80%, so bootstrapping a node needs 400 MB of RAM rather than several gigabytes. Those figures come from replaying the first 150,000 blocks of the Hangzhou protocol from Tezos Mainnet, measuring the storage layer on its own rather than end-to-end chain throughput.
The savings carried through to the people actually running the network. Rolling nodes, the configuration most bakers use, came to need a tenth of the storage they had before, and automatic context pruning landed in Octez v15 so that disk use stays bounded without operator intervention.
Approach
Tarides has been responsible for the storage component of Tezos for several years, from the L1 and L2 shells up to the protocol itself. That is a long-running engagement rather than a single delivery, and the work has moved with the network's priorities: throughput first, then the cost of running a node, then the archive nodes that keep the full history.
The gains came from Irmin, the storage layer Tarides develops and maintains, and specifically from the Irmin 3 release that Octez 13 adopted. Rather than tuning around the edges, the team built a benchmarking setup that replayed real mainnet data with networking and protocol computation excluded, which isolated the storage bottlenecks precisely enough to fix them and then prove they were gone.
Separately, Nomadic Labs' cryptography team brought Tarides in on Epoxy, their zero-knowledge rollup. Proving is the expensive half of a zk-rollup, and its cost caps the throughput of the whole system. Using a prerelease of OCaml 5, the team parallelised proving across the cores of a single machine, which Marco Stronati, co-lead of the cryptography team, said drastically improved performance with minimal effort. Adoption took hours rather than the week such upgrades usually cost:
The most important thing was not having to revolutionise what I do. People don't want to waste a week on upgrading, and this was a seamless experience.
Marco Stronati, co-lead of the cryptography team, Nomadic Labs
Support mattered as much as the tooling. As Marco put it, “the moment we had a problem, we would get help immediately”.
Challenge
Tezos competes with far larger blockchains while holding to proof-of-stake and the energy profile that comes with it, so throughput has to improve without the brute-force options other networks can reach for. As more projects moved onto the chain, the storage layer became the bottleneck: it capped how many transactions the network could settle, and it set the hardware bill for everyone operating a node.
Those two pressures pull against each other. Making a storage layer faster usually means spending more memory and more disk, which is exactly what bakers cannot afford if running a node is to stay within reach of individuals rather than only well-funded operators. The work had to deliver both at once, on a live network, without disrupting the node implementation the ecosystem depends on.
Have a similar challenge?
Let's talk about how we can help you build something reliable, secure, and fast.
