You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The first public input is reserved to be the scalar field unity, starting from the original Gro16 article. It allows eg constants in linear combinations.
The encodings of the public circuit inputs, including the fixed 1 element, are specified in Appendices A.4 and A.5. This is also why the number of elements is ℓ+1 rather than ℓ. Granted this isn't obvious and there should be more cross-referencing (also, those sections aren't quite finished).
librustzcash/bellman/src/groth16/verifier.rs
Line 32 in f55f094
skips the first entry of
pvk.ic
. Because it is used to initializeacc
, this has the effect that it is added into the sum with fixed coefficient 1.The verification description in the spec doesn't mention anything about a fixed coefficient:

The text was updated successfully, but these errors were encountered: