Dovada dreptului de proprietate

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] .

Idee

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 .

Dovada importanței

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] :

  1. numărul de unități de criptomonedă din balanță (semnificative pentru PoI sunt solduri mai mari decât numărul convenit de unități, de exemplu, cel puțin 10 mii pentru NEM);
  2. activitatea contului (numărul de tranzacții);
  3. momentul în care contul a fost online.

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.

Beneficii

Dezavantaje

Argumente care provoacă îngrijorare [4] :

Implementări

Peercoin

Peercoin este un sistem proof-of-stake „pur”, în sensul că PoW este folosit doar pentru distribuția inițială a masei monetare .

Generare bloc

Membrii 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

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-satoshi

Un 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 protocolului
  • Numărul de membri din grupul care generează următoarele blocuri
  • Numărul de unități de criptomonedă produse de acest grup
  • Numărul de blocuri generate de acest grup
  • Funcţie
  • Timp minim între generarea blocului
  • Cota minimă de proprietate
  • Recompensa :

Procesul de creare a blocurilor CoA constituie un blockchain format din grupuri de blocuri consecutive :

Regulile protocolului

reguli de protocol :

  1. Fiecare bloc nou este generat de un participant
  2. Fiecare bloc nou este asociat cu primul bit al hash-ului.
  3. Intervalul de timp dintre două blocuri și nu trebuie să fie mai mic de . Aceasta înseamnă că, dacă următoarele 4 blocuri sunt create de către participanți , atunci intervalul de timp dintre și trebuie să fie cel puțin
  4. După ce grupul de blocuri este creat, nodurile de rețea formează o stare inițială de -bit (seed engleză) , unde  sunt valorile de intrare
  5. În continuare, starea inițială (seed engleză) este utilizată pentru a obține o secvență de identități utilizate pentru a determina următorii proprietari prin algoritmul follow-the-satoshi .
  6. Dacă satoshi primit nu este cheltuit, atunci proprietarul este obligat să furnizeze o semnătură suplimentară care să dovedească deținerea a cel puțin unități din criptomoneda, în caz contrar participantul nu va putea genera un nou bloc.

Dens-CoA

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:

  1. Fiecare participant , unde , alege o valoare secretă aleatorie
  2. Fiecare participant semnează mesajul și își încarcă semnătura și prototipul în rețea.

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 .

Distribuția inițială a criptomonedei

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 .

Critica

Unii autori susțin că dovada mizei nu este ideală pentru un protocol de consens distribuit [12] .

Nimic în joc

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] .

Cheltuieli duble

Deoarece înlănțuirea are resurse reduse (spre deosebire de sistemele PoW), oricine poate abuza de problemă încercând să dubleze cheltuirea „gratuit” [12] .

Opțiuni de rezolvare a problemelor

În practică, proiectele au rezolvat aceste probleme în diferite moduri:

  • Protocolul Slasher oferit de Ethereum permite utilizatorilor să „pedepsească” escrocii care operează la sfârșitul a mai mult de (decât) o ramură a lanțului [13] . Această opțiune presupune că trebuie să semnați de două ori crearea unei noi ramuri a lanțului și că s-ar putea să fiți penalizat dacă creați o ramură fără a confirma miza. Cu toate acestea, protocolul Slasher nu a fost niciodată adoptat. Dezvoltatorii lui Ethereum au ajuns la concluzia că dovada mizei în acest caz este nebanală [14] . În schimb, Ethereum a dezvoltat protocolul Ethash folosind PoW [15] .
  • Peercoin folosește puncte de control semnate cu cheia privată a dezvoltatorului . Din acest motiv, nu există posibilitatea de reorganizare a lanțului de blocuri înainte de ultimul punct de control. În acest caz, compromisul este că dezvoltatorul Peercoin este autoritatea centrală care gestionează lanțul de blocuri [4] .
  • Protocolul Nxt vă permite să reorganizați ultimele 720 de blocuri. Cu toate acestea, acest lucru nu face decât să deformeze problema: clientul poate urmări bifurcația blocului 721, indiferent dacă este cel mai lung lanț. [16] .
  • Algoritmul hibrid PoS și PoW al protocolului Decred . În acest caz, se folosește proof of stake, în funcție de marcajul temporal al algoritmului PoW, care se propune a fi numit „Proof-of-Activity” (Proof of activity), unde problema dovezii este rezolvată prin prezența unui al doilea mecanism probatoriu - PoW [17] .

Note

  1. Dovada dreptului de proprietate. „Metode algoritmice de dovadă a mizei: un rezumat comparativ”. Arhivat 23 septembrie 2020 la Wayback Machine Social Science Research Network (SSRN). 11-03-2018.
  2. Dovada activității: Extinderea dovezii de funcționare a Bitcoin prin Proof of Stake . Consultat la 24 decembrie 2017. Arhivat din original la 17 octombrie 2017.
  3. ↑ 1 2 3 PPCoin: Crypto-Currency peer-to-peer cu Proof-of-Stake (link în jos) . Preluat la 24 decembrie 2017. Arhivat din original la 11 decembrie 2017. 
  4. Merge a fost activată în rețeaua Ethereum. Blockchain a trecut la PoS  (engleză) . forklog (15 septembrie 2022). Data accesului: 17 septembrie 2022.
  5. 1 2 Karl Whelan. Raționament pe tema metodelor de protecție a criptomonedelor . 11.06.2011  (engleză) forbes.com (20.11.2013). Preluat la 1 septembrie 2014. Arhivat din original la 8 august 2017.
  6. Mecanismul blockchain sadaqa pentru finanțarea publică a ajutorului în caz de dezastre . Preluat la 24 decembrie 2017. Arhivat din original la 25 decembrie 2017.
  7. 1 2 Vitalik Buterin. O dovadă a filozofiei de proiectare a mizei . Consultat la 24 decembrie 2017. Arhivat din original la 10 martie 2021.
  8. Pos vs Pow . steemit.com. Preluat la 24 decembrie 2017. Arhivat din original la 25 decembrie 2017.
  9. 1 2 Andrew Poelstra. Consensul descentralizat în Proof-of-stake nu este posibil.  (engleză) . wpsoftware.net (28.05.2014). Preluat la 23 septembrie 2014. Arhivat din original la 3 mai 2018.
  10. Satoshi . en.bitcoin.it. Preluat la 23 decembrie 2017. Arhivat din original la 23 decembrie 2017.
  11. ↑ 1 2 3 Dovada activității: Extinderea dovezii de lucru a Bitcoin prin Proof of Stake .
  12. Slasher: A Punitive Proof-of-Stake Algorithm . Blogul Ethereum (15 ianuarie 2014). Preluat la 11 august 2017. Arhivat din original la 8 aprilie 2018.
  13. Slasher Ghost și alte evoluții în Proof of Stake . Blogul Ethereum (3 octombrie 2014). Preluat la 11 august 2017. Arhivat din original la 2 ianuarie 2018.
  14. Wood, Gavin Ethereum: A Secure Descentralized Generalized Transaction Ledger . - „Ethash este algoritmul PoW planificat pentru Ethereum 1.0”. Data accesului: 23 ianuarie 2016. Arhivat din original la 18 februarie 2015.
  15. Nxt Whitepaper: History Attack (link în jos) . nxtwiki . Consultat la 2 ianuarie 2015. Arhivat din original la 3 februarie 2015. 
  16. Bentov I., Gabizon A., Mizrahi A. Cryptocurrencies without Proof of Work.  // arXiv Cryptography and Security.. - 2015. Arhivat 6 martie 2016.