Un ghid al Bitcoinerului pentru inteligența datelor PlatoBlockchain Proof-of-Stake. Căutare verticală. Ai.

Ghidul unui Bitcoiner pentru Proof-of-Stake

Acesta este un editorial de opinie al lui Scott Sullivan.

În mod normal, Bitcoinilor nu le pasă prea mult de ceea ce se întâmplă în Shitcoin-land, dar acum că Ethereum a fuzionat cu dovada-de-miză (PoS), a existat destul de mult zgomot pe Twitter Bitcoin. Desigur, rețeaua Bitcoin în sine va rămâne neafectată, dar cred că acest „upgrade” merită să îi acordăm o atenție. Acum, că Ethereum s-a curățat de externalitățile „murdare” și „risipitoare” asociate cu dovada muncii (PoW), ne putem aștepta ca mănușile să se desprindă în războiul narativ și cred că Bitcoinerii ar trebui să fie gata să dea înapoi. .

A învăța cum funcționează PoS este o modalitate foarte bună de a internaliza diferențele și compromisurile dintre PoW și PoS. Chiar dacă am mai văzut toate argumentele la nivel înalt împotriva PoS - că PoS este mai autorizat, centralizator și oligarhic - voi recunoaște că, fără să mă uit în detalii, totul s-a simțit cam ondulat. Prin scufundări de fapt în algoritmul PoS, putem începe să vedem cum toate aceste proprietăți apar în mod natural din primele principii. Deci, dacă sunteți curios despre cum funcționează algoritmul PoS și de ce duce la aceste tipuri de proprietăți, citiți mai departe!

Rezolvarea problemei dublei cheltuieli

Să începem cu o recapitulare rapidă a problemei pe care încercăm să o rezolvăm. Să presupunem că avem un grup mare de participanți într-o rețea de criptomonede care încearcă să mențină un registru descentralizat. Iată problema: Cum pot fi adăugate tranzacții noi în registrul tuturor, astfel încât toată lumea să fie de acord cu privire la care tranzacții noi sunt „corecte”? PoW rezolvă această problemă destul de elegant: tranzacțiile sunt grupate în blocuri, în care fiecare bloc necesită o cantitate mare de muncă de calcul pentru a fi produs. Cantitatea de muncă necesară se poate deplasa în sus sau în jos pentru a se asigura că blocurile sunt produse în medie la fiecare zece minute, oferind fiecărui bloc nou suficient timp pentru a se propaga în rețea înainte ca următorul să fie creat. Orice ambiguitate este rezolvată prin selectarea lanțului cu cea mai mare muncă, iar cheltuirea dublă este prevenită datorită necesității a cel puțin 51% din puterea hash globală pentru ca un bloc de cheltuieli duble să ajungă din urmă.

Dar să presupunem că acum vrem să aruncăm la gunoi percepția cheie a lui Satoshi Nakamoto care a făcut totul posibil în primul rând. La urma urmei, acele ASIC-uri plictisitoare sunt zgomotoase și enervante și consumă mai multă energie decât toate avioanele private ale lui George Soros, Bill Gates și Hillary Clinton la un loc. Există vreo modalitate prin care putem fi de acord fără ambiguitate asupra tranzacțiilor adevărate doar vorbind?

Prova de miză a Ethereum își propune să rezolve această problemă folosind două ingrediente cheie. Primul este de a face „blocuri de puncte de control” speciale din când în când, al căror scop este să ofere asigurări tuturor celor din rețea despre „adevărul” sistemului în diferite momente în timp. Crearea unui punct de control necesită un vot cu o majoritate de două treimi după miză, așa că există o anumită asigurare că majoritatea validatorilor au fost de acord cu ceea ce era de fapt adevărul la acel moment. Al doilea ingredient este pedepsirea utilizatorilor pentru adăugarea de ambiguitate rețelei, un proces cunoscut sub numele de „slashing”. De exemplu, dacă un validator ar crea o furcă sau ar vota un sidechain mai vechi (similar cu un atac de 51%), atunci miza lui ar fi redusă. Validatorii pot fi, de asemenea, tăiați pentru inactivitate, dar nu la fel de mult.

Acest lucru ne conduce la primul nostru principiu din spatele PoS, și anume că PoS se bazează pe un sistem de stimulare negativ (bazat pe penalități).

