Why you should care about zero-knowledge

Do you really need a blockchain?

Zero-knowledge (ZK) is a technology that was invented in the mid 1980s, but really came of age in the past 4 years.

I think it deserves continued attention and wanted to articulate why I think it's an enthusing space. My thesis is that it will be a technology as important as blockchains, with a large impact both within and outside the context of crypto.

Zero-knowledge proofs' (ZKPs) are mathematical tools to verify things without revealing the underlying data e.g. a website checking your age without finding anything else about you, or proving you have a certain amount of money to a landlord without sharing sensitive financial information. They can also be used to verify that a computation has been performed according to a given set of rules, without performing the computation again.

Within crypto, that's how they are mostly used, to take infrastructure to the next level by increasing scalability. They work by aggregating transactions into a hash that is posted to the underling layer-1 blockchain. Many transactions are bundled into one, without losing trustless execution.

That increases scalability, reduces costs and increases security:

  • Scalability: ZKPs reduces the computational loads that goes onto L1 by aggregating transactions instead of recording each of them. They're like a compression algorithm for computations.

  • Cost efficiency: having fewer transactions on L! reduces gas costs. ZK rollups also split the costs to verify the proof across all the transactions it contains. The cost of verifying some proofs like zk-STARKs (a type of proof) scale logarithmically to the number of transactions they aggregate: the more there are, the cheaper they get on average.

  • Security: Trustlessness used to be only achievable through a network of validators all replicating the same transactions. Using ZKPs means you no longer need a network of validators to achieve trustlessness in computations: the math offers strong security guarantees. Finality is also faster given that transactions can be considered final as soon as the proof has been verified.

They are the best solutions we have for the scalability problem, so much so that Ethereum is 'Starkifying' i.e. evolving to become a) a better L1 for ZK rollups (with things like the 'enshrined zkEVM') and b) gearing to leverage ZKPs at the protocol level to further improve scalability at the L1.

At maturity, it's likely we'll need very little blockchain and mostly ZKPs, with blockchains focused on data availability and consensus layers. Execution will be purely verifying proofs, unless it's for applications that requires global consensus (like money or objective identity).

I don't care about crypto, why should I care?

Granted, ZK is currently only attracting crypto enthusiasts and moon math academics. But I think we should care because they are a technology that is getting to a point where it can be used to build applications that might redefine how we interact online.

They are the technology that might bring that conveniency/privacy tradeoff that's come to define the internet. ZKPs challenge the idea that it's normal to share personal information widely on the internet, for the sake of convenience. Building applications that use ZKPs introduces a spectrum of how much information we want to disclose and to whom.

You can rent a flat without having to send your bank statements to a stranger; you can borrow money without revealing all your personal financial details to an online financial institutions, you can prove past achievements without revealing your identity. For businesses and institutions it opens up the possibility of a private cloud where loads can be computed without revealing inputs to cloud providers.

These are a few, arguably low-brow, examples. The reality is that as with all early, complex and powerful technology it's hard to predict what will work. It is however easier to predict whether it will work. You typically need three ingredients: a) strong talent communities (e.g. Starknet, Risc-0, zkSync, Polygon, etc), b) significant amounts of capital, and c) distribution. I'm seeing early signs of all three.

So the design space is opening up. Some of the interesting features/possibilities it allows include:

  • Proving private information: e.g. salary, age, credit score, etc

  • Compare things without revealing them

  • Traceability of data without disclosing it's origin i.e. proving attribution of an hack/discovered vulnerability, pseudonymously proving achievements

  • Executing private transactions while keeping compliant audit trails e.g. trade execution, portfolio margining.

In short, ZKPs challenge how we build applications on the internet, what applications we can build, and how privacy can exist with blockchains. The design space is fresh, and the good ideas are ahead of us.

Collect this post to permanently own it.
perspectives logo
Subscribe to perspectives and never miss a post.