-
Notifications
You must be signed in to change notification settings - Fork 83
Knots Privacy Tweaks #135
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
base: 28.x-knots
Are you sure you want to change the base?
Knots Privacy Tweaks #135
Conversation
This service flag uses the temporary service bits. It was always supposed to be temporary, and as full RBF is well deployed at this point, it no longer serves a purpose beyond fingerprinting nodes.
Makes use of the existing base_name_only flag in FormatSubVersion, just exposing it via a default-false config option '-uahideknots'.
Looks cool! I'm confused as to why you think turning off the fullrbf service bit would allow blending in with LR; LR signals for fullrbf by default in the version I based GM on (tag Oddly, the diff comparing the latest tag (libre-relay-v29.0-1) to this tag does not show this line being deleted (petertodd/bitcoin@libre-relay-v28.1-2...libre-relay-v29.0-1), but it definitely was, so I'm not exactly sure what's going on there. But it's definitely true that the latest tag of LR does not signal for fullrbf. So yes, it's true that newer versions of LR don't signal for fullrbf, but this is far from a unique identifier for GM. If we remove fullrbf signaling from Knots, will Knots still "do" fullrbf? Because that seems like the desired behavior. |
Yep, you're completely right, I'd somehow managed to confuse the 28.1 tag with 29.0 when I was looking at LR previously. When Knots gets bumped to 29.0 or beyond, GM will want to remove the flag, but 28.1 is correct to have it there. For blending in with Core, no flag is the correct behavior.
Yep, the service bit is just advertisement; it was used by Knots, LR and Elements (the last of which replaces the 'Satoshi' client name), but to my knowledge never by Core. |
Yes its not used in Core. Related pull request: bitcoin#25600
This could be useful. |
@pithosian Well, with GM we are not trying to emulate core, we are trying to emulate LR, so I think it's fine to leave it for now. But yes, in v29 I'm guessing Knots will remove the flag and make fullrbf the default behavior. @luke-jr can confirm. |
Full RBF has been default for years... |
@luke-jr even with the flag removed as in this PR? |
Running Knots has far less potential to be personally identifying than it used to, thanks to the recent surge in Knots users 🎉, but it would still be nice for Knots users to blend in if they want to. Toward that end, this PR:
REPLACE_BY_FEE
service flag; full-rbf is well deployed and all the flag achieves now is providing information for fingerprinting.uahideknots
option (defaultfalse
) to not addKnots:YYYYMMDD
to the subversion string, using the existingbool base_name_only = false
argument onclientversion.h::FormatSubVersion
.I know of at least two people attempting to ban Knots peers based on these metrics; the service flag doesn't provide any value afaik, and hiding the UA identifier is a useful option to have in case more decide to filter peers.