An automatic system used in Proof of Work protocols in order to ensure that the time employed to mine a block remains fairly constant with the addition or reduction of active miners. As more computing power is added to the mining activity on the network, the greater the difficulty is made so keep the two factors in balance.