Skip to content

Align gov nullifier with ZIP spec (dom parameter)#10

Merged
czarcas7ic merged 1 commit into
mainfrom
adam/zip-spec-delegation-alignment
Mar 24, 2026
Merged

Align gov nullifier with ZIP spec (dom parameter)#10
czarcas7ic merged 1 commit into
mainfrom
adam/zip-spec-delegation-alignment

Conversation

@czarcas7ic

@czarcas7ic czarcas7ic commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • derive_gov_nullifier now takes dom (nullifier domain) instead of vote_round_id
  • New compute_nullifier_domain(vote_round_id) derives dom = Poseidon("governance authorization", vote_round_id)
  • Formula: Poseidon(nk, dom, nf) with ConstantLength<3> (was 4-input)
  • Updated known-answer test vector

Merge order

Depends on valargroup/voting-circuits#9. Merge voting-circuits first.

Align derive_gov_nullifier with the new alternate nullifier formula
from zcash/zips#1199. Takes dom instead of vote_round_id as second
parameter. Adds compute_nullifier_domain() to derive dom out-of-circuit.
Formula: Poseidon(nk, dom, nf) with ConstantLength<3>.
@czarcas7ic czarcas7ic marked this pull request as ready for review March 23, 2026 07:30
@czarcas7ic czarcas7ic merged commit 80bba37 into main Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants