Avaleht
Artiklid
Mis on töötÔendus (Proof of Work - PoW)?

Mis on töötÔendus (Proof of Work - PoW)?

Keskmine
Avaldatud Dec 6, 2018VĂ€rskendatud Apr 18, 2024
10m

VÔtmepunktid

  • TöötĂ”endus (PoW - Proof of Work) on konsensusmehhanism, mis on loodud selleks, et vĂ€ltida topeltkulusid digitaalsetes maksesĂŒsteemides.

  • PoW on kaevandamisprotsessi vĂ”tmeosa, mis hĂ”lmab uute tehinguplokkide lisamist plokiahelasse ja uute krĂŒptorahaĂŒhikute loomist.

  • Bitcoin ja paljud teised krĂŒptorahad kasutavad PoW-d oma plokiahela vĂ”rgu ja andmete turvamiseks.

Sissejuhatus

LĂŒhidalt on töötĂ”endus (PoW) mehhanism, mis on loodud selleks, et vĂ€ltida topeltkulusid digitaalsetes maksesĂŒsteemides. Bitcoin ja paljud teised krĂŒptorahad kasutavad PoW-d oma plokiahela vĂ”rgu ja andmete turvamiseks. Selliseid mehhanisme nimetatakse sageli konsensusalgoritmideks vĂ”i konsensusmehhanismideks, kuna need hĂ”lmavad mitut osapoolt, kes saavutavad konsensuse, ilma et oleks vaja ĂŒksteist usaldada.

TöötĂ”endus oli esimene konsensusalgoritm, mis ilmus ja see on endiselt ĂŒks olulisemaid koos panuse tĂ”endusega (PoS - Proof of Stake). TöötĂ”endust tutvustas Satoshi Nakamoto 2008. aasta Bitcoini valges raamatus, kuid tehnoloogia ise loodi juba palju varem.

Adam Backi HashCash on varajane nĂ€ide töötĂ”enduse algoritmist krĂŒptorahaeelsetel aegadel. NĂ”udes saatjatelt enne e-kirjade saatmist vĂ€ikest arvutustööd, vĂ”ivad vastuvĂ”tjad rĂ€mpsposti vĂ€hendada. See arvutus ei maksaks legitiimsele saatjale praktiliselt midagi, kuid jookseb kiiresti kokku, kui keegi saadab massiliselt e-kirju.

Mis on topeltkulutus?

Topeltkulutus tekib siis, kui samu vahendeid kulutatakse rohkem kui ĂŒks kord. Seda terminit kasutatakse peaaegu eranditult digitaalse raha kontekstis – lĂ”ppude lĂ”puks on raske kaks korda sama fĂŒĂŒsilist raha kulutada. 

TĂ€na kohvi eest tasudes annad sularaha ĂŒle kassapidajale, kes selle tĂ”enĂ€oliselt registrisse lukustab. Ei saa minna ĂŒle tee asuvasse kohvikusse ja maksta sama arvega teise kohvi eest. Digitaalsetes rahasĂŒsteemides on aga vĂ”imalus, et seda saab teha. 

Enne kopeerimis- ja kleepimiskĂ€skude kasutamist oled kindlasti arvutifaili dubleerinud. Samuti on lihtne sama faili saata kĂŒmnetele inimestele. Kuna digitaalne raha on lihtsalt andmed, tuleb takistada inimesi topeltkulutamist, st samade ĂŒhikute kopeerimist ja kulutamist eri kohtades. Digitaalne maksesĂŒsteem, mis ei suuda vĂ€ltida topeltkulutusi, kukub hetkega kokku.

Topeltkulutustest pĂ”hjalikuma ĂŒlevaate saamiseks loe artiklit Topeltkulutuse seletus.

Miks on töötÔendus vajalik?

Kui oled lugenud meie artiklit plokiahela tehnoloogia kohta, siis tead, et krĂŒptoraha kasutajad edastavad vĂ”rku pidevalt tehinguid. Neid tehinguid ei peeta siiski kohe kehtivaks. See juhtub ainult siis, kui need kinnitatakse ja plokiahelasse lisatakse.

NĂ€iteks Bitcoini plokiahel töötab avaliku tehingute andmebaasina (arvestusraamatuna), mida iga kasutaja nĂ€eb. Kujuta ette seda nii: sul ja kolmel sĂ”bral on mĂ€rkmik sinu bitcoini tehingute jĂ€lgimiseks. Iga kord, kui keegi teist soovib vÀÀrtust ĂŒle kanda, kirjutate selle ĂŒles:

