Inspiration

The time we spend on computers is increasing exponentially, and we have stored much personal and sensitive information online for convenience. However, most of the companies and agencies that we trust to handle and store our data are very prone to data breaches. Blockchain is created to eliminate centralized trust and provide us with a brand new way of social interaction. All the participants in a blockchain do not have to trust each other. They only have to trust the math behind it.

In Hashy, we use revolutionary ZK technology to protect the user's identity and privacy. Without revealing any sensitive information about our users, parties can reach an agreement.

What it does

Hashy asks the verifier for what kind of information they want to verify. We then ask the user to input their data such as ID and age for verification. The whole verification process takes place in our ZK circuit, which means no party can see what the user has inputted. In the end, the verifier only needs to know whether the user has passed the condition that they set. We store the hash result of the user's input into our merkle tree for future verification.

How we built it

We used plonky2 to create our ZK circuit and used javascript to create our merkle tree to store and verify the data from our user.

Challenges we ran into

We didn't know how to write any ZK circuit before we came, so we have to literally teach ourselves how to write ZK circuit using plonky2. And we had to find a working merkle tree implementation.

Accomplishments that we're proud of

We are proud that we have a working prototype and a working ZK circuit!

What we learned

This is our first time attending hackathon, and we finally learned how to apply what we learned into creating a new and exciting project.

What's next for Hashy

Add more functionalities so that there are more general use cases.

Built With

Share this project:

Updates