In casual discussions about blockchain and DLT it's easy to mix up anonymity with pseudonymity. People often use the one term when they mean the other. There is a small but important difference we'll explore in this post.
On the one hand anonymity describes the situation when the identity of an acting party is completely unknown. When the acting party is truly anonymous, there is no way to link the anonymous identity to a real world person. On the other hand pseudonymity describes the situation when an acting party has a consistent identifier that is not the real name but which might be linked with the real world identity of the person behind the pseudonym. As long as the link between the two isn’t known no one knows who the real identity behind the pseudonym is. But if those two can be linked, the identity is publicly known forever. An easy to understand example is the use of pen names by artists or authors who wish to address a market segment not usually associated with works published under their own names. Stephen King for instance published many books under his pseudonym, Richard Bachmann.
What does this mean for Blockchain?
Most blockchain technologies like Bitcoin or Ethereum rely on transparency and persistency. This means that the balance of every address and every transaction is publicly visible and irreversible. The addresses are the identifiers of the identities, and are anonymous until used. When used, the address takes on more pseudonymous characteristics. When a public / private key pair is created, the public address, is the pseudonym of the identity. But if the pseudonym got linked with the transacting party's real world identity, all transactions will be linked to that identity.
Some blockchains have much more limited transparency and higher anonymity. Monero and ZCash are both examples of such chains. The identities used in those systems are mathematically non-identifiable, unreachable and untraceable due to the use of zero-knowledge proofs. These proofs only prove information about the fact that a transaction occurred without leaking any information about which actors or addresses took part.
Moreover blockchains can be implemented as either public or private chains. In contrast to public blockchains where information is publicly visible, private blockchains open the transactions only to parties authorised to use and see the information. This option is mostly used for blockchains operated between industry partners.
In the end analysis, most blockchains aren't anonymous but rather pseudonymous. Addresses represent an identity that isn't publicly known by default but theoretically could be linked. Despite this, zero-knowledge proofs offer a chance to keep the maximum level of anonymity possible in open blockchain ecosystems.
If you have more questions about anonymity and pseudonymity in blockchains, feel free to contact us over firstname.lastname@example.org.