Alice maksab Bobile 5 BTC; Bob maksab Carolile 2 BTC-d jne.

Kuid iga kord, kui teete tehingu, viitate tehingule, kust raha tuli. Seega, kui Bob maksaks Carolile 2 BTC-ga, nÀeks sissekanne tegelikult vÀlja jÀrgmiselt: 

Bob maksab Carolile 2 BTC-d, mis pÀrinesid sellest varasemast tehingust Alice'iga.

NĂŒĂŒd on meil viis BTC ĂŒhikute jĂ€lgimiseks. Kui Bob ĂŒritab teha uue tehingu, kasutades sama 2 BTC-d, mille ta just Carolile saatis, saavad kĂ”ik sellest kohe teada. Grupp ei luba tehingut mĂ€rkmikusse lisada, kuna need 2 BTC-d on juba kulutatud.

See vĂ”ib vĂ€ikeses rĂŒhmas hĂ€sti toimida. KĂ”ik tunnevad ĂŒksteist, nii et tĂ”enĂ€oliselt lepivad nad kokku, kes sĂ”pradest peaks mĂ€rkmikusse tehinguid lisama. Mis siis, kui tahame 10 000 osalejaga rĂŒhma? MĂ€rkmiku idee ei skaleeru hĂ€sti, sest keegi ei taha usaldada vÔÔrast inimest seda haldama.

Siin tulebki mĂ€ngu töötĂ”endus. See tagab, et kasutajad ei kuluta raha, mida neil pole Ă”igust kulutada. Kasutades mĂ€nguteooria ja krĂŒptograafia kombinatsiooni, vĂ”imaldab PoW-algoritm igaĂŒhel plokiahelat uuendada vastavalt sĂŒsteemi reeglitele.

Kuidas töötÔendus toimib?

Kujuta ette, et meie ĂŒlaltoodud nĂ€ite mĂ€rkmik on plokiahel. Kuid me ei lisa tehinguid ĂŒkshaaval, vaid koondame need plokkidesse. Me teatame tehingutest vĂ”rku, seejĂ€rel lisavad plokki loovad kasutajad need kandidaatplokki. Tehinguid loetakse kehtivaks alles siis, kui nende kandidaatplokk muutub kinnitatud plokiks, mis tĂ€hendab, et see on plokiahelasse lisatud.

Tehingute kinnitamise ja uute plokkide lisamise protsessi nimetatakse kaevandamiseks. See on kallis ja raske, kuid see vÔib olla ka tulus. Ploki tasu koosneb kasutajate tehingutasudest ja protokolliga loodud uhiuutest bitcoinidest. 

TöötÔenduse mehhanism nÔuab, et kaevandaja (ploki loov kasutaja) investeeriks ressursse, nagu elekter ja arvutusvÔimsus, et rÀsida oma kandidaatploki andmeid, kuni mÔistatusele lahendus leitakse.

Ploki andmete rĂ€simine tĂ€hendab, et need lastakse lĂ€bi rĂ€sifunktsiooni, et genereerida ploki rĂ€si. Ploki rĂ€si toimib nagu "sĂ”rmejĂ€lg" – see on sinu sisendandmete identiteet ja on iga ploki jaoks ainulaadne.

TeisisÔnu peab kaevandaja kontrollima ja koguma ootel olevaid tehinguid, korraldama need kandidaatplokkidesse ja edastama ploki andmed lÀbi rÀsifunktsiooni, et luua kehtiv rÀsi. Kui neil Ônnestub leida oma kandidaatplokile kehtiv rÀsi, edastavad nad selle vÔrku, lisavad ploki plokiahelasse ja koguvad kaevandamise tasu.

Kui kaevandaja edastab oma kandidaatploki ja rÀsi vÔrku, kordavad teised vÔrgus osalejad rÀsiprotsessi, et kontrollida, kas vÀljund on tÔesti kehtiv. 

Kuigi kehtiva rĂ€si leidmiseks kulub lugematu arv rĂ€sikatseid, on igaĂŒhe jaoks triviaalne kinnitada, et loodud rĂ€si on Ă”ige. Nad peavad lihtsalt rĂ€sifunktsiooni kaudu esitama sama sisendi (ploki andmed) ja kontrollima, kas vĂ€ljund on sama.

