nopara73 / Dumplings

A cross platform and open source software to create reproducible CoinJoin statistics from Blockchain data.
28 stars 16 forks source link

The CoinJoin equality metric is misleading. #3

Closed 6102bitcoin closed 4 years ago

6102bitcoin commented 4 years ago

2 people mix 1 BTC with each other on output side = 2(2-1)1 = 2 BTC "CoinJoin Equality"

3 people mix 1 BTC with each other on output side = 3(3-1)1 = 6 BTC

60 people mix 1 BTC with each other on output side = 60(60-1)1= 3540 BTC

By (almost) squaring the number of users you are again falling into the trap of thinking that anon-set grows exponentially, when in fact it's additive.

It doesn't make sense to say that there is more value "Equality" than has been mixed (e.g. in the last example, 60 BTC has been mixed but the CoinJoin Equality value is 59 times larger than this).

This makes mixing methods with a large number of participants per mix (like wasabi) look good, whereas mixing methods with fewer participants per mix but plenty of remixing (like whirlpool) look bad by ignoring the remixes and the backward/forward looking anon-set gained by ensuing perfect non-deterministic mixing.

seresistvanandras commented 4 years ago

We were discussing this metric internally quite a bit and there was no consensus about it. I think these examples are really informative in highlighting the flip side of this proposed anonymity metric. However, I do think this measure makes some sense for a single CoinJoin transaction.

By (almost) squaring the number of users you are again falling into the trap of thinking that anon-set grows exponentially, when in fact it's additive.

I think the main intuition here is to look at this metric as a global measure to quantify the gained anonymity set size overall. If there are $k$ mixing participants, then each of them gained $k$-anonymity. Hence, the overall gained anonymity set size is in $\mathcal{O}(k(k-1))$%24). So, I think it makes sense multiplying $k$ and $k-1$.

It doesn't make sense to say that there is more value "Equality" than has been mixed (e.g. in the last example, 60 BTC has been mixed but the CoinJoin Equality value is 59 times larger than this). This makes mixing methods with a large number of participants per mix (like wasabi) look good, whereas mixing methods with fewer participants per mix but plenty of remixing (like whirlpool) look bad by ignoring the remixes and the backward/forward looking anon-set gained by ensuing perfect non-deterministic mixing.

Yepp. This metric favours larger volume AND/OR larger anonymity set sized mixers, like Wasabi. Not sure though it is possible to quantify the gained anonymity set sizes across remixes. or would this be possible to construct a more evenhanded metric?

nopara73 commented 4 years ago

I removed this metric as we'll have to probably work it out with more mathematical scrutiny in the future when we start discussing how to organize the output amounts and will want to validate our results. For future starting point: k*k*BTC gives more accurate results than the current k*(k-1)*BTC, eg. in the a case of one 4of4 CJ vs 4 2of2 CJs.