BIKENZO

Razložen dokaz o delu: kako Bitcoin doseže konsenz

Dokaz o delu je postopek, pri katerem Bitcoinovi rudarji večkrat izračunavajo zgoščene vrednosti (hash) kandidatnih blokov, dokler eden ne doseže cilja težavnosti, nato pa omrežje sledi veljavni verigi z največ nakopičenega dela — s čimer postane ekonomsko drago prepisati zgodovino in omogoča neznancem, da se dogovorijo o eni skupni knjigi transakcij brez osrednje avtoritete.

Bitcoinov osnovni problem je na videz preprost: kako se tisoči računalnikov, ki se med seboj ne poznajo in si ne zaupajo, dogovorijo o enotnem, urejenem zapisu o tem, kdo je lastnik česa — brez banke, brez strežnika in brez sodnika? Dokaz o delu je Bitcoinov odgovor. Gre za mehanizem, ki elektriko in računalniško strojno opremo spremeni v strošek za predlaganje novih blokov, ter za pravilo, ki vsakomur omogoča, da samostojno prepozna "pravo" verigo. Ta članek pojasnjuje, kaj dokaz o delu dejansko izračunava, kako ustvarja konsenz in zakaj je to ureditev težko napasti. To je izobraževalni kontekst, ne nasvet.

Problem, ki ga dokaz o delu rešuje

Digitalno knjigo transakcij je enostavno kopirati in enostavno urejati. Če bi lahko kdorkoli prosto dodajal transakcije, bi lahko iste kovance porabil tudi dvakrat — klasičen problem "dvojne porabe". V sistemu brez osrednjega upravljavca potrebujete način, da se neodvisni udeleženci dogovorijo, katere transakcije so se zgodile in v kakšnem vrstnem redu, tudi kadar so nekateri med njimi nepošteni ali brez povezave.

Zgodnejši poskusi digitalnega denarja so se zanašali na zaupanja vredno stranko, ki je vodila knjige. Bitcoinova zasnova, opisana v beli knjigi iz leta 2008, je to zaupanja vredno stranko nadomestila z javnim tekmovanjem: udeleženci porabijo resnične vire za pripenjanje blokov, omrežje pa sledi skupnemu pravilu za izbiro zmagovalne verige. Konsenz izhaja iz stroška in matematike namesto iz avtoritete.

Kaj rudarji dejansko izračunavajo

Vsak kandidatni blok vsebuje sklop transakcij, sklic na prejšnji blok in majhno spremenljivo število, imenovano nonce. Rudarji te podatke poženejo skozi zgoščevalno funkcijo SHA-256, ki vsak vhod spremeni v izhod fiksne dolžine, ki je videti nepredvidljiv. Cilj je najti vhod, ki ustvari zgoščeno vrednost pod določeno ciljno vrednostjo — v praksi zgoščeno vrednost, ki se začne z določenim številom ničel.

Ker izhodov zgoščevanja ni mogoče napovedati ali obratno izračunati, je edini način za iskanje ustrezne zgoščene vrednosti poskušanje in napaka: spremeni nonce, ponovno izračunaj zgoščeno vrednost, ponovi, milijardokrat na sekundo. To iskanje z grobo silo je "delo". Namerno ga je težko opraviti, a je za kogarkoli drugega trivialno preveriti — en sam izračun zgoščene vrednosti potrdi, da je odgovor veljaven. Ta asimetrija (težko ustvariti, enostavno preveriti) je srce dokaza o delu.

Težavnost in približno desetminutni ritem

Bitcoin cilja na nov blok v povprečju približno vsakih deset minut. Ko se omrežju pridruži več računalniške moči (hash rate), bi bloki načeloma prihajali hitreje, zato protokol občasno prilagodi težavnost — kako nizka mora biti ciljna zgoščena vrednost — da ohrani stabilen povprečen tempo. Približno vsaka dva tedna (2.016 blokov) vsako vozlišče ponovno izračuna težavnost na podlagi nedavnih časov blokov.

To samoprilagajanje je razlog, zakaj več rudarske moči sčasoma ne pomeni hitrejše proizvodnje blokov; pomeni predvsem, da se porabi več dela za zavarovanje istega stabilnega toka blokov. Natančen čas posameznega bloka je naključen, zato je deset minut dolgoročno povprečje in ne urnik.

Od blokov do konsenza: najdaljša veljavna veriga

Najdba veljavnega bloka je le polovica zgodbe. Vozlišča se morajo še vedno dogovoriti o eni zgodovini, kadar dva rudarja najdeta bloka skoraj v istem trenutku. Pravilo je, da vozlišča sledijo veljavni verigi z največjo skupno nakopičeno količino dokaza o delu — kar se pogosto povzame kot "najdaljša veriga", čeprav je dejansko najtežja po kumulativnem delu.

