Coin selection by Random Draw according to the Boltzmann distribution
Abstract:
Coin selection refers to the problem of choosing a set of tokens to fund a transaction in token-based payment systems such as, e.g., cryptocurrencies or central bank digital currencies (CBDCs). In this paper, we propose the Boltzmann Draw that is a probabilistic algorithm inspired by the principles of statistical physics. The algorithm relies on drawing tokens according to the Boltzmann distribution, serving as an extension and improvement of the Random Draw method. Numerical results demonstrate the effectiveness of our method in bounding the number of selected input tokens as well as reducing dust generation and limiting the token pool size in the wallet. Moreover, the probabilistic algorithm can be implemented efficiently, improves performance and respects privacy requirements– properties of significant relevance for current token-based technologies. We compare the Boltzmann draw to both the standard Random Draw and the Greedy algorithm. We argue that the former is superior to the latter in the sense of the above objectives. Our findings are relevant for token-based technologies, and are also of interest for CBDCs, which as a legal tender possibly needs to handle large transaction volumes at a high frequency.
Authors:
Jan Lennart Bönsel, Deutsche Bundesbank
Michael Maurer, MIT Digital Currency Initiative
Silvio Petriconi, Deutsche Bundesbank
Andrea Tundis, Deutsche Bundesbank
Marc Winstel, Deutsche Bundesbank
This project is a part of the Future of Financial Infrastructure research track