[NCR#1 Proposal] Better Craigslist with zkEmail and Aztec #5759
Replies: 2 comments 1 reply
-
Hi @YashBit, the proposal looks good and thanks for submitting it! A few early questions and thoughts: Craiglist's problems and solutions
Is it right to understand the aim here as leveraging zkEmails to zkKYC users, hence removing the need to store user data in the first place?
Could you elaborate on how do zkEmails solve these issues? ERC-721 / integration with Aztec NetworkIs the aim to deploy KYC NFTs on the Aztec DevNet directly, or to deploy them on Ethereum then bridge onto the Aztec DevNet? (If it's the former, deploying verifiers is likely unnecessary where deploying Aztec.nr contracts would be more appropriate instead; if it's the latter, all good.) Start DateThe selection committee will strive to finalize decisions as soon as possible once submission closes, no later than 5 September 2024. Minor note that despite the possibility, there is no guarantee that the committee will announce before the date. That said, early explorations are welcome anytime. |
Beta Was this translation helpful? Give feedback.
-
Selected proposals for NCR#1 are announced: https://github.com/orgs/noir-lang/discussions/5932 Thank you for your support on the initiative. NCR is just one of the many ways to start your explorations with Noir, check the announcement for more potential ways to collaborate. Let's bring the world ZK! |
Beta Was this translation helpful? Give feedback.
-
A Better Craigslist with ZK Email
Summary:
Craigslist, established in 1995 by Craig Newmark, began as a local email distribution list in San Francisco and has since evolved into a globally recognized platform for classified ads. The site provides a range of services, from free ads to paid listings in specific categories such as job postings and real estate in select cities. Craigslist primarily facilitates consumer-to-consumer (C2C) transactions, connecting buyers and sellers directly in a community-driven environment where users generate content and community moderation helps maintain quality.
Despite its success, Craigslist faces several issues. Safety concerns are prevalent due to unsecured meet-up locations and problems like ghosting and identity fraud. Current verification methods, including phone number SMS and unencrypted emails, pose significant privacy risks, exposing user data to potential breaches. The introduction of ZK Email could address these concerns by offering enhanced privacy through zero-knowledge proofs, ensuring user information remains confidential and secure.
Furthermore, Craigslist's platform suffers from a clutter of unfiltered listings, poor organization, and limited search functionality. Listings are primarily sorted by date rather than relevance or category, making it challenging for users to locate specific items or services efficiently. We hope to solve these problems in tandem with introducing enhanced security features introduced by zkEmail.
Methodology:
Google Slides Deck: https://docs.google.com/presentation/d/1DpBjevrsX0JbfOUfDmSt1lKTNH_XKoSt7tbtwGCr96M/edit?usp=sharing
User Flow:
Step 1.1: User Registration
Step 1.2: ZK Email Verifier
Step 1.3: Minting ERC-721 Token
2. Listing Creation (Seller)
Step 2.1: Create a Listing
Step 2.2: Anonymous Posting
3. Searching and Viewing Listings (Buyer)
Step 3.1: Search Listings
Step 3.2: View Listing Details
4. Communication Between Buyer and Seller
Step 4.1: Initiate Communication
Step 4.2: Encrypted Messaging
High level Technical Details:
1. Porting Circuits from Circom to Noir
The initial step is to port existing ZK circuits from Circom to Noir. This transition involves adapting the logic and functionality of the original Circom circuits into Noir's syntax and framework. The circuits being ported include essential components such as those used for email verification and KYC (Know Your Customer) processes. The primary source of these circuits is available at Circom's email verifier.
2. Constructing the ZK Email Verifier from Scratch
The ZK Email Verifier is a crucial component of this project. It is designed to verify email addresses without exposing sensitive information, leveraging Zero-Knowledge Proofs (ZKP) to ensure privacy. This verifier will be constructed from scratch, incorporating cryptographic techniques including RSA for encryption and SHA for hashing. RSA and SHA are integral to securing the email verification process and ensuring data integrity. The development involves designing the verifier to handle various email verification scenarios while maintaining compliance with privacy standards.
3. Regex Check for KYC
The project also includes the development of a regex check for KYC processes, which will be based on the DKIM (DomainKeys Identified Mail) check used in existing KYC checks. This regex check is essential for validating the authenticity of KYC data by ensuring it conforms to predefined patterns and standards. By integrating regex checks, the system can efficiently process and verify KYC information, enhancing overall security and compliance.
4. Client-Side Proving with Noir
Client-side proving with Noir is a critical aspect of this methodology. Noir's client-side proving capabilities enable users to generate and submit proofs without exposing their data to third parties. This process involves implementing Noir's proving functions to create zero-knowledge proofs that validate user information and transactions.
5. Generating ERC-721 Tokens
Another significant component is the generation of ERC-721 tokens. ERC-721 is a standard for non-fungible tokens (NFTs) on the Ethereum blockchain, which will be utilized to create unique digital assets associated with verified email addresses or KYC data.
6. Integration with Aztec Network
The Aztec Network will be integrated into the system to enhance privacy and scalability. Aztec provides a solution for privacy-preserving transactions on Ethereum, which will be utilized to ensure that the email verification and KYC processes remain confidential and secure.
7. WebApp
A WebApp will be built using NextJS to integrate all the features and create a production ready B2C product.
Tech Stack:
Frontend (Next.js):
Backend Services:
Data Storage:
Search & Filtering:
Timeline and Deliverables:
Phase 1: Planning and Setup (Sep 1 - Sep 7, 2024)
Phase 2: Porting and Development (Sep 8 - Oct 6, 2024)
Phase 3: Integration and Testing (Oct 7 - Nov 3, 2024)
Phase 4: Deployment and Review (Nov 4 - Nov 15, 2024)
Team:
Start Date:
Beta Was this translation helpful? Give feedback.
All reactions