elibensasson / libSTARK

A library for zero knowledge (ZK) scalable transparent argument of knowledge (STARK)
Other
507 stars 90 forks source link

Non interactive, zero-knowledge proof of a tinyRAM program computation #24

Closed marinthiercelin closed 4 years ago

marinthiercelin commented 4 years ago

Does this library implement non-interactive, zero-knowledge STARKs ?

From what I understand of the paper, it should be possible to produce such proofs, but I am not sure if this codes implements it, and how to use it.

If I have a tinyRAM program example.asm, with input x and auxiliary input w.

Can I produce a zero-knowledge, non-interactive proof for the statement :

examples.asm accepts on input x in T steps, for some w

using this library ?

MichaelRiabzev commented 4 years ago

Hello @marinthiercelin, The libSTARK library is an academic POC. It Does not provide separated Prover and Verifier executable, although it does encapsulate them in a way one could do this separation quite easily. The implemented protocol there is interactive (no Fiat-Shamir transformation), in particular, the Verifier randomness is independent with the commitments provided by the Prover. In the bottom line, there is no "dumping" of a non-interactive proof at any phase, the interaction is simulated in the processes memory. You could estimate using it the running time of the prover, and other useful statistics, but provide a full separation with non-interactive proofs would require some code writing.