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
READ FULL TEXT