Image by Ideogram

Privacy and anonymity are not the same thing. Privacy is when your information is protected. Anonymity is when your identity is protected. You bank details may be kept private but your bank still knows your identity.

When you go to a shop to purchase a coffee, the staff do not know who you are or what sort of life you lead. If you purchase the coffee with cash, then there really is no trail of information left to follow.

If, on the other hand, you purchased the coffee with a bank card, then information about you is disclosed. Your bank will know which coffee shop you visited, at what time, and how much money you spent.

Paying by card can be more convenient, and the bank may be required to maintain privacy for you, but you are no longer anonymous.

The internet offers some level of anonymity which is crucial in some areas. It facilitates political dissent in countries that do not guarantee freedom of speech. It enables whistleblowers some protection while also providing them with a large audience. It also expanded journalism by allowing anyone with a connection to write.

There are some obvious drawbacks to the anonymity offered by the internet, specifically misinformation and disinformation. By providing a venue where anyone is free to spread whatever story they want, some can subject that forum to abuse. That is the cost of true anonymity.

Blockchain offers what has been called pseudonymity. Anyone can create a wallet by just choosing a random number as their private key. At first, there is nothing to link your identity to that wallet.

As you use the wallet, a transactional history will be built. Blockchains are public so all data is visible. Your details may not be associated with the wallet but everyone can still see which wallets have sent to you as well as the destination wallets of your transactions.

Some of those wallets may be centralised exchanges. Everyone has to start somewhere when they buy crypto (unless you were very early to the industry and minted coins) and that somewhere is typically an exchange. Most exchanges are required to perform due diligence on their clients for anti-money laundering compliance. So they know who you are although they are usually required to keep that information private.

When you withdraw coins from the exchange to your own wallet, the exchange may ask you about the ownership of that wallet. This is because of the travel rule, which is another anti-money laundering mechanism. Your wallet is no longer anonymous at this point.

There are also a number of analytics firms that specialise in blockchain transaction information. They will look not just at the wallets you directly transaction with but also any wallets that have transacted with those wallets and so on. They build a web of transaction connections at multiple layers to study the relationships between wallets. They may not know who you are but they know which third party wallets you have transacted with and they know which wallets those third party wallets have transacted with. This helps them to build a profile for every wallet on a chain.

This is not just a concern for the average user, it is also a concern for the financial institutions using blockchain technology as well. They like the operational efficiency of being able to send tokens as collateral in seconds but they do not like the idea of their competitors getting insight into their various positions.

Image by Ideogram

Addressing privacy is a huge priority right now in the blockchain industry. It is seen as one of the last hurdles before large scale adoption of the technology. The two methods getting the most attention to address this are zero knowledge proofs and homomorphic encryption.

Homomorphic encryption is used to obfuscate a wallet’s balance. Only the wallet holder knows the true balance, no one else has access to that information unless the wallet holder shares it with them. These balances can still be subject to mathematical operations such as addition, subtraction, and multiplication, while still keeping the values encrypted.

Homomorphic encryption may hide a wallet’s balance but the public nature of blockchain technology means that everyone is still aware of which tokens and coins a wallet holds.

Zero knowledge proofs can be used to prove a statement without divulging sensitive information. For example, a wallet could prove that it has a minimum balance without sharing the actual amount it holds. Another example could be proving that someone’s age meets a minimum threshold. Zero knowledge proofs could be used to prove that government identification was used to verify that a user is over the age of 18.

Zero knowledge proofs allow selective disclosure and can be used as a form of anonymous credentials. However, every time details are disclosed, even wrapped in a proof, the user is leaking information. That information is encrypted and extremely difficult to extract, it may not even be enough information to be meaningful, but it is still information released to the public. Think of it as a trail of breadcrumbs.

I am not suggesting that any such information is at immediate risk. It may never be at risk. But every time a transaction occurs, not even necessarily on a blockchain, information is made public even if it is encrypted.

Artificial intelligence, more specifically machine learning, is capable to finding all sorts of patterns when provided with a lot of data. It may not be able to decrypt the information, but it could possibly make enough associations to determine an identity in time. Artificial intelligence is very good at discovering patterns.

So although there are steps taken to preserve privacy and methods available to protect sensitive information like balances and identity, there is no guarantee that anonymity remains in place for a wallet.

“Hierarchical deterministic” (“HD”) wallets are one method to improve anonymity. HD wallets are when child wallets are derived from a parent wallet. Every time someone receives an incoming balance, they provide a new wallet address. Only they know their true overall holdings because only they know all the addresses of their child wallets. Ideally, when they spend coins in a wallet, they never use that wallet again.

HD wallets only work with the unspent transaction output model used by Bitcoin because a transaction can have multiple inputs and outputs. Ethereum uses an accounting model so each wallet must sign a transaction to spend any coins held within it. HD wallets are possible in Ethereum but multiple inputs and outputs cannot be batched into one transaction. To maintain some anonymity in Ethereum, it is probably better to use a separate wallet for each coin or token rather than split balances across wallets (although for large holdings the use of multiple wallets could reduce risks).

True privacy requires anonymity. The challenge is maintaining anonymity while preserving accountability. The cost of transparency means that anonymity can never be guaranteed. The benefit of transparency needs to always outweigh the loss of true privacy.

Is It Privacy Without Anonymity? was originally published in Coinmonks on Medium, where people are continuing the conversation by highlighting and responding to this story.

By

Leave a Reply

Your email address will not be published. Required fields are marked *