Ethereum in numbers

Where physics meets TPS

11 June 2022


Péter Szilágyi

Go Ethereum Lead

Detour: The Boring Company

Vegas Loop tunnel

Tunnels are expensive, but must they be?

"Physics is the law, everything else is a recommendation" ~Elon Musk

Back to us: EtHiRUeM DoEs nOT sCaLe

Ethereum is too expensive for me!

Ethereum can barely do 15-25 TPS!

Ethereum runs 1.1M gas per second!

Problem: Throughput is proportional to gas, but gas isn't proportional to load.

Bane of Ethereum: Merkle Patricia trie

👋 Merkle tree containing account data leaves, linked together via 16-child internal nodes. 👋

Catch: The more accounts there are, the deeper the state trie becomes.

Bane of Ethereum: State trie depth

Logarithmic depth surely doesn't matter?

HDD                    capped at        80 IOPS  ⇒  0.19 TPS  (x2/3 = 0.12 TPS with disk pruning)
SSD (SATA 6)           capped at    90.000 IOPS  ⇒   214 TPS  (x2/3 =  142 TPS with disk pruning)
SSD (NVMe over PCIe 3) capped at   360.000 IOPS  ⇒   857 TPS  (x2/3 =  571 TPS with disk pruning)
SSD (NVMe over PCIe 4) capped at 1.000.000 IOPS  ⇒  2381 TPS  (x2/3 = 1587 TPS with disk pruning)

*Purely disk latency bounds, no in-memory optimizations (archive), no caching (small RAM)

Bane of Ethereum: State trie size

To raise the TPS, we must lower the disk IOPS:

Unfortunately, system memory is limited

Bane of Ethereum: State trie growth

How fast is Ethereum's state growing (5th June, '22 - Sunday)?

Catch: above growth is the pure useful state data

¹+25% according to Etherscan; ²computer said so, maybe lied; ³disregarded log component

What does this all mean?

Ethereum (along with all forks) is on a – potential – death trajectory 😱

But does the brick wall need to exist?

Thank you

Go Ethereum Lead