Darbo įrodimas (PoW): Pasitikėjimo ir apsaugos nuo sukčiavimo mechanizmo skaičiavimo kaina

Pirmosios decentralizuotos kriptovaliutos pamatuose slypi mechanizmas, sukurtas instituciniam pasitikėjimui pakeisti matematiniu patvirtinimu. Prieš Bitcoin atsiradimą skaitmeninių grynųjų sistemoms kildavo kritinis pažeidžiamumas, žinomas kaip dvigubo išleidimo problema. Kadangi skaitmeninius failus lengva kopijuoti, nebuvo būdo užtikrinti, kad skaitmeninės valiutos vienetas nebūtų išleistas daugiau nei kartą be centrinės valdžios, patikrinančios sąskaitų knygą. Darbo įrodimas (PoW) tai išsprendė sukūręs sistemą, kurioje dalyvavimas tinkle reikalauja patikrinamos energijos ir skaičiavimo išteklių sąnaudų.

Šis konsensuso mechanizmas yra pagrindas kuriant objektyvią, nekeičiamą sandorių istoriją. Jis elektros energiją paverčia skaitmenine saugumu, sukuriantis barjerą, kuris daro sukčiavimą neįkainojamai brangiu. Reikalaudamas kompiuteriams spręsti sudėtingus matematinius galvosūkius, kad pasiūlytų naujus sandorių blokus, tinklas užtikrina, kad pinigų kūrimas ir perkėlimų patvirtinimas būtų susieti su realaus pasaulio sąnaudomis. Šis fizinių išteklių surišimas apsaugo nuo šlamšto ir saugo tinklą nuo atakų, kai užpuolikai gali siekti perrašyti istoriją.

Šio dizaino genialumas yra tas, kad jis leidžia decentralizuotam dalyvių tinklui susitarti dėl sąskaitų knygos būsenos nežinant ar nepasitikint vienas kitu. Nėra banko vadovo ar administratoriaus. Užuot tai daręs, protokolo taisyklės nurodo, kad blokų grandinė su didžiausiu sukauptu darbu yra galiojanti. Ši paprasta taisyklė leidžia tūkstančiams nepriklausomų mazgų visame pasaulyje išlikti puikioje sinchronizacijoje, palaikant atvirą, be sienų ir atsparią cenzūrai finansinę sistemą.

Darbo įrodimo mechanika

„Darbo įrodimas“ terminas reiškia reikalavimą, kad paslaugos užklausa atliktų tam tikrą pagrįstą darbo kiekį, kad galėtų pasiekti paslaugą. blokų grandinės kontekste šis darbas apima kasytojų varžybas sprendžiant skaičiavimu intensyvų galvosūkį. Šis procesas yra būtinas norint pridėti naujus blokus prie blokų grandinės ir palaikyti sandorių chronologinę tvarką.

Kriptografinis galvosūkis ir noncė

Pagrindinė veikla PoW sistemoje yra hašavimas. Kasytojai ima nepatvirtintų sandorių paketą, sujungia jį su ankstesnio bloko duomenimis ir prideda atsitiktinį skaičių, vadinamą „nonce“. Tada šiuos duomenis jie paleidžia per hašavimo algoritmą, pvz., SHA-256. Algoritmas sukuria fiksuoto ilgio simbolių eilutę, kuri veikia kaip skaitmeninis pirštų atspaudas tam konkrečiam duomenų rinkiniui.

Kad sėkmingai iškasti bloką, gaunamas hašas turi atitikti tinklo nustatytą specifinį sunkumo tikslą. Tai paprastai reiškia, kad hašas turi prasidėti tam tikru kiekiu pradinių nulių. Kadangi hašo funkcijos išvestis yra nenuspėjama, kasytojai negali žinoti, kuris noncė sukurs galiojantį hašą. Jie turi užsiimti bandymų ir klaidų procesu, spėliodami milijonus ar milijardus noncų per sekundę.

Šis procesas dažnai lyginamas su loterija, kur daugiau bilietų perkate – didesnės laimėjimo galimybės. Šioje analogijoje „bilietai“ yra hašo skaičiavimai, atliekami kasybos įranga. Pirmasis kasytojas, radęs noncė, generuojantį galiojantį hašą, laimi teisę pridėti naują bloką prie grandinės. Tai įrodo, kad jie išleido reikiamą skaičiavimo darbą tinklui apsaugoti.

