MeData

MeData

Health Compute Engine using ZKP

The problem MeData solves

We all know what ZKPs are all about. You can reveal attributes about your data without revealing your entire data. (E.g. reveal if you are above 18 years of age without actually revealing your age).

But the question still remains for newbies like me on how to implement it or how to use it for my app.

MeData tries to make it easy for any 3rd party to perform mathematical operations on an integer array of data and then test if resulting value is within a given range.

Some Applications:

Healthcare: To check certain risk factors without revealing entire health data. (Maximum heart rate in a day)

Finance: To reveal that the average returns of your portfolio were more than a threshold without revealing the actual returns.

Etc.How are we implementing it?

With MeData, a 3rd party can send an array of operations supported by our protocol and the given range to the user. The user will then supply the data and query our protocol to generate a ZKP that the criteria it satisfied. If successful, our protocol emits the event that the process is successful which can be verified by the 3rd party if needed. (Messaging using push protocol is implemented in our application)So in future if ANY app wants to verify that attributes of certain numerical data are in a given range, they can use our protocol and don’t need to set up any mina contracts.*

Challenges we ran into

  1. Incompatibility of Push Protocol with Mina - We chose the Mina Protocol for zkp and Push protocol for sending notifications. But, Push doesn’t support Mina chain natively. To solve this we setup a polygon smart contract to handle notification delivery with required data from the user end.
  2. Downtime in the Push Protocol’s notification delivery service -
  3. Mina protocol doesn’t work on testnet-

Tracks Applied (1)

Mina Protocol

Mina Protocol

Discussion