Introduction: Blockchain analysis
Blockchain analysis is the aspect of investigating activity in a public ledger called a blockchain. The general goal here is to see actors who transact using cryptocurrency.
This very notion that certain individuals can search, record, and analyze your transaction information by simply glancing at the blockchain is one of the most dangerous "side-effects" since the creation of Bitcoin and the blockchain system and Satoshi Nakamoto is aware of this.
How is Satoshi Nakamoto aware?
Satoshi Nakamoto had an interesting answer about the privacy of the blockchain itself. From the BitcoinTalk article: "Repost: How anonymous are bitcoins?", Satoshi mentioned the following:
Blocks contain a history of the bitcoin addresses that a coin has been transferred to. If the identities of the people using the bitcoin addresses are not known and each address is used only once, then this information only reveals that some unknown person transferred some amount to someone else.
Satoshi Nakamoto, November 25, 2009
In modern terms, Satoshi was aware that every address has an "imprint" on the blockchain itself, which shows itself as your transactions. This quote details the fact that when you reuse a certain address over and over, it slowly becomes apparent who uses it.
Cryptocurrency addresses are all a bunch of letters in a specific set of the range set by its blockchain. The further details depend on the cryptocurrency itself, but most of them have one-three letter identifiers on both the start and the end of the address: e.g. Bitcoin CashAddresses start with q
while Legacy Bitcoin Addresses start in 1
.
Luckily, Satoshi also solved the problem of staying anonymous on the blockchain: using one address per transaction.
But you don't want to create lots of addresses while having transactions, don't you?
How does blockchain analysis work?
Blockchain analysis work because of a multitude of reasons, but one of the most vital parts of it is this: Every coin can be traced back to its genesis reward. This means that all of the coins came from the block it came from, and in that idea, you can track transactions all the way from its origin.
Blockchain analysts can use this idea to create a program that tracks the movement of a certain coin backward and check where it went. From this motion, you can expand this program to be able to detect any transactions that were mixed with the first transaction to start back through the blockchain.
When people notice that certain groups of addresses have been used frequently towards a specific address, they are able to detect who are you because of it.
How did cryptocurrency developers solve this?
Bitcoin
Bitcoin created a lot of technologies to combat blockchain analysis to its ability. Some of the known examples are BIP-39, BIP-43, BIP-44, BIP-45, BIP-47, which all focus on getting new addresses through a mnemonic phrase.
Monero
Monero solved the problem of being identified by introducing "stealth addresses" and "ring signatures". As stated by their FAQ, ring signatures allow users to be able to send and receive transactions, but with a bunch of unknown users using cryptographic signatures. Stealth addresses give a user a one-time address for using Monero itself.
There are a few other technologies that we know like CoinJoins, but these are some of the important ones that brought privacy to the pseudo-anonymous nature of the blockchain.
How did Bitcoin Cash solve this?
CashShuffle and CashFusion
These can be considered descendants of the CoinJoin implementation used in Bitcoin. These two essentially place you with other users that use them and mix your coins with others, but the implementation is wildly different.
CashShuffle essentially pits you with four other users (players) and chooses one of your inputs to be mixed with them and returned to you.
CashShuffle was primitive in the aspect that chainanalysis can be done by checking the transaction itself: It contains five inputs and nine outputs. Input is split towards two outputs.
CashFusion, on the other hand, allows multiple inputs and outputs, even if there were only five players. This is more prominent and harder to analyze.
CashFusion transactions have varying amounts of input and output, and even then the outputs double or triple depending on the Fusion that the player wanted during their CashFusion round. The calculation isn't revealed and each output has considerably smaller coins than the inputs depending on the level it was used.
It's been currently started that it's more recommended to use CashFusion.
The Future
Bitcoin Cash is strong. Its ability to be relevant is still here, even after the Medium of Exchange argument fell flat on ignorant faces, and even after the coinbase rule hard fork. Bitcoin Cash may have been Bitcoin-born, but we have a lot of things in development.
In development, we will soon be able to implement stronger measures for privacy through reusable addresses, but until then, it's best to ensure to not use one address unless absolutely needed, like using Read.Cash, Memo, Member, and other applications.
Good work keep it up