Hva «vanskelighet» faktisk betyr
For å legge til en blokk hasher en utvinner blokkhodet om og om igjen mens en verdi som kalles nonce varieres, på jakt etter et resultat som havner under en tallgrense kjent som target. Et lavere target betyr at det finnes færre gyldige hashverdier, så det trengs flere forsøk i gjennomsnitt — og nettopp det gjør utvinningen «tyngre».
Vanskelighet er bare en menneskelesbar måte å uttrykke hvor lavt det targetet ligger, målt mot det letteste targetet protokollen noen gang har tillatt (vanskelighet 1). En vanskelighet på la oss si flere billioner betyr at dagens target er billioner av ganger mindre enn det utgangspunktet. Noder utleder targetet direkte fra vanskeligheten, så de to er bare to blikk på samme tall.
Takten på 2 016 blokker
Bitcoin justerer ikke etter hver blokk, men regner om én gang per epoke på 2 016 blokker. Ved ti minutter per blokk burde 2 016 blokker ta nøyaktig to uker (20 160 minutter), og derfor beskrives vanskelighetsendringen ofte som noe som skjer annenhver uke.
Fordi intervallet telles i blokker og ikke i kalendertid, strekker den virkelige avstanden mellom to justeringer seg når nettverket utvinner sakte, og krymper når det utvinner raskt. Hver fullstendig node gjør den samme beregningen på egen hånd og kommer fram til den samme nye verdien, så det er ingenting å stemme over og ingenting å koordinere.
Regnestykket bak hver justering
Ved slutten av en epoke sammenligner nettverket hvor lang tid de siste 2 016 blokkene faktisk tok, med hvor lang tid de skulle ha tatt. I prinsippet: ny vanskelighet = gammel vanskelighet × (forventet tid ÷ faktisk tid). Kom blokkene raskere enn ventet, er den faktiske tiden mindre enn den forventede og vanskeligheten stiger; kom de saktere, synker den.
Endringen er begrenset: én enkelt justering kan høyst firedoble vanskeligheten eller skjære den ned til en fjerdedel. Grensen hindrer ville utslag etter en kortvarig topp eller et sammenbrudd i regnekraft. I tillegg finnes en gammel, harmløs unøyaktighet på én: tidsrommet måles over 2 015 intervaller, men behandles som 2 016 — derfor ligger den gjennomsnittlige blokktiden et hår over ti minutter.
Hvorfor ti minutter, og hvorfor det betyr noe
Et målintervall mellom blokker er et kompromiss. Mye raskere blokker ville spredt seg mindre pålitelig over et verdensomspennende nettverk og økt både bortkastet arbeid og kortlivde forgreninger; mye saktere blokker ville gjort bekreftelser plagsomt trege. Ti minutter ble valgt som en forsiktig mellomvei som gir en blokk tid til å nå hele kloden før den neste sannsynligvis blir funnet.
At intervallet holdes stabilt er nettopp grunnen til at Bitcoins utstedelsesplan er forutsigbar. Fordi det utvinnes rundt 2 016 blokker annenhver uke, lander halveringen som senker blokkbelønningen nær sin tiltenkte fireårstakt, og den samlede mengden nærmer seg taket på 21 millioner langs en oversiktlig bane.
Vanskelighet, hashrate og tilbakekoblingen
Når nye utvinningsmaskiner settes i drift, blir blokker funnet raskere enn hvert tiende minutt; neste justering hever vanskeligheten og bremser dem igjen. Når utvinnere slår av — på grunn av energikostnader, utrangert maskinvare, sesongbetinget strøm eller regionale regler — går blokkene saktere, og den følgende justeringen senker vanskeligheten for å øke tempoet. Systemet retter opp i etterkant; det ser ikke framover.
Det er verdt å merke seg at hashraten ikke måles direkte: nettverket kan ikke se hvor mange maskiner som går. Publiserte hashrate-tall er anslag utledet av vanskelighet og observerte blokktider, og derfor svinger de mye over korte vinduer og leses best som en trend.
Grensetilfeller og hva vanskeligheten ikke sier
Harde sjokk i den virkelige verden viser mekanismen i arbeid. Da en stor utvinningsregion falt ut av nettet midt i 2021, opplevde nettverket sin til da største nedjustering (rundt 28 %), som gjenopprettet normale blokktider allerede i den følgende epoken. Regler for tidsstempler og firedoblingsgrensen beskytter dessuten mot utvinnere som ville manipulere klokka for å påvirke omregningen.
Vanskeligheten måler nettverkets sikkerhetsinnsats og utvinningens økonomi — den er verken et prissignal eller en markedsindikator. Den beveger seg i langsomme, sprangvise trinn og reagerer på tidligere blokktider, så den sier lite om etterspørsel, likviditet eller verdsettelse. Verktøy som BIKENZO ligger i et helt annet lag og framstiller bredere markedssammenheng, for eksempel en global likviditetsindeks mot Bitcoin-prisen; det er makro- og markedssammenheng, atskilt fra vanskelighetens on-chain-mekanikk. Begge er nyttige linser, og de svarer på ulike spørsmål.