Paper 2020/1550

Foundations of Ring Sampling

Viktoria Ronge, Christoph Egger, Russell W. F. Lai, Dominique Schröder, and Hoover H. F. Yin


A ring signature scheme allows the signer to sign on behalf of an ad hoc set of users, called a ring. The verifier can be convinced that a ring member signs, but cannot point to the exact signer. Ring signatures have become increasingly important today with their deployment in anonymous cryptocurrencies. Conventionally, it is implicitly assumed that all ring members are equally likely to be the signer. This assumption is generally false in reality, leading to various practical and devastating deanonymizing attacks in Monero, one of the largest anonymous cryptocurrencies. These attacks highlight the unsatisfactory situation that how a ring should be chosen is poorly understood. We propose an analytical model of ring samplers towards a deeper understanding of them through systematic studies. Our model helps to describe how anonymous a ring sampler is with respect to a given signer distribution as an information-theoretic measure. We show that this measure is robust, in the sense that it only varies slightly when the signer distribution varies slightly. We then analyze three natural samplers -- uniform, mimicking, and partitioning -- under our model with respect to a family of signer distributions modeled after empirical Bitcoin data. We hope that our work paves the way towards researching ring samplers from a theoretical point of view.

Available format(s)
Publication info
Preprint. MINOR revision.
ring signaturescryptocurrencies
Contact author(s)
ronge @ cs fau de
egger @ cs fau de
lai @ cs fau de
dosc @ cs fau de
hfyin @ inc cuhk edu hk
2020-12-13: received
Short URL
Creative Commons Attribution


      author = {Viktoria Ronge and Christoph Egger and Russell W.  F.  Lai and Dominique Schröder and Hoover H.  F.  Yin},
      title = {Foundations of Ring Sampling},
      howpublished = {Cryptology ePrint Archive, Paper 2020/1550},
      year = {2020},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.