Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

A major upgrade is coming to Mina's Mainnet in June.

Learn more Change Region

GET THE
NEWSLETTER

Share Feedback
RESOURCE

2020-02-25 / O(1) LABS

Solving the Blockchain


Scalability Trilemma
Blockchain architectures today are very
inefficient at being both scalable and
decentralized, a challenge widely referred to
as the scalability trilemma. In this piece, I
propose a new mental model called ScaDe
(Scalability-per-unit-of-Decentralization)
that helps the industry design better
blockchains.

TOP
1,000 TPS! 5,000 TPS!! 22,000 TPS!!! – these are the numbers many of the newer
blockchains highlight when they talk about their project. Although there are many
technical innovations, such claims fail to take into account that increasing TPS
(transactions per second) without considering the cost of running a full node comes
with a decentralization tradeoff.

A new mental model called ScaDe (Scalability-per-unit-of-


Decentralization) will help the industry design better blockchains.

Decentralization is essential for blockchains. More than 70% of the value generated
by the crypto industry (aka market cap) belongs to the two most decentralized
blockchains – Bitcoin and Ethereum – despite their limited TPS. We have not been
able to get better throughput because blockchain architectures today are very
inefficient at being both scalable and decentralized. This challenge is widely referred
to as the scalability trilemma.

In this piece, I propose a new mental model called ScaDe (Scalability-per-unit-of-


Decentralization) that helps the industry design better blockchains. We will then look
at how succinct blockchains such as Mina Protocol, using zero knowledge proofs, can
go beyond the limited ScaDe of present day blockchains.

Ultimately, we believe ScaDe is a better goal than TPS because blockchains are not
computers.

Trust Machines
When Ethereum dubbed itself “the world computer,” we all began conceptualizing
blockchains as computers. Computers, however, are computation machines. They
make computations, like addition and multiplication, extremely fast. True blockchains,
on the other hand, are extremely bad computers. They make extremely slow
computations, slower than a 1990 calculator. This translates to only 7 transactions per
second for Bitcoin and 15 for Ethereum.

This is because blockchains aren’t computation machines; they are trust machines.
They enable everyone to trust the results of a sequence of computations without
trusting one or a set of known third parties. Digital gold, aka Bitcoin, was the first
obvious application built on trust machines. It’s the calculator equivalent of computers.
With the advent of Ethereum, developers in the space started building and imagining
many other applications: tokens, game items, tickets, identity, and global financial
services – just to name a few.

However, current blockchain architectures are very inefficient at being trust machines.
This is because anyone who wants to use a blockchain has to re-compute the entire
sequence of computations on that blockchain. That is unless they trust a third party
that does it on their behalf, at which point you lose the main benefit of using a trust
machine. Due to this inefficiency, we’ve had very limited success with scaling these
trust machines. This fundamental challenge is widely referred to as the scalability
trilemma.
Blockchain architectures today are very inefficient at being both scalable and
decentralized, a challenge widely referred to as the blockchain scalability trilemma.

The industry sees the current state of decentralization in popular blockchains like
Bitcoin and Ethereum as mostly sufficient. Although decentralization isn’t an easy
feature to quantify, it’s mostly about how many different entities have the practical
ability to write to (or control) and read from (or access) the trust machine. Controlling
nodes (miners or block producers) are compensated directly by the chain itself to stay
honest. As such, no attack has taken place on the popular blockchains despite a
bounty worth tens of billions of dollars and 10 years of time to do so.

Most of the attention from new blockchain developers has been


focused singularly on increasing the scale of blockchains, which is
quantified as transactions per second (TPS).

Access nodes (or full nodes), on the other hand, suffer from a tragedy of the commons
as the more people who want to use and access the blockchain, the more costly it
becomes to run a full node. This puts a limit, sometimes a decreasing one, on the
number of full nodes (currently at 10k in Bitcoin and 7k in Ethereum). This trend has
been a major point of concern for developers, to the point where it became the
fundamental reason the Bitcoin Cash fork happened back in 2017: because Bitcoin
developers did not want to make it any harder for end users to run Bitcoin full nodes.
Total number of full nodes connected to Bitcoin and Ethereum blockchains

Despite this concern, most of the attention from new blockchain developers has been
focused singularly on increasing the scale of blockchains, which is quantified as
transactions per second (TPS).

Building for ScaDe


As discussed, many blockchain developers fail to take into account that increasing
TPS comes with a decentralization tradeoff. No matter how much faster a consensus
algorithm can get or more efficient data structures one implements, the hard fact is
that users directly accessing the blockchain have to re-do all of the calculations to
access the trust machine. This is why we have been stuck on a tradeoff frontier since
the dawn of blockchains, where the Scalability-per-unit-of-Decentralization is not
improving. If we want to design better trust machines, we need to start optimizing for a
more holistic goal.

ScaDe, Scalability-per-unit-of-Decentralization, is not improving

We propose ScaDe, which stands for Scalability-per-unit-of-Decentralization, as a


new mental model to design better blockchains. Although not a deterministic model,
ScaDe can be conceptually constructed as a tradeoff curve for current and upcoming
blockchains.

Approximate or estimated plot of existing and upcoming blockchains on the ScaDe


