Trebuie să știți: Proof of Stake – ce este în cuvinte simple. Ce este dovada muncii

Proof-of-Work și Proof-of-Stake sunt algoritmi de consens care sunt utilizați pentru a valida noi blocuri ale rețelei, precum și pentru a adăuga tranzacții la acestea. În consecință, principiul de funcționare al acestor sisteme îi afectează direct pe mineri, care decriptează blocurile 24/7. Care este diferența dintre cei doi algoritmi și care este mai profitabil din punct de vedere minier? Să luăm în considerare principiile lor de funcționare și, de asemenea, să facem o descriere comparativă.

Dovada de funcționare: principiu de funcționare

Proof-of-Work, sau PoW, așa cum este numit pe scurt, este tradus din engleză ca „dovada muncii”. De fapt, numele algoritmului însuși conține principiul funcționării acestuia. Permite rețelei să verifice dacă minerul a făcut de fapt toată munca de calcul a funcției SHA-256 sau Scrypt care stă la baza criptomonedelor.

Esența PoW este următoarea:

  • Minerul trebuie să rezolve o problemă complexă pe care doar computerele suficient de puternice o pot face.
  • Rezultatul obținut în timpul soluției ar trebui să fie ușor de verificat.

Dacă vorbim despre algoritmul proof-of-work, în special în contextul criptomonedelor, acesta permite nodurilor (puteți afla ce sunt nodurile și cum funcționează ele) să verifice munca minerilor, precum și fiabilitatea lor. calculele.

Acest mecanism stimulează comunitatea de mineri să își modernizeze în mod constant echipamentele miniere, deoarece complexitatea rețelei este în continuă creștere, astfel, puterea totală de calcul din rețeaua Bitcoin a depășit-o deja în 2012 pe cea a celui mai modern supercomputer.

Este de remarcat faptul că nevoia de modernizare din punctul de vedere al minerilor este nu atât un avantaj, cât un dezavantaj. La urma urmei, actualizarea constantă a echipamentelor necesită costuri financiare mari, ceea ce îi scoate pe unii jucători de pe piață.

Dovada mizei: principiumuncă

Până în 2012, PoW a fost singurul algoritm folosit în criptomonede, dar la orizont a apărut un concurent. A devenit algoritmul Proof-of-Stake sau PoS, care tradus din engleză înseamnă „verificarea mizei”. Structura funcționării sale este fundamental diferită de „dovada mizei”. Dacă în primul algoritm puterea de calcul a fost folosită pentru a crește prioritatea în rețea, atunci în cazul PoS, rolul principal este jucat de numărul de monede din portofel.

Adică, pentru a-ți crește șansele de a fi primul care decriptează un bloc, trebuie să păstrezi în portofel cel mai mare număr posibil de monede din criptomoneda pe care o extragi. Pe de o parte, această abordare este foarte benefică pentru mineri, deoarece aceștia nu mai au nevoie să-și actualizeze echipamentele, să risipească o cantitate mare de energie electrică, iar atacarea rețelei devine aproape imposibilă. Dar are și dezavantajele sale. De exemplu, dacă unul dintre utilizatori sau un grup unit reușește să concentreze o mare parte din toate monedele în mâinile lor, atunci vor putea controla rețeaua.

Proof-of-Work și Proof-of-Stake: de care parte este comunitatea?

Algoritmii Proof-of-Work și Proof-of-Stake (sau Proof-of-work și Proof-of-stake) au stat multă vreme la baza unor dispute serioase între mineri. Unii susțin că dovada muncii este mai corectă, alții că dovada mizei. Este imposibil să dai vreun răspuns cert.

În plus, astăzi este folosită destul de des o versiune hibridă care combină ambii algoritmi. Atunci când o monedă este emisă, rețeaua funcționează pe dovezi de funcționare, iar când emisia este finalizată, pe dovezi de miză. Acest lucru este destul de logic. La urma urmei, participarea activă la etapa de testare a lucrării vă permite să acumulați un număr suficient de monede pentru a intra „organic” într-o nouă etapă de testare a acțiunilor.

În ciuda noutății și a discuțiilor pasionale ale sistemului PoS, majoritatea criptomonedelor majore nu sunt pregătite să abandoneze algoritmul Proof-of-Work. Poate că acest lucru se va întâmpla în viitor, dar acest lucru nu se observă acum. Proof-of-Work și Proof-of-Stake rămân concurenți.

Ce sunt dovezile de lucru și dovada de miză?

Proof-of-Work și Proof-of-Stake sunt doi dintre cei mai cunoscuți algoritmi de consens în criptomonede. Ele oferă mecanisme pentru dovedirea muncii efectuate care diferă în structura lor.

Care este esența Proof-of-Work?

Proof-of-Work (PoW - literalmente: dovada muncii) este un algoritm pentru protejarea sistemelor distribuite de abuz (atacuri DoS, mailing-uri spam etc.), a cărui esență se rezumă la două puncte principale:

  1. nevoia de a îndeplini o anumită sarcină destul de complexă și consumatoare de timp;
  2. capacitatea de a verifica rapid și ușor rezultatul.

Problemele PoW nu sunt inițial destinate oamenilor; rezolvarea lor prin computer este întotdeauna realizabilă într-un interval de timp finit, dar necesită o putere mare de calcul. În același timp, verificarea soluției rezultate necesită mult mai puține resurse și timp.

Cine a inventat termenul Proof-of-Work?

Conceptul de Proof-of-Work a fost descris pentru prima dată în 1993 în lucrarea „Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology” (autori: Cynthia Dwork și Moni Naor). Deși termenul în sine nu a fost încă folosit în articol, autorii au propus următoarea idee:

„Pentru a avea acces la o resursă partajată, utilizatorul trebuie să calculeze o funcție: destul de complexă, dar fezabilă; În acest fel, puteți proteja resursa de abuz.”

În 1997, a lansat proiectul Hashcash, dedicat aceleiași protecție anti-spam. Problema a fost formulată după cum urmează: „Găsiți o valoare a lui x astfel încât hash SHA(x) să conțină N biți zero în frunte.”

Sistemul a oferit hashing parțial de inversare atunci când a fost trimis prin e-mail. Calcularea antetului corespunzător necesită aproximativ 2 52 de calcule hash, care trebuie recalculate pentru fiecare trimitere. Și dacă calculele suplimentare nu creează obstacole pentru trimiterea mai multor scrisori obișnuite, atunci trimiterea de spam necesită o recalculare constantă o face foarte consumatoare de resurse. În același timp, verificarea corectitudinii codului calculat se realizează foarte rapid: se utilizează un calcul SHA-1 unic cu o etichetă pregătită în prealabil.

În 1999, a apărut termenul însuși Proof-of-Work - a fost folosit în articolul „Proofs of Work and Bread Pudding Protocols” (autori Marcus Jacobsson și Ari Juels) din revista Communications and Multimedia Security.

Ce legătură are Proof-of-Work cu criptomonede?

În rețeaua Bitcoin, mecanismul PoW a fost folosit ca mijloc de obținere a consensului (o opinie comună cu privire la versiunea blockchain-ului considerată corectă). În același timp, creatorul primei criptomonede, Satoshi Nakamoto, a luat ca bază ideea proiectului Hashcash menționat mai sus, adăugându-i un mecanism de complexitate variabilă - scăderea sau creșterea N (numărul necesar de zerouri ) în funcție de puterea totală a participanților la rețea. Funcția calculată a devenit SHA-256.

În termeni simpli, mecanismul PoW oferă capacitatea unui nod de rețea (nod) de a verifica dacă minerul (care este nodul care adaugă un nou bloc la blockchain) a finalizat efectiv calculele. Acest proces implică încercarea de a găsi un hash al antetului blocului (partea blockchain-ului care conține o legătură către blocul anterior și valoarea însumată a tranzacțiilor incluse în acesta) care să corespundă ca valoare nivelului de dificultate curent.

Este complexitatea computațională într-adevăr „grea”?

Aceste calcule pot fi făcute doar interactiv, iar dificultatea este setată la un asemenea nivel încât se dovedește de fapt dificil. În același timp, verificarea rezultatelor calculului rămâne simplă. Nodurile pot verifica întotdeauna că minerul a găsit valoarea corectă, totuși, deoarece procesul de găsire a unui bloc este foarte laborios și aleatoriu, este imposibil să preziceți cu exactitate care miner va rezolva problema și va găsi blocul.

Pentru ca sistemul să recunoască un bloc ca fiind valid, valoarea lui hash trebuie să fie mai mică decât ținta curentă. Astfel, fiecare bloc arată că s-a lucrat pentru a-l găsi.

Fiecare bloc conține hash-ul blocului anterior, formând un lanț. Este imposibil să schimbați un bloc - este posibil doar să creați un bloc la aceeași înălțime, care va conține hash-ul blocului anterior. Pentru a efectua un astfel de proces, este necesar să faceți munca de găsire a tuturor blocurilor anterioare. Complexitatea ridicată a acestui proces protejează blockchain-ul de accesul neautorizat și de dublarea cheltuielilor.

Cum a afectat Proof-of-Work mineritul?

Proof-of-Work of Bitcoin a dat naștere unei întregi industrii miniere și a devenit un imbold pentru dezvoltarea echipamentelor specializate, întrucât resursele de calcul cheltuite pe blocurile de hashing sunt enorme și depășesc cu mult capacitatea celor mai mari supercalculatoare.

În același timp, a existat și faimoasa „cealaltă parte a monedei”: PoW s-a transformat rapid într-un monstru, înghițind electricitate în cursa pentru profitabilitatea mineritului. În 2012, puterea totală a rețelei Bitcoin a depășit deja performanța celui mai puternic supercomputer din lume, iar la orizont a apărut prima alternativă - Proof-of-Stake.

Ce este Proof-of-Stake?

Un mecanism alternativ de consens implementat pentru prima dată în 2012 în criptomoneda PPCoin (cunoscută acum ca PeerCoin). Ideea este să folosiți o „miză” ca resursă care determină care nod primește dreptul de a extrage următorul bloc.

În abordarea Proof-of-Stake, nodurile încearcă, de asemenea, să trimită date în căutarea unui rezultat mai mic decât o anumită valoare, dar în acest caz dificultatea este distribuită proporțional și în conformitate cu echilibrul nodului dat. Cu alte cuvinte, în conformitate cu numărul de monede (jetoane) din contul utilizatorului.

