Privacy & Scaling Explorations

Enhancing Ethereum through cryptographic research.

We explore new use cases for zero-knowledge proofs and other cryptographic primitives through research and proof-of-concepts.

Explore our work

What we work on

Explore how we integrate ZK primitives into decentralized applications

TLSNotary

TLSNotary leverages the ubiquitous TLS protocol to allow users to privately export their data from any webserver in a provable way.

Clr.fund for Everyone

Infrastructure to make it easy for any community to run their own CLR round with clr.fund.

COCO

Collaborative content curation of online communities using a double-or-nothing challenge mechanism.

Crypt-Keeper
Crypt-Keeper

Crypt-Keeper is a Zero knowledge identity management and proof generation

ZK-kit
ZK-kit

ZK-kit is a set of NPM modules (algorithms or utility functions) that can be reused in different projects and zero-knowledge protocols, making it easier for developers to access ready-to-use and tested libraries for common tasks.

zk-chat

Anonymous and private chat environments, using Interep for a privacy preserving registry and sybil resistance and RLN for spam protection.

Channel 4

Discover the unexpected with State Channel.

UniRep

UniRep (Universal Reputation) is a private and non-repudiable data storage and retrieval system. Applications can attest to changes in user data using short lived identifiers called epoch keys. The high-level goal for UniRep is to be a base layer on top of which anyone can easily build custom, yet interoperable, zk applications. UniRep acts as a memory layer for zk: anything stored in UniRep can be retrieved and proven with strong privacy guarantees and constant computation complexity. UniRep can be used to store the result of large proofs (e.g. proof of Ethereum address control from an ECDSA signature). This result can later be retrieved and proven by a user any number of times. Similar patterns exist for web2 authentication bridging; a user oauths with a trusted entity once, and the entity attests storing information about the users web2 identity in zk. UniRep can be used to store data important to applications. This might include reputation the user has accrued, actions the user has taken, groups the user is a member of, or anything else. Applications can interoperate by having users make proofs using publicly available state roots.

Rate Limiting Nullifier

RLN is a construct based on zero-knowledge proofs that enables spam prevention mechanism for decentralized, anonymous environments. In anonymous environments, the identity of the entities is unknown.

Bandada
Bandada

An open-source system for managing privacy-preserving groups.

Interep

Private reputation and identity system allowing services to verify that users belong to a certain group or meet certain reputation criteria without revealing their identities. Users can anonymously export reputation from platforms such as Twitter and Github.

Semaphore

Semaphore is a protocol, designed to be a simple and generic privacy layer for Ethereum DApps. Using zero knowledge, Ethereum users can prove their membership of a group and send signals such as votes or endorsements without revealing their original identity.

Zkopru

Zkopru is an optimistic rollup that uses zero knowledge proofs to enable private, low-cost transactions with ETH, ERC-20s and NFTs on layer 2.

MACI
MACI

MACI (Minimal Anti-Collusion Infrastructure) uses zero knowledge proofs for collusion resistance in blockchain voting (such as quadratic funding mechanisms) by making it impossible for anyone other than the vote coordinator to verify how a specific user voted. MACI also ensures correct execution of the votes, allowing anyone to verify the results.

zkEVM

A zk-rollup that can generate zk proofs for general EVM verification. This allows us to build a fully EVM-compatible zk-Rollup, which any existing Ethereum application can easily migrate to.

Trusted Setup
Trusted Setup

Open source infrastructure for running a trusted setup ceremony in which many people participate in generating entropy which will secure a cryptographic protocol. Perpetual Powers of Tau: A universal ceremony for the initial phase of a trusted setup. MPC Phase 2 UI: UI for a CLI or browser-based ceremony for the second, circuit-specific phase for Groth-16 SNARKs. MPC Phase2 Suite: All-in-one suite of tools for conducting Phase 2 Trusted Setup ceremonies for multiple and large Groth-16 SNARKs circuits.

WAX

Formerly BLS Wallet. Reduce transaction costs on evm-L2s using BLS signatures. The smart contract wallet also includes: recovery, multi-action, gas-less transactions, and upgradability. Expanding verification options via 4337 compatibility.

Join our conversation on Discord!

Members

PSE has contributors of all kinds - we are developers, designers, engineers, researchers, communicators, organizers and much more. Meet some of our team members below!

Geoff Lamperd

Full stack engineer; working on Trusted Setup and Interep

Rachel

Design strategy for ZK explorations

Chiali

Pollen Labs team lead. Building the best experience for freedom & humanity

AtHeartEngineer

Full stack / systems engineer; working on RLN

Vivian

Unirep Project Lead and Software Engineer

Andy

Product owner; working on Semaphore and other projects

Jacob Caban-Tomski

Full stack engineer; working on BLS Wallet

James Zaki

WAX project lead and software engineer

sinu

TLSNotary Project Lead and Software Engineer

Beyondr (Jeo)

Designer & developer. Main project is ZKOPRU at the moment but also working on other auxiliary projects.

0xjei

Software Engineer; working on MACI/QFI and Trusted Setup

Cedoor

Software engineer; working on Semaphore and related projects