Acest lucru contrastează puternic cu Bitcoin și cu dovada de lucru, care este un sistem de stimulare pozitiv (bazat pe recompensă). În Bitcoin, minerii pot încerca să încalce regulile - blocuri prost formatate, tranzacții invalide și așa mai departe - dar aceste blocuri vor fi ignorate de nodurile complete. Cel mai rău caz este un pic de energie irosită. Minerii sunt, de asemenea, liberi să construiască pe blocuri mai vechi, dar fără 51% din puterea hash, aceste lanțuri nu vor ajunge niciodată din urmă, din nou doar irosind energie. Orice miner care participă la aceste acțiuni, intenționat sau nu, nu trebuie să-și facă griji că își va pierde bitcoinii sau mașinile de minerit acumulate, dar nu va primi noi recompense. În loc să trăiască în frică, minerii de bitcoin pot greși de partea de a lua măsuri și riscă.

Lumea este un loc foarte diferit pentru validatorii care trăiesc în Ethereum-land. În loc să muncească din greu și să fie recompensați pentru adăugarea securității rețelei, validatorii nu lucrează efectiv, dar trebuie să aibă grijă ca nodul lor să nu se comporte niciodată greșit, ca să nu vadă economiile lor în flăcări. Dacă s-ar fi făcut vreo modificare propusă în rețea, primul instinct al validatorului ar fi să se conformeze la orice făceau toți ceilalți, altfel riscă să fie tăiat. A fi un validator este ca și cum ai merge zilnic pe coji de ouă.

(Sursă)

Apropo, a trăi sub un sistem de stimulente negative este unul dintre, ahem, „beneficii” ale probei de miză, potrivit co-fondatorului rețelei Ethereum, Vitalik Buterin. FAQ:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Deci, cum ar funcționa de fapt tăierea la nivel tehnic? Nu ar trebui să creăm mai întâi o listă cu toți validatorii, pentru a avea ceva de tăiat în primul rând? Raspunsul este da. Pentru a deveni validator în Ethereum, trebuie mai întâi să mutați ETH într-o adresă specială de „miză”. Nu numai că această listă este necesară pentru tăiere, ci și pentru vot, deoarece este nevoie de o majoritate de două treimi de vot pentru blocurile punctelor de control.

Există câteva implicații interesante pentru menținerea unei liste a tuturor validatorilor în orice moment. Cât de greu este să te alăture? Cât de greu este să pleci? Validatorii pot vota cu privire la statutul altor validatori?

Acest lucru ne duce la al doilea principiu din spatele PoS, și anume că PoS este un sistem autorizat.

Primul pas pentru a deveni validator este de a depune niște ETH la o adresă specială de miză. Cât de mult ETH? Minimul necesar este de 32 ETH, sau aproximativ 50,000 USD la momentul scrierii acestui articol. Pentru context, o platformă de exploatare Bitcoin decentă rulează de obicei în mii de dolari cu o singură cifră, iar un miner de acasă poate începe cu un singur S9 pentru câteva sute de dolari. Pentru a fi corect, taxa mare de intrare a ETH are a justificare tehnică, deoarece o miză mai mare înseamnă mai puțini validatori, ceea ce reduce lățimea de bandă.

Deci taxa de depozit este mare, dar cel puțin oricine deține 32 ETH este liber să se alăture sau să părăsească oricând, nu? Nu chiar. Sunt riscuri de securitate dacă mari coaliții de validatori ar intra sau ieși în același timp. De exemplu, dacă majoritatea rețelei pleacă dintr-o dată, atunci ei ar putea cheltui dublu un bloc finalizat reluând o bifurcătură în care nu au părăsit niciodată, fără să fie tăiați în niciun lanț. Pentru a atenua acest risc, rampele de pornire și de oprire au o limită de debit încorporată. Momentan asta limita este setat la max(4,|V|/65536) validatori pe epocă (la fiecare 6.4 minute) și este același atât pentru intrare, cât și pentru ieșire. Acest lucru se traduce aproximativ într-un set complet de validatori la fiecare zece luni.

