Interested in PCD Team? Apply to join here.
We believe that, thanks to developments in performance and accessibility over the past two years, the number of people who could be using ZK effectively has grown massively. PCD Team hopes to unlock this potential.
Based on our experiments across the stack, we've factored out a set of common infrastructure needs for manipulating cryptographic data - keypairs, signatures, zero-knowledge proofs, and more - with powerful new cryptographic tools. These tools enable users to control their data, and to make platform-agnostic statements about digital identity, reputation, activity, and more online.
PCD Team's mandate is to take what we have learned from our previous ZK Identity experiments to production.
What’s changed in the ZK space?
Two years ago, many ZK applications were theoretically possible, but for the most part neither practical nor accessible. While powerful new primitives such as zkSNARKs and STARKs have theoretically existed for several years, using them up until recently has required specialist knowledge of cryptography and substantial training. This kept these primitives out of reach of “generalist” software engineers, and limited the ability of product and technology leaders to understand it at a depth sufficient to reason effectively about.
The tools for building were insufficient or outright missing. The performance of ZK systems were impractical for most real use cases. And the pedagogy and concept language for how to use ZK, and where it might be useful, were immature or nonexistent. It doesn’t matter how powerful your cryptographic gadgets are if they take two hours to run on a browser, and if only a handful of specialized developers in the world are capable of using them.
Since then, things have improved a lot. A (surprisingly small) collection of individuals and organizations concentrated in, or coordinated by, 0xPARC has built tools, infrastructure, and pedagogy necessary for non-specialist developers to start using ZK effectively.
- To be clear, 0xPARC is far from alone in having contributed to this progress, and we’re still extraordinarily early in the lifespan of this technology. But, to our knowledge, we are the only group with such a holistic focus on unlocking ZK application development, and we think it shows in our output.
The 0xPARC ecosystem is preparing the first generation of ZK crypto toolstacks for generic, practical, and production-grade usage, by generalist developers. Through rapid experimentation in the past 12-24 months, 0xPARC has also uncovered and set in motion many of ZK use case categories actively being iterated on today.
- The first ZK-powered game (https://blog.zkga.me/announcing-darkforest)
- The first production ZK machine learning tooling (https://github.com/zkonduit/ezkl)
- The first ZK data exchange protocols (https://github.com/factorgroup/nightmarket)
- The first ZK-based identity systems used in-person (https://zupass.org/)
- The first concrete applications of recursive zk-SNARKs (https://ethdos.xyz/blog)
- … and more!
In turn, these use cases have created incentives and feedback loops for what may turn out to resemble a “Moore’s Law” of improvement in underlying ZK technology and infrastructure. We are starting to see an explosion of innovation at all levels of the stack.
By some napkin math:
- ZK systems have become about 100x more performant over the past two years, with no signs of this performance trajectory slowing in the near future (see https://personaelabs.org/posts/spartan-ecdsa/)
- Development velocity for existing developers has improved tenfold.
- Estimating development velocity is inherently qualitative, but the “tenfold” claim comes from what we’ve observed on the ground with developers over the past two years. Reasons for this speedup include: better documentation and educational materials (such as learn.0xparc.org), libraries (such as circom-ecdsa), tools (such as zkrepl, hardhat-circom, nova-scotia), and more.
- The level of expertise required to build substantive applications using ZK has dropped drastically.
- One interesting trend from the past several years is that the capital expenditure necessary to put ZK apps into production has gone down from tens-of-millions to hundreds-of-thousands of dollars. This is largely due to the fact that a team interested in doing production-grade work involving ZK no longer has to build the entire cryptographic library and infrastructure layers from scratch. Instead, they rely on open-source, generic, and increasingly robust toolchains (several of which are supported and/or maintained by 0xPARC!).
The number of active ZK application developers has likely also increased about tenfold over the past two years, though even so this would only be from dozens to hundreds. But, most importantly of all, we believe that the number of people who could be using ZK effectively at the application level has likely grown by more than 100x.