This project introduces a novel approach by integrating Zero-Knowledge Machine Learning (ZKML) into social media interactions
Prize Pool
In the digital age, the authenticity of content on social media is paramount. This project introduces a novel approach by integrating Zero-Knowledge Machine Learning (ZKML) into social media interactions. Users are prompted to select a sentiment tag for their content and generate a proof that it aligns with the chosen sentiment. With ZKML verification, only genuine content is published, ensuring a true and honest representation of sentiments.
How It Works
Machine Learning Model The project began with training a machine learning model using PyTorch. The dataset used is available on Kaggle. The generated files word_to_index.json and index_to_word.json enable text-to-index conversion, vital as ML models cannot directly process strings. These files are hosted on Filecoin.
Zero-Knowledge Programming The model's weights and biases were exported for integration into Noir, Aztec's Zero-Knowledge programming language. The noir-ml library was used is on this link. Circuit and model are transparently hosted on Filecoin.
Circuit Transformation & Integration Using the nargo tool, the circuit was converted into Solidity Verifier code. This verifier is integrated into core Solidity code functions like posts, comments, and likes.
Frontend & Backend The frontend, developed using React and Ethers, serves as the user interface. Before posting, users validate their content's alignment with their chosen sentiment tag. The backend manages sentence-to-index conversions, proof generation, and verification.