Apropo, chiar dacă în prezent este posibil ca validatorii să publice o tranzacție de „ieșire” și să oprească validarea, codul de retragere efectivă a fondurilor nu a fost încă scris. Sună puțin ca „Hotel California”...

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Există un ultim punct despre stimulentele din spatele aprobării noilor validatori. Să presupunem că ați fost acționar într-o companie mare și stabilă, plătind dividende regulate în fiecare trimestru. Ar avea sens să oferim noi acțiuni gratuit? Bineînțeles că nu, deoarece acest lucru ar dilua dividendele tuturor acționarilor existenți. O structură similară de stimulente există în PoS, deoarece fiecare validator nou diluează veniturile tuturor validatorilor existenți.

În teorie, validatorii ar putea pur și simplu cenzura fiecare tranzacție care adaugă un nou validator; totuși, în practică, cred că o abordare atât de directă ar fi puțin probabilă. Acest lucru ar fi foarte vizibil și ar distruge imaginea Ethereum de „descentralizare” peste noapte, potențial să prăbușească prețul. Cred că ar fi folosită o abordare mai subtilă. De exemplu, regulile s-ar putea schimba lent de-a lungul timpului, ceea ce face mai dificil să devină validator, fiind oferite scuze precum „securitate” sau „eficiență”. Orice politică care îmbogățește validatorii existenți în detrimentul noilor validatori ar avea vânturi financiare din coadă, fie că se vorbește cu voce tare sau nu. Putem începe să vedem de ce PoS ar tinde către oligarhie.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Prezentare generală a algoritmului Casper

Acum că știm strategia de nivel înalt din spatele PoS, cum funcționează de fapt algoritmul? Principalele idei din spatele punctelor de control și tăierii au fost prezentate într-un algoritm numit Casper, așa că vom începe de acolo. Casper în sine nu specifică nimic despre cum să producă blocuri, ci mai degrabă oferă un cadru pentru cum să suprapună un punct de control/strategie de tăiere peste un arbore blockchain deja existent.

În primul rând, o constantă arbitrară (C) este aleasă pentru a fi numărul de „spațiere a punctelor de control”, care determină câte blocuri apar între punctele de control; de exemplu, dacă C=100, atunci punctele de control ar avea loc la blocurile 0, 100, 200 și așa mai departe. Apoi, toate nodurile votează blocul punctului de control care ar trebui să fie următorul punct de control „justificat”. În loc să voteze pe blocuri individuale izolate, validatorii votează de fapt perechile de puncte de control (s,t), care leagă unele „s” surse de puncte de control justificate anterior de un nou punct de control țintă „t”. Odată ce o legătură de punct de control (s,t) obține un vot cu o majoritate de două treimi prin miză, atunci „t” devine un nou punct de control justificat. Diagrama de mai jos prezintă un exemplu de arbore de puncte de control:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

În această diagramă, funcția h(b) se referă la „înălțimea punctului de control”, de exemplu, multiplu de 100 al blocului. Este posibil să fi observat că nu fiecare sută de bloc este neapărat justificat, ceea ce se poate întâmpla dacă votul a eșuat la o anumită măsură. înălţime. De exemplu, să presupunem că la înălțimea 200 două puncte de control separate au primit fiecare 50% din voturi. Deoarece votul de două ori este o infracțiune care poate fi redusă, sistemul s-ar „bloca” dacă unii validatori nu își reduc de bunăvoie propria miză pentru a obține un vot de două treimi. Soluția ar fi ca toată lumea să „soare” punctul de control 200 și să „încerce din nou” la blocul 300.

Doar pentru că un punct de control este justificat, nu înseamnă că este finalizat. Pentru ca un punct de control să fie considerat ca fiind finalizat, acesta trebuie să fie urmat imediat de un alt punct de control justificat la următoarea înălțime posibilă. De exemplu, dacă punctele de control 0, 200, 400, 500 și 700 au fost toate justificate și legate între ele, numai punctul de control 400 va fi considerat „finalizat”, deoarece este singurul urmat imediat de un alt punct de control justificat.

