ZKMAV
Team's submissions
The problem ZKMAV solves
In an age where AI-generated images continue to become more commonplace, yet less distinguishable, beginning to compete even with legitimate photos, a sensitive line between fiction and reality is easily tugged by those willing to sit by the loom and weave tales. While time has not proven kind to eccentric storytellers, as irony may have it, technological advancement has us returning once more by the fireplace, to gaze into embers and wonder what happens to things that are lost…
ZKMAV provides a platform to help authenticate true photos, guaranteeing their binding to an immutable timestamp and relevant information to boost the legitimacy of a photo without giving away personal information of the one behind the camera. Using Zupass, we are able to use ZKPs to ensure whistleblowers or sensitive individuals can share footage that truly has been taken at a particular location. Pushing it onto Ethereum ensures that such a photo cannot be reposted at a later time without having to be confronted with the original upload; the oldest recorded timestamp for the image. ZKMAV makes all of this, and more, easy.
ZKMAV, or Zero-Knowledge Media Authenticity Verification, allows a user to log in with their wallet and upload a video to the platform. On signing in with Zupass and providing proofs related to (yet not revealing) of their identity, they share a GPS location and verify the data through a backend, which also tags the video with coordinates and the PCD proof. The signed video is then stored on IPFS, which is finally pushed on-chain via a smart contract. Finally, if a user would like to verify a video, all they have to do is upload it, hit “Verify Video,” and the app will identify and list any challenges or supports to its authenticity.
Challenges you ran into
We were originally looking to use ZKLocus to add a stronger proof-of-location, but found difficulty running simple examples and found software conflicts. In the future, we want to implement a ZK proof-of-location to bind photos to both space and time.
Technology used
- Rust
- JavaScript
- Solidity
- Scaffold-ETH
- Zupass