Paper 2017/019

SmartPool: Practical Decentralized Pooled Mining

Loi Luu, Yaron Velner, Jason Teutsch, and Prateek Saxena

Abstract

Cryptocurrencies such as Bitcoin and Ethereum are operated by a handful of mining pools. Nearly $95\%$ of Bitcoin's and $80\%$ of Ethereum's mining power resides with less than ten and six mining pools respectively. Although miners benefit from low payout variance in pooled mining, centralized mining pools require members to trust that pool operators will remunerate them fairly. Furthermore, centralized pools pose the risk of transaction censorship from pool operators, and open up possibilities for collusion between pools for perpetrating severe attacks. In this work, we propose SmartPool, a novel protocol design for a decentralized mining pool. Our protocol shows how one can leverage {\em smart contracts}, autonomous blockchain programs, to decentralize cryptocurrency mining. SmartPool gives transaction selection control back to miners while yielding low-variance payouts. SmartPool incurs mining fees lower than centralized mining pools and is designed to scale to a large number of miners. We implemented and deployed a robust SmartPool implementation on the Ethereum and Ethereum Classic networks. To date, our deployed pools have handled a peak hashrate of 30 GHs from Ethereum miners, resulting in $105$ blocks, costing miners a mere $0.6\%$ of block rewards in transaction fees.

Note: Update publication venue

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Published elsewhere. Minor revision. 26th USENIX Security Symposium, 2017
Keywords
blockchainspooled miningsmart contracts
Contact author(s)
loiluu @ comp nus edu sg
History
2017-06-29: revised
2017-01-11: received
See all versions
Short URL
https://ia.cr/2017/019
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2017/019,
      author = {Loi Luu and Yaron Velner and Jason Teutsch and Prateek Saxena},
      title = {{SmartPool}: Practical Decentralized Pooled Mining},
      howpublished = {Cryptology {ePrint} Archive, Paper 2017/019},
      year = {2017},
      url = {https://eprint.iacr.org/2017/019}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.