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

Pavel V. Sukharev, Dmitry S. Silnov, Maxim O. Shishkin

Abstract


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.

Keywords


cryptocurrency mining; Ethereum; OpenCL; performance optimization.

Full Text:

PDF

References


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




DOI: http://dx.doi.org/10.18517/ijaseit.9.5.5820

Refbacks

  • There are currently no refbacks.



Published by INSIGHT - Indonesian Society for Knowledge and Human Development