Acasă
Articole
Ce este Proof-of-Work (PoW)?

Ce este Proof-of-Work (PoW)?

Intermediar
Publicat Dec 6, 2018Actualizat Apr 18, 2024
10m

Avantaje cheie:

  • Proof of Work (PoW) este un mecanism de consens creat pentru a preveni cheltuielile duble în sistemele de plăți digitale.

  • PoW este o parte cheie a procesului de minerit, care implică adăugarea de noi blocuri de tranzacții la blockchain și crearea de noi unități de criptomonede.

  • Bitcoin și multe alte criptomonede folosesc PoW ca metodă de securizare a rețelei blockchain și a datelor lor.

Introducere

Pe scurt, Proof of Work (PoW) este un mecanism creat pentru a preveni cheltuielile duble în sistemele de plăți digitale. Bitcoin și multe alte criptomonede folosesc PoW ca metodă de securizare a rețelei blockchain și a datelor lor. Astfel de mecanisme sunt adesea denumite algoritmi de consens sau mecanisme de consens, deoarece implică mai multe părți care ajung la consens fără a fi necesar să aibă încredere una în cealaltă.

Proof of Work a fost primul algoritm de consens care a apărut și rămâne unul dintre cei mai importanți, împreună cu Proof of Stake (PoS). PoW fost introdus de Satoshi Nakamoto în cartea albă Bitcoin din 2008, dar tehnologia în sine a fost concepută cu mult înainte.

HashCash al lui Adam Back este un exemplu timpuriu de algoritm Proof of Work în zilele de dinainte de apariția criptomonedelor. Cerând expeditorilor să efectueze câteva calcule minore înainte de a trimite un e-mail, destinatarii puteau reduce spamul. Aceste calcule nu îl costă, practic, nimic pe un expeditor legitim, dar se adună rapid pentru cineva care trimite e-mailuri în masă.

Ce este o cheltuială dublă?

O cheltuială dublă apare atunci când aceleași fonduri sunt cheltuite de mai multe ori. Termenul este folosit aproape exclusiv în contextul banilor digitali – la urma urmei, ar fi greu să cheltuiți aceiași bani fizici de două ori. 

Când plătiți pentru o cafea astăzi, predați numerar unui casier care probabil îl introduce într-o casă de marcat. Nu puteți să mergeți la cafeneaua de peste stradă și să plătiți o altă cafea cu aceeași bancnotă. Cu toate acestea, în sistemele de bani digitali, există această posibilitate. 

Cu siguranță ați mai duplicat un fișier de computer utilizând comenzile de copiere și lipire. De asemenea, este ușor să trimiteți prin e-mail același fișier către zeci de persoane. Deoarece banii digitali sunt doar date, este necesar ca persoanele să fie împiedicate să copieze și să cheltuiască aceleași unități în locuri diferite. Un sistem digital de plată care nu reușește să prevină dubla cheltuială se va prăbuși într-un timp foarte scurt.

Pentru o privire mai detaliată asupra cheltuielilor duble, consultați Explicarea cheltuielilor duble.

De ce este necesar Proof of Work?

Dacă ați citit articolul nostru despre tehnologia blockchain, veți ști că utilizatorii de criptomonede transmit continuu tranzacții în rețea. Totuși, acele tranzacții nu sunt considerate imediat valide. Asta se întâmplă doar atunci când sunt confirmate și adăugate la blockchain.

Blockchainul Bitcoin, de exemplu, funcționează ca o bază de date publică de tranzacții (registru) pe care fiecare utilizator o poate vedea. Imaginați-vă următorul scenariu: dvs. și trei prieteni aveți un carnețel în care vă urmăriți tranzacțiile cu Bitcoin. Oricând unul dintre dvs. dorește să facă un transfer de valoare, notați:

Alice îi plătește lui Bob 5 BTC; Bob îi plătește lui Carol 2 BTC etc.

Dar, de fiecare dată când faceți o tranzacție, vă referiți la tranzacția din care provin fondurile. Deci, dacă Bob îi plătește lui Carol 2 BTC, intrarea ar arăta, de fapt, astfel: 

Bob îi plătește lui Carol 2 BTC, care au venit din această tranzacție anterioară cu Alice.

Avem acum o modalitate de a urmări unitățile de BTC. Dacă Bob încearcă să facă o altă tranzacție folosind aceleași unități pe care tocmai i le-a trimis lui Carol, toți cei implicați vor ști imediat. Grupul nu va permite ca tranzacția să fie adăugată în carnețel, deoarece cei 2 BTC au fost deja cheltuiți.

Acest lucru ar putea funcționa bine într-un grup mic. Toată lumea se cunoaște, așa că probabil vor fi de acord cu privire la care dintre prieteni ar trebui să adauge tranzacții în blocnotes. Dar dacă avem un grup de 10.000 de participanți? Ideea blocnotesului nu se scalează bine, pentru că nimeni nu vrea să aibă încredere într-un străin care să îl gestioneze.

Aici intervine Proof of Work. Algoritmul se asigură că utilizatorii nu cheltuiesc bani pe care nu au dreptul să îi cheltuiască. Folosind o combinație de teorie a jocurilor și criptografie, un algoritm PoW permite oricui să actualizeze blockchainul conform regulilor sistemului.

Cum funcționează PoW?

Imaginați-vă că carnețelul nostru din exemplul de mai sus este blockchainul. Dar nu adăugăm tranzacțiile una câte una, ci le grupăm în blocuri. Anunțăm tranzacțiile către rețea, apoi utilizatorii care creează un bloc le vor include într-un bloc candidat. Tranzacțiile vor fi considerate valide numai odată ce blocul lor candidat devine un bloc confirmat, ceea ce înseamnă că a fost adăugat în baza de date a blockchainului.

Procesul de validare a tranzacțiilor și adăugarea de noi blocuri se numește minerit. Este scump și dificil, dar poate fi și plin de satisfacții. Recompensa de bloc este formată din comisioane de tranzacție de la utilizatori și noi Bitcoin creați de protocol. 

Mecanismul Proof of Work necesită ca un miner (utilizatorul care creează blocul) să investească resurse, cum ar fi energie electrică și putere de calcul, pentru a procesa datele blocului candidat până când se găsește o soluție la un puzzle.

Procesarea datelor blocului înseamnă că acestea trec printr-o funcție de hashing pentru a genera un hash de bloc. Hash-ul blocului funcționează ca o „amprentă” – este o identitate pentru datele introduse și este unic pentru fiecare bloc.

Cu alte cuvinte, un miner trebuie să verifice și să colecteze tranzacțiile în așteptare, să le organizeze într-un bloc candidat și să transmită datele blocului printr-o funcție de hashing pentru a crea un hash valid. Dacă reușește să găsească un hash valid în blocul candidat, îl transmite în rețea, adaugă blocul în blockchain și colectează recompensele de minerit.

Atunci când un miner își transmite blocul candidat și hash-ul în rețea, alți participanți la rețea vor repeta procesul de hashing pentru a verifica dacă rezultatul este într-adevăr valid. 

Deși sunt necesare nenumărate încercări de hashing pentru a găsi un hash valid, este foarte simplu pentru oricine să confirme că hash-ul generat este corect. Trebuie doar să trimită aceeași intrare (date de bloc) prin intermediul funcției hash și să verifice dacă rezultatul coincide.

În Proof of Work, trebuie să furnizați date al căror hash corespunde anumitor condiții. Dar nu știți cum să ajungeți acolo. Singura dvs. opțiune este să treceți datele printr-o funcție hash și să verificați dacă corespund condițiilor. Dacă nu, va trebui să vă modificați ușor datele pentru a obține un hash diferit. Schimbarea chiar și a unui caracter din datele dvs. va avea un rezultat total diferit, deci nu există nicio modalitate de a prezice care ar putea fi ieșirea.

Drept urmare, dacă doriți să creați un bloc, jucați un joc de ghicire. În mod obișnuit, luați informații despre toate tranzacțiile pe care doriți să le adăugați și alte date importante, apoi le puneți pe toate împreună. Dar, deoarece setul de date nu se va schimba, trebuie să adăugați o informație care este variabilă. În caz contrar, veți obține întotdeauna același hash ca rezultat. Aceste date variabile sunt ceea ce numim un nonce. Este un număr pe care îl veți schimba cu fiecare încercare, așa că primiți un hash diferit de fiecare dată.

În concluzie, mineritul este procesul de colectare a datelor blockchain și de hashing împreună cu un nonce până când găsiți un anumit hash. Dacă găsiți un hash care îndeplinește condițiile stabilite de protocol, obțineți dreptul de a difuza noul bloc în rețea. În acest moment, ceilalți participanți ai rețelei își actualizează blockchain-urile pentru a include noul bloc.

Pentru principalele criptomonedele de astăzi, condițiile sunt incredibil de dificil de îndeplinit. Cu cât rata hash este mai mare în rețea, cu atât este mai dificil să găsiți un hash valid. Acest lucru se face pentru a se asigura că blocurile nu sunt găsite prea repede.

După cum vă puteți imagina, încercarea de a ghici cantități masive de hash-uri poate fi costisitoare pentru computer. Risipiți cicluri de calcul și energie electrică. Dar protocolul vă va răsplăti cu criptomonede dacă găsiți un hash valid.

Să recapitulăm ceea ce știm până acum:

  • Mineritul este dificil și costisitor, dar oferă securitate rețelei.

  • Minerii care reușesc să producă un bloc valid sunt recompensați cu criptomonede nou emise și comisioane de tranzacție.

  • Generarea unui hash valid necesită timp, dar alți utilizatori pot verifica cu ușurință validitatea acestuia repetând procesul de hashing.

Până acum, totul e bine. Dar dacă încercați să trișați? Ce vă împiedică să puneți o grămadă de tranzacții frauduloase în bloc și să produceți un hash valid?

Aici intervine criptografia cu cheie publică. Nu vom aprofunda acest lucru în articolul de față, dar puteți consulta articolul Ce este criptografia cu cheie publică? pentru mai multe explicații. Pe scurt, folosim câteva trucuri criptografice care permit oricărui utilizator să verifice dacă cineva are dreptul de a muta fondurile pe care încearcă să le cheltuiască.

Când creați o tranzacție, o semnați. Oricine din rețea vă poate compara semnătura cu cheia publică și poate verifica dacă se potrivește. De asemenea, se va verifica dacă puteți cheltui fondurile respective și dacă suma intrărilor dvs. este mai mare decât suma ieșirilor dvs. (adică, dacă cheltuiți mai mult decât ați avut).

Orice bloc care include o tranzacție nevalidă va fi respins automat de rețea. Este costisitor pentru dvs. chiar și să încercați să trișați. Vă veți irosi propriile resurse fără nicio recompensă.

În aceasta constă frumusețea Proof of Work: este costisitor să trișați, dar profitabil să acționați cinstit. Orice miner rațional va căuta să obțină un randament al investiției, așa că ne putem aștepta să se comporte într-un mod care prezintă o probabilitate mai mare să aducă venituri.

Proof-of-Work vs. Proof-of-Stake

Există mulți algoritmi de consens în afară de PoW, dar unul dintre cei mai populari este Proof of Stake (PoS). Conceptul datează din 2011 și a fost implementat în Ethereum și alte câteva protocoale.

În sistemele Proof of Stake, minerii sunt înlocuiți cu validatori. Nu este vorba de minerit și de nicio cursă pentru a ghici hash-uri. În schimb, utilizatorii sunt selectați aleatoriu – dacă sunt aleși, trebuie să propună un bloc (sau să facă „forging”). Dacă blocul este valid, vor primi o recompensă formată din taxele din tranzacțiile blocului.

Cu toate acestea, nu poate fi selectat orice utilizator – protocolul îl alege pe baza anumitor factori. Pentru a fi eligibili, participanții trebuie să blocheze fonduri în staking, respectiv o sumă predeterminată din moneda nativă a blockchain-ului. Fondurile din staking funcționează ca o cauțiune: la fel cum inculpații depun o sumă mare de bani pentru a-i descuraja de la a nu participa la proces, validatorii blochează o sumă stake pentru a descuraja trișarea. Dacă acționează necinstit, suma stake (sau o parte din ea) va fi luată.

Proof of Stake are unele avantaje față de Proof of Work. Cel mai notabil este amprenta de carbon mai mică – deoarece nu este nevoie de ferme de minerit de mare putere în PoS, electricitatea consumată fiind doar o fracțiune din cea consumată în PoW. 

Acestea fiind spuse, PoS nu are același istoric ca PoW. Deși ar putea fi perceput ca o risipă, mineritul este singurul algoritm de consens care a fost testat în luptă de peste un deceniu. De la lansarea sa, PoW Bitcoin a asigurat tranzacții în valoare de trilioane de dolari. Pentru a spune cu certitudine dacă PoS poate rivaliza cu securitatea sa, stakingul trebuie testat corespunzător pe termen lung.

Gânduri de încheiere

Proof of Work a fost soluția originală la problema dublei cheltuieli și s-a dovedit a fi fiabilă și sigură. Bitcoin a demonstrat că nu avem nevoie de entități centralizate pentru a preveni cheltuirea acelorași fonduri de două ori. Cu utilizarea inteligentă a criptografiei, a funcțiilor hash și a teoriei jocurilor, participanții într-un mediu descentralizat pot conveni asupra stării unei baze de date financiare.

Materiale suplimentare

Declinarea răspunderii: Acest conținut vă este prezentat „ca atare” numai pentru informare generală și în scopuri educaționale, fără a oferi declarații sau garanții de vreun fel. Nu ar trebui să fie interpretat ca un sfat financiar, juridic sau de natură profesională și nici nu este destinat să recomande achiziționarea unui anumit produs sau serviciu. Ar trebui să solicitați sfaturi de la consilierii profesioniști corespunzători. În cazul în care articolul reprezintă contribuția unui colaborator terț, rețineți că acele opinii exprimate aparțin contributorului terț și nu le reflectă neapărat pe cele ale Academiei Binance. Vă rugăm să citiți declarația noastră completă de declinare a răspunderii aici pentru mai multe detalii. Prețurile activelor digitale pot fi volatile. Valoarea investiției dvs. poate scădea sau crește și este posibil să nu vă recuperați suma investită. Sunteți singura persoană responsabilă pentru deciziile dvs. de investiții, iar Academia Binance nu este responsabilă pentru eventualele pierderi suferite. Acest material nu trebuie interpretat ca un sfat financiar, juridic sau de natură profesională. Pentru mai multe informații, consultați Termenii de utilizare și Avertismentul privind riscurile.