Taint Analysis

Published by Mario Oettler on

Taint analysis shows how large the percentage of a coin in one address from another address is.

Let us consider a situation like in the following figure.

Address A and B contribute to a transaction T1 with 3 coins and 1 coin, respectively. Since transactions do not explicitly say which input goes to which output, we assume that they are split evenly. In the end, address C contains ¾ of the coin from address A and ¼ of the coin from address B.

Now, we consider transaction T2, where address E combines its UTXO with address C.  There are eight out of ten parts that come from address E, and two out of ten from address C. We could divide it further to calculate the amount of coins from addresses A and B.

Taint of A in F = 0.2*0.75=0.15

Taint of B in F = 0.2*0.25=0.05

Taint analysis must not be confused with the likelihood that a certain address belongs to the original coin holder. Address C can be an exchange or another service, and D could be the change address. While both have the same taint score of address A (0.5), they belong to another user.