  Designing an efficient difficulty control algorithm is an essential problem
in Proof-of-Work (PoW) based blockchains because the network hash rate is
randomly changing. This paper proposes a general difficulty control algorithm
and provides insights for difficulty adjustment rules for PoW based
blockchains. The proposed algorithm consists a two-layer neural network. It has
low memory cost, meanwhile satisfying the fast-updating and low volatility
requirements for difficulty adjustment. Real data from Ethereum are used in the
simulations to prove that the proposed algorithm has better performance for the
control of the block difficulty.
