PCD Team is hiring software engineers. If you're interested, read more here.

PCD Team

by 0xPARC

What would the Web look like if all data was universally accessible, interpretable, verifiable, and semantically meaningful - a Web without artificially-gated APIs, built on neutral and privacy-preserving mechanisms for user data?

How can we give individuals the power to own and move their data between any digital systems - social media platforms, digital banking networks, peer-to-peer messaging apps, biometric registries, blockchains, and more?

PCD Team is building open-source software for a more open Internet, starting with:

  • PCD SDK, a software framework for programmable cryptography.
  • Zupass, a secret-manager for user-controlled data built on the PCD SDK.

About PCD Team and 0xPARC

Since 2019, teams in the 0xPARC ecosystem have developed about two dozen different ZK and ZK Identity projects and experiments, including:

  1. Dark Forest - a fully on-chain game that used ZK to implement a notion of private state in a decentralized system with a fully transparent data layer.
  2. circom-ecdsa, circom-pairing, and double-blind - ZK-friendly cryptographic primitives for elliptic curve operations and RSA signature verification, enabling manipulation of Ethereum keypairs, BLS keypairs, recursive SNARK operations, and SSH keys in zero knowledge.
  3. ETHdos - recursive zkSNARK circuits, and an application of recursive zkSNARKs for producing cryptographic proofs about social graphs.
  4. zk-email - experimental tools for producing cryptographic proofs about emails in the wild.
  5. ZKonduit - a team developing tools for cryptographic proofs about machine learning inference and other computational graphs.

Based on 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 all our previous ZK Identity experiments to production. PCD Team kicked off as a collaboration between several 0xPARC grantees in March 2023, and its first two projects have been:

  • The PCD (proof carrying data) SDK - a suite of software that aims to make powerful cryptographic primitives, such as zkSNARKs, accessible to developers without domain-specific expertise. We are developing this SDK for general-purpose use.
  • Zupass - an experimental secret manager built on top of Semaphore and the PCD SDK that was used by the Zuzalu community as a "digital passport." Zupass was used daily for two months by over 800 Zuzalu participants, and served as an identity-layer foundation for core Zuzalu community infrastructure. We're now transforming Zupass into a general-purpose secret manager.

The code for both the SDK and Zupass can be found in this repository.

During Zuzalu, our team and external collaborators built several projects on top of the PCD SDK and Zupass. Some of these were digital experiences in and of themselves; others were extensions of our framework which enable other experiences. In both cases, these projects manifest our vision of an open and permissionlessly interoperable Internet. Here are a few examples:

  1. Zupoll - used by Zuzalu organizers to hold community referendums and polls. It used zero-knowledge proofs to let any Zuzalu resident to vote anonymously on official referendums and unofficial straw polls.
  2. Zucast - a Farcaster-like forum built by a Zuzalu resident which allowed all residents to anonymously post to a shared message board. It used Zupass to let users log in and instantiate new anonymous identities, and the PCD SDK to verify the correctness of users' cryptographic claims.
  3. Zukit - a RainbowKit-like library simplifying integration with our SDK, specifically allowing nearly a dozen third-party applications to integrate Zuzalu-gated authentication.
  4. Zuzalu Oracle - an integration with Zupass which enabled its ZK proofs to be consumed on-chain.

If you're interested in digging deeper, we've distilled some of what we've learned into a few blog posts and talks:

  1. [Oct '21] Six Moonshot ZK Applications
  2. [Feb '22] ZK Identity: Why and How (Part 1)
  3. [Oct '22] Programmable Cryptography (Devcon VI)
  4. [Nov '22] Thinking about Attestations
  5. [Mar '23] Proof-Carrying Data (0xPARC/PSE Vietnam ZK Residency)
  6. [Jun '23] Why now for PCD?