Astfel, un nod cu un echilibru mai mare are șanse mai mari de a genera următorul bloc. Schema pare destul de atractivă, în primul rând din cauza cerințelor mici pentru resursele de calcul și, de asemenea, pentru că nu se pune problema de putere „irosită”.

Care sunt argumentele pro și contra Proof-of-Stake?

De obicei, sunt date următoarele argumente în favoarea utilizării PoS:

  • Efectuarea unui atac necesită fonduri semnificative, ceea ce îl face nepractic din punct de vedere financiar.
  • În același timp, dacă atacatorul are la dispoziție un număr mare de jetoane, el însuși va suferi de pe urma atacului, deoarece aceasta va distruge stabilitatea criptomonedei.

Argumente care provoacă îngrijorare:

  • PoS oferă o motivație suplimentară pentru a acumula fonduri într-o mână, ceea ce poate afecta negativ descentralizarea rețelei.
  • Dacă se formează un grup mic și colectează fonduri suficient de mari, acesta va putea să-și impună regulile pentru rețea altor participanți.

În plus, putem observa problema Nothing-at-Stake, care face ca sistemele PoS să fie inerent instabile în ochii multor entuziaști ai criptomonedelor. Un atacator poate încerca să forkeze blockchain-ul, adică să creeze un lanț alternativ mai lung cheltuind resurse „inexistente”. Mai mult, poate fi susținut de alți mineri, deoarece nici ei nu consumă resurse „autentice”. Printr-o furcă, un atacator poate respinge anumite tranzacții și poate efectua un atac dublu.

Pe ce parte a scalei este?

Dezbaterea dintre susținătorii Pow și PoS durează de mult timp, dar natura acestor dezbateri este mai teoretică. Practica arată că rolul dezvoltatorului în probleme de securitate este încă foarte mare.

În același timp, mulți consideră că o versiune hibridă a sistemelor PoS și PoW este cea mai sigură soluție. Această abordare este deja practicată activ - multe criptomonede au o etapă PoW, când moneda este emisă prin minerit clasic, și o etapă PoS, care are loc după finalizarea problemei.

Cu toate acestea, în timp ce sistemele PoS vor fi întotdeauna mai ușor de implementat și, în general, la fel de fiabile din punct de vedere al securității, majoritatea criptomonedelor serioase probabil nu vor abandona PoW.

La un moment dat, ForkLog a fost o traducere adaptată a unei cărți albe scrise de BitFury Group, care compară funcționarea principiilor de securitate ale sistemelor PoW și PoS.

Ce alte mecanisme de probă există în criptomonede?

Lista lor poate fi destul de mare, așa că vom enumera câteva dintre cele mai faimoase:

  • Dovada activității este o schemă hibridă standard care combină PoW și PoS;
  • Delegated Proof of Stake este un termen general care descrie evoluția protocoalelor de consens de bază bazate pe dovada mizei. DPoS este utilizat în , și ;
  • Proof of Burn - „arderea” are loc prin trimiterea de monede la o adresă de la care se garantează că nu pot fi cheltuite. Scăpând astfel de monedele sale, utilizatorul primește dreptul la minerit pe tot parcursul vieții, care este, de asemenea, structurat ca o loterie între toți deținătorii monedelor arse;
  • Proof of Capacity este o implementare a ideii populare de „megaocteți ca resurse”. Este necesar să se aloce o cantitate semnificativă de spațiu pe disc pentru a permite mineritul;
  • Dovada stocării – similar cu conceptul anterior, în care spațiul alocat este folosit de toți participanții ca stocare în cloud partajată.
  • Traducere

Continuăm să traducem articole interesante de pe site-ul web Bytecoin.org. Astăzi - „Alternative pentru dovada muncii, partea 1: dovada mizei” de Ray Patterson.
Citiți, de asemenea, traducerea „O scurtă istorie a evoluției dovezilor de lucru în criptomonede”: și.

Critica privind dovada muncii

După cum ne amintim cu toții, Proof of Work s-a născut în 1993 într-o familie de criptografi; Părinții lui i-au prezis o carieră ca apărător anti-DoS și anti-spam. Cu toate acestea, în 2008, a primit o ofertă tentantă de la o persoană anonimă cu accent japonez: să devină baza unui server de marca temporală distribuită. Schema părea simplă: nodurile de rețea „votează” pentru versiunea lor a istoricului tranzacțiilor, investindu-și puterea în calcularea hashurilor „rare”. Versiunea care primește cele mai multe voturi este acceptată de alte noduri ca versiune de referință.

Un punct important a fost asigurarea unei capacități totale de rețea mare: protejarea împotriva unui potențial atacator cu potențialul său 51% din resurse. Cu toate acestea, conceptul original de PoW implica sarcini mici pe care clientul trebuie să le îndeplinească pentru a avea acces la resursele serverului. În cadrul acestui model de protecție DoS, chiar și capacitățile mici ale clienților nu vor interfera cu utilizarea corectă a resursei, iar cele mari pur și simplu nu au fost necesare. Prin urmare, motivația pentru munca minerilor a fost realizată simplu: „în natură”, bitcoini, i.e. de fapt bani.

