Privacy of transactions is a much-desired property of blockchains. However, due to its very nature, especially in public blockchains, everything is transparent, thus inhibiting its usage in various industries where privacy is of paramount importance, such as finance, health, and many others. There are different proposals made to address the privacy issue and some progress has already been made. Several techniques, such as Indistinguishability Obfuscation (IO), usage of homomorphic encryption, ZKPs, and ring signatures.
All these techniques have their merits and demerits and are discussed in the following sections.