TöötĂ”enduses peab esitama andmed, mille rĂ€si vastab teatud tingimustele. Aga kuidas sinna jĂ”uda, see pole teada. Ainus vĂ”imalus on edastada andmed lĂ€bi rĂ€sifunktsiooni ja kontrollida, kas need vastavad tingimustele. Kui seda ei juhtu, peab erineva rĂ€si saamiseks andmeid veidi muutma. Andmetes kasvĂ”i ĂŒhe mĂ€rgi muutmine annab tĂ€iesti teistsuguse tulemuse, nii et pole vĂ”imalik ennustada, milline vĂ€ljund vĂ”ib olla.

Selle tulemusena, on ploki loomiseks vaja mÀngida ÀraarvamismÀngu. Tavaliselt vÔetakse teave kÔigi tehingute kohta, mida soovitakse lisada ja veel teisi olulisi andmeid ning seejÀrel rÀsitakse need kokku. Kuid kuna andmestik ei muutu, on vaja lisada muutuvat teavet. Vastasel juhul saadaks vÀljundina alati sama rÀsi. Neid muutujaandmeid nimetatakse nonsiks. See on number, mida muudetakse iga katsega, nii et iga kord saadakse erinev rÀsi.

KokkuvÔtteks vÔib öelda, et kaevandamine on protsess, mille kÀigus kogutakse plokiahela andmeid ja rÀsitakse need koos rÀsimÀrgiga, kuni leitakse konkreetse rÀsi. Kes leiab rÀsi, mis vastab protokollis sÀtestatud tingimustele, saab Ôiguse uue ploki vÔrku levitada. Sel hetkel vÀrskendavad teised vÔrgus osalejad oma plokiahelaid, et lisada uus plokk.

TĂ€napĂ€eva suuremate krĂŒptorahade jaoks on tingimuste tĂ€itmine uskumatult keeruline. Mida kĂ”rgem on vĂ”rgu rĂ€simÀÀr, seda keerulisem on kehtivat rĂ€si leida. Seda tehakse selleks, et plokke liiga kiiresti ei leitaks.

Nagu vĂ”id ette kujutada, vĂ”ib suurte rĂ€sikoguste Ă€ra arvamine sinu arvutis osutuda kulukaks. Sa raiskad arvutustsĂŒkleid ja elektrit. Kuid protokoll premeerib sind krĂŒptorahaga, kui leiad kehtiva rĂ€si.

VÔtame kokku, mida me seni teame:

  • Kaevandamine on vĂ”rgu turvalisuse seisukohalt ĂŒliolulise tĂ€htsusega.

  • Kaevandajaid, kellel Ă”nnestub toota kehtiv plokk, premeeritakse Ă€sja emiteeritud krĂŒptoraha ja tehingutasudega.

  • Kehtiva rĂ€si genereerimine vĂ”tab aega, kuid teised kasutajad saavad rĂ€siprotsessi korrates hĂ”lpsasti selle kehtivust kontrollida.

Siiamaani on kÔik korras. Aga mis siis, kui proovid petta? Mis takistab sind plokki panemast hunnikut petturlikke tehinguid ja tootmast kehtivat rÀsi?

Siin tulebki mĂ€ngu avaliku vĂ”tmega krĂŒptograafia. Selles artiklis me sellesse ei sĂŒvene, kuid loe artiklit „Mis on avaliku vĂ”tmega krĂŒptograafia?“, et sellega pĂ”hjalikult tutvuda. LĂŒhidalt öeldes on olemas mĂ”ned osavad krĂŒptograafilised nipid, mis vĂ”imaldavad igal kasutajal kontrollida, kas kellelgi on Ă”igus liigutada raha, mida nad ĂŒritavad kulutada.

Tehingu loomisel sa allkirjastad selle. VĂ”rgus saab igaĂŒks vĂ”rrelda sinu allkirja sinu avaliku vĂ”tmega ja kontrollida, kas need ĂŒhtivad. Samuti kontrollivad nad, kas saad oma raha tegelikult kulutada ja kas sinu sisendite summa on suurem kui sinu vĂ€ljundite summa (st kas sa ei kuluta rohkem, kui sul on).

VĂ”rk lĂŒkkab automaatselt tagasi kĂ”ik plokid, mis sisaldavad kehtetut tehingut. Isegi ĂŒritamine petta lĂ€heb sinu jaoks kalliks maksma. Raiskad oma ressursse ilma preemiat saamata.

Selles peitubki töötĂ”enduse ilu: see muudab petmise kulukaks, kuid ausa tegutsemise tulusaks. Iga ratsionaalne kaevandaja pĂŒĂŒdleb oma investeeringu tasuvuse poole, seega vĂ”ib eeldada, et nad kĂ€ituvad viisil, mis toob suurema tĂ”enĂ€osusega tulu.

