How prover convince verifier that it has indeed executed given program in a VM? #104
Replies: 4 comments
-
Since Risc0 uses ELF as input to the VM, it generates a cryptographic hash and verifier needs that hash to begin verification of the seal generated by Risc0 prover. |
Beta Was this translation helpful? Give feedback.
-
More details as per discussion with Risc0 discord
|
Beta Was this translation helpful? Give feedback.
-
Based on this it seems that we also need to generate proof of decoding step at some-point in future. |
Beta Was this translation helpful? Give feedback.
-
We can avoid that proof, if we disallow self-modifying code. See #107 Then we load the initial memory, decode all the instructions, and produce the hash of the program from that. A user who wants to verify a proof can take the ELF file the prover claims to have executed, compute the hash with our program, and verify the program hash that the proof comes with against this result. |
Beta Was this translation helpful? Give feedback.
-
It seems like miden is doing some complex process https://0xpolygonmiden.github.io/miden-vm/design/decoder/main.html
But Risc0 seem to have different approach.
Beta Was this translation helpful? Give feedback.
All reactions