- A reminder of the usefulness of coinjoin
- Understanding anonsets
- The forward anonset
- The backward anonset
- How do you calculate anonsets?
Having studied how coinjoins work and the issues involved in effective mixing, we will now explore how to measure their effectiveness. How can we determine whether a coinjoining process has been effective, and what degree of anonymity a UTXO has acquired? That's what we're going to find out in this chapter with anonymity sets, also known as "anonsets."
A reminder of the usefulness of coinjoin
The usefulness of coinjoin lies in its ability to produce plausible deniability by embedding your UTXO within a group of indistinguishable UTXOs. The aim of this action is to break the links of traceability, both from the past to the present and from the present to the past.
In other words, an analyst who knows your initial transaction (
Tx0) at the entry of coinjoin cycles should not be able to identify with certainty your UTXO at the exit of remix cycles (cycle entry to cycle exit analysis).Conversely, an analyst who knows your UTXO at the exit of coinjoin cycles must be unable to determine the original transaction at the entry of the cycles (cycle exit to cycle entry analysis).
To assess how difficult it is for an analyst to link the past to the present and vice versa, we need to quantify the size of the groups of homogeneous UTXOs within which your UTXO is hidden. This measure tells us how many analyses have the same probability. So, if the correct analysis is drowned among 3 other analyses of equal probability, your level of concealment is very low. On the other hand, if the correct analysis is found within a set of 20,000 equally probable analyses, your UTXO is very well hidden. The size of these groups represents indicators known as "anonsets".
Understanding anonsets
Anonsets are used as indicators to assess the degree of confidentiality of a particular UTXO. More specifically, they measure the number of indistinguishable UTXOs within the set that includes the UTXO under study. The requirement for a homogeneous set of UTXOs means that anonsets are usually calculated on coinjoin cycles. The use of these indicators is particularly relevant for Whirlpool coinjoins, due to their uniformity.
If necessary, anonsets can be used to judge the quality of coinjoins. A large anonset means a high level of anonymity, as it becomes difficult to distinguish a specific UTXO within the homogeneous set.
2 types of anonsets exist:
- The forward anonset;
- backward anonset.
The forward anonset
The forward-looking anonset indicates the size of the group among which the UTXO studied at the end of the cycle is hidden, given the UTXO at the start, i.e., the number of indistinguishable UTXOs present within this group. The name of this indicator is "forward-looking metrics".
This indicator measures the resistance of the coin's confidentiality to a past-to-present (input-to-output) analysis.
This metric is used to estimate the extent to which your UTXO is protected against attempts to reconstruct its history from its point of entry to its point of exit in the coinjoin process.
For example, if your transaction has participated in its first coinjoin cycle and two further descending cycles have been completed, your coin's forward anonset would be
13:For example, let's imagine that our coin at the start of the coinjoin cycle has a forward anonset of
86,871. In practical terms, this means that it is hidden among 86,871 indistinguishable UTXOs. For an outside observer who knows this coin at the start of the coinjoin cycles and tries to trace its exit, he will be confronted with 86,871 possible UTXOs, each with an identical probability of being the coin he is looking for.The backward anonset
The backward anonset indicates the number of possible sources for a given UTXO, knowing the UTXO at the end of the cycle. This indicator measures the resistance of the UTXO's confidentiality to a present-to-past (output-to-input) analysis, i.e., how difficult it is for an analyst to trace your UTXO back to its origin, before the coinjoin cycles. The name of this indicator is "backward anonset", or "backward-looking metrics".
By knowing your UTXO at the exit of the cycles, the backward anonset determines the number of potential Tx0 transactions that could have constituted your entry into the coinjoin cycles. In the diagram below, this corresponds to the sum of all the orange bubbles.
For example, let's imagine that our coinjoin UTXO has a backward anonset of
42,185. In practical terms, this means that there are 42,185 potential sources for this UTXO. If an external observer identifies this coin at the end of the cycles and seeks to trace its origin, he or she will be faced with 42,185 possible sources, all with equal probability of being the origin sought.How do you calculate anonsets?
It's possible to calculate anonsets manually using a block explorer for small ensembles. However, for larger anonsets, the use of a specialized tool becomes imperative. As far as I know, the only software capable of performing this task is Whirlpool Stats Tool, a Python tool developed by the Samourai and OXT teams. Unfortunately, this tool is currently out of service following the arrest of Samourai's founders and the interruption of OXT, which was used to extract data from the blockchain.
As we have seen in this chapter, anonsets can only be calculated if there is a certain homogeneity in the coinjoin structure. In the next chapter, we'll learn how to quantify this homogeneity in a Bitcoin transaction, whether it involves a coinjoin or a more traditional transaction.
Quiz
Quiz1/5
btc2045.5
What does the retrospective anonset indicate?