Skip to content

Update random nullifier for split notes#76

Merged
PaulLaux merged 17 commits intozsa1from
split_note_old_nf
Jun 23, 2023
Merged

Update random nullifier for split notes#76
PaulLaux merged 17 commits intozsa1from
split_note_old_nf

Conversation

@ConstanceBeguier
Copy link
Collaborator

@ConstanceBeguier ConstanceBeguier commented Jun 20, 2023

To be secure against roadblock attacks, we update the process to obtain a random nullifier for split notes.
Now we have the following formula to evaluate nf_old

  • for non split_notes, nf_old = Extract_P([PRF^{nfOrchard}_{nk}(rho_old) + psi_nf) mod q_P] NullifierK + cm_old)
  • for split notes, nf_old = Extract_P([PRF^{nfOrchard}_{nk}(rho_old) + psi_nf) mod q_P] NullifierK + cm_old + NullifierL)
    where psi_nf is equal to
  • psi_old for non split notes
  • a random pallas Base element for split notes

The following constraints have been updated into the circuit

  • nf_old = nf_old_pub for all notes
  • derived_pk_d_old = pk_d_old for all notes
  • if split_flag=0, then psi_old = psi_new

Copy link
Collaborator

@PaulLaux PaulLaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added minor comment.

Also, please remove comment on line 144 for bundle.rs

@PaulLaux PaulLaux merged commit 477f949 into zsa1 Jun 23, 2023
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