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)
- 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
-
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} }