TritonVM / triton-vm

Triton is a virtual machine that comes with Algebraic Execution Tables (AET) and Arithmetic Intermediate Representations (AIR) for use in combination with a STARK proof system.
https://triton-vm.org
Apache License 2.0
247 stars 37 forks source link

Optionally derive STARK prover's randomness deterministically #334

Closed jan-ferdinand closed 1 week ago

jan-ferdinand commented 1 month ago

Currently, the STARK prover derives all randomness by calling rand::random(), the “thread-local random number generator, seeded by the system.” For some testing and benchmarking purposes of the STARK prover, it is beneficial to have reproducible proofs. i.e., to allow seeding the random number generator explicitly.

Misusing such an interface can break zero-knowledge, a property most central to Triton VM. Therefore, using this interface must be purely optional, and it must be plastered with warning signs.