Introducing a groundbreaking MNIST classifier app, leveraging the efficiency of the o1js library and the security of the Mina blockchain.
This project involves the creation of a privacy-preserving MNIST classifier application. It integrates several cutting-edge technologies, including the Typescript programming language, the Mina blockchain, React for frontend development, and the o1js library for smart contract implementation.
Core Components MNIST Classifier: The core of the application is a machine learning model designed to classify images from the MNIST dataset, a large database of handwritten digits commonly used for training and testing in the field of machine learning.
Mina Blockchain: The application is built on the Mina Berkeley Testnet, renowned for its lightweight and secure nature.
Zero-Knowledge Proofs: A pivotal feature of the app is the use of zero-knowledge proofs. This cryptographic technique allows the application to verify the correctness of the classification results without revealing the input data or the details of the computation. This ensures the privacy of user data and the integrity of the results.
This project is made of typescript react frontend and usage of o1js library to create smart contract in Mina. First, MNIST classifier is trained using Python then it is transpiled to the typescript and o1js.
Frontend Interaction: Users interact with the application via a React-based interface. This frontend manages the image upload process and displays the classification results.
Image Classification: Once a user uploads an image, the MNIST classifier processes the image. The classifier, likely hosted on a server or a cloud platform, performs the digit recognition task.
Privacy-Preserving Computation: The classification's input and output are handled using zero-knowledge proofs created with Leo. These proofs are designed to confirm the validity of the classification without exposing the data, maintaining privacy.