Bitcoin sarežģītības korekcija

Andreas HartwigEkonomikas žurnālists un kriptofinanšu eksperts

Aptuveni ik pēc 2016 blokiem — tas ir, apmēram divām nedēļām — Bitcoin automātiski pārrēķina ieguves sarežģītību: paaugstina to, kad bloki tiek atrasti pārāk ātri, un pazemina, kad tie nāk pārāk lēni. Tā vidējais attālums starp diviem blokiem paliek tuvu desmit minūtēm neatkarīgi no tā, cik daudz skaitļošanas jaudas pienāk vai pazūd.

Bitcoin gadījumā neviens centrāls uzturētājs nelemj, cik grūti jābūt atrast bloku. Tā vietā protokolā ir iebūvēta atgriezeniskā saite: tas mēra, cik ātri tapuši pēdējie bloki, un pārbīda ieguves mērķi tā, lai temps atgrieztos pie viena bloka ik desmit minūtēs. Šī «sarežģītības korekcija» ir viens no klusajiem mehānismiem, kas notur Bitcoin bloku ritmu — un līdz ar to paredzamo jaunu monētu izlaidi — ievērojami stabilu, kaut pasaules skaitļošanas jauda ir augusi par daudzām kārtām un ik pa laikam strauji kritusi. Šis raksts skaidro, kas ir sarežģītība, kā korekcija darbojas, kāpēc izvēlētas desmit minūtes un kā sarežģītība saistās ar jaucējjaudu un cenu — un ar ko no abām atšķiras.

Ko «sarežģītība» patiesībā nozīmē

Lai pievienotu bloku, ieguvējs atkal un atkal jauc bloka galveni, mainot vērtību, ko sauc par nonce, un meklē rezultātu, kas nokrīt zem skaitliska sliekšņa — mērķa. Zemāks mērķis nozīmē, ka derīgu jaucējvērtību ir mazāk, tātad vidēji vajag vairāk mēģinājumu — tieši tas padara ieguvi «smagāku».

Sarežģītība ir vien cilvēkam lasāms veids, kā izteikt, cik zemu šis mērķis atrodas, mērot pret vieglāko mērķi, kādu protokols jebkad atļāvis (sarežģītība 1). Sarežģītība, teiksim, vairāku triljonu apmērā nozīmē, ka pašreizējais mērķis ir triljoniem reižu mazāks par šo sākumpunktu. Mezgli mērķi atvasina tieši no sarežģītības, tāpēc abi ir tikai divi skatījumi uz vienu un to pašu skaitli.

2016 bloku ritms

Bitcoin nekoriģē pēc katra bloka, bet pārrēķina reizi 2016 bloku posmā. Ar desmit minūtēm uz bloku 2016 bloki aizņemtu tieši divas nedēļas (20 160 minūtes) — tāpēc sarežģītības maiņu parasti apraksta kā divnedēļu notikumu.

Tā kā intervālu skaita blokos, nevis kalendāra laikā, patiesais attālums starp divām korekcijām izstiepjas, kad tīkls iegūst lēni, un saraujas, kad tas iegūst ātri. Katrs pilnais mezgls veic to pašu aprēķinu patstāvīgi un nonāk pie tās pašas jaunās vērtības, tāpēc nav ne par ko balsot un nekas nav jāsaskaņo.

Aprēķins aiz katras korekcijas

Posma beigās tīkls salīdzina, cik ilgi pēdējie 2016 bloki patiešām vilkās, ar to, cik ilgi tiem vajadzēja vilkties. Pēc būtības: jaunā sarežģītība = vecā sarežģītība × (gaidītais laiks ÷ faktiskais laiks). Ja bloki nāca ātrāk, nekā gaidīts, faktiskais laiks ir mazāks par gaidīto un sarežģītība kāpj; ja tie nāca lēnāk, tā krīt.

Izmaiņa ir ierobežota: viena korekcija var sarežģītību augstākais četrkāršot vai nogriezt līdz ceturtdaļai. Šī robeža novērš mežonīgas svārstības pēc īslaicīga skaitļošanas jaudas pieplūduma vai sabrukuma. Turklāt pastāv sena, nekaitīga viena vienības neprecizitāte: laika nogrieznis tiek mērīts pār 2015 intervāliem, bet uztverts kā 2016 — tāpēc vidējais bloka laiks paliek matu tiesu virs desmit minūtēm.

Kāpēc desmit minūtes un kāpēc tas ir svarīgi

Mērķa intervāls starp blokiem ir kompromiss. Daudz ātrāki bloki pasaules mēroga tīklā izplatītos mazāk droši, vairojot izniekotu darbu un īsmūžīgus atzarojumus; daudz lēnāki bloki padarītu apstiprinājumus nogurdinoši gausus. Desmit minūtes izraudzītas kā piesardzīgs vidusceļš, kas blokam atstāj laiku izplatīties pa visu pasauli, pirms, visticamāk, tiek atrasts nākamais.

