A zero-knowledge audio proof system that lets artists verify sample authenticity without revealing transformation details. Built with SP1 zkVM and a WASM-powered audio editor.


zkSampler enables artists to prove they transformed a signed audio file using permitted DSP effects—like pitch shift, reverse, or time stretch—without revealing the exact process. The system uses SP1 zkVM for zero-knowledge proof generation and on-chain contracts for proof verification. Users can upload audio, sign it with an Ethereum wallet, transform it in-browser via a WASM DSP engine, and generate verifiable ZK proofs. The frontend is a Next.js interface styled with Tailwind and Aceternity UI, while the backend uses Rust and SP1 to compile, execute, and prove the transformation logic. This allows musicians and producers to cryptographically prove usage of a sample in a remix or beat without revealing trade secrets, unlocking fair use and attribution without compromising creative workflows.


The system is powered by SP1’s zkVM to compile transformation logic (e.g., reversing audio) into provable programs. These transformations are executed and output `public_values.bin` and `proof.bin`. A WASM module replicates these transformations in the browser, enabling the frontend to display a visual waveform editor and generate matching transformation JSON. This is sent to a backend `/prove` endpoint that returns proof artifacts for on-chain or public verification. Audio authenticity is anchored via Ethereum wallet signatures on the input file. The Solidity verifier contract accepts the proof and verifies it.

Technologies Used

  • SP1 zkVM
  • Groth16
  • Rust
  • Next.js
  • WASM
  • WaveSurfer.js
  • Tailwind CSS
  • Ethereum

Awards

  • 🏆 1st Prize – ZK Track @ EthGlobal Trifecta