Vsako polno vozlišče neodvisno preveri vsak blok glede na Bitcoinova pravila: veljavne podpise, brez dvojne porabe, pravilno nagrado za blok in zgoščeno vrednost, ki dosega cilj. Bloki, ki kršijo pravila, so preprosto zavrnjeni, ne glede na to, koliko dela je bilo vloženega vanje. Začasna nesoglasja (razvejitve) se razrešijo, ko naslednji blok podaljša eno vejo, in pošteni rudarji se poenotijo okoli nje, ker se gradnja na sprejeti verigi izplača.

Zakaj to zavaruje omrežje

Za prepis pretekle transakcije bi moral napadalec ponovno opraviti dokaz o delu za tisti blok in vsak blok za njim, nato pa prehiteti celotno pošteno omrežje, da bi zgradil daljšo verigo. Globlje kot je transakcija zakopana, več dela bi bilo treba ponoviti — zato trgovci pogosto počakajo na več potrditev. Strošek narašča s skupno računsko močjo omrežja (hash rate).

To je intuicija za "napadom 51 %": nadzor nad večino računske moči bi lahko nekomu omogočil, da preuredi ali cenzurira nedavne transakcije. Vendar je pridobitev in zagon takšne strojne opreme draga, ne more ponarediti podpisov ali neposredno ukrasti kovancev, viden napad pa bi lahko spodkopal vrednost prav tistega sredstva, za rudarjenje katerega napadalec porablja vire. Spodbude so poravnane tako, da je pošteno sodelovanje na splošno bolj donosno kot napadanje. Varnost je tukaj ekonomska in verjetnostna, ne absolutno zagotovilo.

Kompromisi in širša razprava

Prednost dokaza o delu — resničen, zunanji strošek — je hkrati tudi vir njegove najpogostejše kritike: poraba energije. Ocene Bitcoinove porabe elektrike se močno razlikujejo in se spreminjajo skozi čas, sliko pa dodatno zaplete naraščajoč delež nedostopne, presežne ali obnovljive energije, ki jo uporabljajo nekateri rudarji. Razumni ljudje se ne strinjajo in podrobnosti se spreminjajo; smiselno je preverjati aktualne, verodostojne vire namesto katere koli posamezne številke.

Alternativne zasnove konsenza, kot je dokaz o deležu (proof of stake), zavarujejo nekatera druga omrežja z veliko manj energije, saj namesto računanja uporabljajo ekonomsko zavarovanje. Vključujejo drugačne predpostavke in kompromise, njihova poštena primerjava pa je tema zase. Za Bitcoin natančneje ostaja mehanizem dokaz o delu, njegova varnost in razpored izdaje pa sta vezana nanj.

FAQ

Kaj je dokaz o delu s preprostimi besedami?
Gre za sistem, v katerem računalniki tekmujejo pri reševanju težke, naključne ugankarske uganke, tako da poganjajo podatke skozi zgoščevalno funkcijo, dokler ne najdejo ustreznega rezultata. Uganko je drago rešiti, a jo je vsem drugim enostavno preveriti, kar omogoča omrežju neznancev, da se dogovori o novih blokih, ne da bi si zaupali.
Kako dokaz o delu preprečuje dvojno porabo?
Transakcije so urejene znotraj blokov, omrežje pa sledi veljavni verigi z največ nakopičenega dela. Za dvakratno porabo istih kovancev bi moral napadalec ponovno opraviti delo za ustrezni blok in prehiteti celotno pošteno omrežje — kar postane nedopustno drago, ko se kopičijo potrditve.
Je dokaz o delu isto kot rudarjenje?
Tesno sta povezana, a nista enaka. Dokaz o delu je pravilo in uganka; rudarjenje je dejavnost opravljanja tega dela — poganjanje strojne opreme za iskanje veljavnih blokov. Rudarji so ob uspehu nagrajeni z na novo izdanimi bitcoini in transakcijskimi provizijami.
Kaj je napad 51 %?
Opisuje scenarij, v katerem ena sama stranka nadzoruje več kot polovico računske moči omrežja, kar ji morda omogoča preurejanje ali blokiranje nedavnih transakcij. Ne more ponarejati podpisov ali krasti obstoječih kovancev, je pa drag in samouničevalen, saj bi uspešen napad lahko poškodoval vrednost tistega, kar napadalec rudari.
Zakaj Bitcoin porablja toliko energije?
Poraba energije je namerna: resnični strošek je tisto, kar naredi prepisovanje zgodovine drago, kar je vir varnosti. Ocene skupne porabe se razlikujejo in se spreminjajo skozi čas, delež presežne ali obnovljive energije pa se razlikuje po regijah — številke je najbolje preveriti pri aktualnih, verodostojnih virih.
Kako je dokaz o delu povezan z likvidnostnim terminalom, kot je BIKENZO?
Ne spremeni tega, kako berete tržne podatke, pomaga pa pojasniti, kaj Bitcoin je: omrežje, zavarovano z delom, ne podjetje. BIKENZO je podatkovno orodje, ki za kontekst izrisuje globalni indeks likvidnosti (Global Liquidity Index) glede na ceno Bitcoina; razumevanje dokaza o delu je ozadje, terminal pa preprosto prikazuje tržni kontekst. Ponuja kontekst, ne nasvet — vi se odločite.

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

Zahtevajte predogled