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 leverages the ubiquitous TLS protocol to allow users to privately export their data from any webserver in a provable way. for Everyone

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


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


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


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.


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 (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.


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


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 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 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 (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.


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.


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!


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


Design strategy for ZK explorations


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


Full stack / systems engineer; working on RLN


Unirep Project Lead and Software Engineer


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


TLSNotary Project Lead and Software Engineer

Beyondr (Jeo)

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


Software Engineer; working on MACI/QFI and Trusted Setup


Software engineer; working on Semaphore and related projects