So as I understand, ring members are decoy outputs on the XMR Blockchain. Are these outputs originially public addresses (like in the BTC Chain) but have been hidden somehow? How have they been hidden? Are ring members hashes?

Furthermore, I can track where these decoys originally came from (XMR Chain shows their block height), but even then they may be pulling from another exactly the same decoy output ? (i.e. can I have a decoy of a decoy?)



When you create a transaction, you consume existing outputs and create new outputs. Each output has its own unique public and private key. This means outputs are not associated with a wallet address on the blockchain, like they are in Bitcoin.

In Bitcoin, when an output is created, the output is associated with a hash of the wallet address that is authorized to then spend it. In Monero, nothing is associated with a wallet address. The recipient directly spends the output that they have received in a transaction when it is time to spend it, using their sole knowledge of the private key of the output that was created for them when someone else sent them funds.

In Bitcoin, you specifically identify the outputs you are spending in a transaction.

In Monero, a ring signature hides the information about the actual outputs being spent. Let's say you want to spend an output you own. You then select 4 other random outputs on the blockchain, and create a 'ring' with 5 members. Therefore the ring consists of one output you do own and four outputs you don't.

You then create a ring signature which proves to the world that you definitely own one of the 5 outputs, but it will be mathematically ambiguous as to which output that is.

No outputs are 'hidden'. What is hidden is the reference to the output being spent. You reference a ring of possible outputs being spent, instead of directly referencing the actual output being spent.

There is therefore no such thing as a decoy of a decoy. A decoy is a real output that isn't the output you are actually spending. All outputs that exist on the blockchain are real outputs. All references to outputs are references to real outputs.

To put it another way, the blockchain does not consist of real and decoy outputs. The blockchain only consists of real outputs. 'Decoy' is a term that solely applies to references.

Note that the block explorer does not call the ring members 'decoys'. This is because one of the ring members is not a decoy. The block explorer does not know which is not a decoy reference. Therefore it simply states that the outputs are all 'ring members', because that is all that can be known as an outside observer.

You can look up any output on the blockchain that is referenced as a ring member in a transaction. The specific block explorer you have been using may not allow you to search for it directly, but that's only a limitation of that particular block explorer. The 64 character representation of each ring member is a hex representation of the public key of the output being referenced, and is not a hash.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

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