Pentru că terminologia este foarte precisă, să recapitulăm cele trei categorii ale noastre. Un „punct de control” este orice bloc care apare la înălțimea C*n, deci dacă C=100, fiecare bloc cu înălțimea 0, 100, 200, 300 și așa mai departe ar fi toate puncte de control. Chiar dacă s-ar crea mai multe blocuri la înălțimea 200, ambele ar fi „puncte de control”. Un punct de control este apoi „justificat” dacă este fie blocul rădăcină la înălțimea 0, fie dacă două treimi dintre validatori au votat pentru a crea o legătură între un punct de control justificat anterior și punctul de control curent. Un punct de control justificat este apoi „finalizat” dacă se leagă apoi de un alt punct de control justificat la următoarea înălțime posibilă. Nu orice punct de control devine neapărat justificat și nu fiecare punct de control justificat devine neapărat finalizat, chiar și în lanțul final.

Reguli Casper Slashing

Regulile de tăiere în Casper sunt concepute astfel încât să fie imposibil ca două puncte de control finalizate să existe în două bifurcări separate, cu excepția cazului în care cel puțin o treime dintre validatori au încălcat regulile de tăiere.

Cu alte cuvinte, numai punctele de control finalizate ar trebui să fie considerate ca blocuri fără ambiguitate de „adevăr”. Este chiar posibil ca două puncte de control justificate să apară de ambele părți ale unei bifurcări, doar nu două puncte de control finalizate. De asemenea, nu există nicio garanție cu privire la când sau unde va avea loc următorul punct de control finalizat, doar că, dacă ar avea loc o scindare a lanțului, atunci ar trebui să stai pe spate și să aștepți până când un bloc finalizat apare undeva și, odată ce o face, atunci știi că acesta este „ lant corect”.

Există două reguli de tăiere în Casper care impun această proprietate:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Prima regulă interzice oricui să voteze dublu la punctele de control cu ​​aceeași înălțime țintă, așa că dacă un validator a votat pentru două blocuri de puncte de control diferite cu înălțimea țintă de 200, aceasta ar fi o infracțiune care poate fi tăiată. Scopul acestei reguli este de a preveni împărțirea lanțului în două puncte de control diferite justificate cu aceeași înălțime, deoarece aceasta ar necesita 2/3 + 2/3 = 4/3 din totalul voturilor validatorului, ceea ce implică că cel puțin o treime dintre validatori au încălcat regulile de tăiere. Cu toate acestea, așa cum am văzut anterior, este posibil ca punctele de control justificate să „sare” anumite înălțimi de bloc. Ce împiedică un lanț să se împartă în diferite înălțimi de țintă? De exemplu, punctul de control 200 nu ar putea bifurca în puncte de control justificate la 300 și 400 fără ca cineva să fie tăiat?

Aici intervine a doua regulă, care practic îi împiedică pe validatori să „sandwich” voturile în interiorul altor voturi. De exemplu, dacă un validator a votat atât pentru 300→500, cât și pentru 200→700, aceasta ar fi o infracțiune care poate fi redusă. În cazul divizării în lanț, odată ce o ramură vede un punct de control finalizat, devine imposibil ca cealaltă ramură să vadă un punct de control justificat după aceea, cu excepția cazului în care cel puțin o treime dintre validatori au încălcat regula #2.

Pentru a vedea de ce, să presupunem că blockchain-ul sa bifurcat în punctele de control justificate 500→800 și 500→900, apoi la un moment dat primul lanț a văzut un punct de control finalizat cu legătura 1700→1800. Deoarece atât 1700, cât și 1800 pot fi justificate doar pe furca #1 (presupunând că nimeni nu a încălcat prima regulă de tăiere), singurul mod în care furca #2 ar putea vedea un punct de control justificat după 1800 este dacă ar exista o legătură votată între înălțimile H1800. Dar, deoarece acest vot ar „sandwich” legătura 1700 → 1800 și necesită un vot de două treimi, iar 1700 → 1800 a trecut deja cu un vot de două treimi, atunci cel puțin o treime dintre validatori ar trebui să încalce regula # 2. Hârtia Casper are o diagramă frumoasă care demonstrează această proprietate:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Și gata, trebuie doar să urmezi regulile Casper și ești bun!

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Pare destul de simplu, nu? Sunt sigur că PoS ar folosi vreodată tăierea doar ca ultimă soluție absolută pentru a menține consensul, și nu ca un mecanism de extorsionare pentru a presă validatorii să se comporte într-un anumit fel... nu?

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Acest lucru ne duce la al treilea principiu din spatele PoS: nu există reguli. „Regulile” sunt orice spun ceilalți că sunt.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Într-o zi, nodul tău ar putea să urmeze din punct de vedere tehnic fiecare poruncă a lui Casper la literă, iar a doua zi economiile tale ar putea fi reduse pentru că făceai ceva ce nu le-a plăcut tuturor celorlalți. Ați aprobat o tranzacție „roșu de echipă” acea dată? Mâine, majoritatea „echipelor albastre” te poate tăia. Sau poate ai făcut opusul și ai omis prea multe tranzacții cu „echipă roșie”? Mâine, majoritatea „echipelor roșii” s-ar putea să vă reducă pentru cenzură. Capacitatea de a reduce cu mult depășește domeniul limitat al cenzurii OFAC (Oficiul pentru Controlul Activelor Străine). PoS este ca un impas neîntrerupt mexican, în care amenințarea implicită de tăiere este mereu prezentă.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

