None
EN
The Frozen Heart vulnerability in PlonK
['Jim Miller']
The Trail of Bits Blog
In part 1 of this series, we introduced a rule of thumb for securely implementing the Fiat-Shamir transformation: the Fiat-Shamir hash computation must include all public values from the zero-knowledge proof statement and all public values computed in the proof (i.e., all random “commitment” values). This means that the public inputs, the values from the trusted setup ceremony, the program’s circuit, and all the public values computed in the proof itself must be included in PlonK’s Fiat-Shamir transformations. The public inputs are the public wires, and the prover’s input is both the public input and the prover’s private wires.