Bitcoins difficulty-justering

Andreas HartwigØkonomijournalist og kryptofinansekspert

Cirka hver 2.016 blokke — omkring to uger — genberegner Bitcoin automatisk sin mining-sværhedsgrad: op, når blokke findes for hurtigt, og ned, når de kommer for langsomt. Dermed bliver den gennemsnitlige afstand mellem to blokke ved med at ligge tæt på ti minutter, uanset hvor meget regnekraft der kommer til eller forsvinder.

Hos Bitcoin er der ingen central operatør, der bestemmer, hvor svært det skal være at finde en blok. I stedet rummer protokollen en indbygget tilbagekobling: den måler, hvor hurtigt de seneste blokke blev produceret, og flytter mining-målet, så tempoet igen nærmer sig én blok hvert tiende minut. Denne «difficulty-justering» er et af de stille mekanismer, der holder Bitcoins bloktakt — og dermed den forudsigelige udstedelse af nye mønter — bemærkelsesværdigt stabil, selv om den globale regnekraft er vokset mange størrelsesordener og ind imellem er styrtdykket. Denne artikel forklarer, hvad difficulty er, hvordan justeringen fungerer, hvorfor det blev ti minutter, og hvordan difficulty hænger sammen med hashrate og pris — og adskiller sig fra begge.

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.

FAQ

Hvor ofte justeres Bitcoins difficulty?
Hver 2.016 blokke, hvilket ved ti minutter pr. blok svarer til omtrent to uger. Den præcise afstand i kalenderen afhænger af, hvor hurtigt blokkene faktisk blev minet i løbet af epoken.
Kan Bitcoins difficulty falde?
Ja. Hvis de foregående 2.016 blokke tog længere end to uger — som regel fordi regnekraft har forladt netværket — sænker den næste justering difficulty, så blokkene vender tilbage til målet på ti minutter.
Hvad sker der, hvis mange minere pludselig slukker?
Blokke findes langsommere, og bekræftelser tager længere tid, indtil den næste justering indtræffer. Så falder difficulty, og det normale tempo genoprettes. I ekstreme tilfælde kan en enkelt nedadgående justering skære difficulty ned til en fjerdedel.
Er difficulty det samme som hashrate?
Nej. Hashraten er den samlede regnekraft, der miner Bitcoin; difficulty er den protokolindstilling, der gør det sværere eller lettere at finde en blok. Hashraten kan ikke observeres direkte og skønnes ud fra difficulty og bloktider.
Påvirker difficulty Bitcoin-prisen?
Ikke direkte. Difficulty reagerer på tidligere bloktider og på mining-aktivitet og ændrer sig i langsomme, springvise trin. Den afspejler sikkerhedsindsats og minedriftens økonomi, ikke markedets efterspørgsel, og den forudsiger ingen pris.
Hvorfor ligger Bitcoins gennemsnitlige bloktid lidt over ti minutter?
En lille unøjagtighed på én i den oprindelige kode måler epokens tidsrum over 2.015 intervaller, men behandler det som 2.016. Effekten er minimal og er aldrig blevet ændret, så blokke ligger i gennemsnit en anelse over ti minutter.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

Anmod om en forhåndsvisning