N-aș fi surprins dacă într-un hard fork litigiu, ambele părți ar codifica regulile de validare ale celeilalte furci, doar în cazul în care ar dori să pedepsească pe oricine s-a alăturat părții „greșite”. Desigur, aceasta ar fi o opțiune nucleară și, la fel ca armele nucleare, fiecare parte ar putea alege să lovească doar ca răzbunare. Bănuiesc că majoritatea validatorilor individuali sunt neutri prin faptul că ar acorda prioritate autoconservarii financiare în detrimentul sacrificiului de sine politic, dar ar putea lua parte în exterior dacă ar simți că este mișcarea corectă pentru a evita să fie tăiați.

Cât este ceasul?

Acum că cunoaștem elementele de bază ale punctelor de control și tăierii, putem trece la algoritmul real folosit în Ethereum, numit Gasper. Acesta este un portmanteau al lui Casper, pe care l-am acoperit deja, și GHOST, o strategie pentru selectarea „cel mai bun” lanț de blocuri între punctele de control.

Primul lucru de înțeles despre Gasper este că timpul în sine este principala variabilă independentă. Timpul din lumea reală este împărțit în unități de douăsprezece secunde numite „slots”, în care fiecare slot conține cel mult un bloc. Aceste sloturi formează apoi grupuri mai mari numite „epoci”, în care fiecare epocă se referă la un punct de control. Fiecare epocă conține 32 de sloturi, ceea ce le face 6.4 minute.

Este demn de remarcat faptul că această paradigmă inversează relația cauzală dintre timp și producția de blocuri în comparație cu PoW. În PoW, blocurile sunt produse pentru că a fost găsit un hash valid, nu pentru că a trecut suficient timp. Dar în Gasper, blocurile sunt produse pentru că a trecut suficient timp în lumea reală pentru a ajunge la următorul slot. Îmi pot imagina doar erorile complicate de sincronizare pe care le poate întâlni un astfel de sistem, mai ales atunci când nu este vorba doar de un program care rulează pe un singur computer, ci de zeci de mii de computere care încearcă să ruleze sincronizat în întreaga lume. Sperăm că dezvoltatorii Ethereum sunt familiarizați cu minciuni pe care programatorii le cred despre timp.

Acum să presupunem că porniți un nod validator și sincronizați blockchain-ul pentru prima dată. Doar pentru că ați observat că anumite blocuri fac referire la anumite marcaje de timp, cum ați putea fi sigur că acele blocuri au fost cu adevărat produse în acele momente? Deoarece producția de blocuri nu necesită nicio muncă, nu ar putea un grup rău intenționat de validatori să simuleze un blockchain complet fals din prima zi? Și dacă ați vedea două blockchain-uri concurente, de unde ați ști care este adevărat?

Acest lucru ne duce la al patrulea principiu din spatele PoS, și anume că PoS se bazează pe adevărul subiectiv.

Pur și simplu nu există o modalitate obiectivă de a alege între două blockchain-uri concurente și orice nod nou al rețelei trebuie, în cele din urmă, să aibă încredere într-o sursă existentă de adevăr pentru a rezolva orice ambiguitate. Acest lucru contrastează semnificativ cu Bitcoin, unde lanțul „adevărat” este întotdeauna cel cu cea mai mare muncă. Nu contează dacă o mie de noduri vă spun lanțul X, dacă un singur nod difuzează lanțul Y și conține mai multă muncă, atunci Y este blockchain-ul corect. Antetul unui bloc își poate dovedi propria valoare, eliminând complet nevoia de încredere.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Bazându-se pe adevărul subiectiv, PoS reintroduce nevoia de încredere. Acum, recunosc, sunt poate ușor părtinitoare, așa că dacă vrei să citești cealaltă parte, Buterin a scris un eseu care conține părerile sale aici. Voi recunoaște că, în practică, o divizare a lanțului nu pare atât de probabilă, având în vedere regulile Casper, dar, indiferent, am o oarecare liniște știind că aceasta nici măcar nu este o posibilitate în Bitcoin.

Bloc de producție și vot

Acum că suntem familiarizați cu sloturile și epocile, cum sunt produse și votate blocurile individuale? La începutul fiecărei epoci, setul complet de validatori este împărțit „aleatoriu” în 32 de grupuri, câte unul pentru fiecare slot. În fiecare slot, un validator este ales „aleatoriu” pentru a fi producătorul blocului, în timp ce ceilalți sunt aleși pentru a fi alegătorii (sau „atestatori”). Pun „aleatoriu” între ghilimele, deoarece procesul trebuie să fie determinist, deoarece toată lumea trebuie să fie de acord fără ambiguitate asupra acelorași seturi de validatori. Cu toate acestea, acest proces trebuie să fie, de asemenea, neexploatabil, deoarece a fi producătorul de blocuri este o poziție extrem de privilegiată datorită recompenselor suplimentare disponibile din valoarea extractabilă a minerului (MEV) sau, așa cum este redenumit, „valoare maximă extractabilă”. „Ethereum este o pădure întunecată” este o lectură grozavă despre asta.

Odată ce un bloc este produs, cum votează sau „atestă” ceilalți validatori? Propunerea de bloc ar trebui să aibă loc în prima jumătate (șase secunde) a unui slot și să atestă în a doua jumătate, așa că, teoretic, ar trebui să existe suficient timp pentru ca atestatorii să voteze blocul slotului lor. Dar ce se întâmplă dacă persoana care propune blocul este offline sau nu reușește să comunice sau se bazează pe un bloc prost? Sarcina unui atestator nu este neapărat să voteze blocul acelui slot, ci mai degrabă care bloc „arata cel mai bine” din punctul său de vedere la acel moment. În condiții normale, acesta va fi de obicei blocul din acel slot, dar poate fi și un bloc mai vechi dacă ceva nu a mers prost. Dar, din punct de vedere tehnic, ce înseamnă „arata cel mai bine”? Aici intervine algoritmul GHOST.

GHOST înseamnă „Greediest Heaviest Observed SubTree” și este un algoritm recursiv lacom pentru găsirea blocului cu cea mai „activitate recentă”. Practic, acest algoritm se uită la toate blocurile recente sub formă de arbore și merge în jos prin arbore selectând cu lăcomie ramura cu cele mai multe atestări cumulate pe întreaga subramură. Doar cea mai recentă atestare a fiecărui validator contează pentru această sumă și, în cele din urmă, acest proces ajunge pe un bloc de frunze.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Atestările nu sunt doar voturi pentru cel mai bun bloc curent, ci și pentru cel mai recent punct de control care duce la acel bloc. Este demn de remarcat în Gasper, punctele de control se bazează mai degrabă pe epoci decât pe înălțimile blocurilor. Fiecare epocă se referă la exact un bloc punct de control, care este fie blocul din primul slot al acelei epoci, fie dacă acel slot a fost omis, atunci cel mai recent bloc înainte de acel slot. Același bloc poate fi teoretic un punct de control în două epoci diferite dacă o epocă a sărit cumva fiecare slot, astfel încât punctele de control sunt reprezentate folosind perechi (epocă, bloc). În diagrama de mai jos, EBB înseamnă „bloc limită de epocă” și reprezintă punctul de control pentru o anumită epocă, în timp ce „LEBB” înseamnă „bloc limită de epoca” și reprezintă cel mai recent punct de control în general.

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Similar cu Casper, un punct de control devine justificat odată ce numărul total de atestări depășește pragul de două treimi și este finalizat dacă a fost urmat imediat de un alt punct de control justificat în epoca următoare. Un exemplu despre cum funcționează acest vot este prezentat mai jos:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Există două condiții de tăiere în Gasper, care sunt analoge cu regulile de tăiere din Casper:

  1. Fără vot de două ori în aceeași epocă.
  2. Niciun vot nu poate conține puncte de control de epocă care „sandwich” punctele de control de epocă ale altui vot.

În ciuda faptului că se bazează pe epoci în loc de înălțimile blocurilor, regulile Casper încă asigură că nu pot apărea două puncte de control finalizate pe lanțuri diferite, cu excepția cazului în care o treime din validatori ar putea fi tăiate.

De asemenea, este de remarcat faptul că atestările sunt incluse în blocurile în sine. Similar cu modul în care un bloc în PoW se justifică folosind hash-ul său, un punct de control finalizat în PoS se justifică folosind toate atestările sale anterioare. Când cineva încalcă regulile de tăiere, acele atestări proaste sunt incluse într-un bloc care dovedește încălcarea. Există, de asemenea, o mică recompensă pentru producătorul de blocuri care a inclus încălcarea, pentru a oferi un stimulent pentru a pedepsi cei care încalcă regulile.

Furci

Este interesant să ne gândim la ce s-ar întâmpla în cazul unei furci. Pentru a recapitula rapid, o furculiță se referă la o schimbare a regulilor de consens și vin în două soiuri: furculițe tari și furculițe moi. Într-un hard fork, noile reguli nu sunt compatibile cu invers, ceea ce poate duce la două blockchain-uri concurente, dacă nu toată lumea trece. Într-un soft furk, ​​noile reguli sunt mai restrictive decât vechile reguli, păstrându-le în același timp compatibile cu versiunea inversă. Odată ce peste 50% dintre mineri sau validatori încep să aplice noile reguli, mecanismul de consens trece fără a diviza lanțul. Furcile soft sunt în general asociate cu upgrade-uri și noi tipuri de tranzacții, dar includ și din punct de vedere tehnic orice tip de cenzură impusă de o majoritate de 51%. PoS are, de asemenea, un al treilea tip de „furcătură” care nu este prezent în PoW: o divizare în lanț fără nicio modificare a regulilor. Dar, din moment ce am abordat deja acest lucru, ne vom concentra pe furcile tari și moi.

Să începem cu cel mai simplu caz: un hard furk de sine stătător. Prin litigioasă, mă refer la o schimbare a regulilor care împarte utilizatorii din punct de vedere politic. O remediere a erorilor sau o modificare tehnică minoră probabil că nu ar fi controversată, dar ceva de genul schimbării recompensei de validare probabil ar fi. Dacă un hard furk ar fi suficient de controversat, ar putea duce la o scindare a lanțului și ar fi rezolvat din punct de vedere economic de către utilizatorii care vând un lanț și cumpără celălalt. Acest lucru ar fi similar cu împărțirea Bitcoin Cash din 2017, care pare să aibă un câștigător clar:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Acum să presupunem că validatorii au stat în jur de o zi și au decis că nu sunt plătiți suficient și au decis că ar trebui să-și majoreze recompensele de la 5% pe an la 10% pe an. Acesta ar fi un compromis clar în favoarea validatorilor în detrimentul celor care nu au validat, care acum ar fi din ce în ce mai diluați. În cazul unei scindări de lanț, care lanț ar câștiga?

Acest lucru duce la al cincilea principiu al PoS, și anume că banii sunt putere.

Din cei 120 de milioane de ETH existenți, peste 10% din acestea sunt în curs de miză, așa cum se vede în graficul de mai jos:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Având în vedere o discuție dificilă între validatori și nevalidatori, presupunând că toți nevalidatorii au vândut noul lanț și toți validatorii au vândut lanțul vechi, atunci, în teorie, vechiul lanț ar câștiga, deoarece majoritatea ETH ar fi deținut în continuare de nevalidatori (90% față de 10%). Dar mai sunt câteva lucruri de luat în considerare. În primul rând, după orice divizare a lanțului, validatorii ar fi în continuare „în control” asupra ambelor blockchain-uri. Dacă validatorii au fost capabili să influențeze celălalt lanț, ar putea fi stimulați să-l facă să eșueze. În al doilea rând, există și opțiunea nucleară discutată mai devreme, prin care noul lanț ar putea tăia pe oricine care încă validează vechiul lanț pentru a-i presa să se alăture. În cele din urmă, validatorii ar avea probabil o influență socială și politică semnificativă asupra tuturor celorlalți din rețea. Dacă Buterin, Fundația Ethereum și bursele au decis la unison că vor crește recompensa de miză, îmi este greu să cred că utilizatorii obișnuiți și validatorii Ethereum ar putea menține vechiul furk, ​​făcându-l și mai valoros prin presiunea de cumpărare.

