pub const CURRENT_VERSION: u32 = 0;
Expand description
A version tag for the combination of Triton VM’s instruction set architecture (ISA) as well as the STARK proof system. This version changes whenever either of the two changes.
§Rationale
A change in the ISA might give a Program
a new meaning, and an existing
proof might erroneously attest to the “new” program’s graceful halt. By
bumping this version when changing the ISA, the old proof is surely invalid
under the new version. If the program’s meaning has not changed, or the new
meaning is accepted, a new proof can be generated.
A change in the STARK proof system generally means that the verifier has to perform different operations to verify a proof. This means that existing proofs about some program should be accepted as valid, but (generally) are not. This version helps to make the discrepancy explicit.
Note that proofs remain valid for their matching versions indefinitely.
This version is separate from the crate’s semantic version to allow software upgrades with no semantic changes to both, the ISA and the proof system.