Inspiration
Crypto is often viewed strictly as a financial tool, as a way to move digital currency across the web. Provability flips the script by leveraging the privacy-preserving power of blockchain for private ML model training. Traditional platforms like Kaggle require a leap of faith; contestants must trust the platform not to steal their model weights and to honestly pay out prizes. Provability removes the need for "faith" by using a trustless, crypto-powered architecture.
Beyond security, we’ve designed Provability to bridge the gap between technical brilliance and real-world needs. You don’t need to be an ML expert to benefit from our ecosystem. Our platform allows anyone to request a model, set a bounty, and have it built for them. Whether you're a business owner with data but no data scientists, or an enthusiast with a vision, you can commission high-performance models without ever writing a line of code—all while maintaining complete ownership and privacy of the results.
How we built it
I built Provability on top of the Solana network, and used smart contracts on Solana to ensure that when an individual hits the performance threshold, the prize money is instantly paid out. To make the platform completely trustless, I used zero knowledge proofs of computation. For the ML inference (for performance verification), I used Runpod and Modal as the compute providers. To train models to test the system, I used Google Colab. I also deployed my platform on Vercel for scalability.
Challenges we ran into
Coding in Solana to create smart contracts and the ZK proof was very difficult, as I had never done that before. Theoretically, it was challenging to design a trustless system of this kind, where even the platform itself is not trusted. The system I built handles collusion between any two parties, and is also cryptographically secure.
Accomplishments that we're proud of
I’m proud that I was able to put together the database, the crypto backend, the ML inference, and the frontend in 36 hours. I am also happy about the trustless architecture of Provability which was enabled by the use of ZK proofs and the Solana blockchain, as well as the visually appealing frontend that ties everything together.
What we learned
Zero knowledge proofs are powerful tools in proving that computation was done correctly, without needing to know anything about the actual computation. This enabled us to make the model performance evaluation completely trust less, since we could verify that a trusted compute node ran the evaluation script properly, without the model builder ever seeing the test data, and the bounty provider ever seeing the model weights. However, this powerful tool came with the price of a steep learning curve, as learning Rust on the fly to code on the Solana blockchain was very difficult. I also needed Rust to program the smart contracts that would be in charge of holding and releasing the funds at appropriate times.
What's next for Provability
For my next step, I want to first enable GPU acceleration on the platform to speed up the ZK proofs, as that is the current bottleneck in the system. I would also want to allow more flexible compute options, such as on-prem or existing cloud providers. It would also take time to fully ensure the cryptographic security guarantees that I would desire in a full-fledged product. For example, I am interested in using recent advances in cryptographically secure ML, such as Fully Homomorphic Encryption (FHE), in order to guarantee the privacy of test data and prevent leakage.
Built With
- next.js
- supabase
Log in or sign up for Devpost to join the conversation.