Bitcoin aims at ensuring one's privacy on the Blockchain while conducting transactions, whirlpool network goes ahead to ensure it's feasibility. I was looking for a better way to understand how whirlpool goes about this and stumbled on forward looking anonymity sets and thought I could bring it here in the forum.
Now, a forward looking anonymity set is the number of post mix UTXOs that moved down from your transactions that have not been remixed.
I guess we are familiar with the whirlpool coin join implementation but to better understand it, I'd just give a rough explanation. This is like every other Bitcoin transaction having inputs and outputs but each input is provided by a different BTC wallet, while each output is returned to one of the participating wallets. A better explanation can be gotten here.
whirlpool link Transaction on the samourai wallet are done by its coordinator, but it is quite interesting to know that he can be "blinded" to not knowing which input belongs to an output and the transactor is not required to give up custody of his BTC.
We know that Bitcoin Blockchain ledger is public and as such, to be certain transactions are not monitored, we enter into a whirlpool and provide an input which looks like this.
https://i.ibb.co/yNCM68V/293753771-1242186319654377-1301828826371156006-n.jpgFrom the graph, each input and output UTXO belongs to five participants, hence all the outputs are equal.
By observation, it becomes difficult to track which output belongs to the transactor reason being that all obvious traceable links between the input and output side of the transaction are broken.
This is where the forward looking anonymity set comes to play;
With the use of a whirlpool, depending on the pool size, your BTC is broken into bits looking like this: 0.5, 0.05, 0.1 or 0.001. Now, with the whirlpool build, outputs left in the pool become eligible for a remix at no additional cost.
Should one of the participating peers decide to remix, the
crowd in which the transactor hides in (i.e the forward looking set) grows to nine.
https://i.ibb.co/bW8jTx6/294160379-586386826397900-171960537038326948-n.jpg.
The owner of the output UTXO may not need to remix for the crowd he's in to grow and the interesting part is, whether it's the utxo of the owner or that of his peers, one will not be able to figure out from which utxo the first mix was conducted from.
Also, the crowd can grow without remixing from the owner, so after the first mix, the UTXO (the red circle) still remains in it's small size in the whirlpool.
More coin joins are added as a result of my peers remixing and thus is connected to the first mix
So to calculate the exact crowd which the owner of the output is we take the equal output UTXO (orange) and add to his output ( red), and this leads to a forward looking anonymity set of 21.
https://bitcoinmagazine.com/technical/how-bitcoin-anonymity-sets-work