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

patch01: address path-based groupmint #28

Closed
wants to merge 4 commits into from

Conversation

benjaminbollen
Copy link
Member

problem: for path-based groupmint (much like with external groupMint) the minted group tokens were delivered to the sender. In the verification of the flow matrix of a path transfer, this resulted in any groupmint always netting out zero, and as such always being allowed for the maximum balance of the avatar - IF the avatar had opted out of consented flow for any (malicious) group.

In this patch, the group tokens that are minted over the path transfer are minted in-place onto the group address - so the path transfer needs to explicitly move the group tokens onward (or the group is set as the final receiver in the stream).

This patch only addresses that now the amount "mintable"/"stealable" is limited to the total capacity of other Circles that the avatar is able to receive from their trusted Circles (in exchange for the tokens minted into the group). So the core problem remains that, without consented flow, or when an avatar opts out from consented flow, an attacker can steal valuable Circles from a user who opts-out of consented flow - albeit at a possibly rate limited flow (which is still unacceptable).

It is important to note that, while this patch by itself alone does not address the attack vector (the main one remains: being able to opt out from consented flow), it is well-worth considering this patch because this implementation fix for path-based group mint is the more logical, and elegant one.

@benjaminbollen benjaminbollen mentioned this pull request Aug 7, 2024
37 tasks
@benjaminbollen
Copy link
Member Author

included in #42

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.

1 participant