Și asta a schimbat totul. În lumea criptomonedelor, PoW a devenit un monstru, devorând energie electrică în cursa pentru profitabilitatea mineritului. Afirmații serioase au apărut în jurul anului 2012, când puterea totală a rețelei Bitcoin a „depășit” cel mai puternic supercomputer din lume în ceea ce privește performanța. „O risipă de energie!” - s-au auzit țipete din toate părțile. Protestele timide ale apărătorilor privind protecția împotriva unui atac de 51% și apetitul energetic al terminalelor bancare au fost ignorate, din fericire, prima alternativă era deja la orizont - Proof of Stake.

Dovada mizei

A ieșit la lumină ca idee într-una dintre postările de pe bitcointalk din 2011. Prima implementare a fost lansată un an mai târziu, în 2012, în criptomoneda PPCoin (denumită acum PeerCoin). Ulterior, protocoale similare au apărut în alte proiecte, mai multe despre ele mai târziu.

PoS are diferite încarnări, dar o idee comună: resursa limitată care trebuie votată poate fi găsită nu numai în lumea exterioară (fier ars și electricitate), ci în interiorul sistemului în sine - monedele digitale în sine. Deținătorii de monede - deținătorii (părțile interesate) - nu le cheltuiesc în timpul votării, desigur, ci le blochează pentru o perioadă, și așa se realizează limitarea. Evident, deși computerul trebuie pornit pentru minerit, nu trebuie să facă calcule serioase.

Cum funcționează PPCoin?

Deci, resursa minerului sunt monedele sale (necheltuite, desigur). Mai precis, ieșiri ale tranzacțiilor necheltuite, fiecare dintre ele corespunde unui anumit număr de monede. Exploatarea minieră are loc după cum urmează:

  1. Selectăm rezultatul dvs., care a fost primit cu cel puțin 30 de zile în urmă.
  2. Formăm o structură Kernel, care include: date deterministe de la ieșire (ora blocului în care a apărut, numărul acestuia în interiorul blocului etc.), ora curentă etc. nStakeModifier (bloc recalculat periodic de biți pseudoaleatori).
  3. Schimbăm Kernel-ul și comparăm valoarea rezultată cu obiectivul actual, care depinde de complexitatea actuală a rețelei (complexitate mai mare - obiectiv mai mic), „vârsta” ieșirii (vârstă mai mare - obiectiv mai mare) și cantitatea acesteia (mai mult monede – obiectiv superior).
  4. Dacă hash-ul se dovedește a fi mai mare decât ținta, revenim la pasul 1 și luăm următoarea ieșire.
  5. Dacă rezultatul s-a dovedit a fi „de succes”, îl cheltuim într-o tranzacție coinbase (trimițându-l nouă), adăugăm recompensa pentru bloc și comisioanele din tranzacțiile incluse și semnăm întregul bloc cu cheia care a fost asociată cu ieșire cheltuită.
  6. Voila, blocul este gata. Să începem să-l căutăm pe următorul.
Note:
  • Verificarea blocurilor este deterministă: ora curentă este luată din antetul blocului, datele de ieșire sunt preluate din blockchain, nStakeModifier este, de asemenea, calculat în mod unic pentru fiecare bloc.
  • Ieșirea trebuie să fie „veche”, astfel încât un atacator să nu poată, prin transferul de bani între portofelele lor, să obțină o ieșire „bună” care să le permită imediat să găsească blocul.
  • nStakeModifier este calculat pe baza celor mai recente blocuri și, prin urmare, este imprevizibil. Acest lucru face minarea și mai imprevizibilă (și mai rezistentă la posibile atacuri).
  • Marca temporală actuală din pasul 2 poate varia în limite largi: plus sau minus o oră. Prin urmare, de fapt, pentru fiecare ieșire, puteți verifica 7200 de hashe-uri și nu doar unul.
  • Multiplicatorul obiectivului „vârstă” este limitat la 90 de zile. Altfel, un atacator ar putea, cu doar câteva monede FOARTE vechi, să genereze mai multe blocuri la rând cu o probabilitate mare.

În esență, procesul de extragere PoS este aceeași loterie ca și în PoW. Cu toate acestea, nu trebuie să „plătiți” un bilet cu puterea dvs.: căutarea opțiunilor are loc într-un spațiu foarte limitat al propriilor ieșiri și nu depinde de viteza procesorului. Șansele tale sunt afectate doar de numărul total de monede și de dificultatea actuală a rețelei.

Datorită acestui lucru obținem următorul profit:

  1. Să economisim energie. Nu există nicio dispută aici, deși pentru PoW puteți folosi „lucrare utilă” (vezi Primecoin) sau funcții rezistente la ASIC (Cuckoo Cycle, CryptoNigh, Ethash etc.), care ar limita zona de mining la PC-uri personale.
  2. Fără „cursă înarmărilor” nesfârșită: acum rata totală este limitată nu de regula lui Moore și de legile termodinamicii, ci de numărul total de monede din portofelele participanților. Pe de altă parte, într-un astfel de model este greu de înțeles dacă un procent mare de resurse sunt în mâini cinstite?
  3. Atacul devine mai scump. Dacă vreau să cumpăr 51% din monede, piața va reacționa cu o creștere rapidă a prețului. În plus, ce rost are să atac o rețea dacă toate resursele mele sunt investite în monedele virtuale ale acestei rețele?
