Difficulty ist das im Netzwerk eingebaute Maß dafür, wie viel Rechenaufwand aktuell nötig ist, um einen gültigen Block-Hash zu finden. Sie wird als Vielfaches des einfachsten möglichen Targets angegeben, sodass eine Difficulty von 100 Billionen bedeutet, dass das Netzwerk insgesamt etwa 100 Billionen Mal mehr Arbeit leisten muss als beim Start der Chain, um einen einzigen Block zu erzeugen.
Die Difficulty wird von niemandem festgelegt, weder von einer Person noch von einem Unternehmen: Das Protokoll berechnet sie automatisch anhand einer festen Formel neu, die sich an den tatsächlichen Blockzeiten orientiert. Bei Bitcoin vergleicht die Software alle 2.016 Blocks die tatsächlich benötigte Zeit für diesen Abschnitt mit dem Zielwert von 20.160 Minuten (zwei Wochen bei 10 Minuten pro Block). Kamen Blocks schneller als erwartet, weil mehr Hash Rate dem Netzwerk beigetreten ist, steigt die Difficulty für die nächste Periode; kamen Blocks langsamer, etwa weil unrentable Miner ihre Rigs abschalteten oder eine Region ohne Strom war, sinkt sie. Die Regeln von Bitcoin begrenzen jede Anpassung auf den Faktor vier in beide Richtungen, damit eine einzelne extreme Zweiwochenperiode die Difficulty nicht in einem Schritt zu weit ausschlagen lässt.
Andere Proof-of-Work-Chains wenden dasselbe Prinzip mit unterschiedlichen Zeitplänen an. Litecoin passt die Difficulty ebenfalls alle 2.016 Blocks an, zielt dabei aber auf Blocks von 2,5 Minuten, während Monero die Difficulty nach jedem einzelnen Block neu berechnet, um schneller reagieren zu können. Da eine höhere Difficulty die Strom- und Hardwarekosten je geschürfter Coin unmittelbar erhöht, gehört sie zu den wichtigsten Variablen, die Miner neben der Blockbelohnung und deren periodischer Halving im Blick behalten, denn beide zusammen entscheiden darüber, ob das Mining profitabel bleibt.