Tieši šī intervāla noturība padara Bitcoin izlaides grafiku paredzamu. Tā kā ik divas nedēļas tiek iegūti ap 2016 blokiem, uz pusi mazinošais halving iekrīt tuvu paredzētajam četru gadu ritmam, un kopējais piedāvājums paredzamā ceļā tuvojas savai 21 miljona griestu robežai.

Sarežģītība, jaucējjauda un atgriezeniskā saite

Kad darbā stājas jaunas ieguves iekārtas, bloki tiek atrasti ātrāk nekā ik desmit minūtes; nākamā korekcija paceļ sarežģītību un tos atkal piebremzē. Kad ieguvēji izslēdzas — enerģijas izmaksu, norakstītas aparatūras, sezonālas elektrības situācijas vai reģionālu noteikumu dēļ —, bloki palēninās, un nākamā korekcija sarežģītību pazemina, lai tos paātrinātu. Sistēma labo ar atpakaļejošu spēku; tā neskatās uz priekšu.

Vērts atcerēties, ka jaucējjaudu nemēra tieši: tīkls neredz, cik iekārtu strādā. Publicētie jaucējjaudas skaitļi ir aplēses, kas atvasinātas no sarežģītības un novērotajiem bloku laikiem, un tieši tāpēc īsos posmos tie ir trokšņaini un vislabāk lasāmi kā tendence.

Robežgadījumi un tas, ko sarežģītība nepasaka

Asi satricinājumi reālajā pasaulē parāda mehānismu darbībā. Kad 2021. gada vidū liels ieguves reģions izkrita no tīkla, tas piedzīvoja savu līdz tam lielāko korekciju uz leju (ap 28 %), kas parastos bloku laikus atjaunoja jau nākamajā posmā. Laika zīmogu noteikumi un četrkāršošanas robeža turklāt sargā no ieguvējiem, kas gribētu ar pulksteņa palīdzību ietekmēt pārrēķinu.

Sarežģītība mēra tīkla drošībai ieguldīto pūliņu un ieguves ekonomiku — tā nav ne cenas signāls, ne tirgus rādītājs. Tā kustas lēnos, lēcienveida soļos un reaģē uz pagātnes bloku laikiem, tāpēc par pieprasījumu, likviditāti vai vērtējumu pasaka maz. Tādi rīki kā BIKENZO atrodas pavisam citā slānī un attēlo plašāku tirgus kontekstu, piemēram, globālu likviditātes indeksu pret Bitcoin cenu; tas ir makro un tirgus konteksts, atdalīts no sarežģītības ķēdes iekšējās mehānikas. Abi skatpunkti ir noderīgi un atbild uz dažādiem jautājumiem.

FAQ

Cik bieži Bitcoin sarežģītība koriģējas?
Ik pēc 2016 blokiem, kas ar desmit minūtēm uz bloku iznāk aptuveni divas nedēļas. Precīzs kalendāra attālums atkarīgs no tā, cik ātri bloki posma laikā patiešām tika iegūti.
Vai Bitcoin sarežģītība var kristies?
Jā. Ja iepriekšējie 2016 bloki vilkās ilgāk par divām nedēļām — parasti tāpēc, ka skaitļošanas jauda pametusi tīklu —, nākamā korekcija sarežģītību pazemina, lai bloki atgrieztos pie desmit minūšu mērķa.
Kas notiek, ja daudzi ieguvēji pēkšņi izslēdzas?
Bloki tiek atrasti lēnāk un apstiprinājumi ievelkas līdz nākamajai korekcijai. Tad sarežģītība krīt un parastais temps atjaunojas. Galējā gadījumā viena korekcija uz leju var nogriezt sarežģītību līdz ceturtdaļai.
Vai sarežģītība ir tas pats, kas jaucējjauda?
Nav. Jaucējjauda ir visa skaitļošanas jauda, kas iegūst Bitcoin; sarežģītība ir protokola iestatījums, kas bloka atrašanu padara grūtāku vai vieglāku. Jaucējjaudu nevar novērot tieši, tāpēc to aplēš no sarežģītības un bloku laikiem.
Vai sarežģītība ietekmē Bitcoin cenu?
Tieši nē. Sarežģītība reaģē uz pagātnes bloku laikiem un ieguves aktivitāti un mainās lēnos, lēcienveida soļos. Tā atspoguļo drošības pūliņu un ieguves ekonomiku, nevis tirgus pieprasījumu, un cenu neprognozē.
Kāpēc Bitcoin vidējais bloka laiks ir mazliet virs desmit minūtēm?
Sīka viena vienības neprecizitāte sākotnējā kodā mēra posma garumu pār 2015 intervāliem, bet uztver to kā 2016. Ietekme ir niecīga un nekad nav mainīta, tāpēc bloki vidēji iznāk tikko virs desmit minūtēm.

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

Pieprasīt priekšskatījumu