What is Ring CT (Confidential Transactions)?
Ring confidential transactions, also known as RingCT, is a privacy feature that was added to the Monero protocol to improve the transactional privacy of users. This feature works by hiding the value of users’ funds during transactions.
Before the introduction of ring confidential transactions, Monero required transaction amounts to be divided into denominations. For instance, if a user wanted to make a transaction of 12.5 monero on the blockchain, this output would be denominated into 3 separate rings of 2, 0.5 and 10. As a result, other people were able to see the amounts that were being transacted. The creation of the ring confidential transaction feature was particularly designed to tackle this issue.
An example transaction on the Monero blockchain:
Let’s assume Jerry owns 10 monero, and wants to send 5 monero to Ann. Because an output on the Monero blockchain cannot be spent twice, Jerry is required to spend the output totally, and return the change to himself. Thus, Jerry ’s transaction would be in this manner: one input of 10 monero, and 2 outputs. One output that is 5 monero allotted for Ann, and the other 5 monero that is sent back to Bob as change.
The goal of the ring confidential transaction privacy feature, in the transaction between Jerry and Ann, is to allow only the participants of the transaction to see the amount of monero that is being transferred. Hence, this amount is hidden from external parties.
In addition to that, it is also important that the network is able to validate the transaction that has been initiated between Jerry and Ann. In order to prove that the transaction between Jerry and Ann is not fake, the sum of the transaction’s input must equal the sum of its output. In the transaction between Jerry and Ann, the input of 10 monero must also equal the output of 10 monero.
A significant aspect of ring confidential transactions is the use of range proofs. A range proof allows the Monero network to cryptographically verify that the amount used in a transaction is greater than 0, and less than any given arbitrary number. Monero makes use of range proofs to prevent senders, for example, Jerry, from committing to transactions of a negative value, which enables the network to secure the supply of Monero in circulation.