Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outsource signature verification from masp vp #3312

Closed
grarco opened this issue May 24, 2024 · 0 comments · Fixed by #3372
Closed

Outsource signature verification from masp vp #3312

grarco opened this issue May 24, 2024 · 0 comments · Fixed by #3372

Comments

@grarco
Copy link
Collaborator

grarco commented May 24, 2024

Currently we check some signatures in the masp vp when the balance changes of a transaction do not match the state transition implied by the masp Transaction.

We might be able to move this check back to the involved validity predicated by using a masp Action. More specifically, instead of verifying the signatures we can check that their vps have been triggered and let the validation up to them.

However, these vps may not be triggered by the transaction, so the transaction itself should write an Action (a temporary value in storage that doesn't get committed to storage) to manually trigger these vps. If the transaction fails to do so, the check in the masp vp on the triggered vps will fail, leading to a rejection of the tx.

This would decouple the validation logic of the involved addresses from the masp vp (allowing custom logics) and could lead to less signatures verification (with the current implementation we could end up verifying the same signature twice, once in the user vp and the second time in the masp vp).

@grarco grarco self-assigned this May 24, 2024
grarco added a commit that referenced this issue Jun 5, 2024
grarco added a commit that referenced this issue Jun 6, 2024
grarco added a commit that referenced this issue Jul 9, 2024
grarco added a commit that referenced this issue Jul 18, 2024
grarco added a commit that referenced this issue Jul 19, 2024
grarco added a commit that referenced this issue Jul 19, 2024
brentstone added a commit that referenced this issue Jul 22, 2024
* grarco/outsource-masp-sig-verification:
  Transfer transaction fails if masp transparent inputs are not debited
  Changelog #3312
  Masp vp checks that no unneeded actions are pushed
  Transfer transaction pushes masp actions
  Renames masp signers to authorizers
  Refactors masp action checks
  Masp vp checks for signer actions
  Moves signatures verification from masp vp to the affected vps
brentstone added a commit that referenced this issue Jul 24, 2024
* origin/grarco/outsource-masp-sig-verification:
  Transfer transaction fails if masp transparent inputs are not debited
  Changelog #3312
  Masp vp checks that no unneeded actions are pushed
  Transfer transaction pushes masp actions
  Renames masp signers to authorizers
  Refactors masp action checks
  Masp vp checks for signer actions
  Moves signatures verification from masp vp to the affected vps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants