BIKENZO

Darbo įrodymas paaiškintas: kaip Bitcoin pasiekia konsensusą

Darbo įrodymas yra procesas, kurio metu Bitcoin kasėjai pakartotinai maišo (hash) blokų kandidatus, kol vienas iš jų atitinka sudėtingumo tikslą, o tinklas paskui seka galiojančią grandinę su didžiausiu sukauptu darbu — todėl istorijos perrašymas tampa ekonomiškai brangus ir nepažįstami žmonės gali susitarti dėl vieno bendro registro be centrinės valdžios.

Pagrindinė Bitcoin problema atrodo apgaulingai paprasta: kaip tūkstančiai kompiuterių, kurie vienas kito nepažįsta ir nepasitiki, gali susitarti dėl vieno, sutvarkyto įrašo apie tai, kam kas priklauso — be banko, be serverio ir be teisėjo? Darbo įrodymas yra Bitcoin atsakymas. Tai mechanizmas, paverčiantis elektrą ir skaičiavimo įrangą kaina už naujų blokų siūlymą, ir taisyklė, leidžianti kiekvienam savarankiškai atpažinti „tikrąją“ grandinę. Šiame straipsnyje paaiškinama, ką darbo įrodymas iš tikrųjų skaičiuoja, kaip jis sukuria konsensusą ir kodėl šią sąrangą sunku užpulti. Tai edukacinis kontekstas, o ne patarimas.

Problema, kurią sprendžia darbo įrodymas

Skaitmeninį registrą lengva nukopijuoti ir lengva redaguoti. Jei kas nors galėtų laisvai pridėti operacijas, jis taip pat galėtų išleisti tas pačias monetas du kartus — klasikinė „dvigubo išleidimo“ (double-spend) problema. Sistemoje be centrinio operatoriaus reikia būdo, kaip nepriklausomi dalyviai susitartų, kurios operacijos įvyko ir kokia tvarka, net kai kai kurie iš jų yra nesąžiningi arba neprisijungę.

Ankstesni skaitmeninių pinigų bandymai rėmėsi patikimu tarpininku, kuris tvarkė apskaitą. Bitcoin sandara, aprašyta 2008 m. baltojoje knygoje, tą patikimą tarpininką pakeitė viešu konkursu: dalyviai išleidžia realius išteklius blokams pridėti, o tinklas seka bendrą taisyklę laiminčiai grandinei parinkti. Konsensusas kyla iš kainos ir matematikos, o ne iš valdžios.

Ką kasėjai iš tikrųjų skaičiuoja

Kiekvienas bloko kandidatas turi operacijų paketą, nuorodą į ankstesnį bloką ir mažą keičiamą skaičių, vadinamą nonce. Kasėjai perleidžia šiuos duomenis per SHA-256 maišos funkciją, kuri bet kokią įvestį paverčia fiksuoto ilgio, nenuspėjamai atrodančiu rezultatu. Tikslas — rasti tokią įvestį, kuri sukurtų maišą, mažesnę už tam tikrą tikslinę reikšmę — praktiškai maišą, prasidedančią tam tikru nulių skaičiumi.

Kadangi maišos rezultatų negalima nei nuspėti, nei atkurti atbuline eiga, vienintelis būdas rasti tinkamą maišą yra bandymas ir klaida: pakeisti nonce, vėl maišyti, kartoti — milijardus kartų per sekundę. Ta brutalios jėgos paieška ir yra „darbas“. Ją tyčia sunku atlikti, bet bet kam kitam nesudėtinga patikrinti — vienas maišos skaičiavimas patvirtina, kad atsakymas galioja. Ši asimetrija (sunku sukurti, lengva patikrinti) yra darbo įrodymo esmė.

Sudėtingumas ir maždaug dešimties minučių ritmas

Bitcoin siekia, kad naujas blokas atsirastų vidutiniškai maždaug kas dešimt minučių. Kai prie tinklo prisijungia daugiau skaičiavimo galios (maišos dažnio, hash rate), blokai atsirastų greičiau, todėl protokolas periodiškai koreguoja sudėtingumą — kiek žema turi būti tikslinė maiša — kad vidutinis tempas išliktų pastovus. Maždaug kas dvi savaites (2 016 blokų) kiekvienas mazgas iš naujo apskaičiuoja sudėtingumą pagal pastarųjų blokų laikus.

Būtent dėl šio savireguliavimo daugiau kasybos galios ilgainiui nereiškia greitesnės blokų gamybos; tai daugiausia reiškia, kad tam pačiam pastoviam blokų srautui apsaugoti išleidžiama daugiau darbo. Tikslus bet kurio vieno bloko laikas yra atsitiktinis, todėl dešimt minučių yra ilgalaikis vidurkis, o ne tvarkaraštis.

Nuo blokų iki konsensuso: ilgiausia galiojanti grandinė

Rasti galiojantį bloką — tik pusė reikalo. Mazgams vis tiek reikia susitarti dėl vienos istorijos, kai du kasėjai randa blokus beveik tą pačią akimirką. Taisyklė tokia: mazgai seka galiojančią grandinę su didžiausiu bendru sukauptu darbo įrodymu — dažnai apibendrinama kaip „ilgiausia grandinė“, nors iš tikrųjų tai sunkiausia pagal kaupiamąjį darbą.

Kiekvienas pilnas mazgas savarankiškai patikrina kiekvieną bloką pagal Bitcoin taisykles: galiojantys parašai, jokio dvigubo išleidimo, teisingas bloko atlygis ir maiša, atitinkanti tikslą. Taisykles pažeidžiantys blokai tiesiog atmetami, nesvarbu, kiek darbo į juos įdėta. Laikini nesutarimai (šakojimaisi, forks) išsprendžiami, kai kitas blokas pratęsia vieną šaką, o sąžiningi kasėjai prie jos susitelkia, nes atlygis slypi statant ant priimtos grandinės.

Kodėl tai apsaugo tinklą

Norėdamas perrašyti praėjusią operaciją, užpuolikas turėtų iš naujo atlikti to bloko ir kiekvieno paskesnio bloko darbo įrodymą, o paskui aplenkti visą sąžiningą tinklą, kad sukurtų ilgesnę grandinę. Kuo giliau palaidota operacija, tuo daugiau darbo tektų pakartoti — todėl prekybininkai dažnai laukia kelių patvirtinimų. Kaina auga proporcingai bendram tinklo maišos dažniui.

Tai ir yra intuicija, slypinti už „51 % atakos“: valdant daugumą maišos galios, būtų galima pertvarkyti arba cenzūruoti pastarąsias operacijas. Tačiau tokią įrangą brangu įsigyti ir eksploatuoti, ji negali suklastoti parašų ar tiesiog pavogti monetų, o matoma ataka galėtų pakenkti būtent to turto vertei, kurio kasybai užpuolikas eikvoja išteklius. Paskatos suderintos taip, kad sąžiningai dalyvauti paprastai pelningiau nei pulti. Saugumas čia yra ekonominis ir tikimybinis, o ne absoliuti garantija.

Kompromisai ir platesnės diskusijos

Darbo įrodymo stiprybė — reali, išorinė kaina — yra ir dažniausios jo kritikos šaltinis: energijos suvartojimas. Bitcoin elektros suvartojimo vertinimai labai skiriasi ir laikui bėgant kinta, o vaizdą apsunkina auganti kai kurių kasėjų naudojamos izoliuotos, perteklinės ar atsinaujinančios energijos dalis. Protingi žmonės nesutaria, o detalės kinta; verta pasitikrinti dabartinius, patikimus šaltinius, o ne pasikliauti kuriuo nors vienu skaičiumi.

Alternatyvios konsensuso sandaros, tokios kaip statymo įrodymas (proof of stake), kai kuriuos kitus tinklus apsaugo naudodamos daug mažiau energijos, nes vietoj skaičiavimų remiasi ekonomine užstatų sistema. Jos remiasi kitomis prielaidomis ir kompromisais, o sąžiningas jų palyginimas yra atskira tema. Konkrečiai Bitcoin atveju darbo įrodymas išlieka mechanizmu, o jo saugumas ir emisijos grafikas su juo susieti.

FAQ

Kas yra darbo įrodymas paprastais žodžiais?
Tai sistema, kurioje kompiuteriai varžosi spręsdami sunkią, atsitiktinę spėjimo mįslę — perleidžia duomenis per maišos funkciją, kol randa tinkamą rezultatą. Mįslę brangu išspręsti, bet visiems kitiems lengva patikrinti, o tai leidžia nepažįstamų žmonių tinklui susitarti dėl naujų blokų vienam kitu nepasitikint.
Kaip darbo įrodymas neleidžia dvigubo išleidimo?
Operacijos surikiuojamos blokuose, o tinklas seka galiojančią grandinę su didžiausiu sukauptu darbu. Norėdamas išleisti tas pačias monetas du kartus, užpuolikas turėtų iš naujo atlikti atitinkamo bloko darbą ir aplenkti visą sąžiningą tinklą — o tai tampa neįperkamai brangu, kai kaupiasi patvirtinimai.
Ar darbo įrodymas yra tas pats kas kasyba?
Jie glaudžiai susiję, bet netapatūs. Darbo įrodymas yra taisyklė ir mįslė; kasyba yra veikla, kuria tas darbas atliekamas — įrangos naudojimas galiojantiems blokams ieškoti. Pasisekus kasėjai atlyginami naujai išleistais bitkoinais ir operacijų mokesčiais.
Kas yra 51 % ataka?
Ji apibūdina scenarijų, kai viena šalis valdo daugiau nei pusę tinklo maišos galios, kas potencialiai leistų jai pertvarkyti ar blokuoti pastarąsias operacijas. Ji negali suklastoti parašų ar pavogti esamų monetų, be to, ji brangi ir nuostolinga sau pačiai, nes sėkminga ataka galėtų pakenkti to, ką užpuolikas kasa, vertei.
Kodėl Bitcoin sunaudoja tiek daug energijos?
Energijos naudojimas yra sąmoningas: būtent reali kaina istorijos perrašymą daro brangų, ir tai yra saugumo šaltinis. Bendro suvartojimo vertinimai skiriasi ir laikui bėgant kinta, o perteklinės ar atsinaujinančios energijos dalis priklauso nuo regiono — skaičius geriausia tikrinti pagal dabartinius, patikimus šaltinius.
Kaip darbo įrodymas susijęs su likvidumo terminalu, tokiu kaip BIKENZO?
Jis nekeičia, kaip skaitote rinkos duomenis, bet padeda paaiškinti, kas yra Bitcoin: darbu apsaugotas tinklas, o ne įmonė. BIKENZO yra duomenų įrankis, kuris kontekstui atvaizduoja Global Liquidity Index prieš Bitcoin kainą; darbo įrodymo supratimas yra pagrindinė žinia, o terminalas tiesiog rodo rinkos kontekstą. Jis siūlo kontekstą, o ne patarimą — jūs sprendžiate.

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

Paprašyti peržiūros