How zk-SNARKs Solve the Biggest Problem Threatening the Blockchain Revolution
In the first issue of the SNARK Age newsletter, we talked about why SNARKs are the technology of the decade, with great potential in different spheres, including blockchain. To further this perspective, we’d like to share an excerpt from a recent blog post about how zero knowledge proofs (ZKPs) can help blockchains overcome what Vitalik Buterin has coined the ‘Scalability Trilemma”, an issue that poses real threats to the adoption and ethos of blockchain:
By Emre Tekisalp
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 (transactions per second). 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 Coda, using zero knowledge proofs (ZKPs), 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.
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.
ScaDe chart with real life data for live public chains
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 Coda, 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 Coda, it’s milliseconds on an average smartphone.