ZK-Mask
Our project is getting personal facial scores by third parties using zk technology. Users could upload their picture for rating, wait for a certain epoch, and the score is finalized and written in ID
Created on 3rd September 2023
•
ZK-Mask
Our project is getting personal facial scores by third parties using zk technology. Users could upload their picture for rating, wait for a certain epoch, and the score is finalized and written in ID
The problem ZK-Mask solves
For use cases, this scoring method can be used in many areas of dating industry. For example, some people might not want to give their personal pictures to their future possible candidates of blind dating for several reasons. Like privacy, shyness etc. With zk-mask, participants of blind date could verify their partner's facial score is in certain range without looking their pictures before the actual meeting. It could be used as a access ticket for entering a social group which requires certain range of facial score. In both cases, user could verify a person's facial ZKP and decide whether to grant access to him or her.
In a sense of DID, a lot of decentralized identity relies to the data source that comes from a central party. This could cause an oracle problem and oracle's data could be corrupted if a central authority tampers a data. However, we showed the possibility through this project that with zk technology, evaluation from decentralized party could also be reliable data source. Only with the information who has private key could solve the zk puzzle.
Challenges we ran into
Our app's main functionality was making zk-proof and validating it. In order to make this happen, our first trial was using Bandada and TLSNotary. However, we found out that these libraries were not perfect fit for our application since the data source does not exist in off-chain web space. For the next trial, we used UniRep and Semaphore. However, the way to make it work was not easy also. UniRep's documentation had some part deprecated so our developers had to understand by looking at all the codes thoroughly and understood the logic through by running the example app.
We also had a time problem. We spent almost half of the time deciding one-best topic among various ideas. Ideas came from different fields including DeFi, DAO, NFTs and we chose our final idea which was very interesting but also very challenging since the lack of knowledge at this domain space. After finalizing the topic, we had to spend some time understanding zero knowledge technology, how to make proofs, how to verify it, how to deploy it on-chain and so on.
Tracks Applied (8)
QF Track
Open Track
Sponsor Prizes
Demo Day
Sponsor Track: Linea
Sponsor Track: Taiko
Sponsor Track: Polygon
Sponsor Track: EF PSE
Technologies used