Powering Verifiable Computation for the Nostr Revolution:
https://hackmd.io/@abdelhamid/nostr-dvm-verifiable-computation
#Nostr #FreedomOfSpeech #Integrity
A₿del fgu
abdel@snort.social
npub1hr6v...2e29
If you want to change the world, don't protest. Write code!
Verifiable computation for Nostr Data Vending Machines.
Nostr DVMs are the future:
- free market
- censorship resistant
- standardised
What if we could bring ZKPs to make the computations of DVMs provable ?
Here you, with Askeladd :
- NIP-90 compliant.
- Uses STWO prover to generate Circle STARK proofs.
- In-browser proof verification using Web assembly STWO verifier.
For the user it's very simple:
- Submit the job via a web page signing a Nostr message (with any NIP-07 compatible extension)
- Get the result and verify the proof in the browser directly
Try it yourself:
Askeladd DVM Marketplace
A decentralized marketplace for Zero-Knowledge Proofs
Bonus side effect of building this POC: I was able to catch and report a bug in the Nostr Rust SDK. Shout ouf to the maintainers who fixed it few hours later.
I may be the one who implemented the first NIP-90 compatible DVM in Rust 😜
View quoted note →

GitHub
NIP-90 Job Result compliance: Missing ability to set `content` field in DVM job result · Issue #512 · rust-nostr/nostr
Description According to NIP-90, the result of a Data Vending Machine (DVM) Job should be placed in the content field of the Nostr event. However, ...

What about building a Censorship-resistant global proving network using Nostr ?
I built a small Proof of Concept using Nostr for the coordination layer and STWO for the generation of validity proofs.
Typical flow:
1. User submits a proving request to the network using a Nostr client.
2. A prover agent picks the request and generate a STARK proof using STWO prover.
3. The proof is published to the Nostr network.
4. The user can verify the proof using the STWO verifier agent.
The POC for now is only able to generate a Circle STARK proof for a Fibonacci computation, using STWO and a custom AIR.
Open questions:
- Fee mechanism (could leverage NIP-57 with Lightning Zaps).
- Spam protection (could be cool to use NIP-13 Proof of Work and try to reuse the grinding part of the STARK protocol,
Weikeng Chen
has started to draft idea on how to potentially do this).
- Standardisation and serialisation of proofs.
- Generalisation to arbitrary programs using Cairo.
- Batching & aggregation of proofs.
I am big fan of Nostr and it's potential. You can imagine a lof of different applications and use cases that can leverage the simplicity and censorship resistance of Nostr. I am pretty sure that ZK will play a big role in this, both for scaling of computation and also for privacy.

GitHub
GitHub - starkware-bitcoin/askeladd: Powering Verifiable Computation for Nostr Data Vending Machines.
Powering Verifiable Computation for Nostr Data Vending Machines. - starkware-bitcoin/askeladd