Gwei Name Service

.gwei post
donnoh.gwei

Decentralization & scalability

Crossposted from scalability.guide, where it was published on 28 April 2022.

What does it mean to be decentralized?

There are three separate axes of decentralization:

Decentralization diagram

Blockchains are politically decentralized (no one controls them) and architecturally decentralized (no infrastructural central point of failure) but logically centralized (common agreed state that behaves like a single computer).

Logical centralization is in many cases good, but logical decentralization is good at surviving network partitions.

Architectural centralization can lead to political centralization.

Architectural but non political decentralization could happen when a community uses a centralized forum for convenience but if the owners of the forum act maliciously then everyone will move to a different forum (e.g. cryptotwitter).

Logical centralization makes architectural decentralization harder, but not impossible — see decentralized consensus networks.

Logical centralization makes political decentralization harder, where you can’t simply “live and let live” — see the Block size limit controversy and the DAO fork.

Reasons for decentralization

Blockchain decentralization: what is a node?

A node is a software that participates in the distributed network that makes up a blockchain.

What makes a blockchain trustless is that everyone who runs a node can independently verify the validity of the transactions and verify blocks against consensus rules. If you’re not running a node yourself, you’re trusting someone else to provide you with the correct data (e.g. your MetaMask default provider, Infura).

There are three types of nodes:

What does it mean to scale a blockchain?

How many units of computation can be processed per block (block size) and how fast a new block may be added (block time) determine the throughput of a blockchain.

To have a high architectural decentralization, it is important to keep the cost to run a node as low as possible to enable as many individuals as possible to participate in the system. The cost is determined by the hardware, bandwith and storage. Note that if the state grows in time, the storage cost grows too, as well as the time of the worst-case execution.

It is also important to keep the time to sync a full node low, because it can prevent certain users to participate in the network. Bitcoin takes 3 hours to sync 12+ years of data, Ethereum about a week for 6 years of data, BSC takes 13 days for 6 months of data, EOS weeks/months, for Solana is impossible, you need to get a snapshot from Solana Labs.

Scalability in the context of blockchains only makes sense when it means more transactions for the same hardware.

Simply increasing the block size or shortening the block time is not a scalability solution since it requires higher hardware requirements, decreasing decentralization.

An example of a scalability solution are validity proofs:
a validity rollup (or ZK rollup) moves computation and state storage off-chain but keeps a small amount of data on-chain. Rollups transactions are computed by a Prover, which computes the new state root and a validity proof which mathematically proves the correctness of the execution, and sends them to an on-chain smart contract called Verifier, which verifies the validity proof and updates the state of the rollup to the new one. The key aspect is that the computational cost of verifying the proof is much smaller than executing the underlying transactions. This compression trick proves that the throughput can be increased without increasing the hardware requirements.

In traditional blockchains, the more transactions happen, the more expensive it gets to get a transaction included. With rollups the dynamic is reversed, where the more transaction it gets the less each costs. But this is a story for another article about rollups.

Resources

StatusOn Ethereum since block 26269183
Blob0x01cb99b8…64d229
Transaction0xe025463c…b42210
Post hash0xc04d2413…634ff6
More from donnoh.gweiShare

Posts on .gwei names are stored in Ethereum blobs and can be published by anyone. How it works →