how can you do it when nostr is decentralized data tho? the odds of any two dvm providers running against the same dataset is practically non existent, unless the client is the one feeding the data to both.. 🤔
Nostr is verifiable data.
Sign code into Nostr events, and you get Verifiable Code.
But here’s the problem: you still have to trust the environment running that Verifiable Code. If you rely on a third-party machine, how can you guarantee it’s executing your code as intended and not something entirely different?
Enter Verifiable Computations. Runners take verifiable data + verifiable code, execute them, and return the results + a cryptographic proof that nothing was changed.
Now, recipients can verify if the script ran exactly as intended, making runners trustless partners.
Welcome to verifiable, trustless DVMs on Nostr.
https://video.nostr.build/699106b3c505e8a953b1508a497ea5b4c8019ea2f321e53d6ddf707a144ccd03.mp4
Discussion
DVMs can sign provable structures of which event IDs they have access to and make that available (Bloom filters, hyperloglog, etc).
Clients can even send signed Bloom filters from other DVMs as input to tell your DVM which events should be included as part of the verifiable computation process.
Having a network of third-party proofs so that not everything needs to be verified by the phone in real time will make this possible.