Determining Optimal Mining Work Size on the OpenCL Platform for the Ethereum Cryptocurrency

Pavel V. Sukharev (1), Dmitry S. Silnov (2), Maxim O. Shishkin (3)
(1) National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)
(2) National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)
(3) National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)
Fulltext View | Download
How to cite (IJASEIT) :
Sukharev, Pavel V., et al. “Determining Optimal Mining Work Size on the OpenCL Platform for the Ethereum Cryptocurrency”. International Journal on Advanced Science, Engineering and Information Technology, vol. 9, no. 5, Oct. 2019, pp. 1528-34, doi:10.18517/ijaseit.9.5.5820.
In terms of cryptocurrency, mining is a process of creating a new transaction block to add it to the blockchain. The cryptocurrency protocol should ensure the reliability of new transaction blocks. One of the popular mining protocols is the Proof-of-Work protocol, which requires the miner to perform a certain work to verify its right to add a new block into the blockchain. To perform this work, high-performance hardware is used, such as GPU. On the program level, hardware needs special computing framework, for example, CUDA or OpenCL. In this article, we discuss Ethereum cryptocurrency mining using the OpenCL standard. The Ethereum cryptocurrency is the most popular cryptocurrency with GPU-based mining. There are several open-source implementations of the Ethereum cryptocurrency miners. The host-part of the OpenCL-miner is considered, which makes the research results independent of the mining algorithm and allows using the results of the research in the mining of other cryptocurrencies. During the research, we have found the problems, which lead to mining productivity loss, and we are looking for the ways to resolve these problems and thus increase mining performance. As part of solving these problems, we have developed the algorithm for the functioning of the miner and proposed the methodology of determining the optimal size of OpenCL work, which allows to reduce the impact of problems found and achieve maximum mining productivity using OpenCL framework.

M. Swan. Blockchain: Blueprint for a New Economy. O’Reilly, US, 2015.

C. Decker and R. Wattenhofer, “Information Propagation in the Bitcoin Network,” 2013 IEEE Thirteen. Int. Conf. Peer-to-Peer Comput., no. September, pp. 1-10, 2013.

J. Newsome, E. Shi, D. Song, and A. Perrig, “The sybil attack in sensor networks,” Proc. third Int. Symp. Inf. Process. Sens. networks - IPSN’04, pp. 259-268, 2004.

A Narayanan, J Bonneau, E Felten, A Miller, S.Goldfeder. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, Princeton University Press, 2016

X. Li, P. Jiang, T. Chen, X. Luo, and Q. Wen, “A survey on the security of blockchain systems,” Futur. Gener. Comput. Syst., no. Xiaoqi Li, pp. 1-25, 2017.

M. B. Taylor, “Bitcoin and The Age of Bespoke Silicon,” Proc. 2013 Int. Conf. Compilers, Architecture and Synthesis for Embedded Systems, pp. 1-10, 2013.

K. J. O’Dwyer and D. Malone, “Bitcoin mining and its energy footprint,” ISSC ’14 Proc. 25th IET Irish Signals Syst. Conf., pp. 280-285, 2014.

J. Barkatullah and T. Hanke, “Goldstrike 1: CoinTerra’s first-generation cryptocurrency mining processor for bitcoin,” IEEE Micro, vol. 35, no. 2, pp. 68-76, 2015.

V. Buterin, “A next-generation smart contract and decentralized application platform,” [Online] Available: https://github.com/ethereum/wiki/wiki/White-Paper

T. Dryja, “Hashimoto: I/O bound proof of work,” 2009.

Ethash [Online] Available: https://github.com/ethereum/wiki/wiki/Ethash

D. Kirk, “NVIDIA CUDA software and GPU parallel computing architecture,” Proceedings of the 6th international symposium on Memory management - ISMM '07, pp. 103-104, 2007.

J. E. Stone, D. Gohara, and G. Shi, “OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems,” Computing in Science & Engineering, vol. 12, no. 3, pp. 66-73, 2010.

Khronos Group, “An Introduction to OpenCL C++” [Online] Available: https://www.khronos.org/assets/uploads/developers/resources/Intro-to-OpenCL-C++-Whitepaper-May15.pdf

P. Jí¤í¤skelí¤inen, C. S. de La Lama, E. Schnetter, K. Raiskila, J. Takala, and H. Berg, “pocl: A Performance-Portable OpenCL Implementation,” International Journal of Parallel Programming, vol. 43, no. 5, pp. 752-785, 2015.

OpenCL Specification [Online] Available: https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf

Ethereum miner with OpenCL, CUDA and stratum support [Online] Available: https://github.com/ethereum-mining/ethminer

Claymore miner [Online] Available: https://github.com/nanopool/Claymore-Dual-Miner

Patricia Tree [Online] Available: https://github.com/ethereum/wiki/wiki/Patricia-Tree

OpenCL User Guide [Online] Available: http://developer.amd.com/wordpress/media/2013/12/AMD_OpenCL_Programming_User_Guide2.pdf

V. Buterin, “Toward a 12-second Block Time.” [Online] Available: https://blog.ethereum.org/2014/07/11/toward-a-12-second-block-time/

Dagger Hashimoto [Online] Available: https://github.com/ethereum/wiki/wiki/Dagger-Hashimoto

Authors who publish with this journal agree to the following terms:

    1. Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
    2. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
    3. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).