-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
remove output blackballing #8758
base: master
Are you sure you want to change the base?
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.
I did not check if everything related to blackballing was removed, if anything was missed it can be cleaned up in a future PR.
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.
I'm not approving the changes in principle yet, but this PR does successfully remove only blackball features and should not affect the behavior of anything else.
Rebased. |
I believe we should keep the output blackballing feature as long as there still exists the possibility of poisoned outputs (e.g. Mordinals). If/when full-chain membership proofs get merged into mainnet, then it would be safe to remove blackballing entirely. |
I disagree. The current blackballing implementation is not helpful at mitigating effective ringsize reduction from large amounts of non-uniform outputs (such as Mordinals - which was mitigated), as it would require manually generating and importing up-to-date blacklists before sending a transaction. (About half of selected decoys are < 1 day old, so at least daily). Transactions that do not include these outputs in their rings are finger-printable on chain, reducing transaction uniformity and increasing traceability for the small subset of users that would go through the effort. A better solution for output blackballing would be to implement it on the daemon side and have it mark undesirable outputs in the get_outs call. This would not require storing blackballed outputs in RingDB. In this way, all users would benefit and transaction uniformity is not harmed. |
#8756