Confidential Transactions or Confidentials Transactions (CT) are a Zero Knowledge Protocol (ZKP) cryptographic protocol designed to make cryptocurrency transactions on a blockchain private and anonymous.
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, despite the fact that the qualities of decentralization and transparency are of its best virtues, in terms of privacy they can become a negative aspect for users. Since anyone has the ability to review the Bitcoin blockchain in its entirety, and therefore search and associate transactions and registered addresses with others. What can generate a scenario in which several coins can lose their fungibility, and even their value. If they are associated with a blacklist for being involved in illegal 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?
At Lóleo Eventos, 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.
How much do you know, cryptonuta?
Are Confidential Transactions resistant to quantum computing?FALSE!
A community concern with confidential transactions is to make them resistant to the threat of quantum computing, and the work of Greg Maxwell aims to achieve this ability, however, at the moment the TCs raised for Bitcoin are not resistant to quantum computing, but they may be in the future.
Implementation of confidential transactions on the Monero network
Monero implements several elements in its network that allow it to guarantee a high level of security to its users. First, the network implements the ring signatures, where several participants or users form a group when making a transaction. Although each user has their own public and private key, which are known as keys, only one of the users will sign the transaction at the time of transfer. But without revealing what user of the network has been. So a mix is created where other users cannot see who has performed the operation.
Likewise, the Monero network hides the identity of the recipient or recipient of the transfer. Since it does not use addresses to send the funds, instead the transfers are made directly on the blockchain. In order for the recipient of the transaction to claim their funds, they must have two keys: one for spending and the other for viewing. With these two keys or keys the receiving user, and only he, will be able to scan the blockchain network. This in order to find the transaction that has been sent to you and add it to your wallet later.
Lastly, to maximize security and privacy levels within the network, Monero implements the Confidential Transactions (CT) protocols to hide the amounts transferred in operations. This protocol allows the network of miners to verify that the transferred coins were not created from scratch. In addition to verifying that they have not been used in another previous transaction. I mean, it doesn't happen double-spending. Even so, both the network and observers can verify that the transactions are valid and have been carried out in compliance with all network regulations. But without revealing important data such as the amount, the receiver or the recipient of the transaction, making it almost impossible to follow up on such transfers.
Other implementations in blockchains networks
In addition to MoneroThere are other networks that implement CT protocols to guarantee greater privacy in their systems. For example, MimbleWimble It uses CTs to verify to the network that users are not creating coins out of thin air. And at the same time, they guarantee a high level of privacy in the operations carried out. Well, the nodes do not reveal information about the amounts transferred or the parties involved; They actually use blind signatures to complete the transaction verification process while maintaining complete privacy throughout the process.
Likewise, the sidechain Liquid Network uses CT protocols to maximize network privacy. While ensuring much faster and faster transactions on its blockchain, which operates in parallel with the Bitcoin network.
On the other hand, there is no doubt that the implementation of the CT protocol in the Bitcoin network would bring great contributions and benefits to it. Well, first of all, confidential transactions would make the most widely used cryptocurrency blockchain of all much more private and secure. Likewise, the application of this protocol would allow the use of Bitcoin coins without any kind of restriction or classification; In other words, it would provide a high level of fungibility to all bitcoin coins.
However, although this would be a great advantage for the network, it should also be borne in mind that adding this protocol to the system would greatly increase the size of transactions. A luxury that, at the moment, cannot be given in Bitcoin due to the limited size of its blocks. Furthermore, implementing this protocol implies making a change in the network with a hard fork. Something that requires many community members to agree to do.