### k-root-n: An efficient algorithm for avoiding short term double-spending alongside distributed ledger technologies such as blockchain

Zvi Schreiber

##### Abstract

Blockchains such as the bitcoin blockchain depend on reaching a global consensus on the distributed ledger; therefore, they suffer from well know scalability problems. This paper proposes an algorithm that avoids double-spending in the short term with just O(&#8730;n) messages instead of O(n); each node receiving money off-chain performs the due diligence of consulting k&#8730;n random nodes to check if any of them is aware of double-spending. Two nodes receiving double-spent money will in this way consult at least one common node with very high probability, due to the ‘birthday paradox’, and any common honest node consulted will detect the fraud. Since the velocity of money in the real world has coins circulating through at most a few wallets per day, the size of the due diligence communication is small in the short term. This k-root-n’ algorithm is suitable for an environment with synchronous or asynchronous (but with fairly low latency) communication and with Byzantine faults. The presented k-root-n algorithm should be practical to avoid double-spending with arbitrarily high probability, while feasibly coping with the throughput of all world commerce. It is resistant to Sybil attacks even beyond 50% of nodes. In the long term, the k-root-n algorithm is less efficient. Therefore, it should preferably be used as a complement, and not a replacement, to a global distributed ledger technology.

Available format(s)
Category
Applications
Publication info
Preprint. Minor revision.
Keywords
Blockchainbitcoindistributed ledger technologydouble spending
Contact author(s)
zvi @ zvi net
History
2020-02-06: last of 3 revisions
See all versions
Short URL
https://ia.cr/2019/827

CC BY

BibTeX

@misc{cryptoeprint:2019/827,
author = {Zvi Schreiber},
title = {k-root-n: An efficient algorithm for avoiding short term double-spending alongside distributed ledger technologies such as blockchain},
howpublished = {Cryptology ePrint Archive, Paper 2019/827},
year = {2019},
note = {\url{https://eprint.iacr.org/2019/827}},
url = {https://eprint.iacr.org/2019/827}
}
`
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.