Privacy is a controversial area in blockchain technology development. It balances between protecting user data and hiding illegal activities. But while regulators are concerned about violations, innovators are looking for solutions to ensure anonymity. Let’s take a look at today’s privacy technologies and examples of their successful practical use, as well as learn how the Free TON developers work in this direction.
In general, information that is not subject to disclosure is called private. Such information concerns various characteristics of an individual, group or organization and is related to private life, as well as public, commercial or government activities.
The secrecy of information means that public access to such information is closed, and only its owner(s) know it and make the decision on its disclosure. Therefore, the issue of privacy immediately runs into the mechanism for ensuring it.
As for the Internet today, the development of privacy mechanisms faces a number of challenges:
- First, it is necessary to find a consensus on the principle of transparency and accessibility of public information.
- Second, take into account the legal regulations of different countries.
- Third, be prepared for accusations of facilitating criminal activity.
- Fourth, to challenge some aspects of modern regulation and respond to the users’ request for exemption from control and propose a technological solution that is resistant to cyber attacks and adequate to the development of the virtual environment.
Blockchain Privacy Technologies
The privacy of blockchain systems is based on some data encryption methods.
In systems with asymmetric cryptography, each user owns a public and private key. The public key can be known to others, and the private key is known only to its owner. The information is encrypted and entered as “data points” in the public registry. This data cannot be changed or duplicated. To unlock encrypted information, you need a private key that the owner has. The encryption method itself does not allow, knowing the public key, to find out the private key of another user.
While asymmetric encryption protects data, it does not provide significant levels of privacy. Only usernames are unknown. Instead, they use aliases — the codes of their public keys. The rest of the information is open. Therefore, in public blockchains, anyone can view the balance of users’ wallets and their transaction history. This is how Bitcoin works, for example.
Zero knowledge proof
To a much greater extent, the privacy of blockchain transactions is enhanced by the use of protocols based on the Zero-knowledge proof method.
The purpose of the method is to prove that one of the parties actually owns some information, but to do so without disclosing the content of this information.
The Zero knowledge proof method is used for the ZK-SNARK protocols — the most common option, as well as for the more advanced version of recent years — ZK-STARK.
The use of such protocols allows you to hide data such as the amount of money in the account, as well as account transactions.
In cryptography, a “ring signature” is a type of electronic signature in which it is impossible to determine who actually signed the document. The potential list of participants is known, but it is not disclosed who exactly performed the action. The signing does not require the consent or participation of the individuals included in the list. Only their public keys and the private key of the real author are used. As a result, it is not known which of the private keys was involved in creating the signature.
Examples of the privacy technology implementation are such well-known cryptocurrencies as Monero and Zcash.
Monero (XMR) cryptocurrency is an example of a high level of privacy. When using the Monero wallet, information about the funds on user accounts, the amount of transfers, as well as their senders and recipients is not disclosed.
Anonymity is ensured due to stealth addressing, as well as unlinkability of user public addresses and mixing transactions. Using the “ring signature” cryptographic mechanism is a feature of Monero.
Stealth addressing and unlinkability concern the recipients of funds and mean that the public addresses of their wallets do not appear in the public blockchain transfer records. Instead of the public destination address, a new one-time, or so-called “stealth address” is written into the blockchain. Only the recipient has the necessary secret view key to scan the blockchain to find those one-time destinations that contain the funds intended for them.
Transaction mixing hides the sender’s address using a “ring signature” mechanism. The mixing level depends on the number of people that are added to the list of probable senders.
For example, in the Monero GUI, the fourth “mixin level” is the minimum allowed and means that any user’s address is one of five addresses that can be randomly used to represent the likely source of funds. Using a higher “mixin level” further confuses tracks. However it increases the size of the transaction for the network to process, which means that the transfer fees also increase.
Monero was launched in 2014. At the beginning of 2021, it is among the top 20 cryptocurrencies with the highest market capitalization.
Monero’s focus on transaction privacy is causing a lot of scrutiny from regulators, tax and law enforcement agencies who are concerned about the potential use of cryptocurrency in illegal transactions. For example, in the US, various government agencies are attempting to develop Monero tracking tools. And the IRS even announced a reward of up to $ 625,000 for anyone who can break Monero.
Due to the increased regulation of the cryptocurrency market, some crypto-exchanges (for example, Korean Upbit, Japanese Coinchek, American Bittrex) have stopped exchanging Monero, and a number of other exchanges have announced the future delisting of anonymous cryptocurrencies.
Zcash cryptocurrency (ZEC) is also privacy-focused and allows for anonymous transactions.Zcash anonymity is optional.
Users can have two types of addresses: transparent (t-addresses), which do not hide data, and shielded (z-addresses), which encrypt data such as sender, recipient and transaction amount. The two types of Zcash addresses are interoperable so that funds can be transferred between z-addresses and t-addresses.
Zcash is the first widespread application of Zero-knowledge proof cryptographic protocols, in particular the ZK-SNARK protocols.
Shielded addresses and transactions are encrypted in such a way that blockchain entries representing transmission facts that are verified as valid do not reveal any details about the information itself. Only the one who owns the “secret key” can see the information associated with the account of that key.
The Zcash cryptocurrency was launched in 2016 and is associated with the earlier ZeroCash project, which started back in 2013. In recent years, Zcash has been working to build cross-chain bridges connecting Zcash to protocols like Ethereum and Cosmos.
To avoid regulatory sanctions for using privacy technologies, Zcash provides users with a “selective disclosure” option to verify payments for audit. The company is also trying to establish a dialogue with US law enforcement agencies, insisting that their currency is not intended to facilitate illegal activities.
Free TON Privacy Perspectives
Currently, the Free TON blockchain is actively developing and implementing cryptographic mechanisms that ensure privacy, in particular, ZK-SNARK protocols.
The =nil; Crypto3 team from the =nil; Foundation is engaged in solving problems in this direction. Foundation Chairman Mikhail Komarov spoke about what has already been done and about the nearest plans.
According to Mikhail, the ZK-SNARKs system for Free TON is built on the Crypto3 Cryptography Suite solution and the fork of the FreeTON node written in C ++ has already supports Groth16 Zero knowledge proof verification.
Currently, the implementation of support for ZK-SNARKs in the Rust node is underway, which is planned to be completed by the end of February. Mikhail believes that after the completion of this stage, it will be possible to start mass testing and officially announce the implementation of the protocol.
Also in development is the design of “anonymous” tokens, which, according to the developer, will be a good reason to launch such a problematic process as “updating the entire network”.
Why is this necessary? The answer is simple. We want to see anonymous transactions in Free TON in the sense of the business logic of the term — Financial Transactions”.
Mikhail explained that the anonymous token does not yet have its own name, since design and implementation seem to be more important things at the moment.