@pcd/ethereum-group-pcd
TypeScript icon, indicating that this package has built-in type declarations

0.9.0 • Public • Published

@pcd/ethereum-group-pcd

PCD which proves that a particular Semaphore Identity owns a particular ethereum address that is part of an address merkle set or public key merkle set, without revealing the ethereum address.

It uses an optimized group ecdsa zk circuit written by Personae Labs.

By pre-computing a set of Ethereum addresses that satisfy a particular property, one can prove that property about themselves without revealing their exact address. For example, proving that one:

  • owns a NounDao (punk, or etc) NFT at a particular block
  • made a transaction before 2020
  • made at least 100 transactions
  • owns at least 10 eth
  • used tornado cash when it was cool
  • has been validated by proof-of-humanity
  • participated in a conference that issued a POAP

If you always use one address, proving multiple properties about yourself will narrow the anonymity set. However, if you use multiple addresses, you can own multiple PCDs without narrowing the anonymity set.

Readme

Keywords

none

Package Sidebar

Install

npm i @pcd/ethereum-group-pcd

Weekly Downloads

18

Version

0.9.0

License

GPL-3.0-or-later

Unpacked Size

59.9 MB

Total Files

37

Last publish

Collaborators

  • ax0
  • richardliu
  • artwyman
  • rknight
  • ivan0xparc