Bitcoin sudėtingumo koregavimas

Andreas HartwigEkonomikos žurnalistas ir kriptofinansų ekspertas

Maždaug kas 2016 blokų — tai yra apytiksliai kas dvi savaites — Bitcoin automatiškai perskaičiuoja kasybos sudėtingumą: pakelia jį, kai blokai randami per greitai, ir sumažina, kai jie ateina per lėtai. Taip vidutinis atstumas tarp dviejų blokų lieka arti dešimties minučių, kad ir kiek skaičiavimo galios prisidėtų ar pasitrauktų.

Bitcoin atveju joks centrinis operatorius nesprendžia, kaip sunku turi būti rasti bloką. Vietoje to protokole įtaisytas grįžtamojo ryšio kilpa: jis matuoja, kaip greitai atsirado paskutiniai blokai, ir pastumia kasybos taikinį taip, kad tempas grįžtų link vieno bloko per dešimt minučių. Šis «sudėtingumo koregavimas» yra vienas iš tyliųjų mechanizmų, kurie Bitcoin blokų taktą — o kartu ir nuspėjamą naujų monetų išleidimą — laiko nepaprastai stabilų, nors pasaulinė skaičiavimo galia išaugo daugybe eilių ir kartais smarkiai krito. Šis straipsnis paaiškina, kas yra sudėtingumas, kaip veikia koregavimas, kodėl pasirinkta dešimt minučių ir kaip sudėtingumas siejasi su maišos galia bei kaina — ir kuo nuo abiejų skiriasi.

Ką «sudėtingumas» iš tikrųjų reiškia

Kad pridėtų bloką, kasėjas vėl ir vėl maišo bloko antraštę, keisdamas reikšmę, vadinamą nonce, ir ieško rezultato, kuris nukristų žemiau skaitinės ribos, vadinamos taikiniu. Žemesnis taikinys reiškia, kad galiojančių maišos reikšmių yra mažiau, tad vidutiniškai reikia daugiau bandymų — būtent tai kasybą daro «sunkesnę».

Sudėtingumas tėra žmogui suprantamas būdas išreikšti, kaip žemai yra tas taikinys, matuojant pagal lengviausią taikinį, kokį protokolas kada nors leido (sudėtingumas 1). Tarkime, kelių trilijonų sudėtingumas reiškia, kad dabartinis taikinys yra trilijonus kartų mažesnis už tą atskaitos tašką. Mazgai taikinį išveda tiesiai iš sudėtingumo, tad abu tėra du žvilgsniai į tą patį skaičių.

2016 blokų ritmas

Bitcoin nekoreguoja po kiekvieno bloko, o perskaičiuoja kartą per 2016 blokų epochą. Esant dešimties minučių blokui, 2016 blokų turėtų užtrukti lygiai dvi savaites (20 160 minučių) — todėl sudėtingumo pokytis paprastai apibūdinamas kaip dviejų savaičių įvykis.

Kadangi intervalas skaičiuojamas blokais, o ne kalendoriniu laiku, tikrasis atstumas tarp dviejų koregavimų išsitempia, kai tinklas kasa lėtai, ir susitraukia, kai kasa greitai. Kiekvienas pilnas mazgas tą patį skaičiavimą atlieka savarankiškai ir gauna tą pačią naują reikšmę, todėl nėra dėl ko balsuoti ir ko derinti.

Skaičiavimas už kiekvieno koregavimo

Epochai baigiantis tinklas palygina, kiek paskutiniai 2016 blokų iš tikrųjų truko, su tuo, kiek turėjo trukti. Iš esmės: naujas sudėtingumas = senas sudėtingumas × (numatytas laikas ÷ faktinis laikas). Jei blokai atėjo greičiau nei tikėtasi, faktinis laikas mažesnis už numatytą ir sudėtingumas kyla; jei lėčiau — krinta.

Pokytis yra apribotas: vienas koregavimas gali sudėtingumą daugiausia keturgubinti arba nukirsti iki ketvirtadalio. Ši riba neleidžia laukinių svyravimų po laikino skaičiavimo galios antplūdžio ar žlugimo. Be to, esama senos ir nekenksmingos vieneto netikslumo: laiko tarpas matuojamas per 2015 intervalų, bet traktuojamas kaip 2016 — todėl vidutinis bloko laikas lieka per plauką virš dešimties minučių.

Kodėl dešimt minučių ir kodėl tai svarbu

Siekiamas intervalas tarp blokų yra kompromisas. Daug greitesni blokai pasaulinio masto tinkle plistų mažiau patikimai, gausindami iššvaistytą darbą ir trumpaamžius atsišakojimus; daug lėtesni blokai patvirtinimus paverstų varginamai lėtais. Dešimt minučių pasirinktos kaip atsargus vidurio kelias, paliekantis blokui laiko pasklisti po visą pasaulį, kol tikriausiai bus rastas kitas.