Se pare că totul este grozav: de fapt, am înlocuit munca fizică cu un fel de resursă virtuală. Dar nu tocmai acolo se află problema?

Critica privind dovada mizei

Răspundeți la întrebarea: cât sunt cheltuiți banii? Dacă cineva se apropie de tine și se oferă să cumpere chei private de la tine, de la care ai cheltuit deja toți banii, la ce preț vei fi de acord? Deoarece aceste chei nu mai valorează nimic și nimeni nu are nevoie de ele, presupun că orice ofertă ți se va potrivi: sunt bani din nimic!

Acum imaginați-vă că pentru un moment X în trecut se dovedește că 50% (sau mai mult) din toate monedele erau pe cheile achiziționate de atacator acum. Pentru simplitate, putem presupune că momentul X este momentul imediat după crearea celui de-al doilea bloc, iar cineva a cumpărat cheile ambelor blocuri, i.e. Dacă s-ar fi întors în trecut, ar fi deținut 100% din întreaga masă monetară.

De fapt, nu are nevoie să se întoarcă fizic în timp. De acum înainte, el poate „rescrie întreaga istorie a blockchain-ului” exploatând cu aceste monede vechi! Mai mult, primiți o recompensă pentru fiecare bloc nou și creșteți capitalul. Nici măcar nu trebuie să creeze tranzacții (deși poate doar să transfere bani către el însuși).

La un moment dat, lanțul său alternativ îl va ajunge din urmă pe cel real și chiar îl va depăși în numărul de blocuri. Întreaga rețea va trece la ea, deoarece nu există diferențe sintactice între ele. Dar principala diferență va fi că într-una dintre ele mai mult de jumătate din monede vor aparține în continuare atacatorului. Așa se face că, vânzând „suflete moarte”, le poți pierde cu ușurință pe „cele vii”.

Un astfel de atac specific, desigur, poate fi luptat. PeerCoin, de exemplu, folosește practica punctelor de control obișnuite: blocuri semnate cu cheia dezvoltatorului, „mai adânc” decât este interzisă reconstruirea blockchain-ului. Dar aceasta este o soluție specială care nu elimină problema mai generală - Nimic pe miză.

Problema este că minerit – votul – nu costă nimic și nu necesită niciun efort fizic. Dacă, de exemplu, la un moment dat apar două blocuri la aceeași înălțime (furcă de lanț), atunci ambele versiuni ale lanțului pot fi extrase simultan. Cu PoW, acest lucru este imposibil, în principiu, din motive evidente: fiecare hash verificat al lanțului A este un hash neverificat al lanțului B. PoS, pe de altă parte, vă permite să căutați prin toate „lumile paralele” simultan și la orice înălțime. (adică, inclusiv trecutul).

În PoS, îți este mult mai ușor să efectuezi un atac cu cheltuieli duble. Este suficient să mine întotdeauna două versiuni ale următorului bloc: una cu o tranzacție prin care îți transferă banii către vânzător (care nu așteaptă N confirmări), iar cealaltă cu un transfer care ți-l transferă. Dacă se întâmplă să găsiți ambele blocuri, atunci îl trimiteți pe primul vânzătorului (și primiți marfa), iar pe cel de-al doilea tuturor celorlalți. Cu o mare probabilitate, a doua versiune a lanțului va fi continuată, iar banii se vor întoarce la tine.

Problema cu PoS este că vă avantajează să minați mai multe ramuri alternative simultan. O poți face pur și simplu gratuit, cu o șansă de succes diferită de zero, ceea ce înseamnă că îți mărești venitul așteptat. PoW nu vă permite să faceți astfel de farse și, prin urmare, mine doar într-o ramură (care este alegerea dvs.). Ca urmare, în modelul PoW, se ajunge la consens mai devreme sau mai târziu, dar în PoS pur nu mai este posibil să se prezică convergența.

Dacă sunteți interesat de această problemă, atunci puteți găsi detalii

Aflați ce este protocolul Proof-of-Work, când a luat ființă, care sunt avantajele și dezavantajele sale și cum se leagă de spațiul criptomonedei.

Dovada de lucru este o metodă de a proteja lanțul de blocuri valutare digitale de diferite tipuri de atacuri. Termenul se traduce literal ca „confirmare a muncii”. Algoritmul garantează verificarea executării unei anumite secvențe de acțiuni de către un anumit nod al sistemului (adică minerul). Datele pe care le stabilește protocolul sunt informațiile din blocul găsit, care afișează o legătură către nodul anterior din lanț și numărul de operații stocate în bloc. Cu cât hardware-ul tău este mai puternic, cu atât este mai mare șansa ca sistemul să te aleagă ca nod responsabil pentru confirmarea tranzacției. Prin urmare, principalul criteriu pentru extragerea cu succes a banilor electronici pe baza acestui algoritm este performanța echipamentului. Acest factor a contribuit la unificarea utilizatorilor în grupuri speciale, care au fost numite „piscine”.

Dovada de lucru este un algoritm de securitate împotriva atacurilor rău intenționate utilizat în sistemele distribuite. Principalul punct este acesta:

  • aplicare în procese complexe și îndelungate;
  • simplitatea și eficiența verificării rezultatului.

Pentru a rezolva problemele algoritmului PoW, se folosește tehnologia de calcul de înaltă performanță. Procesul de prelucrare a datelor durează de obicei o anumită perioadă de timp. Procesul de calcul în sine este mai solicitant pentru resursele hardware în comparație cu verificarea datelor primite.

La mijlocul anilor 90 ai secolului trecut, a fost publicat un articol intitulat „Prețurile prin procesare sau combatere a mesajelor nedorite”, în care autorii au prezentat pentru prima dată conceptul de Proof-of-Work. Sensul ideii era că fiecare persoană care dorește să obțină acces la orice serviciu este obligată să efectueze o serie de operațiuni cu o funcție foarte complexă care necesită resursele unui sistem de calcul. În acest caz, procesul trebuie să dureze o anumită perioadă de timp, care poate fi numită acceptabilă pentru așteptare. Procesul de calcul din partea clientului trebuie să consume mai mult resurse decât procesul de verificare a rezultatelor obținute, lansat pe partea de server.

Funcția propusă trebuie să fie neamortabilă, deoarece în caz contrar durata procedurii de calcul va crește semnificativ. Autorii articolului au sugerat că operațiunile matematice suplimentare efectuate pe computerul utilizatorului nu ar fi un obstacol în calea trimiterii normale de e-mailuri, ci ar deveni un obstacol serios în calea spam-ului. Un astfel de sistem ar impune efectiv o limită cantitativă a trimiterii de scrisori într-o anumită perioadă de timp.

Ceva mai târziu, proiectul Hashcash a fost implementat, întruchipând funcția, a cărei esență este descrisă în articolul de mai sus. Definiția „dovadă a muncii” a fost propusă pentru prima dată de autorii studiului științific „Proofs of Work and Bread Pudding Protocols”, care a fost publicat la sfârșitul anilor nouăzeci.

5 ani mai târziu, Hal Finney a propus un algoritm sofisticat numit „dovadă reutilizabilă a muncii” (RPoW), care urma să fie utilizat în sistemele electronice de plată. Câțiva ani mai târziu, Satoshi Nakamoto a creat prima monedă virtuală care a folosit algoritmul PoW. Rezolvă problema cheltuirii duble a jetoanelor.

Principalul dezavantaj al Proof-of-Work, care este motivul pentru toate activitățile legate de implementarea metodelor alternative de protecție, este asociat cu consumul uriaș de energie în timpul funcționării rețelei. Costurile totale ale unei platforme pot depăși uneori costurile unei fabrici mici. Cu toate acestea, se va spune în apărarea acestui algoritm că se descurcă bine cu asigurarea securității site-ului și nivelarea acțiunilor tuturor tipurilor de atacatori. Dezvoltarea și promovarea ulterioară a resursei vor depinde de aceasta. La urma urmei, cine ar investi într-un proiect care nu-și poate proteja propria rețea de hackeri?

În prima monedă virtuală, PoW este necesar pentru a obține un consens în rețea. Deoarece pot exista mai multe versiuni ale blockchain-ului pentru fiecare utilizator la un moment dat, algoritmul determină ce versiune este de încredere. Pentru a-și implementa ideea, Nakamoto a folosit dezvoltările proiectului Hashcash menționat mai sus, modificând ușor funcția finalizată (adăugând un mecanism de modificare a complexității acesteia, care depinde de puterea totală de calcul a tuturor nodurilor rețelei). Funcția terminată se numește .

Algoritmul PoW este necesar pentru nodurile de rețea pentru a verifica dacă minerul a efectuat calcule. Acesta din urmă efectuează calcule ale algoritmilor complecși, în urma cărora un nou bloc generat („celulă”) este adăugat în lanțul de blocuri, stochând un anumit număr de înregistrări despre tranzacțiile finalizate. Mecanismul de dovadă a lucrului încearcă să găsească un hash al antetului nodului, care conține o referință la „celula” anterioară și valoarea totală a tuturor operațiunilor plasate în nodul nou generat. Indicatorii hash corespund gradului stabilit.

Complexitatea operațiunilor descrise este de fapt destul de mare, iar procesul de calcul în sine poate fi efectuat cu participarea utilizatorilor. Procedura de verificare a rezultatelor, dimpotrivă, este foarte simplă și nesolicitantă pentru resursele sistemului. Orice nod poate primi dovada că un miner a generat un bloc nou. Cu toate acestea, din cauza complexității proceselor de calcul efectuate de mineri, este foarte dificil să se determine care dintre ei va face față mai repede decât ceilalți.

Pentru a verifica validitatea unui bloc nou, valoarea lui hash este comparată cu ținta curentă. Dacă se dovedește a fi mai mic, blocul este valabil. Acest lucru demonstrează clar faptul că anumite lucrări au fost făcute pentru a genera un bloc.

Structura blockchain-ului este astfel încât fiecare nod creat adăugat lanțului stochează informații despre cel anterior. Modificarea „celulelor” nu este posibilă. Puteți „atașa” doar unul nou la același nivel, care va stoca hash-ul blocului anterior. Acest lucru va necesita să faceți munca de generare a tuturor nodurilor anterioare. O astfel de sarcină este destul de netrivială și necesită resurse. Acest lucru asigură o protecție fiabilă a rețelei împotriva interferențelor din partea terților și dublarea cheltuielilor de jetoane.

În prezent, există încă controverse cu privire la oportunitatea utilizării PoW. Experții au identificat următoarele tipuri de vulnerabilități ale algoritmului:

  1. 51% – o vulnerabilitate caracteristică Bitcoin și alte monede virtuale în stadiile incipiente ale dezvoltării lor. Esența sa constă în faptul că, dacă cea mai mare parte a puterii rețelei cade în mâinile unui atacator, acesta din urmă obține controlul deplin asupra generării de noi blocuri și execuției tranzacțiilor. De asemenea, i se oferă posibilitatea de a face orice modificări în baza de date distribuită, până la o rescrie completă și de a-și crea propria sucursală, care va fi recunoscută ca fiind valabilă. Ca urmare, toate fondurile utilizatorilor vor dispărea din portofelele lor electronice.
  2. Cheltuind aceleași monede de două ori. În acest caz, aceleași active pot fi utilizate de mai multe ori. Există mai multe varietăți ale acestui tip de atac.
  3. Control asupra minerilor. Un atac este posibil din partea atacatorilor care au echipamente cu o putere de calcul mai mică de 50% din performanța totală a rețelei. Acest lucru este realizabil prin utilizarea unor metode de publicitate agresive pentru a atrage mineri la bazin. Sarcina atacatorului este de a reduce eficiența proceselor de calcul ale concurenților (mineri și pool-uri individuali) la zero.

Pe lângă problemele evidente cu protecția datelor, există următoarele dezavantaje ale algoritmului în cauză:

  1. Puterea de calcul a echipamentului folosit de miner și probabilitatea de a genera un nou bloc au o relație direct proporțională. Prin urmare, fiecare miner se străduiește să crească performanța sistemelor utilizate. Rezultatul unor astfel de acțiuni este un supraconsum puternic de resurse energetice.
  2. Rezultatele calculelor sunt semnificative doar în cadrul rețelei, nu au altă aplicație. De fapt, rețeaua are un potențial de calcul enorm care nu este utilizat pentru rezolvarea problemelor utile (de exemplu, de producție).

Întrucât deficiențele și problemele algoritmului erau întotdeauna evidente, s-a lucrat în mod constant pentru a le elimina. Ca urmare, au fost propuși noi algoritmi.

Utilizarea PoW pentru a opera Bitcoin a dat naștere unei întregi industrii miniere. Au fost create dispozitive menite să rezolve probleme foarte specializate ale blocurilor de hashing, cărora chiar și cele mai puternice supercalculatoare din lume le pot face față cu greu.

Mineritul a dus la o concurență intensă în acest domeniu. Mulți jucători mari, în căutarea profitului, au început să-și crească puterea de calcul, ceea ce a dus la o creștere semnificativă a consumului de energie electrică. În 2012, rețeaua globală Bitcoin a depășit cel mai puternic computer la putere. Cam în același moment, a fost propusă una dintre primele alternative la algoritmul PoW folosit la acea vreme.

Dovada de lucru este unul dintre cei mai populari doi algoritmi de consens pe care sunt construite proiectele de criptomonede. În această recenzie, vă vom spune ce este Proof-of-Work, care sunt caracteristicile sale și vom efectua o analiză comparativă cu principalul său concurent - Algoritmul Proof-of-Stake.

Ce este Proof-of-Work - de la origini la esență

Prima idee care poate fi atribuită termenului Proof-of-Work a apărut în 1993 în lucrarea lui Cynthia Dwork și Moni Naor, care s-a numit „Prețuri prin procesare, sau, Combaterea mesajelor nedorite, progrese în criptologie”. Creatorii acestei lucrări au prezentat ideea că, pentru a avea acces la resursele partajate, utilizatorul trebuie să efectueze anumite calcule complexe, care vor proteja această resursă de utilizarea excesivă de către participanții rețelei. 4 ani mai târziu a fost lansat proiectul Hashcash, care a fost dedicat sistemului anti-spam. Sistemul a propus hashing o parte a inversării utilizând resurse de e-mail. Pentru a calcula un antet specific au fost necesare 252 de calcule pentru fiecare trimitere. Dacă a fost necesar să se trimită scrisori standard, nu au fost create obstacole, dar pentru trimiterea de spam, recalcularea a devenit o sarcină foarte dificilă. Și verificarea corectitudinii codului calculat nu necesită mult timp, deoarece un tip special de calcul, SHA-1, este utilizat cu o etichetă pregătită în prealabil.
In doi ani Dovada de lucru pe termen (PoW) a intrat deja în uz oficial și a fost pentru prima dată acoperit oficial în articolul lui Jacobson și Jewels pe tema protocoalelor. După ceva timp, principiul Proof-of-Work (PoW) a fost folosit pentru construirea unei rețele Bitcoin– protocolul a permis atingerea consensului. Satoshi Nakamoto, dezvoltatorul Bitcoin, a modificat ușor versiunea originală Dovada de lucru, adăugându-i un mecanism de complexitate variabilă, care a scăzut sau a crescut numărul necesar de zerouri în raport cu puterea totală a utilizatorilor rețelei Bitcoin. Funcția SHA-256 a asigurat funcționarea completă a sistemului.


Definiție Dovada de lucruÎntr-un limbaj clar, se poate afirma următoarele: protocolul garantează capacitatea de verificare a unui nod, sau nod, pentru executarea calculelor de către miner, care este nodul însuși, introducând noi blocuri în rețea. În acest caz, se încearcă căutarea unui hash al antetului blocului, care include blocul anterior și valoarea totală a operațiunilor incluse în acesta, ceea ce determină gradul de complexitate al minării Proof-of-Work (PoW).

Caracteristici distinctive ale Proof-of-Work: cum funcționează totul

Ce este Proof-of-Work (PoW)?În primul rând, este un algoritm eficient care oferă protecție eficientă a unui sistem distribuit împotriva atacurilor hackerilor, activităților frauduloase și alte accese neautorizate.

Acea, cum funcționează Proof-of-Work, se poate concluziona în următoarele puncte:

  1. Efectuarea obligatorie a calculelor intensive în muncă;
  2. Verificarea rapidă și ușoară a rezultatelor.

Caracteristica de dovadă a lucrului este că inițial această tehnologie a fost concepută pentru puterea computerului, și nu pentru utilizatorii în direct. Metoda Proof-of-Work presupune utilizarea unor resurse de calcul semnificative, dar asigură finalizarea sarcinii la timp cu o verificare simplificată a rezultatului obținut cu cheltuială minimă de timp.

Dovada muncii vs. Proof-of-Stake: compararea algoritmilor


Dovada de lucru (PoW), tradus în engleză ca dovadă a muncii, contribuie într-o oarecare măsură la susceptibilitatea criptomonedelor la dublarea cheltuielilor. În același timp, Proof-of-Work (PoW) reduce acest indicator pe măsură ce volumul tranzacțiilor confirmate în rețea crește, ceea ce indică o dependență de cantitatea de putere de calcul la dispoziția hackerului. Garanția utilizării criptomonedelor Proof-of-Work (PoW) este reducerea riscului de dublare a cheltuielilor, iar utilizatorii se așteaptă la un anumit număr de confirmări ale tranzacțiilor și, de asemenea, folosesc sisteme de protecție pentru a reduce indicatorii de risc pentru plăți rapide.
Poate fi dificil de înțeles imediat că acesta este Proof-of-Work, dar în cuvinte simple, dacă facem paralele între principalul său competitor PoS, nu poate să nu remarcăm că acești algoritmi pot fi supuși unor atacuri similare, dar rezultatul poate fi fi diferit. Principalul pericol pentru ei este reprezentat de DoS, sau refuzul serviciului, și atacul Sybill sau atacul Sybil. Primul atac are ca scop întreruperea funcționării normale a sistemului, care se realizează prin supraîncărcarea nodurilor de rețea. De exemplu, un hacker poate inunda rețeaua cu cantități colosale de tranzacții low-cost - amintiți-vă de atacul de inundații asupra rețelei Bitcoin de acum 2 ani. Când se folosește atacul Sybil, rețeaua este subminată prin crearea unui număr mare de noduri care funcționează incorect.
Nivelul de expunere al algoritmului Dovada de lucru iar concurentul său la aceste atacuri depinde nu numai de tipul de negociere care este utilizat în cadrul rețelei, ci și de detaliile protocolului de rețea. În același timp, astăzi nu există caracteristici interne care ar putea face cutare sau cutare protocol mai puțin susceptibil la atacuri.


Un alt atac care poate face utilizatorii să-și facă griji cu privire la activele lor cripto este minerit egoist, sau minerit egoist. La Exploatare cu dovezi de lucru, Acest atac publică selectiv blocuri, determinând utilizatorii să-și irosească resursele de calcul. Dezvoltatorii Proof-of-Work (PoW) sunt îngrijorați de acest lucru, deoarece, spre deosebire de rivalul său PoS, care nu este împovărat cu resurse scumpe, situația aici este diferită. Cu toate acestea, niciunul dintre dezvoltatori nu a confirmat încă eficacitatea acestui tip de atac, iar unii cred că există erori grave în presupunere.
Definiția Proof-of-Work (PoW)în ceea ce privește rezistența la atacuri, se bazează pe puterea totală de calcul a rețelei. Dar pentru Proof-of-Stake nu există echivalent cu o „stare de sănătate”, deoarece dacă moneda este distribuită uniform în rețea, atacul se bazează pe bifurcația sa, iar dacă utilizatorii au o pondere semnificativă, există riscul ca cenzura tranzactiilor.

Avantajele și dezavantajele Proof-of-Work (PoW)

Principalul dezavantaj al Proof-of-Work, care este ceea ce a început toată mizeria despre dezvoltarea algoritmilor alternativi, este reprezentată de un consum colosal de energie în timpul funcționării. Costurile totale ale resurselor energetice depășesc uneori costurile întreprinderilor industriale. Cu toate acestea, în apărarea acestui produs, care, de altfel, a fost primul de acest gen și merită atenție doar pentru asta, trebuie spus că algoritmul oferă protecție de înaltă calitate resursele și facilitățile din cadrul rețelei. Dar este calitatea Securitate depinde de capacitatea utilizatorului de a-și gestiona fondurile fără teama de un posibil furt.