A post on Wasabi Wallet and their new protocol, WabiSabi after more digging/research:

First off, please do not connect my joining their Space last week or researching their protocol as lending *any* credence or support for their approach or wallet. I still do not recommend using it in any way.

Digging into WabiSabi has revealed some core issues that should prevent you from considering using it. Note this list is not in any particular order.

1) Wasabi's funding and willing usage of chain surveillance companies puts your on-chain data at risk when you use them.

This usage of CA could not only lead to harming your privacy directly, but could also easily be turned into a honeypot where "bad inputs" automatically get sent to mix with only Sybil inputs, providing 0 privacy but not showing that in your client.

Easy surveillance.

2) WabiSabi as a protocol is only a tool for aggregating inputs where each input/output is blinded from the coordinator, and is not in any way a Coinjoin protocol - it is merely the input aggregation portion of one.

As such, the specifics of the WW2 protocol are unclear.

3) There is currently *zero* way to verify the privacy provided by a given mixing round in WW2, and even Wasabi themselves don't seem to understand how their "anon score" metric works.

If you can't verify the privacy you get, you *should not trust it*.

4) "Lonely whales" (i.e. those with larger amounts of Bitcoin) can often gain *zero* privacy in mixes and have 100% deterministic links between their inputs and outputs.

Have seen as little as 6 BTC gaining no privacy from mixing rounds.

5) Due to the client + coordinator not learning amounts chosen by participants in rounds before mixing, you can never be sure that a mixing round provides you with any privacy, as it's always possible no one selects the same amounts as you, providing an anon set of 1 (your input/output).

6) The usage of "big TX = good privacy" in Wasabi marketing is BS, as the only thing that matters for privacy in a transaction is the potential outputs to match your inputs.

That is really only the outputs that share a denomination with your output, not all outputs in a TX.

7) If the creators of this purported privacy tool don't know how to measure the privacy provided by their protocol, it should raise red flags for you.

Not knowing how your own protocol actually provides privacy opens up so many potential implementation flaws.

8) There is a *long* history of tracing of Wasabi's previous implementation due to flaws in protocol and flaws in implementation, so we should be incredibly wary of trusting privacy claims until 100% proven over time.

9) There remain *zero* post-mix spending tools in Wasabi, something that is absolutely vital to actually gaining privacy from Coinjoin's when spending Bitcoin. Even if the protocol was perfect this would lead to many privacy issues and "foot guns".

This post comes after spending many hours digging into the WabiSabi protocol, their documentation, and speaking with them at length.

I have no personal beef with Wasabi but try to remain open to learning from new approaches and wanted to give WabiSabi a fair shake.

As a note to Thibaud and others I spoke with on the Space last week, that was not merely recon or similar, I genuinely wanted to learn and thought that would be a good place.

Unfortunately I didn't really get much mic time or many questions answered and it felt like marketing.

I don't write this thread to incite more hateful rhetoric between "camps," but because I care about *your* privacy above all and do not want to accidentally push people to use a tool I don't deem sufficient for privacy in Bitcoin.

Just as I love and recommend Monero widely while working on Bitcoin, I love and recommend Samourai Wallet as a proven tool for privacy that I have used successfully over the years and seen proven time and again to work and provide solid privacy on-chain.

If I saw Wasabi Wallet as a workable and useful privacy tool today without core issues I wouldn't hesitate to recommend it, as I'm not an anything maximalist or tied to any camps.

But that is not the case today, and I can't recommend anyone use Wasabi Wallet (still).

I'm sure this will piss a lot of people off (I seem good at that recently 🙃) I want to always be sure that people know where I stand in relation to privacy tools, and that stance hasn't changed despite spending a good amount of time digging into Wasabi.

tl;dr: Keep using Samourai Wallet or Sparrow Wallet for Bitcoin privacy, the holistic toolkit they've built is beyond compare and has a proven track record of efficacy.

Reply to this note

Please Login to reply.

Discussion

Reposted to Nostr, good reminder!

Realized I forgot to post it here as well, so much easier in one big post in Nostr 😁

#[3]

A lot of your post makes sense, and some of it goes over my head.

I will study. That’s a promise.

In the meantime… can you ELI5?

Easy takeaway is here:

> tl;dr: Keep using Samourai Wallet or Sparrow Wallet for Bitcoin privacy, the holistic toolkit they've built is beyond compare and has a proven track record of efficacy.

Longer form is that Wasabi Wallet has critical issues and should (still) be avoided IMO.

Thanks Seth. I downloaded wasabi very recently but haven’t used it yet. Good timing on your post 🙏🫡

Glad to hear it, check out Sparrow Wallet if you're wanting a desktop app, implements the Samourai Wallet privacy tools in an intuitive and approachable way!

Thank you — will do!

How could you possibly reach the conclusion that a Samourai coinjoin would give you more anonymity than a WabiSabi coinjoin? For example, even if you disregarded ALL of the possibilities created from input and output decomposition, there's still 5 inputs and 8 outputs of the 0.05 denomination in this coinjoin compared to a Whirlpool coinjoin that has only 5 inputs and 5 outputs of the 0.05 denomination:

#[4]

I would rather use privacy tools which provide consistent privacy (samourai, sparrow) over a tool which may sometimes provide privacy (wasabi). I think #[3] 's strongest point is that of verifiability. You need to be able to verify the privacy gained by mixes. And it must to be consistent.

A simple guide for verifying the privacy gained from samourai/sparrow mixes would be right up your alley, #[4] right? I have seen the devs post pics of some verification tools on Twitter but I don't think they have made a simple guide for it yet. Would be awesome to be proven wrong.

Your Wasabi analyzes the anonscore of every transaction after it happens.

Wasabi was the Bitcoin wallet that calculates some anonymity level, and it's still by far the most sophisticated.

What Seth is concerned about, is that you cannot PREDICT what outputs and anonscore a future coinjoin will bring you. That's great, because the attacker can't predict it either.

No need to trust my words, here is the code, read it.

https://github.com/zkSNACKs/WalletWasabi/blob/364c9dc9ef0f0d5b685bb6cdcc7c2782c600ea98/WalletWasabi/Blockchain/Analysis/BlockchainAnalyzer.cs#L54

I don’t have the technical acumen to understand the code in a meaningful way, but I sincerely appreciate the opportunity to witness the reports, discussion, dialogue here, as we all work toward a better system through many iterations.

Grateful for the work you guys are all doing 🙏

Sparrow does the job and does it well

What I took away from the spaces and my own research is that:

- Wasabi has conflicts of interest by promoting a coordinator that directly funds Chain Analytics. They say it doesn’t matter because user can pick the coordinator but this is a false choice when liquidity determines the privacy “guarantees” (see below) of the mixing. Other coordinators have less liquidity, you’re hiding in a smaller pond.

- WabiSabi and Wasabi seem to use a fuzzy “anonymity score” system where the user sets this number in the client and their bitcoin mixes until it reaches the threshold. Problem is this number is poorly defined and it’s unclear what threshold you need to achieve privacy, there is no guarantee, it’s all fuzzy and depends on how the rounds turn out (see below)

- WabiSabi mixing is good at aggregating (and decomposing and recomposing amounts of) transactions on the *input* side but outputs still rely on this fuzzy logic anonymity score to “know” if your utxo is private enough. Outputs are not all the same amount like Whirlpool, so you’re only not guaranteed anon sets with known numbers of identical value utxos to hide among, instead outputs have variable amounts which can lead to low anon sets. The client would then remix again they say until privacy is achieved… this threshold is again poorly defined and makes assumptions about what chain analytics are able to probabilistically compute or not, a big question I have is how future proof are these probabilistic privacy thresholds users are setting today.

so you’re not guaranteed anon sets*

Extra “only” in there

Look up a person on twitter that goes by nothingmuch ( https://twitter.com/not_nothingmuch ) He created wabisabi but left the project because he couldnt get the others to understand the nuance of privacy.

I think there isnt a really good option for on-chain mixing at this point.

Sadly he blocked me a long time ago for an unknown reason, would love to talk to him 😢

damn… I wanna know what he means

No clue 🤷‍♂️

He means Wasabi will slowly kill you but Samourai is insta death

How so?

That I don't know but I can guess. Wasabi death by a thousand paper cuts from poorly constructed coinjoins. Samourai death by coinjoining only with people who don't run their own dojo

Tell me more about those poorly constructed coinjoins, sir...

https://mempool.space/tx/146c038c654d61be30006a5551dee7979e780242a663b581de1fea3a15fb509a

I'm curious to hear nothingmuch's thoughts too

Thats unfortunate. He has posted at length on twitter about privacy issues, so if you search youll find the answers.

I'm surprised you decided to repost this on Nostr despite having the claims already debunked by Shinobi 7 hours ago:

https://twitter.com/brian_trollz/status/1642957595575984135

He didn't debunk anything, he just ree'd into the void with vague nonsense.

He could have replied if he wanted to debunk anything, instead he just repeated his angry rants.

I've long since decided not to waste my time entertaining his fantasies, many more important things to do in life.

So you don't actually have any rebuttal to Shinobi's corrections of the false claims you made in this thread? Calling his debunking "vague nonsense" and an "angry rant" doesn't mean anything because he has the facts correct and you have the facts incorrect.

I will reply to his claims today.

Also, my tone with the previous post was uncalled for, apologies on that. I've just spent so much time trying to engage with him to only run into the same things it's very tiresome.

Either way my tone was unnecessary.

I have responded to every one of his claims, despite him using personal attacks, aggressive rhetoric, and attempting to wield me being able to admit when I'm wrong and learn from it as some sort of insult.

I'm done engaging with him, utterly pointless to waste time and brain cells engaging with him when he will just leverage any true compromise as a weapon against me later (for the umpteenth time).

Great to see the full analysis in a single note.

Beware freaks, the What Bitcoin Did podcast still advertises Wasabi as a good privacy tool, Wasabi being one of the sponsors of the show.

The claims made in this thread include some that are false and presented with no proof or arguments, alongside some useful descriptions of potential attacks and edge cases that can cause less than perfect privacy. Here’s a line-by-line rebuttal:

_____________________

"1) Wasabi's funding and willing usage of chain surveillance companies puts your on-chain data at risk when you use them. This usage of CA could ... lead to harming your privacy directly"

_____________________

This is simply false, Wasabi wallet never puts your on-chain data at risk:

-Your IP address is never linked to your addresses because Tor is used by default

-Your addresses are never linked to each other because client side block filters are used by default.

Any "usage of chain surveillance companies" by coinjoin coordinators would mean a coordinator is BUYING their data, not SELLING data to them since Wasabi is designed not to reveal any user data.

By comparison, Samourai wallet DOES put your on-chain data at risk:

-By default, all of your addresses are linked together (even the private addresses of your equal output coinjoins) and sent to Samourai's server, which becomes a honeypot of data.

-By default, Tor is not enabled.

_____________________

"1a) Usage of CA could also easily be turned into a honeypot where "bad inputs" automatically get sent to mix with only Sybil inputs, providing 0 privacy but not showing that in your client."

_____________________

A malicious coordinator can attempt to Sybil attack a target input no matter what coinjoin protocol is used. WabiSabi is especially resilient to Sybil attacks, while Whirlpool is especially susceptible to them,

It's possible to perform this attack with some sort of reliability on a 5 input coinjoin like Whirlpool, especially if the coordinator knows the xpub of other users in the round, turning those users into unwilling attackers as well. The cost of a Sybil attack in Whirlpool is reduced to a one time payment because an attacker’s mining fees for remixes are paid by the victims of the attack.

In WabiSabi, the potential for this attack is also mitigated by the 150+ input size of the round, requiring an enormous amount of luck and liquid capital to even attempt. The attacker would need to get lucky for the target to register their non private input first in order for the malicious coordinator to know to fill the round with 149 dummy inputs and exclude registration from any unknown inputs. In order for this attack to ever succeed, the malicious coordinator would have to be enormously well capitalized and liquid (coins that are unconfirmed cannot be registered) to control that many UTXOs and pay their mining fees.

With WabiSabi, the target of the attack would be also able to detect the malicious coordinator when they try to register their second input (which would be rejected). With Whirlpool, the target would not be able to detect a malicious coordinator this way since they are limited to registering a single input in a round.

Wasabi 1.0 and 2.0 clients are also able to detect/prevent this attack in an additional way since a unique "Satoshi" Tor identity is used by the client to get the round status, which is not connected to "Alice" Tor identities used for input registration.

_____________________

"2) WabiSabi as a protocol is only a tool for aggregating inputs where each input/output is blinded from the coordinator, and is not in any way a Coinjoin protocol - it is merely the input aggregation portion of one.

As such, the specifics of the WW2 protocol are unclear."

_____________________

It is simply false that WabiSabi is not a coinjoin protocol.

Aggregating inputs privately is a cryptographic advancement made possible by the WabiSabi protocol, but aggregation is not required, you can still register with a single input. By enabling private consolidation, WabiSabi's properties grant the side effect of making outputs that are larger than a smaller single input a potential link since the larger output could have been created from a consolidation of inputs below the output value, not just created by inputs bigger than the output value.

Since input selection and output selection is done by the client instead of the coordinator, there is a specific deterministic process (with added randomness) to get clients to to choose outputs of the same amount by using a frequency table generated from a template of inputs registered to the round and their values: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020202.html

_____________________

"3) There is currently *zero* way to verify the privacy provided by a given mixing round in WW2, and even Wasabi themselves don't seem to understand how their "anon score" metric works.

If you can't verify the privacy you get, you *should not trust it*."

_____________________

The privacy metric is verifiable, both implementations consider outputs private by using the same method. WabiSabi participants and Whirlpool participants use the number of other outputs in the coinjoin that share an equal value to determine how private it is. The only way your anonymity score will increase in Wasabi's client is if your output has a value matching others in the round.

Although measuring and quantifying the minimum privacy gain is easy, the dispute among Wasabi contributors themselves is how to quantify the additional privacy gains that are created by the composition and decomposition possibilities of WabiSabi, which is a novel property of the protocol. Since there is no consensus on finding a way to measure the exact privacy gained from these combinations, they are ignored entirely, and do not adjust your score to be any higher.  This means Wasabi clients will always underestimate how private your output is and will never overestimate how private your output is.

_____________________

"4) "Lonely whales" (i.e. those with larger amounts of Bitcoin) can often gain *zero* privacy in mixes and have 100% deterministic links between their inputs and outputs.

Have seen as little as 6 BTC gaining no privacy from mixing rounds."

_____________________

6 BTC significantly surpasses the potential values that can be made private in a Whirlpool coinjoin. The maximum value of Whirlpool inputs is only 0.5 BTC, which is far lower than the 6 BTC whale you observed creating change.

If a whale output (or any output) gains zero privacy from a round, then the wallet will not identify that output as private. Any non private output can simply be remixed again without paying additional coordinator fees.

_____________________

"5) Due to the client + coordinator not learning amounts chosen by participants in rounds, you can never be sure that a mixing round provides you with any privacy, as it's always possible no one selects the same amounts as you, providing an anon set of 1 (your input/output)."

_____________________

This unlikely (but possible) result will cause the output to register to be remixed.

Even though this standalone output still gains real privacy in the real world (if it is not the whale), the client is not able to measure this privacy gain, so it just gives it the minimum anon score of 1.

_____________________

"6) The usage "big TX = good privacy" in Wasabi marketing is BS, as the only thing that matters for privacy in a transaction is the potential outputs to match your inputs.

That is really only the outputs that share a denomination with your output, not all outputs in a TX."

_____________________

An output (if it is not the whale) cannot be matched to an input even if there are no other outputs sharing the denomination.

If you think this claim is "marketing BS", then go ahead prove it by identifying the input that created this output:  https://mempool.space/address/bc1qrmmypw3g2ds4aqgh3nqc59qhdp9qk779x2zlru

_____________________

"7) If the creators of this purported privacy tool don't know how to measure the privacy provided by their protocol, it should raise red flags for you.

Not knowing how your own protocol actually provides privacy opens up so many potential implementation flaws."

_____________________

The minimum privacy gained can be measured, only the maximum privacy gained cannot be measured.  There is no downside to gaining more privacy in the real world than your client is able to detect, quantify, and display.

_____________________

"8) There is a *long* history of tracing of Wasabi's previous implementation due to flaws in protocol and flaws in implementation,

so we should be incredibly wary of trusting privacy claims until 100% proven over time."

_____________________

[Citation needed]  You provided *zero* examples of this "long history of flaws" you claim exist.

_____________________

"9) There remain *zero* post-mix spending tools in Wasabi, something that is absolutely vital to actually gaining  privacy from Coinjoins when spending Bitcoin. Even if the protocol was perfect this would lead to many privacy  issues and ‘foot guns’."

_____________________

This is simply false. You can use Wasabi for post-mix Payjoin transactions.

But WabiSabi is so flexible that you shouldn't settle for "post-mix" tools at all: Since there is no fixed standard denomination set by the coordinator, you can send payments DIRECTLY to the receiver INSIDE a 150-400 input coinjoin transaction so that the receiver never even learns the input addresses or the change address of the sender.

It gets even more incredible.  The key verified anonymous credentials (ecash tokens) issued by the coordinator can be used as a completely private second layer for Bitcoin.  This allows Bitcoin payments to be made so privately that the sender does not even learn the address of the receiver: https://twitter.com/MrKukks/status/1619294492854747138

_____________________

"This thread comes after spending many hours digging into the WabiSabi protocol, their documentation, and speaking with them at length.

I have no personal beef with Wasabi but try to remain open to learning from new approaches and wanted to give WabiSabi a fair shake."

_____________________

I hope that you will use the information you learned from this response thread to issue corrections to the original.

_____________________

"As a note to Thibaud and others I spoke with on the Space last week, that was not merely recon or similar, I genuinely wanted to learn and thought that would be a good place.

Unfortunately I didn't really get much mic time or many questions answered and it felt like marketing."

_____________________

In hindsight, it would have been great if there were time budgeted for an audience Q&A.  Perhaps you can gather questions from your audience and strongest Samourai warriors to ask a WabiSabi expert about on your podcast.

> By comparison, Samourai wallet DOES put your on-chain data at risk:

> -By default, all of your addresses are linked together (even the private addresses of your equal output coinjoins) and sent to Samourai's server, which becomes a honeypot of data.

> -By default, Tor is not enabled.

Source please. You make a serious accusation.

I can say TOR is enabled by default (I've checked the code and used it myself). I've also reviewed the mix negotiation process, and don't see how UTXOs can be linked, but maybe you see something I don't?

Everyone please stop making bold claims without citing your sources. On both sides. We bitcoiners just want privacy tools, not religious privacy wallet cliques and holy wars.

On mobile wallet I have the option to use tor right from the start

On samourai

I downloaded the wallet myself, here's the default settings:

Well I stand corrected. Guess I misremembered. Thanks for following up 👍

Max hillebrand has openly stated he will work with chainanalysis companies to prevent ‘criminals’ from using the Service. This is worrying. Next he will be pressured to log inputs and outputs, and send to government for those who they deem criminals.

Ah, dear friend, you have ventured into a realm of illusions, where truth is lost in a labyrinth of fallacies

Followed

I have been suspicious about Wasabi, for the simple reason that they can afford, and want to spend, to have so much ads in every other Bitcoin podcast. Where does the money come from, and what do they gain from people using their free wallet? Seems like it'd be a lot of ad money to throw at it for ideals alone, money that they would have to earn elsewhere if there's nothing nefarious going on.

Would really like to see some sort of real world test/competition set up for these kind of tools e.g. Where they're used and people try and work out where the funds ended up which will be revealed at some point in the future. Don know if that's possible other than when used in the wild? Nevertheless wasabi was out for me after starting using CA, and I'm not sure about samurai unless you know for sure that everyone is using dojo.

Any thoughts on JoinMarket? I’ve been experimenting with both. Would love to see a comparison of the privacy implications of them both.