Krijn Soeteman

Krijn Soeteman (2022)

Gepubliceerd op 02-05-2022

Difficulty adjustment

betekenis & definitie

Moeilijkheidsaanpassing in het bitcoinnetwerk om een blok te minen, omdat het netwerk meer of minder rekenkracht heeft gekregen over een periode van 2016 blokken, gemiddeld zo'n twee weken; onderdeel van proof-of-work-blockchains.

In het bitcoinnetwerk is het doel dat ongeveer elke tien minuten een blok gemined wordt. Hoe meer rekenkracht in het netwerk zit, hoe sneller een blok, of eigenlijk de hash, gevonden kan worden door miners. In dat geval moet de moeilijkheid van de rekenarij, of eigenlijk het 'raden' van getallen om onder een bepaald doelgetal in de hash te komen, aangepast worden. Kort gezegd: het doel of ‘target’ wordt aangepast.

Kort gezegd: duurt het gemiddeld voortdurend langer of juist korter dan tien minuten om een blok te minen, dan wordt de moeilijkheidsgraad respectievelijk kleiner of groter.

De moeilijkheid wordt aangepast door een steeds lager nummer te moeten vinden samen met een input string en een nonce, in de regel een hash van een nummer. Stel: de input string is ‘ensie’ (zonder aanhalingstekens) en de output of het doel moet een nummer zijn dat begint met één ‘0’ en daar wordt een sha256-hashingalgoritme op losgelaten. Dus de input string + nonce = ensiel, ensie2, tot het eerste getal gehast wordt met een ‘0’ als eerste cijfer. Dat is dus bij ‘ensie6’. De sha256-hash is dan: 0e8ecbc38ab9faa42b7e02e62b8c3b8171462521f866ddc6db47afbl9c5fbaee

Dit is dus vrij makkelijk. Hoe meer nullen aan het begin moeten staan, hoe moeilijker het wordt. Inmiddels moet het getal met 19 nullen beginnen (d.d. 20 oktober 2021), zoals blok 705854 laat zien: 0000000000000000000c8543cdcadba9023fl346034ballf1797297dlel75860

Als de input bekend is is dit heel simpel te controleren, maar extreem lastig om te raden, zie ook eenrichtingsfunctie.

< >