Uno of the cryptographic protocols implemented to improve the privacy levels in the networks of some cryptocurrencies, is Confidential Transactions (CT) o protocol of confidential transactions.
The application of this privacy protocol allows transactions that occur within a network to be encrypted or encrypted. In order that, although they can be verified and validated within the network, the exact amounts of each of the transactions carried out cannot be seen. At the same time it is also hidden from the issuers or recipients of such transactions.
Confidential Transactions Origin
In 2013, the CEO of Blockstream, Adam Back, proposed an idea that would allow addressing the privacy and fungibility problems suffered by the network Bitcoin. Since, although the qualities of decentralization and transparency are some of its best virtues, in terms of privacy they can become a negative aspect for users. Since anyone has the ability to review the blockchain of Bitcoin in its entirety, and thereby perform searches and associate registered transactions and addresses with others. What can generate a scenario in which several currencies can lose their fungibility, and even their value. If they are associated with a blacklist for being involved in illicit activities.
Likewise, Gregory Maxwell, reinforcing Back's idea, he proposed a solution that would allow the privacy and fungibility problems of the Bitcoin network to be addressed. Implementing a protocol to encrypt and hide the details of the transactions carried out, where only the parties involved would know the details of said operation.
How do Confidential Transactions or Confidential Transactions work?
Here at the blockchain de Bitcoin When a transaction is made, the nodes can clearly verify that the transaction to be carried out does not exceed the amount of bitcoins received in an address. But in the case of transactions that occur within the network Monero, which implements the CT protocol, this process is much more complex.
When making a transaction in Monero, the data linked to that transaction is mixed and hidden together with others applying cryptography advanced. But even so, the network must be able to verify that said data is correct, without revealing the information to other users. For this to be possible, a scheme known as Pedersen Commitment, a type of homomorphic encryption that, in the first place, allows the completion of a transaction without the need to use addresses. And in addition, it also allows the verification of information through a result without having to reveal it until a future time.
Pedersen's (PC) commitments implement blind signatures instead of using addresses for transfers. Therefore, users involved in a transfer will use multi-signatures to approve a specific transaction. In addition, PCs allow encryption of the inputs and outputs of a transaction so that the signatures involved can be shared exclusively between the sender and receiver of a transaction only. Thus, no third party may know the transaction produced or the data or information related to it. Providing an optimal level of privacy unprecedented in cryptocurrency blockchains.
Example of a Confidential Transaction (CT)
If a user, let's call him Juan, wants to make a transaction to Maria on the Monero network, he must spend all of his unspent exits and send the change to himself. If, for example, you own 5 monero and want to send 2 monero, then a transaction will be created that spends the 5 monero: sending 2 monero to Maria and 3 monero back to yourself (minus the commission fee to miners, for course).
When this process is carried out on the Monero network, only Juan and María, who are the parties involved in the transaction, can see the amounts of the operation. So the transfer made will not publicly show either the amount or the addresses involved.
Even so, the network must be able to verify that the transfer made is valid and that it meets the system conditions. So to verify, the network uses enough information about the transaction to verify that the input sum equals the output sum. At the same time, in addition to implementing Pedersen's commitments, Monero also employs the Range Tests. Which allow you to verify cryptographically that users do not make transactions with negative balances or that they are greater than a certain arbitrary amount.
Exploring confidential transactions in depth
Confidential Transactions (CT) were created in order to improve the crypto system of the blockchain. For this, Confidential Transactions allow certain information to be written in which the parties can read without major difficulties. However, any actor external to the participants of the data exchange, would only see encoded information impossible to understand.
The only thing an external actor can do is verify laterally that the encoded information is true. And this through a mechanism that does not allow you to extract any useful information from the transaction itself.
To achieve this, the cryptographic function uses a hash to perform a commit (data submission) that you can later reveal. In this way, any person can generate a hash whose entry is not identifiable by any person, except who originated the hash. At this point a blinding factor, which is nothing more than random data that guarantees that the hash is not easily identifiable.
The generated hash can then be digitally signed so there is irrefutable proof that the secret exists and is known to a specific person. In this way, you will not be able to change any of the information that you have revealed through the hash. So when we use the Pedersen commitment formulation we have the following:
Formulation of Confidential Transactions
C (BF1 + D1) + C (BF2 + D2) = C (BF1 + BF2, D1 + D2)
Where the parts of the equation are:
BF is random data or blinding factor
D is the transaction data
C (BF1 + D1) is the direction of change
C (BF2 + D2) is the destination address
C (BF1 + BF2, D1 + D2) It is the address of origin of the funds.
It is this simple formulation that guarantees the security of the data within a confidential transaction.
Confidential transactions in Monero
Monero is a cryptocurrency implemented in 2014 as an open source system focused on privacy and decentralization. Its main objective is based on ensure an optimal level of privacy to users within the network and, in guarantee the fungibility of your cryptocurrencies. So that they can be used in any case. Without the risk that they can be classified as undesirable, if for example, they have been involved in some illegal activity.
In order for these qualities to be possible within the network, Monero implements the Ring CT protocol, which allows the amounts of the transactions to be obfuscated instead of being divided as previously occurred within the network.
What is RingCT?
The protocol known as Ring Confidential Transactions It is the one that allows the Monero network to hide all the data related to a transaction, such as the amounts sent, the sender and the recipient of the transfer. For this, RingCT combines the actual moneros (XMR) that the sender wants to send with many others that are randomly selected within the network. Thus creating a disorderly mix or combination that confuses other users (third parties) on the network, so they cannot see or determine the amounts transferred, or where these transfers come from or where they are sent.
That protocol was implemented in 2017, and from that same year its use on the Monero network became mandatory.