-
Notifications
You must be signed in to change notification settings - Fork 492
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
Refine AS Punishment Criteria #10699
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cACK
EDIT: This comment is incorrect and was a misunderstanding, see Max's comment Let's say I'm a whale, I have these inputs:
All other are plebs, < 0.1 BTC (it's just for the example) I have a non standard output of 109 BTC. Therefore we can deterministically link my 2 inputs together |
No, your two inputs are the two largest, so both will be included in the punishment, thus you would have 1 AS |
I understood thanks for the clarification. Wording of the 2nd part is misleading: |
InputMergeLargeUniqueDenom
InputMergeLargeUniqueDenomsReasonablePunishment
A PR changing AS computation with diff of +339/-80 was merged few hours only after marking it as ready for review without any reviews? |
Co-authored by @MaxHillebrand
This PR refines which coinjoin outputs' anonymity scores (AS) need to be punished and how much.
Current Behavior (master)
Currently, on the master branch, the following happens:
During anonymity calculation, in a WW2 coinjoin, if we see a unique, standard denomination output that
>=
second largest output in the coinjoin, then we punish its anonymity down to the smallest anonymity we can find in our inputs.This PR
This PR changes the behavior mentioned above in 2 parts:
Part 1:
In this PR the last criteria is that the output must be larger than the largest non-unique foreign output. In this way we catch more edge cases.
Part 2:
In this PR we punish not to the smallest anonymity of all our inputs, but to the smallest anonymity of our own largest inputs of the coinjoins.
Impact
This is for whales and plebwhales (large plebs in small pleb rounds.) This is also for those with the privacy profile, because one occasion can invalidate a lot of work.
Not sure how large the impact of this PR. I tested with my main wallet and it did not change anon percentage. I also tested with some testnet wallets I had and it changed anon percentage for only one.
ToDo