Dovada proprietății, Proof-of-stake (PoS) (din engleză proof of stake , literalmente: „confirmarea acțiunii”) este o metodă de securitate în criptomonede , în care probabilitatea ca un participant să formeze următorul bloc în blockchain este proporțională cu cota deținută de acest participant unități de cont ale acestei criptomonede din numărul total al acestora. Această metodă este o alternativă la metoda proof of work (PoW), în care probabilitatea de a crea următorul bloc este mai mare pentru proprietarul unui echipament mai puternic [2] .
Când se utilizează această metodă, algoritmul de formare a blocurilor nu depinde de capacitatea echipamentului, dar este mai probabil ca blocul să fie format de contul cu cel mai mare sold curent. De exemplu, un participant care deține 1% din suma totală va genera, în medie, 1% din blocuri noi [3] .
Ideea de Proof-of-stake a fost propusă pentru prima dată pe forumul Bitcointalk în 2011 . Prima implementare a protocolului PoS a fost introdusă în 2012 în criptomoneda PPCoin (în prezent PeerCoin ) [4] . Pe 15 septembrie 2022, Ethereum a fost transferat la algoritmul de consens Proof-of-Stake [5] .
În practică, sunt adesea întâlnite opțiuni mixte pentru formarea de noi blocuri. De exemplu, atât metodele PoW, cât și PoS sunt utilizate în criptomonedele Emercoin , NovaCoin , YaCoin . În criptomonedele PeerCoin și Reddcoin , metoda PoW este utilizată pentru distribuția inițială, iar PoS este utilizat pentru confirmarea tranzacțiilor [6] . În platforma cripto Nxt , Gridcoin și BlackCoin , metoda PoS este utilizată în toate etapele [6] .
Ideea de proof-of-stake este de a rezolva problema proof-of-work asociată cu consumul ridicat de energie. În loc de puterea de calcul a participanților, contează cantitatea de criptomonedă din contul lor. Deci, în loc să folosească o cantitate mare de energie electrică pentru a rezolva problema PoW, participantul PoS are un procent limitat de posibile verificări ale tranzacțiilor. Limita corespunde cantității de criptomonedă din contul participantului .
Una dintre opțiunile pentru utilizarea combinată a tehnologiei PoS este Proof -of-importance (PoI), un algoritm utilizat în criptomoneda NEM . Există trei componente ale probabilității de a fi eligibil pentru a forma un bloc [7] :
Pe măsură ce echilibrul crește, influența parametrilor se modifică - odată cu creșterea numărului de unități criptomonede asupra balanței, influența primului parametru crește, iar influența parametrilor 2 și 3 scade (PoI funcționează aproape ca PoS) . Cu cât balanța este mai mică, cu atât influența parametrilor 2 și 3 este mai puternică.
Dacă volumul total de emisii de criptomonede este limitat, atunci cerințele minime pentru primul parametru formează numărul maxim de solicitanți pentru crearea unui bloc.
Argumente care provoacă îngrijorare [4] :
Peercoin este un sistem proof-of-stake „pur”, în sensul că PoW este folosit doar pentru distribuția inițială a masei monetare .
Generare blocMembrii rețelei Peercoin au posibilitatea de a crea un bloc în baza următoarei condiții :
— ora curentă, în această inegalitate limitează încercările de hashing și blochează crearea următorului bloc.
este rezultatul tranzacției.
— suma de criptomonedă necheltuită a tranzacției.
Dacă o parte interesată are o cheie care controlează , atunci poate genera un bloc folosind cheia ca semnătură. Semnătura, în acest caz, va servi drept dovadă a îndeplinirii condiției. De exemplu, un participant care deține 50 de unități dintr-o criptomonedă are de 10 ori mai multe șanse să creeze un bloc nou decât un participant care deține 5 unități.
este timpul scurs de când rezultatul tranzacției a fost inclus în bloc . Probabilitatea de a genera următorul bloc imediat după generarea celui precedent este foarte mică, dar crește în timp. Acest lucru evită o distribuție exponențială între plăți, crescând șansele ca participanții să dețină o cantitate mică de criptomonedă.
- datele blocului anterior.
Un participant care deține o parte semnificativă din întreaga criptomonedă a sistemului are posibilitatea de a genera o parte semnificativă a blocurilor, deoarece probabilitatea de a genera un bloc este proporțională cu numărul de monede din contul său. Prin urmare, din când în când, persoana interesată are posibilitatea de a genera lanțuri de blocuri consecutive .
este o constantă care este ajustată astfel încât blocurile să fie generate în medie la fiecare 10 minute.
CoA (lanțuri de activitate) se bazează parțial pe elementul principal de dovadă a activității , de exemplu, pe o loterie între participanții activi prin procedura follow-the-satoshi (satoshi [11] este cea mai mică unitate de criptomoneda, de exemplu, pentru bitcoin este egală cu 0,00000001 BTC).
Follow-the-satoshiUn algoritm care ia ca intrare un coeficient satoshi între zero și numărul total de satoshi în circulație. Apoi interogează blocul în care a fost produs acest satoshi și ține evidența tranzacțiilor prin care a trecut până când găsește un participant capabil să-l cheltuiască în prezent. De exemplu, dacă Alice are 6 satoshi și Bob are 2, atunci Alice are de 3 ori mai multe șanse să fie aleasă ca următorul proprietar al unor satoshi decât este Bob .
Parametrii protocoluluiProcesul de creare a blocurilor CoA constituie un blockchain format din grupuri de blocuri consecutive :
Regulile protocoluluireguli de protocol :
Dense-CoA este o implementare alternativă a CoA în care participanții care generează următoarele blocuri din lanț nu sunt cunoscuți dinainte. În CoA, un bloc este generat de un participant, iar în Dense-CoA, fiecare bloc este creat de un grup de participanți:
Fie o funcție ireversibilă . Lăsați blocul să fie asociat cu starea inițială (seed engleză) , format dintr-un grup de participanți care au generat acest bloc. Participantul care decide ce tranzacții intră în următorul bloc este determinat folosind algoritmul follow-the-satoshi cu o funcție hash ca intrare. Participanții rămași sunt determinați de același algoritm, dar valoarea de intrare este , unde .
În continuare, cei aleși participă la procedura de generare a blocurilor , care constă în două etape:
Participantul semnează și încarcă blocul în rețea . Blocul conține: tranzacții, hash-ul blocului anterior , marca temporală curentă, preimagini și colecția tuturor semnăturilor . Participanții folosesc o funcție pentru a calcula imagini . Aceste imagini sunt folosite pentru a obține . În continuare, validitatea semnăturii este verificată cu cheile publice ale participanților .
Pentru o criptomonedă care nu utilizează dovada de lucru, există o modalitate simplă de a distribui bani între participanți - deținerea unui ICO . Cu toate acestea, în acest caz, se presupune că inițial întreaga monedă este controlată de o singură parte, ceea ce complică procesul de descentralizare. În multe criptosisteme care folosesc proof-of-stake, această problemă este rezolvată prin utilizarea PoW pentru a genera inițial o criptomonedă care va circula în sistem în viitor. Astfel, costul inițial al unităților criptomonede este determinat de costul producției lor .
Unii autori susțin că dovada mizei nu este ideală pentru un protocol de consens distribuit [12] .
Problema „nimic în joc” este că, în cazul unei erori de consens, generatorii de blocuri nu pierd nimic prin votul pentru mai multe ramuri de lanț. Acest lucru împiedică stabilirea unui consens vreodată [12] .
Deoarece înlănțuirea are resurse reduse (spre deosebire de sistemele PoW), oricine poate abuza de problemă încercând să dubleze cheltuirea „gratuit” [12] .
În practică, proiectele au rezolvat aceste probleme în diferite moduri:
Criptomonede | |
---|---|
PoW bazat pe SHA-2 | |
PoW bazat pe Scrypt | |
PoW bazat pe CryptoNote | |
Alți algoritmi PoW | |
algoritmi PoS | |
Alte tehnologii | |
subiecte asemănătoare |
|