Looking at the algorithm for ring signature, n members of the ring can have m keys associated with them.

What is a scenario where the other members, not the signer, would have multiple keys associated with them.

In other words, why would the decoys have multiple keys associated with them?



We assume that if a tx has multiple outputs, then all of those outputs belong to the same person. So when we select the decoys, we take all of those outputs and say it is one person's set of keys.

1 Answer 1


There is only ever one public key per ring member. Transactions are never referenced by ring signatures.

There is one ring per real output being spent. However, it is not the case that there is a separate ring signature per ring. There is a single MLSAG ring signature that signs all rings as part of the same signature.

Therefore, when the MRL-0005 document says "Suppose that each signer of a (generalized) ring containing n members has exactly m keys", "n members" refers to public keys and "m keys" refers to private keys. So if you were spending 3 inputs at a ring size of 7, you'd have n=21 and m=3.

  • I was reading the paper and it seemed to say something different. lab.getmonero.org/pubs/MRL-0005.pdf at the bottom of page 5 :" Suppose that each signer of a (generalized) ring containing n members has exactly m keys" I may have misunderstood. Oct 8, 2018 at 13:14
  • 1
    @WeCanBeFriends You're right, I've updated my answer.
    – knaccc
    Oct 8, 2018 at 13:23
  • okay gotcha. "There is one ring per real output being spent" I don't quite understand this part, I thought it was per real input or key image Oct 8, 2018 at 13:39
  • The statement you've quoted is equivalent to saying "There is one ring per real input being spent". An input is simply a reference to an output that is being spent. My personal preference is to often just call everything an output and to be specific about whether they're outputs being spent or outputs being created in a transaction.
    – knaccc
    Oct 8, 2018 at 13:41

Your Answer

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

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