Hvad «difficulty» faktisk betyder
For at føje en blok til kæden hasher en miner blokhovedet igen og igen, mens han varierer en værdi kaldet nonce, på jagt efter et resultat, der falder under en talgrænse kendt som target. Et lavere target betyder, at der findes færre gyldige hashes, så der i gennemsnit kræves flere forsøg — og netop det gør mining «sværere».
Difficulty er blot en menneskeligt læsbar måde at udtrykke, hvor lavt det target ligger, målt mod det letteste target, protokollen nogensinde har tilladt (difficulty 1). En difficulty på lad os sige adskillige billioner betyder, at det aktuelle target er billioner af gange mindre end det udgangspunkt. Noder udleder target direkte af difficulty, så de to er bare to blikke på samme tal.
Rytmen på 2.016 blokke
Bitcoin justerer ikke efter hver blok, men regner om én gang pr. epoke på 2.016 blokke. Ved ti minutter pr. blok burde 2.016 blokke tage præcis to uger (20.160 minutter), og derfor beskrives ændringen ofte som noget, der sker hver fjortende dag.
Fordi intervallet tælles i blokke og ikke i kalendertid, strækker den virkelige afstand mellem to justeringer sig, når netværket miner langsomt, og skrumper, når det miner hurtigt. Hver fuld node udfører den samme beregning uafhængigt og når frem til den samme nye værdi, så der er intet at stemme om og intet at koordinere.
Regnestykket bag hver justering
Ved slutningen af en epoke sammenligner netværket, hvor længe de seneste 2.016 blokke faktisk tog, med hvor længe de burde have taget. I princippet: ny difficulty = gammel difficulty × (forventet tid ÷ faktisk tid). Kom blokkene hurtigere end forventet, er den faktiske tid mindre end den forventede, og difficulty stiger; kom de langsommere, falder den.
Ændringen er begrænset: en enkelt justering kan højst firedoble difficulty eller skære den ned til en fjerdedel. Grænsen forhindrer vilde udsving efter et kortvarigt spring eller kollaps i regnekraft. Dertil kommer en gammel, harmløs unøjagtighed på én: tidsrummet måles over 2.015 intervaller, men behandles som 2.016 — derfor ligger den gennemsnitlige bloktid en anelse over ti minutter.
Hvorfor ti minutter, og hvorfor det betyder noget
Et mål for blokintervallet er et kompromis. Meget hurtigere blokke ville brede sig mindre pålideligt over et verdensomspændende netværk og øge både spildt arbejde og kortlivede forgreninger; meget langsommere blokke ville gøre bekræftelser trættende langsomme. Ti minutter blev valgt som en forsigtig middelvej, der giver en blok tid til at nå hele kloden, før den næste sandsynligvis findes.
At intervallet holdes stabilt er netop grunden til, at Bitcoins udstedelsesplan er forudsigelig. Fordi der mines omkring 2.016 blokke hver anden uge, lander halveringen, der sænker blokbelønningen, tæt på sin tilsigtede fireårige takt, og den samlede mængde nærmer sig loftet på 21 millioner ad en overskuelig bane.
Difficulty, hashrate og tilbagekoblingen
Når nye mining-maskiner går i drift, findes blokkene hurtigere end hvert tiende minut; den næste justering hæver difficulty og bremser dem igen. Slukker minere — på grund af energipriser, udrangeret hardware, sæsonbetinget strøm eller regionale regler —, sænker blokkene farten, og den følgende justering sætter difficulty ned for at få tempoet op. Systemet retter op bagefter; det ser ikke fremad.
Det er værd at bemærke, at hashraten ikke måles direkte: netværket kan ikke se, hvor mange maskiner der kører. Offentliggjorte hashrate-tal er skøn udledt af difficulty og observerede bloktider, og derfor svinger de meget over korte vinduer og læses bedst som en tendens.
Grænsetilfælde og hvad difficulty ikke fortæller
Hårde chok i den virkelige verden viser mekanismen i arbejde. Da en stor mining-region gik af nettet i midten af 2021, oplevede netværket sin hidtil største nedadgående justering (omkring 28 %), som genoprettede normale bloktider allerede i den følgende epoke. Regler for tidsstempler og firedoblingsgrænsen beskytter desuden mod minere, der ville manipulere uret for at påvirke genberegningen.
Difficulty måler netværkets sikkerhedsindsats og minedriftens økonomi — den er hverken et prissignal eller en markedsindikator. Den bevæger sig i langsomme, springvise trin og reagerer på tidligere bloktider, så den siger kun lidt om efterspørgsel, likviditet eller værdiansættelse. Værktøjer som BIKENZO ligger i et helt andet lag og fremstiller bredere markedskontekst, for eksempel et globalt likviditetsindeks over for Bitcoin-prisen; det er makro- og markedskontekst, adskilt fra difficultys on-chain-mekanik. Begge er nyttige linser, og de besvarer forskellige spørgsmål.