Patvirtinimas ir konsensusas

Kai kasytojas randa sprendimą, jis transliuoja naują bloką tinkle. Kiti dalyviai, vadinami mazgais, gauna šį bloką ir nepriklausomai patikrina sprendimą. Skirtingai nei sprendimo radimas, jo patikrinimas yra paprastas ir reikalauja beveik jokių skaičiavimo galių. Mazgai tiesiog paleidžia duomenis per tą patį algoritmą, kad patvirtintų, jog rezultatas atitinka sunkumo tikslą.

Jei sprendimas galiojantis ir visi bloko sandoriai atitinka protokolo taisykles, mazgai priima bloką ir prideda jį prie savo sąskaitų knygos kopijos. Tada jie platina bloką kitiems partneriams. Šis greitas patikrinimas užtikrina, kad tinklas greitai pasiektų konsensusą. Jei kasytojas bando pateikti negaliojantį bloką ar bloką su sukčiavimo sandoriais, mazgai jį atmes, o kasytojas švaistys elektrą be atlygio.

Dvigubo išleidimo problemos sprendimas

Skaitmeninė valiuta susiduria su unikaliu iššūkiu, kurio nėra fiziniams gryniesiems. Jei paduodate kam nors fizinį dolerio banknotą, jo nebeturite. Tačiau skaitmeninė informacija iš esmės yra duomenys, kurie gali būti idealiai nukopijuoti. Be mechanizmo, apsaugančio nuo to, vartotojas galėtų siųsti skaitmeninį žetoną prekeiviui, o tada nedelsdamas siųsti tą patį žetoną kitai šaliai. Tai ir yra dvigubo išleidimo problema.

Tradicinės finansinės sistemos tai išsprendžia naudodamos centralizuotus tarpininkus, pvz., bankus. Bankas palaiko privačią sąskaitų knygą ir nuskaito lėšas iš vienos sąskaitos, kredituodamas kitą. Bitcoin pristatė būdą tai išspręsti be centrinės valdžios, naudodamas viešą, nekeičiamą sąskaitų knygą, apsaugotą darbo įrodimo.

Kai sandoris transliuojamas, jis patenka į nepatvirtintų sandorių baseiną. Kasytojai atrenka šiuos sandorius bloko kūrimui. Kai blokas iškastas ir pridėtas prie grandinės, sandoris laikomas patvirtintu. Norint dvigubai išleisti tas lėšas, užpuolikas turėtų perrašyti blokų grandinės istoriją.

Kadangi kiekvienas blokas turi nuorodą į ankstesnio bloko hašą, ankstesnio sandorio pakeitimas reikalautų to bloko ir visų vėlesnių blokų persikasinimo. Tam reikėtų milžiniško energijos kiekio, todėl užpuolikui ekonomiškai neįmanoma apversti sandorius, kai jie užkastos po pakankamai darbo.

Kasyba: Ekonomika ir paskatos

Kasyba yra naujų monetų kūrimas ir tinklo apsauga. Tai konkurencinga pramonė, kurioje pelningumas priklauso nuo elektros kainos, įrangos efektyvumo ir kriptovaliutos rinkos kainos. Paskatų struktūra sukurta taip, kad kasytojų interesai sutaptų su tinklo saugumu.

Blokų atlygiai ir perpus mažinimas

Pagrindinė kasytojų paskata yra bloko atlygis. Kai kasytojas sėkmingai išsprendžia bloką, jam leidžiama sukurti specialų sandorį, vadinamą „coinbase“ sandoriu. Šis sandoris siunčia naujai sukurtas monetas į kasytojo piniginę. Tai vienintelis būdas, kaip nauja valiuta patenka į pasiūlą, imituojant brangiųjų metalų, pvz., aukso, išgavimą.

Norint kontroliuoti infliaciją ir užtikrinti retumą, šis atlygis programiškai mažėja laikui bėgant. Maždaug kas ketverius metus, arba kas 210 000 blokų, įvyksta „perpus mažinimo“ įvykis. Tai perpus sumažina naujų monetų išleidimo tempą.

ĮvykisMetaiBloko atlygisInfliacijos poveikis
Pradžia200950 BTCPradinė platinimas
1-asis perpus mažinimas201225 BTCDėl ženklaus sumažėjimo
2-asis perpus mažinimas201612.5 BTCRinkos subrendimas
3-iasis perpus mažinimas20206.25 BTCInstitucinis įsitvirtinimas
4-asis perpus mažinimas20243.125 BTCRetumas didėja

