1

So I'm trying to figure out how ringCT works, but with so much data that needs to be used to make a transaction, how does Monero keep transactions from being seen if they are spent or not in ring signatures?

For example, lets say we have a transaction A that has a Pedersen commitment like, 54315648671857041765176828750544187674052177887109727513765797498108209248246, 15377053119273270820956237130367905799861881946971335076519717600451380609362, I will reference this point as A.

Now, we have A, but lets say we want to make two new transactions to split A. B and C will be those transactions.

In order to check all inputs = all outputs, we need to add every input and every output commitment to see if they equal up.

So basically, A = B + C, where B and C are a commitments.

But to do that publicly would expose A? Meaning we just need to find a transaction in the ring with an output that's commitment is A.

Even if we had more transactions, we would still need all transactions commitments to add them together, meaning anyone can see them in the transaction.

So what does Monero do to not let that happen? I would imagine it somehow hides the commitments but how is that possible? Without publicly exposing A there's no way to validate coins.

1 Answer 1

1

...how does Monero keep transactions from being seen if they are spent or not in ring signatures?

Whether an output (not a transaction) is previously spent or not is determined by whether its key image has been used in a past signature or not.

In order to check all inputs = all outputs...

Refer to answer for this (and more).

But to do that publicly would expose A?

Pedersen commitments are public, they hide the amounts, and the ring hides which is the true input (and commitment) being spent.

...meaning anyone can see them in the transaction.

Yes, but you don't know which is being spent (or its value), because it's in a ring of decoys (and the values are hidden).

It would be a good idea for you to read Mastering Monero for the basic concepts, then Zero to Monero for more technical details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.