Būtent šio intervalo pastovumas Bitcoin išleidimo tvarkaraštį daro nuspėjamą. Kadangi kas dvi savaites iškasama apie 2016 blokų, blokų atlygį perpus mažinantis halvingas nukrenta arti numatyto ketverių metų takto, o bendra pasiūla numatomu keliu artėja prie savo 21 milijono ribos.

Sudėtingumas, maišos galia ir grįžtamasis ryšys

Kai pradeda veikti naujos kasybos mašinos, blokai randami greičiau nei kas dešimt minučių; kitas koregavimas pakelia sudėtingumą ir vėl juos pristabdo. Kai kasėjai išsijungia — dėl energijos kainų, nurašytos įrangos, sezoninės elektros padėties ar regioninių taisyklių —, blokai sulėtėja, ir kitas koregavimas sumažina sudėtingumą, kad juos pagreitintų. Sistema taisosi atgaline data; ji nežiūri į priekį.

Verta prisiminti, kad maišos galia nėra matuojama tiesiogiai: tinklas nemato, kiek mašinų dirba. Skelbiami maišos galios skaičiai yra iš sudėtingumo ir stebėtų blokų laikų išvestos sąmatos, ir kaip tik todėl trumpais tarpsniais jie triukšmingi, o geriausiai skaitomi kaip tendencija.

Ribiniai atvejai ir tai, ko sudėtingumas nepasako

Staigūs tikrojo pasaulio sukrėtimai parodo mechanizmą darbe. Kai 2021-ųjų viduryje didelis kasybos regionas iškrito iš tinklo, šis patyrė didžiausią iki tol užfiksuotą koregavimą žemyn (apie 28 %), kuris įprastus blokų laikus atkūrė jau per kitą epochą. Laiko žymų taisyklės ir keturgubinimo riba be to saugo nuo kasėjų, kurie laikrodžiu norėtų paveikti perskaičiavimą.

Sudėtingumas matuoja tinklo saugumui įdėtas pastangas ir kasybos ekonomiką — tai nei kainos signalas, nei rinkos rodiklis. Jis juda lėtais, šuoliškais žingsniais ir reaguoja į praėjusius blokų laikus, tad apie paklausą, likvidumą ar vertinimą pasako mažai. Tokie įrankiai kaip BIKENZO yra visai kitame sluoksnyje ir pateikia platesnį rinkos kontekstą, pavyzdžiui, pasaulinį likvidumo indeksą prieš Bitcoin kainą; tai makro ir rinkos kontekstas, atskirtas nuo sudėtingumo grandinės vidaus mechanikos. Abu žvilgsniai naudingi ir atsako į skirtingus klausimus.

FAQ

Kaip dažnai koreguojamas Bitcoin sudėtingumas?
Kas 2016 blokų, o tai esant dešimties minučių blokui išeina maždaug kas dvi savaites. Tikslus kalendorinis tarpas priklauso nuo to, kaip greitai blokai per epochą iš tikrųjų buvo iškasti.
Ar Bitcoin sudėtingumas gali kristi?
Taip. Jei ankstesni 2016 blokų truko ilgiau nei dvi savaites — dažniausiai todėl, kad skaičiavimo galia paliko tinklą —, kitas koregavimas sumažina sudėtingumą, kad blokai grįžtų prie dešimties minučių tikslo.
Kas nutinka, jei daug kasėjų staiga išsijungia?
Blokai randami lėčiau, o patvirtinimai užtrunka iki kito koregavimo. Tada sudėtingumas krinta ir įprastas tempas atsistato. Kraštutiniu atveju vienas koregavimas žemyn gali nukirsti sudėtingumą iki ketvirtadalio.
Ar sudėtingumas ir maišos galia yra tas pats?
Ne. Maišos galia yra visa Bitcoin kasanti skaičiavimo galia; sudėtingumas yra protokolo nuostata, dėl kurios bloką rasti sunkiau arba lengviau. Maišos galios tiesiogiai stebėti neįmanoma, todėl ji vertinama pagal sudėtingumą ir blokų laikus.
Ar sudėtingumas veikia Bitcoin kainą?
Tiesiogiai ne. Sudėtingumas reaguoja į praėjusius blokų laikus ir kasybos veiklą bei keičiasi lėtais, šuoliškais žingsniais. Jis atspindi saugumo pastangas ir kasybos ekonomiką, o ne rinkos paklausą, ir kainos neprognozuoja.
Kodėl vidutinis Bitcoin bloko laikas šiek tiek viršija dešimt minučių?
Smulkus vieneto netikslumas pirminiame kode epochos tarpą matuoja per 2015 intervalų, bet traktuoja kaip 2016. Poveikis nykstamai mažas ir niekada nebuvo keistas, tad blokai vidutiniškai iškrenta vos virš dešimties minučių.

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

Paprašyti peržiūros