Ši defliacinė modelis užtikrina, kad pasiūla būtų ribota. Bitcoin atveju bendra pasiūla niekada neviršys 21 milijono monetų. Mažėjant bloko atlygiui, turto retumas teoriškai didėja, kas istoriškai veikė rinkos ciklus.

Sandorių mokesčiai ir mokesčių rinka

Be bloko atlygio kasytojai uždirba sandorių mokesčius. Kiekvienas vartotojas, siunčiantis sandorį, prideda mažą mokestį, kad paskatintų kasytojus įtraukti jų pervedimą į kitą bloką. Kadangi blokai turi ribotą dydį, erdvė yra retas išteklius.

Tai sukuria mokesčių rinką. Aukštos tinklo apkrovos laikotarpiu vartotojai konkuruoja dėl vietos siūlydami didesnius mokesčius. Kasytojai, siekdami racionaliai maksimizuoti pelną, prioritizuoja sandorius su aukščiausiais mokesčiais už baitą. Kai bloko subsidija toliau mažės perpus ir galiausiai pasieks nulį, sandorių mokesčiai taps pagrindine kasytojų kompensacija, užtikrindami tinklo saugumą net po to, kai visos monetos bus nukaldintos.

Maišos greitis ir tinklo saugumas

Bendras tinklui skirtas skaičiavimo galingumas žinomas kaip maišos greitis. Tai pagrindinis darbo įrodimo blokų grandinių sveikatos rodiklis. Didesnis maišos greitis rodo, kad daugiau kasytojų dalyvauja ir išleidžia daugiau energijos sąskaitų knygai apsaugoti. Tai daro tinklą atsparesnį atakoms.

Maišos greitis matuojamas hašais per sekundę (H/s). Dėl modernių kasybos tinklų milžiniškos galios tai dažnai išreiškiama kvintilijonais ar sekstilijonais hašų per sekundę.

Vienetas Simbolis Reikšmė (Hašai/Sekundę)
Terahašas TH/s 1 trilijonas
Petahašas PH/s 1 kvadrilijonas
Ekshašas EH/s 1 kvintilijonas

PoW tinklo saugumas remiasi prielaida, kad nė viena vienintelė subjektas nekontroliuoja daugiau nei 50 % bendro maišos greičio. Jei užpuolikas įgytų 51 % kasybos galios, jis teoriškai galėtų cenzūruoti sandorius ar atlikti dvigubus išleidimus, perorganizuodamas neseniai blokų grandinės istoriją.

Tačiau augant maišos greičiui, pakankamai įrangos ir elektros įsigijimo kaina tinklui įveikti tampa neįveikiama. Šis ekonominis barjeras apsaugo sąskaitų knygos vientisumą. Stabiliems tinklams atakos kaina siektų milijardus dolerių, sunaikindama turto vertę, kurį užpuolikas siekia pakenkti.

Sunkumo koregavimo mechanizmas

Darbo įrodimo tinklai turi palaikyti nuoseklų išleidimo grafiką nepriklausomai nuo to, kiek kasytojų prisijungia ar išeina. Jei tūkstančiai naujų galingų mašinų įsijungia, galvosūkis būtų išspręstas per greitai. Priešingai, jei daug kasytojų išsijungia, blokai gali sustoti. Norint tai išspręsti, protokole yra sunkumo koregavimo mechanizmas.

Bitcoin atveju tinklas taikosi į 10 minučių vidurkį bloko radimui. Kas 2016 blokų, kas užtrunka maždaug dvi savaites, tinklas apskaičiuoja vidutinį laiką, kurio prireikė tiems blokams iškasti. Jei blokai iškastas per greitai, galvosūkio sunkumas didėja, reikalaujant daugiau skaičiavimo darbo galiojančiam hašui rasti. Jei blokai iškastas per lėtai, sunkumas mažėja.

Šis savireguliuojantis termostatas užtikrina, kad tinklas išliktų stabilus ir naujos valiutos išleidimas būtų nuspėjamas. Jis atskiria turto gamybą nuo jam skirtų išteklių. Auksokasyboje daugiau įrangos paprastai reiškia daugiau aukso. Bitcoin kasyboje daugiau įrangos tiesiog reiškia didesnį sunkumą, laikant pasiūlos srautą pastovų.

