Project ZeroPartyData (HackFs Hackathon submission)
What is Zero-party data?
Zero-party data is data that a customer intentionally and proactively shares with a brand. My project ZeroPartyData uses zk-snarks to verify is user is eligible for latest gift or offers.
How Zero Knowledge Proof helps?
zeroPartyData uses zero knowledge proof to verify eligibility for gifts & discount offers by Brands. Project requires users to submit information about their Work-type, Age & income. This is suppose to be checked against eligibility criteria for availing discount offer.
Personal data is not stored on-chain, however zero knowledge proof allows us to verify all 3 criteria. If proved, user address is noted for availing discount offer.
Using Zero Knowledge Proof Brands can confidently claim that they do not store Personal information. And yet provide discounts & offers if user's details match their eligiblity criteria.
Project ZeroPartyData collects below information
- WorkType (Salaried or Business owner)
- Age
- Income (above details)
zk-SNARK based ZeroPartyData provides data protection, so when users connect to a third party, it never discloses personal data. But allows one to prove personal information .
STACK USED:
BACKEND FRAMEWORK :
Hardhat + Solidity
ZERO KNOWLEDGE PROOF :
zk-snarks created using Circom 2.0 & snarkjs.
FRONTEND:
Nextjs + ether.js
NETWORK:
Polygon
Decentralised Web hsoting:
Spheron Protocol
SPONSORS
Polygon:
solves common blockchain pain points, offering low gas fees and high speeds without sacrificing security.
Spheron:
Spheron is the simplest, fastest and most convenient way to deploy your web apps and projects onto Decentralized Cloud Storage
CHALLENGES :
I learnt Zero Knowledge concepts. Started writing circuits using Circom 2.0 . Bringing all piece togather for creating fullstack dapp was a big challenge. snarkjs library is to be used inside hardhat & frontend to allow proof creation inside UI. Verification done by on-chain contract.
Advantages :
- Brands can collect market new offers to their Customers.
- Customers can confidently check new offers with assurance that their personal info is not saved on-chain.
- (Work in Progress) Brands can develop a basic profile on their customers and get in touch with them when you need to.
Circom Circuit
Sample proof generated by Project ZeroPartyData
["0x23a5d47e9c7b37cb3a1f35ba68b082ffc3dd4ce03461976b9457874c02779066", "0x259266d1ef8c13518d637a7480b3b8575e5f37e479629d6b16e0c4aee202c617"],
[["0x080485ab3f3901999e451404e709330cef16389980e17cdbbe637dc55f0d6c34", "0x30573345b9e885c73300c06d743c924ec86b16945bc372577d1a9469048feba8"],["0x2cecf97ac3ea2633187b793259bf7556f64bf79513d64bca229909fb156ba8ac", "0x0e111c26ab19e7251f3f71242a7434783e41517647cc3e1de6ed27d6c0922bdb"]],
["0x084549340ee36474beea48448a01778a6927621db12b8676cbe9eb3f9c4c52ee", "0x014bd6ef937250dfd72817966130bc76b3f352e6b0bfa5390e7d1dfb9015c8ae"],
["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000001388"]