metadata: {"signature": "0x1e496f3d4f00be3a84910d084a9a99d90de20cfc6e728d7f330f26edd9c0c6a213a73e1656bf02c02d7a0d61e77928b069aba4d604190803467f9346f8e157c11c", "application": {"round": "0xd2d99614321becd7cd0636715bbb4c94968e6271", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "ePI0m8mMZ+O+kI9U8i1IkY/FebRMIkES0aCzOSiNoWteeTD2AcIo277Ibus86XeS", "encryptedSymmetricKey": "50a91b03c43a03a5234ca5741fcbdb834e2855ce6401ea4691072b22538e05d02bcff0bf3322e9ad9e197021f8a0f61366f1fbdbfc9074365a805638be46355a2b8f6cc7ab7ad2f80702be04d5314bd643b84a165da5dca014c3be11a45481aa529b1d6240146322d21837a8d6b5ce2628966356eadea7ac1fde41e76ccbe31e0000000000000020b1b0c178a92124d19935970658db8471dc26794453688f282cf9bcc9f4509139a7fe498c4619f878b98beb1b3617e5a3"}}, {"type": "short-answer", "answer": "yush_g", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "github.com/zkemail", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "answer": "t.me/zkemail", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "Yes -- we were part of Developer Tooling and Libraries in April 2024.", "hidden": true, "question": "Have you participated in a previous Gitcoin Grants Round? If so, please name the rounds or link the builder profile associated with previous rounds.", "questionId": 4}, {"type": "paragraph", "answer": "ZK Email is a set of open source SDKs, libraries, and protocols (https://prove.email) that support making anonymous proofs of redacted existing emails on chain. This is useful for provenant proofs, by directly verifying SHA-RSA signatures from your emails within ZK. It can be used for proof of twitter account, proof of github contribution, sending money on chain to email addresses, and for decentralized email login -- all of which have open source prototypes now, without centralized attesters (see prove.email for links). Our code, roadmap, and ideas are fully open source at https://github.com/zkemail.", "hidden": true, "question": "Provide a brief overview of your tool, library, or framework. What specific problem or inefficiency in the development process does it address?", "questionId": 5}, {"type": "paragraph", "answer": "We used this to build account recovery modules for wallets, which is live for Gnosis Safes at prove.email/recovery , which allows anyone to add an email address as a decentralized guardian for their wallets. We discussed this at ZK Summit: https://www.youtube.com/watch?v=rZTNzvLXB14 . \n\nWe also built email wallet (demo: https://emailwallet.org, docs: http://docs.emailwallet.org) as an open standard and protocol that anyone can plug into -- it allows you to use your email as a wallet signer, allowing much easier onboarding onto Ethereum. In addition, plaintext emails serve as a one-click replacement for hot wallets, for signing and sending transactions. It also lets anyone send any NFT directly to any email address. We also released 2 factor authentication via email signers on Safes using emailwallet.org (https://prove.email/blog/2fa) and general email-login based authentication modules via email wallet (https://zkemail.gitbook.io/zk-email/login-with-zk-email-oauth-api).", "hidden": true, "question": "How does your project reduce development barriers, improve efficiency, or enhance the security of Web3 projects? Please provide specific examples or metrics if available.", "questionId": 6}, {"type": "paragraph", "answer": "You can see our code here -- https://github.com/zkemail\n\nWe have 287 Github followers, 3K Twitter followers, 600+ GIthub stars, and supported $150k+ of mainnet volume.", "hidden": true, "question": "Describe the current usage and support for your tool within the developer community. This could include GitHub stars, downloads, or testimonials from developers.", "questionId": 7}, {"type": "paragraph", "answer": "Our roadmap can be found on https://github.com/zkemail#roadmap. The main purpose of Gitcoin funds will be to help support and give grants to external developers building applications or infrastructure on top of the protocol.", "hidden": true, "question": "Outline your project's roadmap and how the grant funds will be used to achieve your development goals.", "questionId": 8}, {"type": "paragraph", "answer": "0xb33AEBd0F8577EA3E1DA00546559ab812De51184, 84532\n0xb33AEBd0F8577EA3E1DA00546559ab812De51184, 11155111\n0x7a07f282ebdc033da00ec46d602ece742825c6db, 42161\n0xF60Ce6F85eebF6279784A7F1acB7653dDFEF86a3, 84532\n\nNote that there are several more mainnet deployment addresses of zk email (zkp2p, soul wallet, etc) that are not listed here.", "hidden": true, "question": "For any project deploying smart contracts on blockchain networks, please list all your deployer addresses and their corresponding blockchain networks. Use this format for each entry: [deployer_address], [chain_id]\u2014for example, 0x123abc..., 42161 (This represents a deployer address on the Arbitrum network). Please include a separate line for each unique deployer address and blockchain combination.", "questionId": 9}], "project": {"id": "0x894b0042307e276dd7220307a3322db396b1744bd1b9d686318cc7a5fdce59f0", "title": "ZK Email", "logoImg": "bafkreia4k2wuytbaw2jxvirdhaivkhwy6eo77lvtrn3ynvg7lsflcti4cu", "metaPtr": {"pointer": "bafkreicmwntkap537squ3ybivltudlyveug336jzqiyuiylrmwypxgny3y", "protocol": "undefined"}, "website": "https://prove.email", "bannerImg": "bafkreifljdgnhuoiegggw6dnhl5wrlf6l3xyqnot4ffk6o3phkpmsbma2i", "createdAt": 1693287513604, "userGithub": "Divide-By-0", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..UTHrDzIE5hmJ9dMeZ6W_Ye8ku2AuuXJKktJ_06A01biJbFywzQyKFs863lCjEVqq__kXJCzFtI5LfK1mcfj6Aw", "type": "Ed25519Signature2018", "created": "2023-08-29T05:38:25.704Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-08-29T05:38:25.704Z", "expirationDate": "2023-11-27T05:38:25.704Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x6171aeBcC9e9B9E1D90EC9C2E124982932297345", "hash": "v0.0.0:N2WNxQDjqw4fbgxVgl21OqFvIJuDaVRm+0AIhtPv80c=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#zkemail#4804438"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..Kv0M6kPRo4lOVCeh2xFDmFVNINgF5st1y15C9MYwXg9bT7v8nmbTDfWkBhGciJqPJy9Ei4EQWwl4HJ6iQHVJBA", "type": "Ed25519Signature2018", "created": "2023-08-29T05:38:15.978Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-08-29T05:38:15.978Z", "expirationDate": "2023-11-27T05:38:15.978Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x6171aeBcC9e9B9E1D90EC9C2E124982932297345", "hash": "v0.0.0:235/91DZr8+Zz94P4h/jAj4dOuDG0+Eb5FayiYuYK7g=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#proofofemail"}}}, "description": "ZK Email is a set of open source SDKs, libraries, and protocols (https://prove.email) that support making anonymous proofs of redacted existing emails on chain. This is useful for provenant proofs, by directly verifying SHA-RSA signatures from your emails within ZK. It can be used for proof of twitter account, proof of github contribution, and to make KYCs on Airbnb/Coinbase etc portable -- all of which have open source prototypes now, without centralized attesters (see prove.email for links). Our code, roadmap, and ideas are fully open source at https://github.com/zkemail.\n\nWe finished and are currently auditing https://github.com/zkemail/ether-email-auth, which lets any developer specify how they want to parse a subject in Solidity, and use that to build a new zk-email enabled app on-chain in 10 lines of Solidity.\n\nWe used this to build account recovery modules for wallets, which is live for Gnosis Safes at prove.email/recovery , which allows anyone to add an email address as a decentralized guardian for their wallets. We discussed this at ZK Summit: https://www.youtube.com/watch?v=rZTNzvLXB14 .\n\nWe also built email wallet (demo: https://emailwallet.org, docs: http://docs.emailwallet.org) as an open standard and protocol that anyone can plug into -- it allows you to use your email as a wallet signer, allowing much easier onboarding onto Ethereum. In addition, plaintext emails serve as a one-click replacement for hot wallets, for signing and sending transactions. It also lets anyone send any NFT directly to any email address. We also released 2 factor authentication via email signers on Safes using emailwallet.org (https://prove.email/blog/2fa) and general email-login based authentication modules via email wallet (https://zkemail.gitbook.io/zk-email/login-with-zk-email-oauth-api).\n\nWe think this is the future of provenant identity proofs on Ethereum, as well as the future of simple wallet interfaces to onboard new people to crypto via emails. \n\nWe rely only on pre-existing cryptography and our bespoke, highly optimized ZK proofs to verify your mailserver's signatures -- there is no centralized computation, MPCs, trusted hardware, or attestations. Only trust smart contracts, email, and DNS infrastructure.\n\nNote that the primary developers on the project are funded by grants from Ethereum Foundation's Privacy and Scaling Explorations group, and initial development was funded by 0xPARC. Gitcoin money will go towards hiring developers to contribute, travel expenses for folks working on the project, and funding hackathon prizes to encourage folks to build atop the protocol, as these are not included in our primary grants. \n\nUPDATE July 2024:\nThanks to your support on Gitcoin, we were able to achieve a number of key goals. With that money, we built and hosted registry.prove.email, which is a public key archive of 1M+ DKIM public keys. We were also able to fund development https://registry-dev.zkregex.com/, which is a beta version of a tool that lets you construct a new zk email proof by just specifying a 10 line JSON configuration with your regex details (docs at https://zkemail.gitbook.io/zk-email/zk-email-sdk). We were also able to fund travel of one of our developers to Brussels for EthCC, in order for him to build at the hackathon and strategize with the team. We spent a previous Gitcoin grant on infrastructure development for our relayer. \n\n---\n\nThe work is entirely open source. Previous work has led to a number of impactful open source contributions in the zk space including:\n- The first RSA-SHA256 circuit in halo2\n- The first ZK Regex circuits and libraries, in circom and halo2: https://github.com/zkemail/zk-regex\n- Halo2 Benchmarking: We have open sourced a halo2 wasm benchmarking repo that runs any halo2 wasm code in the browser on 100 instances in parallel for any browser on any operating system (mobile or desktop), and spits out the mean running time and variance -- we intend to publish this as an easy to use Cargo and NPM package soon for others to use.\n- Halo2 Optimizations: We have various halo2 circuits to split verifiers, divide circuits for faster parallel client side proving, and many others. We have in addition contributed back to various open source libraries in the ecosystem.\n- Educational content: We have created a set of blog posts (https://prove.email/blog), talks, and docs (https://prove.email/docs) around our experiences, including generic ZK breakdowns and explainers such as https://prove.email/blog/zk .\n- Circom Hash to Curve on the Grumpkin Curve: Our circuits enable proving the private set intersection (PSI) protocol in ZK, which we use for decentralized relayer communication, so that relayers cannot censor unfavorable queries.", "lastUpdated": 0, "projectGithub": "zkemail", "projectTwitter": "proofofemail"}, "recipient": "0x35292bbd442373046a6fb4bF7e2529FA9A8D5Bb0"}}