1.5 Methodology: Identity Privacy Preservation
This part of the chapter presents a summarized overview of solutions that have been recently proposed by researchers aimed at maintaining and preserving privacy of the blockchain [1]. In a public blockchain, for example, in the digital currency or crypto currency Decreed, it is adviced and proposed that the clients’ address should have been adjusted and altered by creating another key pair for every session. Except that, there are three frequently-used systems and methods for safety and security and protecting anonymity in the blockchain and they summarized by: mixing services, ring signature, and non-interactive zero-knowledge proof.
1.5.1 Mixing Services
As per the structure discussed in previous few sections the blockchains are linked with each other like sender or receiver of a transaction, therefore, by calculating and analyzing the public content (i.e., analytical attack), an individual can deduce some secret or privacy information or data to eliminate such attacks. One of the solutions is to confuse or blur the transaction’s relationships with the help of mixer (aka tumbler or laundry) as shown in Figure 1.5. The first mixing service introduced by Chaum [1], allows the user to hide his content of communication as well as the participants of the communication. The same concept is shown below in pictorial manner.
Figure 1.5 Basic architecture of mixing services [1].
Assume that one element prepares a message M for delivery to another substance at address R by encrypting it with the receiver’s open key KR, appending and attaching the address R, and afterward encrypting the result with the intermediary’s open key KI. The left-hand of the accompanying expression means the cipher content, which is transferred to an intermediary:
KI (r0, KR (r1, M), R) → KR (r1, M), R [1].
The symbol indicates the transformation of the cipher message by the intermediary into another cipher content appeared on the right-hand side. These transformations perform a decryption on the original cipher message by the intermediary with its private key. At that point the intermediary delivers the sub-cipher content to R who at that point decrypts it with his/her own private key. It is important to take note that r1 and r0 are random numbers which ensure that no message is transferred more than once [1].
At the point when the intermediary gets much information on input and output, this mechanism will shroud the correspondences between each message’s origin and destination. The order of arrival is covered up by yielding the uniformly estimated items in random patterns. Moreover, to minimize the danger of the single intermediary being the attacker, multiple intermediaries can be connected together thereby creating a mix cascade [1, 2].
Over the most recent couple of years, the services have been applied to the blockchain network to obfuscate the transaction history and reduce the risk of de-anonymization. These research efforts center around two main methods: (I) centralized mixing and (ii) decentralized mixing.
1 a. Centralized mixing is to mix transactions anonymously at the cost of some service fees. There are plenty of websites which work or behave like online mixers and swap the transactions among different users so as to shroud the relationship between their incoming and active transactions [1]. Likewise, most of them are reachable or contactable just through the TOR network which empowers anonymous communications through a free, worldwide, volunteer overlay network.
2 b. Decentralized mixing Decentralized mixing is to moderate the denial of services (DOS) danger caused or raised by the centralized services; a decentralized mixing design is proposed to empower a lot of commonly entrusted companions to distribute their messages at the same time and anonymously without the need of an outsider anonymity proxy [1, 4]. Another significant advantage of this methodology is the end of the requirement for mixing expenses. Moreover, it is nearer and progressively perfect to the decentralized structure of blockchain contrasted with the incorporated mixing design. Up until this point, there are for the most part two strategies to accomplish the decentralized mixing process, i.e., Coin Join and multi-party calculation (MPC).
1.5.2 Ring Signature
Although the decentralized mixing techniques gives an “excellent” mixing in the blockchain, but they still need a delay till the time participants discover or find their partners for their transactions to be mixed. The ring signature enables a user (also a member of a set) to sign a message on behalf of the “ring” of members but there is no way to say that which one is real and who have signed. The core idea and methodology of this technology is the choice of a set without any central manager, which will significantly improve privacy in blockchain [1].
Brief of mixing services in blockchain [1].
Protocol | Anonymity | Centralized Party | Mix Cost | Sybil Strength | Dos Strength | Mixing Scale | Theft Strength | Waiting Time |
Mixing website | Linkable at mixer | Required | Yes | Good | Poor | L/A | High | Long |
CoinSwap | Linkable at mixer | Required | Yes | Good | Poor | N/A | Safe | Long |
Mixcoin | Linkable at mixer | Required | Yes | Good | Poor | N/A | Accountable | Long |
Blindcoin | Unlinkable | Required | Yes | Good | Poor | N/A | Accountable | Long |
Blindly Signed Contracts | Unlinkable | Required | Yes | Good | Poor | N/A | Safe | Long |
TumbleBit | Unlinkable | Required | Yes | Good | Good |