Paper 2019/1322

An Efficient Micropayment Channel on Ethereum

Hisham S. Galal, Muhammad ElSheikh, and Amr M. Youssef


Blockchain protocols for cryptocurrencies offer secure payment transactions, yet their throughput pales in comparison to centralized payment systems such as VISA. Moreover, transactions incur fees that relatively hinder the adoption of cryptocurrencies for simple daily payments. Micropayment channels are second layer protocols that allow efficient and nearly unlimited number of payments between parties at the cost of only two transactions, one to initiate it and the other one to close it. Typically, the de-facto approach for micropayment channels on Ethereum is to utilize digital signatures which incur a constant gas cost but still relatively high due to expensive elliptic curve operations. Recently, ElSheikh et al. have proposed a protocol that utilizes hash chain which scales linearly with the channel capacity and has a lower cost compared to the digital signature based channel up to a capacity of 1000 micropayments. In this paper, we improve even more and propose a protocol that scales logarithmically with the channel capacity. Furthermore, by utilizing a variant of Merkle tree, our protocol does not require the payer to lock the entire balance at the channel creation which is an intrinsic limitation with the current alternatives. To assess the efficiency of our protocol, we carried out a number of experiments, and the results prove a positive efficiency and an overall low cost. Finally, we release the source code for prototype on GitHub.

Available format(s)
Cryptographic protocols
Publication info
Published elsewhere. Data Privacy Management, Cryptocurrencies and Blockchain Technology. DPM 2019, CBT 2019. Lecture Notes in Computer Science, vol 11737. Springer, Cham
Micropayment channelEthereumMerkle tree
Contact author(s)
h_galal @ encs concordia ca
2019-11-17: received
Short URL
Creative Commons Attribution


      author = {Hisham S.  Galal and Muhammad ElSheikh and Amr M.  Youssef},
      title = {An Efficient Micropayment Channel on Ethereum},
      howpublished = {Cryptology ePrint Archive, Paper 2019/1322},
      year = {2019},
      doi = {10.1007/978-3-030-31500-9_13},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.