TöötÔendus (PoW) vs. panuse tÔendus (PoS)

Peale PoW on palju konsensusalgoritme, kuid ĂŒks populaarsemaid on panuse tĂ”endus (PoS). Kontseptsioon pĂ€rineb aastast 2011 ja seda on rakendatud Ethereumis ja mitmetes teistes protokollides.

Panuse tĂ”enduse sĂŒsteemides asendatakse kaevandajad valideerijatega. Sellega ei kaasne kaevandamist ega vĂ”idujooksu rĂ€si mĂ”istatamiseks. Selle asemel valitakse kasutajad juhuslikult – kui nad valitakse, peavad nad vĂ€lja pakkuma (vĂ”i „sepistama“) ploki. Kui plokk on kehtiv, saavad nad preemiat, mis koosneb ploki tehingutasudest.

Valida ei saa aga ĂŒkskĂ”ik millist kasutajat – protokoll valib nad mitme teguri pĂ”hjal. Osalemiseks peavad osalejad lukustama panuse, mis on ettemÀÀratud summa plokiahela natiivsest rahast. Panus toimib nagu kautsjon: nii nagu sĂŒĂŒdistatavad panevad suure rahasumma, et takistada neil kohtuistungit vahele jĂ€tmast, lukustavad valideerijad panuse, et vĂ€listada petmist. Kui nad kĂ€ituvad ebaausalt, vĂ”etakse nende panus (vĂ”i osa sellest) Ă€ra.

Panuse tĂ”endusel on töötĂ”endusega vĂ”rreldes mĂ”ningaid eeliseid. KĂ”ige tĂ€helepanuvÀÀrsem on vĂ€iksem sĂŒsiniku jalajĂ€lg – kuna PoS-is pole vaja suure vĂ”imsusega kaevandusfarme, on tarbitav elektrienergia vaid murdosa PoW-s tarbitavast. 

Sellegi poolest pole PoS-il samad tulemused kui PoW-l. Kuigi seda vĂ”ib pidada raiskavaks, on kaevandamine ainus konsensusalgoritm, mida on ĂŒle kĂŒmne aasta testitud. Alates selle kĂ€ivitamisest on Bitcoini PoW taganud triljonite dollarite vÀÀrtuses tehinguid. Et kindlalt vĂ€ita, kas PoS suudab oma turvalisusega konkureerida, tuleb panustamist korralikult pikas perspektiivis testida.

LÔppmÀrkused

TöötĂ”endus oli algne lahendus topeltkulutamise probleemile ning see on osutunud usaldusvÀÀrseks ja turvaliseks. Bitcoin tĂ”estas, et me ei vaja tsentraliseeritud ĂŒksusi, et vĂ€ltida samade vahendite kahekordset kulutamist. KrĂŒptograafia, rĂ€sifunktsioonide ja mĂ€nguteooria nutika kasutamisega saavad detsentraliseeritud keskkonnas osalejad finantsandmebaasi olekus kokku leppida.

Lisalugemist

LahtiĂŒtlus: seda sisu esitatakse sellisel kujul, nagu see on, ainult ĂŒldiseks teabeks ja hariduslikel eesmĂ€rkidel, ilma igasuguse esinduse vĂ”i garantiita. Seda ei tohiks tĂ”lgendada kui finants-, juriidilist vĂ”i muud professionaalset nĂ”uannet ega soovitust konkreetse toote vĂ”i teenuse ostmiseks. Peaksid kĂŒsima nĂ”u asjakohastelt professionaalsetelt nĂ”ustajatelt. Kui artikli on koostanud kolmandast osapoolest kaastöötaja, pane tĂ€hele, et vĂ€ljendatud seisukohad kuuluvad kolmandast osapoolest kaastöötajale ja ei pruugi kajastada Binance Academy omasid. Lisateabe saamiseks loe meie tĂ€ielikku lahtiĂŒtlust siit. Digitaalsete varade hinnad vĂ”ivad olla kĂ”ikuvad. Sinu investeeringu vÀÀrtus vĂ”ib langeda vĂ”i tĂ”usta ja sa ei pruugi investeeritud summat tagasi saada. Sina vastutad ainuisikuliselt oma investeerimisotsuste eest ja Binance Academy ei vastuta vĂ”imalike kahjude eest. Seda materjali ei tohiks tĂ”lgendada finants-, juriidilise vĂ”i muu professionaalse nĂ”uandena. Lisateabe saamiseks vaata meie kasutustingimusi ja riskihoiatust.