Сложность пересчитывается после каждых 2016 блоков. Предполагается, что оптимальное время для нахождения 2016 блоков - две недели, если расчет 2016 блоков произошел быстрее, чем за две недели - сложность увеличивается пропорционально разнице во времени (а если медленнее - то уменьшается, но такого что-то давно не наблюдалось).
Тут подробно:
https://en.bitcoin.it/wiki/Difficulty