Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

coordinator attack: add clearnet/Tor attack and inconsistent round id attack#1867

Open
MarnixCroes wants to merge 1 commit intoWalletWasabi:masterfrom
MarnixCroes:coord-attack
Open

coordinator attack: add clearnet/Tor attack and inconsistent round id attack#1867
MarnixCroes wants to merge 1 commit intoWalletWasabi:masterfrom
MarnixCroes:coord-attack

Conversation

Copy link
Collaborator

MarnixCroes commented Jan 2, 2025

yahiheb requested changes Jan 2, 2025
Comment on lines +151 to +155
This allows the coordinator to link all communication and inputs and outputs of the coinjoin and thus complete de-anonymisation.
This is why Wasabi communicates over Tor by default.
- (Theoretical) Tor network-level de-anonymisation:
Wasabi uses Tor by default, assuming that this is the most available and usable anonymous way to communicate, and that it cannot be de-anonymised at the network level.
If Tor does not uphold these assumptions, the client could be de-anonymised.
Copy link
Collaborator

yahiheb Jan 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: "anonymization" is used elsewhere in the docs.

Suggested change
This allows the coordinator to link all communication and inputs and outputs of the coinjoin and thus complete de-anonymisation.
This is why Wasabi communicates over Tor by default.
- (Theoretical) Tor network-level de-anonymisation:
Wasabi uses Tor by default, assuming that this is the most available and usable anonymous way to communicate, and that it cannot be de-anonymised at the network level.
If Tor does not uphold these assumptions, the client could be de-anonymised.
This allows the coordinator to link all communication and inputs and outputs of the coinjoin and thus complete de-anonymization.
This is why Wasabi communicates over Tor by default.
- (Theoretical) Tor network-level de-anonymization:
Wasabi uses Tor by default, assuming that this is the most available and usable anonymous way to communicate, and that it cannot be de-anonymized at the network level.
If Tor does not uphold these assumptions, the client could be de-anonymized.

nothingmuch suggested changes Jan 3, 2025
The client asks the coordinator for the active rounds, and the coordinator returns the _Round ID_.
The round ID is the resulting hash of information about the round, such as when the round started and the parameters. The coordinator could create rounds that do not match the parameters and/or create rounds with inputs that were supposed to be registered in different rounds.
This allows the coordinator to de-anonymize and/or link users' coins.
To mitigate against this, the client calculates the round ID by itself to verify, and will abort if it detects the coordinator is doing this.
Copy link

nothingmuch Jan 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that doesn't mitigate anything because ownership proof "verification" trusts the coordinator to provide prevouts

even if they were, the round id is insufficient to ensure consistency

Copy link
Contributor

turbolay commented Jan 3, 2025

I will wait to merge this until all known potential attacks are clarified & mitigated.
This is a task I am currently undergoing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

yahiheb yahiheb requested changes

+1 more reviewer

nothingmuch nothingmuch requested changes

Reviewers whose approvals may not affect merge requirements

Requested changes must be addressed to merge this pull request.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

4 participants