I have been researching Monero, and I think I understand how ring signatures and stealth addresses work mathematically.

However, to create a new ring transaction, you need N peers that want to join your transaction.

If you send the inputs from your own addresses (different ones), it is easy to link the coins to you, that is why I suppose that the mixing process occurs with other peers.

My question is: how does the Monero network find other peers to mix with you?

During the process, if you send a "partial transaction", you are deanonymized. However, if you do not send a transaction, you can't find other peers, and nobody will join your ring.

1 Answer 1


Monero does not require that "mixing" happens at the same time that other spenders want to "mix" their coins. Rather, the sender constructs the complete transaction prior to broadcasting it to the network.

The sender's wallet chooses one or more of its own outputs to spend, and then it picks other actual outputs from the blockchain to mix with its own output(s), all of which are included in a ring*. By attaching a key image and signing the transaction, the sender has (a) proven that it has ownership of an output from the ring, (b) proven that the output has not been previously spent, while (c) not revealing which output is being spent.

*There is one spent output per ring. If you spend two outputs, that means there will be two rings, each with its own ring members and key image.

  • But if older outputs are signed with older transactions, how do you reuse it in your transaction? The same signature will not be valid
    – user9634
    Jan 20, 2019 at 18:07
  • Individual outputs are not signed. The outputs are used to form a ring-signature of which any one of the outputs could have signed that ring. An observer cannot determine which is the real output being spent. Point (a) in the answer is the ring-signatures job, point (b) is the key images' job.
    – jtgrassie
    Jan 20, 2019 at 23:03

Your Answer

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