[NCR#1 Proposal] TxnProof: A financial transaction verification platform #5766
Replies: 3 comments 2 replies
-
Hi @ronykris, thanks for submitting the proposal! A few early questions and thoughts: Methodology
Would be great if you could elaborate on what transactions are intended to be proved with zkEmails. For example: would that be on-chain / off-chain transactions, what platform(s) are you aiming to support, etc.
Awesome if you could elaborate on what the ERC-721 token is for, or perhaps more widely how proofs of transaction are useful.
If the application is intended to work as a blockchain app (i.e. not off-chain), the program can be coded entirely in Aztec.nr as a mixture of private and public functions, not necessarily using Aztec just for proof verification. You can read more about Aztec.nr here: https://docs.aztec.network/aztec/smart_contracts_overview Team experienceWould be great if you could highlight the team's experience with Noir and/or Aztec.nr specifically. |
Beta Was this translation helpful? Give feedback.
-
Do you have a sense of some specific institution's financial tx email receipts that you can use? Many of them are not 100% complete or don't have all the info, so finding those emails in the first place is often a big challenge. |
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.
-
Summary:
Studies show that around 61% of consumers are concerned about their financial data being shared without their consent (RestorePrivacy). Additionally, email-based transactions are particularly vulnerable, with 92% of malware delivered via email and phishing attacks accounting for more than 80% of reported security incidents (GitHub) (GitHub).
TxnProof is a platform designed to address critical privacy concerns in financial transactions. Using zkEmail and zero-knowledge proofs (ZKPs) built on Aztec's Noir, the platform will enable users to securely prove their financial activities without disclosing sensitive information. The platform ensures financial data remains private, secure, and verifiable on the blockchain, making it a powerful tool for modern financial systems.
Methodology
We aim to build a comprehensive MVP that demonstrates the end-to-end functionality of the ZK TxnProof platform. This platform leverages zkEmail and zero-knowledge proofs (ZKPs) built on Aztec's Noir to securely verify financial transactions and credit scores without revealing sensitive details. The project includes the development of various components that work together to create a secure, privacy-focused system that bridges traditional finance and the Web3 ecosystem.
Financial Use Cases:
Proof of Financial Transactions:
Credit Score Verification:
Secure Reimbursement Claims:
Anonymous Donation Verification:
Mortgage and Loan Payment Verification:
User Flow:
User Registration: Users sign up and authenticate securely via zkEmail.
Transaction Notification: User receives an email notification regarding a transaction. In this grant we are looking at supporting off chain and on chain financial transactions and platforms
Gmail
and exploreyahoo
orhey
. Notification could be either:Email Submission: User can either upload the email to the platform or forward it to the platform’s service ID.
Proof Generation: zkEmail generates a zero-knowledge proof of the email content.
Proof Submission: The proof is submitted to the smart contract, which verifies it, records the transaction on-chain, and mints an ERC-721 token.
System Components:
Login and Signup: Implement a sign-up and login mechanism via zkEmail, where users provide only their email ID. Implementation details can be found here.
Inbox Monitoring Service: A service that monitors the platform's inbox for received emails. Upon receiving an email, it triggers the Regex service.
ZK Regex: This module parses the email content, extracts relevant details, and forwards them to the proof generation module. We will be implementing a regex module in Noir to perform the pattern matching. For now we plan to support the following characters (outlined in the pseudo function definition below).
Example expressions to match:
To:\s*([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
From:\s*([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
(successfully transferred|sent|received)\s*([\d,.]+)\s*([A-Z]{3,4})
The regular expressions will match the content supplied by the user but will not store or disclose it.
Prover: Generates a proof of the email using zkEmail and submits it to the smart contract for processing. The following information will be hashed and used in generating the proof:
Prover function inputs:
Public Inputs:
poseidon_hash(email_body)
poseidon_hash(dkim_public_key)
poseidon_hash(amount || currency)
Private Inputs:
Smart Contract: Deployed on the Aztec chain, this contract will verify the proof and store the transaction details on-chain, triggering a mint function for a Soulbound like token (SBT) on the Aztec network.
Mint: The smart contract will mint a SBT like token for every validated transaction record. This token serves as a representation of the financial transaction. The token metadata would contain reference to the txn record on chain and the proof. Going fwd, one doesn't have to explicity share records / emails as proof of txn. The presence of the token will be good enough. Ie: The contract will be able to verify the occurance of the txn using the metadata of the nft (txn record & proof) should a need arise.
Indexing Service: We will integrate The Graph indexing service to enable fast querying of records and transactions on the platform.
Tech Stack:
Timeline and Deliverables:
Month 1: Planning and Initial Development
Week 1: Finalize Architecture and User Stories
Week 2: User Registration and Authentication System
Week 3: Inbox Monitoring Service and Email Parser
Week 4: ZKP Generation
Month 2: Integration and Testing
Week 5: Smart Contract and SBT like token Minting
Week 6: Frontend Integration and Indexing Service
Week 7: User Profile and Token Listing
Weeks 8-9: Testing, Bug Fixing, and Documentation
This timeline ensures that each critical component of the platform is developed, tested, and integrated in a systematic manner, leading to a robust MVP by the end of the second month.
Team
Ayush:
Ritvik:
Nikhil:
Saurabh:
Krish:
Start Date:
The day after we get selected for the grant.
Beta Was this translation helpful? Give feedback.
All reactions