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

Confirm used sender tags #9763

Open
Tracked by #9119
nventuro opened this issue Nov 5, 2024 · 1 comment
Open
Tracked by #9119

Confirm used sender tags #9763

nventuro opened this issue Nov 5, 2024 · 1 comment
Labels
C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team

Comments

@nventuro
Copy link
Contributor

nventuro commented Nov 5, 2024

#9762 expands on the current mechanism for sender tags by searching for used tags (and therefore indices) in the node prior to injecting the current tag in the circuit. However, this mechanism is accompanied by PXE also tracking that the just-injected tag has been used and its index therefore taken, so that future notes do not use the same tag (even in the same transaction!1). This is problematic in the case of non-included transactions.

If a transaction is never included or reverted, then the index and therefore tag have not been used, and these values should not be skipped when producing future tags. Otherwise, if the log ended up never being included the recipient would never see said tag, and would not look any further. This will cause a desync between sender and recipient that we currently lack the tools to resolve (though the sender using #9369 would eventually fix the situation).

Solving this might be a bit tricky since we can't just not increment the index until the transaction is mined, since the user may wish to send further transactions before they get a confirmation, and non-strict transaction ordering means that the second transaction may go through even if the first one is never included (or of it reverts). A potential solution would be to have the recipient be a bit more lax and not just search for the very first unseen tag, but instead look a bit further (say the next 10 tags) in an attempt to detect skipped indices.

Footnotes

  1. Notes in future transactions would use the correct tag thanks to the syncing process, but notes in the current transaction would use the same index if we didn't increment it. This is bad because tags are public, and we'd be therefore be leaking that two notes in a given transaction correspond to the same (sender, recipient, app) tuple.

@nventuro nventuro added C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team labels Nov 5, 2024
@nventuro
Copy link
Contributor Author

See https://forum.aztec.network/t/on-note-discovery-and-index-coordination/7165 for more considerations on this topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-pxe Component: PXE (Private eXecution Envrionment) team-fairies Nico's team
Projects
None yet
Development

No branches or pull requests

1 participant