Trecând la soft forks, ce s-ar întâmpla într-o soft fork controversată, cum ar fi cenzura OFAC? Validatoarele sunt destul de centralizate, așa cum putem vedea în graficul de mai jos:

O analiză tehnică și aprofundată a compromisurilor pe care mecanismul de consens al Ethereum le face în trecerea la dovada de miză și modul în care diferă dovada de lucru.

(Sursă)

Spre deosebire de PoW unde minerii pot schimbă piscine la apăsarea unui buton, validatorii din Ethereum sunt blocați într-o adresă de miză până când procesează o tranzacție de ieșire. Dacă Lido și bursele de top ar cenzura anumite tranzacții, ar putea trece cu ușurință de majoritatea de două treimi necesară pentru a decide punctele de control. Mai devreme, am văzut cum Buterin și ceilalți validatori ETH ar putea încerca să contracareze un soft fork al cenzurii cu propria lor contracenzură hard fork, în timp ce reducând cenzorii în acest proces. Chiar dacă ar reuși să creeze o furcă, o mulțime de valoare ar fi distrusă în acest proces, atât din cauza tăierii, cât și din pierderea încrederii.

Gânduri de închidere

În acest eseu, ne-am uitat la modul în care PoS rezolvă problema dublei cheltuieli cu Gasper, o combinație de reguli de punct de control/slashing numite Casper și o regulă de vot „cel mai bun bloc” numită GHOST. Pentru a recapitula, Gasper împarte timpul în unități numite sloturi, unde fiecare slot poate avea cel mult un bloc, iar sloturile sunt grupate în epoci, unde fiecare epocă se referă la un punct de control. Dacă o majoritate de două treimi votează pentru un punct de control, acesta devine justificat, iar dacă două puncte de control justificate au loc la rând, primul dintre aceste două puncte de control devine finalizat. Odată ce un punct de control devine finalizat, devine imposibil ca un lanț paralel să fie finalizat, cu excepția cazului în care o treime dintre validatori ar putea fi tăiați.

În acest proces am descoperit cinci principii ale PoS:

  1. PoS folosește o structură de stimulente negativă (pe baza de penalități).
  2. PoS este un sistem permis.
  3. PoS nu are reguli.
  4. PoS se bazează pe adevărul subiectiv.
  5. În PoS, banii sunt putere.

Fiecare dintre aceste principii are un comportament opus în PoW:

  1. PoW folosește un sistem de stimulare pozitiv (bazat pe recompense).
  2. PoW este un sistem fără permisiune (oricine poate începe sau opri mineritul în orice moment).
  3. În PoW, fork-urile care schimbă regulile sunt ignorate.
  4. PoW se bazează pe adevărul obiectiv.
  5. În PoW, minerii servesc utilizatorii și au ei înșiși puțină putere.

Cred că toată lumea ar trebui să se străduiască să creeze genul de lume în care își dorește să trăiască. Dacă, ca mine, vrei să trăiești într-o lume fără permisiune în care poți avea control asupra banilor tăi, în care munca grea este răsplătită și proprietatea pasivă este un răspunderea și unde banii tăi își vor stoca valoarea mult în viitor, fără a te schimba dintr-un capriciu, atunci s-ar putea să vrei să te gândești cu atenție la compromisurile dintre PoW și PoS și să lupți în favoarea principiilor după care vrei să trăiești.

Aceasta este o postare pentru oaspeți de Scott Sullivan. Opiniile exprimate sunt în întregime proprii și nu le reflectă neapărat pe cele ale BTC Inc. sau ale revistei Bitcoin.

Timestamp-ul:

Mai mult de la Revista Bitcoin