chart [Last Update Mar 2020]
If we focus the chart to a smaller subset of existing chains for which we can determine
TPS and full node count, we do indeed see this relationship play out in real life.

Scade chart with real-life data for live public chains [Last Update Mar 2020]

Many of the use cases pursued by developers and entrepreneurs do indeed require
achieving high throughput. However, while doing that, we can’t let go of what is
essential to a blockchain – achieving programmable trust without intermediaries. If we
go back to having to trust a limited set of intermediaries, there is no point to using a
really bad computer. Just use cloud computing, it’s way cheaper!

Not only does using a bad computer not make sense, but we are also seeing the
adverse results of projects making decentralization tradeoffs as they can’t go beyond
the present-day ScaDe frontier. EOS has had the majority of its nodes get
consolidated to Chinese actors. Libra is seeing intense regulatory pressure because
all the nodes are known, even before its launch. The truth of the blockchain matter is
that the only way to increase the usability and reach of applications built on
blockchains is finding ways to go beyond the present-day ScaDe frontier. As such, this
is the metric by which users and developers should be comparing their blockchain
options, not TPS.
So, how do we achieve higher ScaDe?

Enter Zero Knowledge Proofs


Zero knowledge proofs (ZKPs) are computations that produce a proof which allows
anyone to easily and cheaply verify that the computation was done correctly. So
instead of doing a computation again to trust its result, you check the proof. (For more
on ZKPs, check out a comprehensive guide here.) If applied to blockchains in a
specific way, such as in Mina Protocol, this enables users to easily check
computations that were done prior to them accessing the blockchain. So instead of re-
computing all computations from the first block, any user can verify a simple proof that
enables them to trust that the other participants computed all the transactions and
rules of the blockchain correctly. This enables a 1,000x improvement to the complexity
of running an access node. Currently the fastest time to bootstrap a Bitcoin node from
scratch is 6.5 hours with a $2,000 desktop computer. With Mina Protocol, it’s
milliseconds on an average smartphone.

If we don’t have to re-compute all transactions thanks to ZKPs, we can


increase ScaDe by orders of magnitude.

Remember that we haven’t been able to go beyond the ScaDe frontier because no
matter how we increase TPS, we had to re-compute all transactions. If we don’t have
to do that anymore thanks to ZKPs, we can increase ScaDe by orders of magnitude.
Hypothetical ScaDe model for succinct blockchains, with the future state of Mina as an example

Hypothetical ScaDe model for succinct blockchains, with the future state of Mina
(formerly Coda) as an example

Although we get immediate benefits to both decentralization and TPS using current
state of ZKPs, we are indeed limited by engineering limitations of how fast proofs are
computed and how fast data can travel through a P2P gossip network. The good news
is, ZKPs present us with a sustainable path to continue increasing ScaDe (and hence
TPS). Advances in computation of ZKPs, specifically SNARKs and its variants, have
been improving proof speeds and other required features (such as trusted setups) in
an exponential manner. In 2019, we saw as many new SNARK constructions as in
every year before, combined. We’re also seeing prover speeds get faster multiple
times, such as how we at O(1) Labs got a 4x speed improvement during the SNARK
challenge.

Conclusion
The blockchain industry has lacked a framework that enables users and developers to
accurately and fairly compare different blockchains for what they are – trust machines.
The primary function of these machines, programmable trust, is enabled by how
decentralized and permissionless they are. Popular chains like Bitcoin and Ethereum
require users and developers to run equipment worth thousands of dollars or sign up
for services from intermediaries. This prevents users who can benefit the most from
crypto from accessing these chains, either because they do not have sufficient
resources or are censored by these intermediaries. If we continue to build Blockchains
in this manner, we will sacrifice the revolution of trust machines. Instead, we will end
up replicating our existing financial system, just with a new set of logos for centralized
incumbents.

I am proposing ScaDe as a mental model that pushes the industry to design better
blockchains without decentralization tradeoffs. When we look at the blockchains that
are live or are under development, most of them are stuck on a ScaDe frontier. This
forces developers and users to make tradeoffs (digital gold [Bitcoin] vs regulated
payments [Libra]).

The way to achieve better ScaDe is to design more efficient trust machines where
every user does not need to re-compute every transaction since the genesis block in
order to directly access the machine. By using Zero Knowledge Proofs (ZKPs) to fix
the size of the blockchain to a tiny proof, we can achieve a far more efficient design
and better ScaDe. At Mina Protocol, we have been working on this for the past 2 years
and have been publicly testing it for 6 months. We are targeting to launch the world’s
first blockchain with a considerably better ScaDe in the summer of 2020.

*edited 07/01/2024

About Mina Protocol


Mina is the world’s lightest blockchain, powered by participants. Rather than apply
brute computing force, Mina uses advanced cryptography and recursive zk-SNARKs
to design an entire blockchain that is about 22kb, the size of a couple of tweets. It is
the first layer-1 to enable efficient implementation and easy programmability of zero
knowledge smart contracts (zkApps). With its unique privacy features and ability to
connect to any website, Mina is building a private gateway between the real world and
crypto—and the secure, democratic future we all deserve.

You might also like