MicroCash: Practical Concurrent Processing of Micropayments

Micropayments are increasingly being adopted by a large number of applications. However, processing micropayments individually can be expensive, with transaction fees exceeding the payment value itself. By aggregating these small transactions into a few larger ones, and using cryptocurrencies, today's decentralized probabilistic micropayment schemes can reduce these fees. Unfortunately, existing solutions force micropayments to be issued sequentially, thus to support fast issuance rates a customer needs to create a large number of escrows, which bloats the blockchain. Moreover, these schemes incur a large computation and bandwidth overhead, which limit their applicability in large-scale systems. In this paper, we propose MicroCash, the first decentralized probabilistic framework that supports concurrent micropayments. MicroCash introduces a novel escrow setup that enables a customer to concurrently issue payment tickets at a fast rate using a single escrow. MicroCash is also cost effective because it allows for ticket exchange using only one round of communication, and it aggregates the micropayments using a lottery protocol that requires only secure hashing. Our experiments show that MicroCash can process thousands of tickets per second, which is around 1.7-4.2x times the rate of a state-of-the-art sequential micropayment system. Moreover, MicroCash supports any ticket issue rate over any period using only one escrow, while the sequential scheme would need more than 1000 escrows per second to permit high rates. This enables our system to further reduce transaction fees and data on the blockchain by around 50%.

[1]  Christian Decker,et al.  A Fast and Scalable Payment Network with Bitcoin Duplex Micropayment Channels , 2015, SSS.

[2]  Giulio Malavolta,et al.  Concurrency and Privacy with Payment-Channel Networks , 2017, IACR Cryptol. ePrint Arch..

[3]  Abhi Shelat,et al.  Micropayments for Decentralized Currencies , 2015, IACR Cryptol. ePrint Arch..

[4]  Ronald L. Rivest,et al.  Electronic Lottery Tickets as Micropayments , 1997, Financial Cryptography.

[5]  Iddo Bentov,et al.  Sprites and State Channels: Payment Networks that Go Faster Than Lightning , 2017, Financial Cryptography.

[6]  Dan Boneh,et al.  Verifiable Delay Functions , 2018, IACR Cryptol. ePrint Arch..

[7]  Tanja Lange,et al.  High-speed high-security signatures , 2011, Journal of Cryptographic Engineering.

[8]  Silvio Micali,et al.  Micropayments Revisited , 2002, CT-RSA.

[9]  Jordi Herrera-Joancomartí,et al.  Monero - Privacy in the Blockchain , 2017, IACR Cryptol. ePrint Arch..

[10]  Matthew Green,et al.  Decentralized Anonymous Micropayments , 2017, EUROCRYPT.

[11]  Ronald L. Rivest,et al.  Peppercoin Micropayments , 2004, Financial Cryptography.

[12]  Andrew Miller,et al.  Sprites: Payment Channels that Go Faster than Lightning , 2017, ArXiv.

[13]  Moni Naor,et al.  NSEC5 from Elliptic Curves: Provably Preventing DNSSEC Zone Enumeration with Shorter Responses , 2016, IACR Cryptol. ePrint Arch..

[14]  Aviv Zohar,et al.  Optimal Selfish Mining Strategies in Bitcoin , 2015, Financial Cryptography.

[15]  Moni Naor,et al.  NSEC5: Provably Preventing DNSSEC Zone Enumeration , 2014, NDSS.

[16]  Eli Ben-Sasson,et al.  Zerocash: Decentralized Anonymous Payments from Bitcoin , 2014, 2014 IEEE Symposium on Security and Privacy.

[17]  Matthew Green,et al.  Bolt: Anonymous Payment Channels for Decentralized Currencies , 2017, CCS.

[18]  David Wheeler,et al.  Transactions Using Bets , 1996, Security Protocols Workshop.