Mazgų vaidmuo konsense

Kol kasytojai kuria blokus, mazgai vykdo taisykles. Bitcoin mazgas yra kompiuteris, paleidžiantis programinę įrangą, kuri palaiko blokų grandinės kopiją ir patikrina sandorius. Mazgai yra galutinis tiesos arbitravimas tinkle. Jie veikia kaip imuninė sistema, atmesdami bet kokį bloką, pažeidžiantį protokolą, net jei tas blokas turi pakankamai darbo įrodimo.

Yra skirtingi mazgų tipai su skirtingomis atsakomybėmis. Pilni mazgai atsisiunčia ir patikrina kiekvieną sandorį ir bloką nuo grandinės pradžios. Jie patikrina, ar siuntėjas turi pakankamai lėšų, ar skaitmeninės parašai teisingi ir ar neįvyko dvigubas išleidimas.

Mazgo tipas Funkcija Saugojimo poreikiai
Pilnas mazgas Patikrina visas taisykles ir istoriją Aukšti
Apgenėtas mazgas Patikrina viską, saugo tik neseniai Vidutiniai
Lengvas mazgas Patikrina antraštes, pasitiki pilnais mazgais Maži

Kasytojų ir mazgų sąveika sukuria patikrinimų ir pusiausvyrų sistemą. Kasytojai gamina blokus, bet negali keisti taisyklių. Jei kasytojai bandytų padidinti bloko atlygį ar išleisti daugiau monetų nei leidžiama, pilni mazgai tiesiog ignoruotų jų blokus. Tai užtikrina, kad jokia grupė, nepaisant jų skaičiavimo galios, negali primesti nepageidaujamų pakeitimų tinklui.

Mempool: Sandorių laukiamoji salė

Prieš sandoriui patenkant į bloką, jis lieka laikinoje paruošimo zonoje, vadinamoje mempool (atminties baseinu). Mempool nėra viena centralizuota eilė, o vietinė duomenų struktūra, kurią turi kiekvienas mazgas. Kai vartotojas transliuoja sandorį, jis plinta tinklu ir patenka į įvairių mazgų mempool.

Kasytojai mempool mato kaip galimos pajamos meniu. Kadangi jie negali įtraukti visų laukiančių sandorių į vieną bloką dėl dydžio ribų, jie atrenka pagal pelningumą. Tai paprastai reiškia pasirinkimą sandorių su aukščiausiais mokesčių tarifais (satoshiai už baitą).

Jei mempool užsikemša sandorių atsargomis, reikalingas mokestis į kitą bloką didėja. Vartotojai, mokantys mažus mokesčius, gali matyti savo sandorius mempool esant valandas ar net dienas, kol srautas sumažės. Ši dinamika užtikrina, kad bloko erdvė efektyviai paskirstoma tiems, kurie ją labiausiai vertina bet kuriuo metu.

Jei sandoris per ilgai lieka mempool be atrankos, mazgai galiausiai jį pašalina, kad atlaisvintų atmintį. Tokiu atveju lėšos faktiškai grįžta į siuntėjo piniginę, nes sandoris niekada neįvyko blokų grandinėje.

Bitcoin Script ir sandorio logika

Kiekvieno sandorio širdyje yra scenarijų kalba, diktuojanti, kaip lėšos gali būti išleistos. Bitcoin Script yra pagrįsta steko kalba, tyčia paprasta. Ji nėra Turingo kompleksiška, tai reiškia, kad neturi ciklų ir sudėtingų logikos galimybių, esančių bendrose programavimo kalbose. Šis apribojimas yra saugumo savybė, neleidžianti begaliniams ciklais, kurie galėtų sugriauti tinklą.

Užrakinimo ir atrakinimo scenarijai

Kai sandoris sukuria išvestį, jis naudoja „užrakinimo scenarijų“ (ScriptPubKey), kad apkrautų lėšas. Šis scenarijus iš esmės sako: „šios lėšos gali būti išleistos tik tam tikru skaitmeniniu parašu pateikusiam asmeniui“. Dažniausia forma yra Pay-to-Public-Key-Hash (P2PKH), kuri užrakina lėšas prie specifinio adreso.

