tari-project / triptych

BSD 3-Clause "New" or "Revised" License
0 stars 3 forks source link

chore!: refactor transcript operations #64

Closed AaronFeickert closed 6 months ago

AaronFeickert commented 6 months ago

This PR refactors Fiat-Shamir transcript functionality.

It creates a new ProofTranscript wrapper around an existing Merlin transcript. This allows us to more cleanly unify the prover and verifier's operations. The design also better handles challenge power generation and the transcript random number generator used for both prover nonces and verifier weights.

Because it also adds a version identifier to input set and parameter hashes, existing proofs will not verify.

BREAKING CHANGE: Updates how internal hashing is performed, so existing proofs will not verify.