# Is there a minimum and maximum mixin size?

Assuming at least some users do not care about privacy, why is there a need for a minimum mixin size?

Is there a maximum mixin size? If my goal is to maximize privacy are there any reasons why I would not want to choose the maximum mixin allowable for every transaction?

As mentioned by JustinEU4, degradation of privacy for one party also degrades privacy for others. The effect is typically small, but if there is a lot of degradation, there comes a threshold effect.

This can be understood intuitively with a simple, contrived, example:

Alice, Bob, and Charlie each write their names on a piece of paper, fold it, and put it in a jar. Eve comes in, and tries to work out which piece of paper reads "Charlie". If the papers are well folded, etc, the probability to get it right is 1/3. This'd be the same if Eve was trying to work out which paper is Alice's, or Bob's.

Now, imagine Alice decides to forego her anonymity, and points out which paper is hers. Now Eve can guess at Charlie's paper with 1/2 probability, though Charlie mixed with 2 others. If Bob now also decides to point out which paper is his, then Charlie is now deanonymized, despite mixing with others.

As for the more prosaic rules in current monero, the minimum mixin is now 2 (so you mix with two others), unless there are less than 2 other outputs for at least one of your inputs's amounts. Since mixin 2 would not be possible in that case, mixin 0 is allowed as a special case, so you don't get stuck with unspendable monero. In that special case, only one mixable input is allowed in the transaction.

There is no arbitrary maximum mixin, but it probably breaks over 2^31-1 as an int is used. There are practical limits though: you want to find that many other outputs of the same amount on the blockchain, and you want the resulting transaction to be no larger than the current block size limit so it can be included in a block.

Although some users do not care about privacy, enforcing it for everyone actually helps protect those that do. Basically, the CryptoNote protocol uses ring signatures to connect your transaction to other parts of the blockchain to ensure probable deniability. Someone else using these parts selected in the blockchain will benefit from the increased level of deniability. For more info, I would suggest reading the Monero Research Labs paper MRL-0004 that advocated raising the minimum mixin from 0 to 3.

I do not believe there is a maximum mixin size, but people usually use reasonable numbers less than 10.

• agreed, additionally moneroblocks.info also provides an overview of the used mixin sizes over time: moneroblocks.info/stats
– stke
Commented Jul 22, 2016 at 7:19

Update 2018-04-30: Minimum mixin is now 6 (meaning min ring size is 7) as of release v0.12.0.