The Stratum protocol is the de facto protocol for mining proxies in proof-of-work (PoW) based cryptocurrencies such as Bitcoin. A Stratum mining proxy connects to an upstream mining pool server and to downstream miners through TCP/IP connections. The proxy receives periodic jobs from the pool and broadcasts them to the miners. The broadcast operation becomes a performance and scalability bottleneck when the number of miners increases significantly. In this paper, we propose a hardware/software co-designed architecture for the proxy to accelerate the broadcast of periodic jobs. We customize the Stratum protocol with a layer 2 broadcast mechanism instead of using TCP/IP connections. The proposed architecture is implemented on a Xilinx Zynq SoC (ARM processor and FPGA) board where the layer 2 broadcast mechanism is offloaded on the FPGA. Our experiments demonstrated a speedup of 2079x in transmission time with 225 miners connected to the proxy, compared to an implementation on an Intel i7 server.
[1]
Alexios Balatsoukas-Stimming,et al.
A Lyra2 FPGA Implementation for Lyra2REv2-Based Cryptocurrencies.
,
2018
.
[2]
Javed Barkatullah,et al.
Goldstrike 1: CoinTerra's First-Generation Cryptocurrency Mining Processor for Bitcoin
,
2015,
IEEE Micro.
[3]
Ji Yang,et al.
Design of All Programable Innovation Platform for Software Defined Networking
,
2014,
ONS.
[4]
Hiroki Matsutani,et al.
An FPGA NIC Based Hardware Caching for Blockchain
,
2017,
HEART.
[5]
Bogdan Carbunar,et al.
Hardening Stratum, the Bitcoin Pool Mining Protocol
,
2017,
Proc. Priv. Enhancing Technol..