Project Info
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 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 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.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- RustIn code
- SQLIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Next.jsClaimed
10 of 11 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
300 KB
Source files
105
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
balaji-balachandran/Proovability
143 files · 2.6 MB · @ 8b35a90
Structure
Interface
68 files · 48%Screens, components and styles rendered to the user.
Application logic
26 files · 18%Domain rules, services and shared utilities.
Data & schema
8 files · 6%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript90%
- Rust5%
- CSS2%
- Markdown2%
- Shell1%
- HTML0%
- Other (3)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
Provability-main/Provability-main/package.json
npm · 77- @hookform/resolvers
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- +59 more
Provability-main/Provability-main/backend/zkml/script/Cargo.toml
cargo · 10- anyhow
- dotenv
- openssl
- serde
- serde_json
- solana-client
- solana-program
- solana-sdk
- sp1-sdk
- tokio
Provability-main/Provability-main/backend/zkml/program/Cargo.toml
cargo · 5- rand
- rand_chacha
- rand_core
- sha2
- sp1-zkvm
Provability-main/Provability-main/backend/zkml/contracts/programs/zkml/Cargo.toml
cargo · 3- anchor-lang
- solana-program
- sp1-solana
Provability-main/Provability-main/programs/bounty_escrow/Cargo.toml
cargo · 1- anchor-lang
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.