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

The group fingerprint (merkle root) showed as part of the group info is not correct if a member is removed in off-chain groups #639

Open
vplasencia opened this issue Dec 12, 2024 · 0 comments
Labels
bug 🐛 Something isn't working

Comments

@vplasencia
Copy link
Member

Description

The group fingerprint (which is the merkle root) is not correct if a member is removed from an off-chain group. The issue is that if a member is removed, the member is removed from the Bandada infrastructure instead of converting it to 0 which is what the current IMT (Semaphore v3) does.

If the member is converted to 0 people can have off-chain and on-chain compatibility when using the Bandada fingerprint and Semaphore v3 on-chain.

When Semaphore v4 is included, this issue will still exist (#638).

Semaphore uses 0s to keep transactions on-chain cheaper. If the app is completely off-chain it's not necessary to use 0s but in case people want to use the group on-chain too, it will be necessary to have 0s for removed members.

Keeping the current implementation can benefit off-chain groups that are large and remove a lot of members frequently. But it's still better to have 0s for removed members to have compatibility on-chain.

If a member is removed from a group the fingerprint (tree root) changes because the cached group uses 0 for the removed member but the Bandada infrastructure removed the member (did not use 0 for the removed member). Then when the server is restarted, the tree created has a different root (group fingerprint) since the 0 of the member removed is not saved in the Banadada infrastructure. More context on this: bandada-infra/boilerplate#27

@vplasencia vplasencia added the bug 🐛 Something isn't working label Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant