Problema pe care o rezolvă proof of work
Un registru digital este uşor de copiat şi uşor de editat. Dacă oricine ar putea adăuga tranzacţii liber, ar putea de asemenea cheltui aceleaşi monede de două ori — clasica problemă a "dublei cheltuieli". Într-un sistem fără operator central, ai nevoie de o modalitate ca participanţii independenţi să se pună de acord asupra tranzacţiilor care s-au produs şi în ce ordine, chiar şi atunci când unii dintre ei sunt necinstiţi sau offline.
Încercările anterioare de bani digitali se bazau pe o parte de încredere care să ţină evidenţa. Designul Bitcoin, descris în whitepaper-ul din 2008, a înlocuit acea parte de încredere cu o competiţie publică: participanţii cheltuiesc resurse reale pentru a adăuga blocuri, iar reţeaua urmează o regulă comună pentru a alege lanţul câştigător. Consensul apare din cost şi matematică, nu din autoritate.
Ce calculează de fapt minerii
Fiecare bloc candidat conţine un pachet de tranzacţii, o referinţă la blocul anterior şi un mic număr modificabil numit nonce. Minerii trec aceste date prin funcţia de haşurare SHA-256, care transformă orice intrare într-o ieşire de lungime fixă, cu aspect imprevizibil. Scopul este de a găsi o intrare care produce un hash sub o anumită valoare ţintă — în practică, un hash care începe cu un anumit număr de zerouri.
Deoarece ieşirile de hash nu pot fi prezise sau descifrate, singura modalitate de a găsi un hash calificat este încercarea şi eroarea: schimbă nonce-ul, haşurează din nou, repetă, de miliarde de ori pe secundă. Acea căutare prin forţă brută este "munca". Este intenţionat greu de făcut, dar trivial de verificat pentru oricine altcineva — un singur calcul de hash confirmă că răspunsul este valid. Această asimetrie (greu de produs, uşor de verificat) este esenţa proof of work.
Dificultatea şi ritmul de aproximativ zece minute
Bitcoin ţinteşte un nou bloc în medie la aproximativ fiecare zece minute. Pe măsură ce se alătură reţelei mai multă putere de calcul (hash rate), blocurile ar tinde să apară mai rapid, aşa că protocolul ajustează periodic dificultatea — cât de mic trebuie să fie hash-ul ţintă — pentru a menţine ritmul mediu constant. Aproximativ la fiecare două săptămâni (2.016 blocuri), fiecare nod recalculează dificultatea pe baza timpilor recenţi ai blocurilor.
Această autoajustare este motivul pentru care mai multă putere de minerit nu înseamnă o producţie mai rapidă de blocuri în timp; înseamnă în principal că se cheltuieşte mai multă muncă pentru a securiza acelaşi flux constant de blocuri. Momentul exact al oricărui bloc individual este aleatoriu, aşa că zece minute reprezintă o medie pe termen lung, nu un program fix.
De la blocuri la consens: cel mai lung lanţ valid
Găsirea unui bloc valid este doar jumătate din poveste. Nodurile trebuie totuşi să se pună de acord asupra unei singure istorii atunci când doi mineri găsesc blocuri aproape în acelaşi moment. Regula este că nodurile urmează lanţul valid cu cea mai mare cantitate totală de proof of work acumulat — adesea rezumat drept "cel mai lung lanţ", deşi în realitate este cel mai greu prin munca cumulată.
Fiecare nod complet verifică independent fiecare bloc în raport cu regulile Bitcoin: semnături valide, fără dublă cheltuială, recompensă corectă pentru bloc şi un hash care îndeplineşte ţinta. Blocurile care încalcă regulile sunt pur şi simplu respinse, indiferent de câtă muncă s-a depus în ele. Dezacordurile temporare (fork-urile) se rezolvă pe măsură ce blocul următor prelungeşte o ramură, iar minerii oneşti converg către ea, deoarece construirea pe lanţul acceptat este acolo unde se află recompensa.
De ce securizează acest lucru reţeaua
Pentru a rescrie o tranzacţie din trecut, un atacator ar trebui să refacă proof of work-ul pentru acel bloc şi pentru fiecare bloc de după el, apoi să depăşească întreaga reţea onestă pentru a construi un lanţ mai lung. Cu cât o tranzacţie este îngropată mai adânc, cu atât mai multă muncă ar trebui refăcută — motiv pentru care comercianţii aşteaptă adesea mai multe confirmări. Costul se scalează cu hash rate-ul total al reţelei.
Aceasta este intuiţia din spatele "atacului de 51%": controlarea majorităţii puterii de haşurare ar putea permite cuiva să reordoneze sau să cenzureze tranzacţii recente. Însă este costisitor să achiziţionezi şi să operezi acel echipament, nu poate falsifica semnături sau fura direct monede, iar un atac vizibil ar putea submina valoarea chiar a activului pe care atacatorul cheltuieşte resurse pentru a-l mina. Stimulentele sunt aliniate astfel încât participarea onestă este în general mai profitabilă decât atacul. Securitatea aici este economică şi probabilistică, nu o garanţie absolută.
Compromisuri şi dezbaterea mai largă
Puterea proof of work — un cost real, extern — este şi sursa celei mai frecvente critici a sa: consumul de energie. Estimările privind consumul de electricitate al Bitcoin variază mult şi se schimbă în timp, iar imaginea este complicată de ponderea în creştere a energiei captive, excedentare sau regenerabile pe care o folosesc unii mineri. Oameni rezonabili sunt în dezacord, iar detaliile se schimbă; merită verificate surse actuale şi credibile, mai degrabă decât o singură cifră.
Designuri de consens alternative, precum proof of stake, securizează unele alte reţele cu mult mai puţină energie, folosind garanţii economice în locul calculului. Ele implică ipoteze şi compromisuri diferite, iar compararea lor corectă este un subiect în sine. Pentru Bitcoin în mod specific, proof of work rămâne mecanismul, iar securitatea şi programul său de emisie sunt legate de acesta.