Abstract
Bitcoin, which is known as the world’s first decentralized peer-to-peer payment network and cryptocurrency, introduced a decentralized mining process, where miners compete in confirming transactions in order to earn a certain amount of digital coins (bitcoins). Bitcoin mining is a repetitive and highly parallelizable process, and thus suitable for parallel computing. In this chapter, we present Maxeler dataflow paradigm as a form of parallel computing to process big data with low energy consumption and explain our dataflow implementation of the bitcoin mining algorithm for Maxeler MAX2B and MAX5C dataflow computers. With our dataflow design, we achieved up to 102 times faster and up to 256 times more energy-efficient bitcoin mining compared to standard multicore CPUs (Central Processing Units). While Maxeler dataflow computers are not able to compete against ASIC (Application-Specific Integrated Circuit) bitcoin mining rigs in terms of hash rate and energy efficiency, they are flexible and can be reprogrammed to do other tasks, while ASIC mining rigs are fixed (running only one specific algorithm) and usually become outdated in a few months.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Nakamoto S (2008) Bitcoin: a peer-to-peer electronic cash system. Available https://bitcoin.org/bitcoin.pdf. Accessed 1 July 2017 (Online)
Antonopoulos A (2015) Mastering bitcoin: unlocking digital cryptocurrencies. O’Reilly Media, Sebastopol
Blagojević V et al (2016) A systematic approach to generation of new ideas for PhD research in computing. Adv Comput 104:1–19 Elsevier
Apps|Maxeler AppGallery. Available http://appgallery.maxeler.com/. Accessed 1 July 2017 (Online)
Trifunović N, Milutinović V, Korolija N, Gaydadjiev G (2016) An AppGallery for dataflow computing. J Big Data 3(1):4
Ranković V, Kos A, Tomažič S, Milutinović V (2013) Performance of the bitonic mergesort network on a dataflow computer. In: 2013 21st telecommunications forum telfor (TELFOR), Belgrade, 2013, pp 849–852
Kos A, Ranković V, Tomažič S (2015) Sorting networks on maxeler dataflow supercomputing systems. Adv Comput 96:139–186
Milanković I, Mijailović N, Peulić A, Filipović N (2018) Application of data flow engines in biomedical images processing. IPSI BgD Trans Adv Res (TAR), 14(1). ISSN 1820 – 4511
Kotlar M, Milutinović V (2017) Implementing neural networks using the dataflow paradigm. IPSI BgD Trans Adv Res (TAR) 13(1). ISSN 1820 – 4511
Reese L (2018) Comparing hardware for artificial intelligence: FPGAs vs. GPUs vs. ASICs | embedded Intel® Solutions, Eecatalog.com, 2018. Available http://eecatalog.com/intel/2018/07/24/comparing-hardware-for-artificial-intelligence-fpgas-vs-gpus-vs-asics/. Accessed 1 August 2018 (Online)
Amara A, Amiel F, Ea T (2006) FPGA vs. ASIC for low power applications. Microelectron J 37:669–677
Meden R (2017) Maxeler bitcoin miner [source code]. https://github.com/medenko/Maxeler-Bitcoin-Miner
Developer Guide—Bitcoin (2009) Available https://bitcoin.org/en/developer-guide. Accessed 1 July 2017 (Online)
Hash Rate—Blockchain. Available https://blockchain.info/en/charts/hash-rate?timespan=2years. Accessed 1 July 2017 (Online)
Difficulty—Blockchain. Available https://blockchain.info/en/charts/difficulty?timespan=2years. Accessed 1 July 2017 (Online)
Bitcoin Hashrate Distribution—Blockchain.info. Available https://blockchain.info/en/pools. Accessed 1 July 2017 (Online)
Bitmain Antminer S7 Review: Is it Profitable to Buy? (Probably Not). Available https://www.buybitcoinworldwide.com/mining/hardware/antminer-s7/. Accessed 1 July 2017 (Online)
Spondoolies-Tech SP20 Jackson Review: Is it Profitable to Buy? Available https://www.buybitcoinworldwide.com/mining/hardware/spondoolies-sp20/. Accessed 1 July 2017 (Online)
Bitcoin Mining Calculator—BTCServ. Btcserv.net. Available https://btcserv.net/bitcoin-mining-calculator. Accessed 4 Nov 2016 (Online)
Milenković A, Milutinović V (2000) Cache injection: a novel technique for tolerating memory latency in bus-based SMPs. In: European conference on parallel processing. Springer, Berlin, pp. 558–566
Furht B, Milutinović V (1987) A survey of microprocessor architectures for memory management. Computer 20. Kovačević M, Diligenti M, Gori M, Milutinović V (2004) Visual adjacency multigraphs-a novel approach for a web page classification. In: Proceedings of SAWM04 workshop
Tomašević M, Milutinović V (1994) Hardware approaches to cache coherence in shared-memory multiprocessors. IEEE Micro 14:61–66
Grujić A, Tomašević M, Milutinović V (1996) A simulation study of hardware-oriented DSM approaches. IEEE Parallel Distrib Technol Syst Appl 4:74–83
Tomašević M, Milutinović V (1992) A simulation study of snoopy cache coherence protocols. In: System sciences, proceedings of the twenty-fifth Hawaii international conference, Hawaii, vol 1, pp 427–436
Tartalja I, Milutinović V (1997) The cache coherence problem in shared-memory multiprocessors: software solutions. IEEE Computer Society Press
Milutinović V (1997) Caching in distributed systems. IEEE Concurr 8:14–15
Milutinović V, Stenstrom P (1999) Special issue on distributed shared memory systems. Proc IEEE 87:399–404
Maxeler Technologies (2015) Multiscale dataflow programming
Milutinović V, Furht B, Obradović Z, Korolija N (2016) Advances in high performance computing and related issues. In: Mathematical problems in engineering
Korolija N, Popović J, Cvetanović M, Bojović M (2017) Dataflow-based parallelization of control-flow algorithms. In: Advances in computers, vol 104. Elsevier, pp 73–124
Trifunović N, Milutinović V, Salom J, Kos A (2015) Paradigm shift in big data supercomputing: dataflow vs. controlflow. J Big Data 2:4
Kos A, Tomažič S, Salom J, Trifunović N, Valero M, Milutinović V (2015) New benchmarking methodology and programming model for big data processing. Int J Distrib Sens Netw 11
Milutinović V, Salom J, Veljović D, Korolija N, Marković D, Petrović L (2017) Transforming applications from the control flow to the dataflow paradigm. In: DataFlow supercomputing essentials. Springer, Cham, pp 107–129
Milutinović V, Salom J, Veljović D, Korolija N, Marković D, Petrović L (2017) Discrepancy reduction between the topology of dataflow graph and the topology of FPGA structure. In: DataFlow supercomputing essentials. Springer, Cham, pp 19–66
Milutinović V (1989) Mapping of neural networks on the honeycomb architecture. Proc IEEE 77:1875–1878
Descriptions of SHA-256, SHA-384, and SHA-512. Available http://www.iwar.org.uk/comsec/resources/cipher/sha256-384-512.pdf. Accessed 1 July 2017 (Online)
Marek Palatinus (2016) Stratum Mining Proxy [Source Code]. https://github.com/slush0/stratum-mining-proxy
Meden R (2017) Mining bitcoins using maxeler data flow computer. M.S. thesis, Faculty of Electrical Engineering, University of Ljubljana, Ljubljana, Slovenia
p2pool Nodes. Poolnode.info. Available http://poolnode.info/. Accessed 4 Nov 2016 (Online)
Acknowledgements
The authors acknowledge the financial support from the Slovenian Research Agency (research core funding No. P2-0246). Special thanks goes to Belgrade team at Maxeler Technologies for providing us access to Maxeler MAX5C board for testing purposes.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix 1: BitcoinMinerCpuCode.c
Appendix 2: BitcoinMinerEngineParameters.maxj
Appendix 3: BitcoinMinerKernel.maxj
Appendix 4: BitcoinMinerManager.maxj
Appendix 5: SHA256-CPU.c
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Meden, R., Kos, A. (2019). Bitcoin Mining Using Maxeler DataFlow Computers. In: Milutinovic, V., Kotlar, M. (eds) Exploring the DataFlow Supercomputing Paradigm. Computer Communications and Networks. Springer, Cham. https://doi.org/10.1007/978-3-030-13803-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-13803-5_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-13802-8
Online ISBN: 978-3-030-13803-5
eBook Packages: Computer ScienceComputer Science (R0)