Norint vėliau išleisti šias lėšas, savininkas turi pateikti „atrakinimo scenarijų“ (ScriptSig) naujame sandoryje. Tai apima jų viešąjį raktą ir skaitmeninį parašą, sukurtą su jų privačiu raktu. Tinklas sujungia šiuos scenarijus ir juos vykdo. Jei rezultatas yra „True“, sandoris galiojantis ir lėšos perkeliamos.

Ši scenarijų kalba leidžia daugiau nei paprastus perkėlimus. Ji leidžia multisignatūrines pinigines, kur lėšoms perkelti reikia parašų iš kelių šalių. Taip pat ji palengvina antro lygio sprendimus, pvz., Lightning Network, kuriant laiko užrakintas sutartis.

Energijos suvartojimas kaip gynyba

Vienas labiausiai diskutuojamų darbo įrodimo aspektų yra energijos suvartojimas. Kritikai dažnai nurodo kasybos tinklų elektros naudojimą kaip švaistymą. Tačiau šalininkai teigia, kad šis energijos naudojimas nėra klaida, o pagrindinė savybė. Energijos suvartojimas reprezentuoja „nepadirbtiną brangumą“, reikalingą sąskaitų knygai apsaugoti.

Prijungdamas skaitmeninio tinklo saugumą prie fizinių energijos išteklių, PoW sukuria apčiuopiamą piktybiško elgesio kainą. Jei patvirtinimas būtų nemokamas ar pigus, tinklo šlamštinimas ar netikrų istorijų kūrimas būtų lengvas. Reikalavimas deginti elektrą užtikrina, kad rašymas į sąskaitų knygą būtų brangus, o skaitymas iš jos – nemokamas.

Ši energija sukuria kriptografinio darbo sieną, apsaugančią trilijonus dolerių vertės, saugomos tinkle. Kasytojų efektyvumas nuolat gerėja, ieškant pigiausių energijos šaltinių, dažnai naudojant atliekines ar atsinaujinančias energijos šaltinius, kurie kitaip būtų švaistomi.

Mastelis ir 2 lygio sprendimai

Kol darbo įrodimas teikia patikimą saugumą, jis turi kompromisų dėl mastelio. Kiekvieno sandorio transliavimas kiekvienam mazgui ir laukimas 10 minučių blokų intervalų riboja sandorių kiekį, kurį bazinis sluoksnis gali apdoroti per sekundę. Tai gali sukelti aukštus mokesčius piko metu, darant mažus mokėjimus nepraktiškais.

Norint tai išspręsti, kūrėjai pastatė 2 lygio sprendimus ant pagrindinės blokų grandinės. Ryškiausias pavyzdys yra Lightning Network. Ši sistema naudoja išmaniąsias sutartis (per Bitcoin Script), kad atidarytų mokėjimo kanalus tarp vartotojų.

Sandoriai Lightning Network vyksta ne grandinėje. Jie akimirksniu ir su nežymiais mokesčiais, nes nereikalauja kasytojų patvirtinimo kiekvienam atskirame mokėjime. Tik pradinis ir galutinis likučiai įrašomi pagrindinėje PoW blokų grandinėje. Tai leidžia tinklui mastelintis iki milijonų sandorių per sekundę, vis dar remiantis pagrindinio darbo įrodimo sluoksnio saugumu galutiniam atsiskaitymui.

Išvada

Darbo įrodimas reprezentuoja fundamentalų pasikeitimą, kaip pasitikėjimas kuriamas skaitmeninėje visuomenėje. Pakeisdamas centralizuotus tarpininkus decentralizuota matematine tiesos konkurencija, jis išsprendžia dvigubo išleidimo problemą ir leidžia cenzūrai atsparią vertės perkėlimą. Sistema remiasi subtiliu paskatų balansu, kur kasytojai apdovanojami už sąžiningumą ir baudžiami už sukčiavimo bandymus per apčiuopiamą energijos kainą.

Nors mechanizmas yra energijos intensyvus, šios išlaidos teikia negaliojantį saugumą, suteikiantį tinklui vertę. Per sunkumo koregavimus, perpus mažinimo įvykius ir mazgų budrumą, sistema išlieka savireguliuojanti ir patikima. Kai ekosistema evoliucionuoja su 2 lygio sprendimais, darbo įrodimas toliau tarnauja kaip saugus inkaras naujai globaliai finansinei infrastruktūrai.

Darbo įrodimas energiją paverčia tiesa, užtikrindamas, kad skaitmeniniai pinigai išlieka saugūs, reti ir niekam nekontroliuojami.