Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circuit Improvement Proposals (CIPs)

Circuit Improvement Proposals (CIPs) are open specifications for privacy-preserving credential proofs on Ethereum and EVM-compatible networks.

Each CIP defines what is proven, what remains private, the credential or trust source being relied upon, nullifier semantics, the verifier interface, and relevant security assumptions. Reference implementations are maintained separately in the zkproofport/circuits repository.

Each CIP defines proof semantics independently of a particular application or integration.

CIPs are project-level RFCs inspired by the EIP process; they are not EIPs.

What are CIPs?

A CIP specifies the semantics of a credential proof independently of any one implementation. A technical reviewer should be able to determine:

  • the credential source and trust anchor;
  • the exact statement or predicate;
  • public and private inputs;
  • nullifier, scope, and linkability behavior;
  • freshness and revocation assumptions;
  • the verification interface and conformance requirements;
  • known limitations and security-review status; and
  • a pinned reference implementation when one exists.

Design goals

  • selective disclosure and minimal public information;
  • explicit trust assumptions and limitations;
  • scope and domain separation;
  • privacy-preserving duplicate detection where applicable;
  • implementation independence and verifier interoperability;
  • reproducible implementations and deployments; and
  • credential-source neutrality where the underlying statement permits it.

A CIP should enable an independent implementer to understand exactly what is proven, what remains private, which external entities or cryptographic assumptions are trusted, and how a compatible proof can be verified.

Specification vs. implementation

Credential source
      ↓
CIP specification
      ↓
Reference Noir circuit
      ↓
ZK proof
      ↓
EVM verifier
      ↓
Any compatible application

The CIPs repository contains specifications. The circuits repository contains Noir source, shared libraries, tests, generated Solidity verifiers, scripts, and deployment records.

CIP lifecycle

Draft → Review → Final → Deprecated
Status Meaning
Draft The specification is changing, important trust-model questions remain, or the implementation is incomplete or experimental.
Review The specification is sufficiently complete for public review and has a reproducible implementation or test vector. Normative semantics may still change.
Final Normative semantics are stable and no major backwards-incompatible changes are expected.
Deprecated The CIP has been superseded or is no longer recommended for new implementations.

Specification lifecycle status is tracked independently from implementation, deployment, and security-review status. See CIP-0 for the full process.

Current proposals

CIP Title Status Implementation Security review Reference verification
CIP-0 CIP Process Final — None —
CIP-1 Coinbase KYC Attestation Review Reference Internal Ethereum Sepolia, Base Sepolia, Base Mainnet
CIP-2 Coinbase Country Predicate Review Reference Internal Ethereum Sepolia, Base Sepolia, Base Mainnet
CIP-3 OIDC Domain Attestation Review Reference Internal Ethereum Sepolia, Base Sepolia, Base Mainnet
CIP-4 GIWA Dojang Verified Address Proof Draft PoC None GIWA Sepolia
CIP-5 Korean Mobile ID Selective Disclosure Profile Draft Experimental None Base Sepolia

Reference implementations

The current reference revision is 28bbc303e04b732eb612d419b44dfd39d8a38a9a. Each CIP pins its own implementation path and deployment records.

Reference implementations are informative rather than normative unless a CIP explicitly states otherwise. A conforming implementation may use different implementation tooling as long as it preserves the statement, public/private input semantics, and any proof-system or verifier requirements defined by the CIP.

How to contribute

Read CONTRIBUTING.md, CIP-0, and cip-template.md. New proposals should begin with a discussion of the credential source, trust assumptions, predicate, privacy goals, and known limitations.

Shared guidance is available in:

Related software

ZKProofport maintains mobile proving and SDK software that consumes several CIP reference circuits.

License

All CIPs are released under CC0.

About

Circuit Improvement Proposals (CIPs): Open specifications for privacy-preserving credential circuits

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors