Sitemap

Anonymity Sets, Privacy, and Bullshit

3 min readMar 17, 2021

This space has gotten to the point where it is almost impossible to have an honest conversation about the topic of privacy without it turning into a game of throwing marketing slogans back and forth instead of facts. Things are constantly conflated, explained poorly, and not engaged with honestly. Most of the content of this article is written in response to this statement by Matt Odell: https://mp3.fastupload.co/files/1616002746 I’m going to paraphrase and respond to that segment, so I suggest you actually listen to it so you have reference to what was actually said.

Here are my initial responses to that clip:

Notice the “UTXO” and not “spent input” word choice.

Anonymity Sets

Matt claims that after a mixing once in Whirlpool and never mixing again, that because other users keep mixing you are continuing to gain anonymity set even though you are not remixing. Your unspent transaction outputs do NOT gain any more anonymity because of this. The only thing gaining privacy here is your already spent inputs that no longer exist; this has zero relationship to the anonymity set of your UTXOs. He then went on to portray this property relating to already spent inputs and their privacy as something unique to Whirlpool, explicitly stating Wasabi does not have this property because “Whirlpool enforces remixing in the protocol and Wasabi doesn’t.” (Paraphrasing, again, listen to the clip yourself). Both of those statements are incorrect. It is impossible for any mixing protocol to enforce remixing unless it controls a users private keys, in which case it is a custodial mixer. Users either remix or they don’t, anything non-custodial is literally incapable of enforcing that users remix. Users simply choose to remix or they don’t. Guess what Wasabi users do to some degree? They remix. That brings us to the second part of that false claim, that Wasabi does not provide growing privacy for spent inputs. Increasing privacy for spent inputs comes from the fact that other outputs in that transaction continue remixing, and any of those other outputs could be related to any of those spent inputs. Wasabi absolutely has this property to the degree that remixing occurs, and trying to claim it does not either demonstrates a lack of understanding of these issues or a willingness to be intellectually dishonest in discussing different privacy projects in this space. Lastly, the degree of privacy of already spent inputs has absolutely no relationship whatsoever to the anonymity set of unspent outputs.

So to recap:

The anonymity set of a unspent output is a completely different thing than any anonymity measurements of already spent inputs. The anonymity set of a UTXO has no relationship to the anonymity of spent inputs in its past. A UTXOs anonymity set can only be backwards facing. It is literally impossible for a UTXO(unspent output) to have any forward facing anonymity because it is unspent.

  • Backwards anonymity: applies to unspent outputs as well as spent inputs
  • Forwards anonymity: can only apply to already spent inputs. It is impossible to apply to unspent outputs because the entire concept is based on an input already being spent and not knowing the output in the transaction it maps to.

Any common denomination mixing protocol in which remixing occurs provides forward privacy for spent inputs by virtue of other users remixing. This is not some special property of Whirlpool, it is simply the organic consequence of users remixing. It also has absolutely zero effect whatsoever on the anonymity set of unspent outputs, which is what users should be paying attention to, because that is the anonymity set you bring with you when you actually stop mixing and put your money to use. Now that the logic is all broken down, here is the Co-Founder of Ronin Dojo claiming I am “spreading lies” by pointing out that it is impossible for unspent outputs to have any forward privacy:

If you put yourself out there in this space as an educator, your role is to educate. It’s not to misinform, it’s not to cheer lead for specific projects, it’s not to lie about projects you don’t like. It’s to educate.

So to the implicit audience who are doing a bad job at that right now, I ask: explain to me how an unspent output is capable of having any kind of forward facing privacy while it’s unspent. I’m waiting.

No responses yet

Write a response