Algoritmul de consens Proof of Stake închiriat și protocolul Waves-NG

Autori: Guy Brandon, colaborator Waves.

Rețeaua Waves rulează pe algoritmul de consens de leasing proof-of-stake (LPoS) în combinație cu protocolul Waves-NG, care oferă un grad ridicat de scalabilitate și debit de tranzacție.


Prefaţă

Rețeaua Waves a fost lansată în 2016 după un ICO care a strâns 30.000 BTC, aproximativ 16 milioane USD la acea vreme. Proiectul dezvoltă un ecosistem blockchain cuprinzător pentru soluții de afaceri cu o gamă largă de instrumente care acoperă o varietate de nevoi, inclusiv crearea ușoară de jetoane personalizate, contracte inteligente, tranzacționare peer-to-peer pe un schimb descentralizat (DEX) încorporat. precum și un mijloc sigur și convenabil de a interacționa cu dApps și serviciile web folosind pluginul de browser Waves Keeper.


Scalabilitate

De la începutul Waves, compania a recunoscut că, pentru adoptarea în masă a tehnologiei blockchain, ar trebui să îmbunătățească scalabilitatea și să prioritizeze dezvoltarea tehnologiei pentru a aborda limitările blockchain-urilor existente. De exemplu, Bitcoin este foarte sigur, dar este relativ lent și poate accepta doar aproximativ 7 tranzacții pe secundă (TPS). Astfel, Bitcoin nu este suficient de eficient pentru a fi folosit ca monedă de zi cu zi. Pentru ca Bitcoin să realizeze acest lucru, este necesară o soluție de nivel 2, cum ar fi Lightning Network. Waves a adoptat o abordare diferită, care sa concentrat inițial pe scalabilitatea înaltă a lanțului înainte de a lua în considerare aplicațiile de nivel 2.


Sold de leasing

Algoritmul de consens original din Waves a fost o implementare simplă a Proof of Stake. Toate cele 100 de milioane de jetoane WAVES au fost distribuite după ICO și oferta lor totală este fixă, fără inflație, așa cum se întâmplă cu monedele PoW. În consecință, validatorii de pe Waves (falsificatorii, deși sunt de obicei numiți „mineri”) sunt recompensați cu plata taxelor de bloc, mai degrabă decât recompense.

Sistemul Leased Proof of Stake (LPoS) a fost lansat complet în mai 2017, permițând utilizatorilor clientului Waves lite, cei care nu pot rula un nod complet, să-și închirieze jetoanele WAVES pentru nodurile miniere. Jetoanele închiriate sunt blocate în contul utilizatorului și nu pot fi transferate sau schimbate. Cu toate acestea, acestea rămân sub controlul deplin al proprietarului lor și închirierea poate fi anulată în orice moment. Având în vedere suprasolicitarea tehnică a rulării unui nod minier și necesitatea de a fi online 24/7, doar o parte relativ mică a comunității Waves le rulează (o listă de validatori poate fi găsită la https://dev.pywaves.org/generators). /).

Jetoanele WAVES închiriate sunt folosite pentru a crește miza minerului, ceea ce la rândul său crește șansele ca acesta să găsească următorul bloc. Sistemul Leased Proof of Stake îmbunătățește securitatea rețelei în cel puțin două moduri. În primul rând, cu cât sunt folosite mai multe WAVES în rețea, cu atât mai bine, deoarece devine mai dificil pentru un atacator să acumuleze jetoanele necesare pentru un atac de 51%. În al doilea rând, WAVES poate fi închiriat la un nod din portofelul rece al unui utilizator, dar nodul în sine, care rămâne conectat la rețea, trebuie să aibă doar un sold minim. Acest lucru reduce semnificativ riscul ca jetoanele WAVES să fie piratate de pe computerele conectate la rețea, deoarece fondurile închiriate nu sunt transferate minerului.


O nouă abordare a consensului cu Waves-NG

O nouă actualizare a rețelei a avut loc în decembrie 2017, odată cu lansarea Waves-NG. Era un nou protocol bazat pe Bitcoin-NG creat de profesorul de IT Cornell Emin Gün Sirer.

Protocolul original Bitcoin selectează fiecare miner retroactiv. Odată ce un bloc a fost adăugat în blockchain, minerii concurează între ei pentru a găsi un hash valid pentru următorul bloc pe baza stării curente a lanțului. Între timp, tranzacțiile nou create intră în mempool, unde vor rămâne în așteptare în timp ce unul dintre mineri le colectează și le verifică.

Deși atât Bitcoin, cât și Bitcoin-NG sunt considerate a fi un sistem Byzantine General Task (BFT), acesta din urmă a fost propus în 2015 ca o alternativă pentru îmbunătățirea scalabilității pe baza unui mecanism de lucru diferit. În sistemul Bitcoin-NG, următorul miner este ales în avans și creează un bloc de chei gol - acesta este blocul care va fi adăugat în cele din urmă la blockchain. La acest bloc cheie sunt adăugate blocuri mici numite microblocuri (constând din tranzacții multiple). Într-un exemplu de zi cu zi, ar fi ca și cum ați adăuga câteva pungi de cumpărături (microblocuri) la un coș (bloc de chei) înainte ca acesta să se umple și, în cele din urmă, să ajungă la casă (adăugați la blockchain). Aceasta înseamnă că tranzacțiile pot fi adăugate în blockchain în doar câteva secunde, cu singura latență reală asociată rețelei. Waves a actualizat dovada mizei, creând protocolul Waves-NG, aceasta este prima interpretare a Bitcoin-NG pentru un blockchain deschis, public.

O altă adăugare la ecosistem a fost MassTransfers. Acest lucru vă permite să împachetați până la 100 de transferuri într-o singură tranzacție cu un comision redus. Limita de 100 TPS pentru MassTransfer a fost aleasă ca un compromis între capacitatea semnificativă și comoditate și limitarea capacității de a trimite loturi foarte mari de tranzacții cu costuri reduse. Dacă trebuie efectuate mai multe transferuri, mai multe transferuri în masă pot fi implementate secvenţial.

Cu alte cuvinte, utilizatorii pot selecta pur și simplu MassTransfer ca alt tip de trimitere a tranzacțiilor, permițându-le să includă până la 100 de destinatari într-un singur transfer. În plus, adresele destinatarilor pot fi furnizate în fișiere JSON sau CSV, făcând simplu și eficient efectuarea de airdrops mari sau plăți săptămânale celor care își închiriază WAVE-urile la nodurile miniere. Atunci când este combinat cu Waves-NG, MassTransfer oferă un flux de rețea foarte mare.

O serie de teste au fost efectuate pe rețeaua Waves pentru a evalua debitul noului protocol. În octombrie 2018, a fost efectuat un test de stres al rețelei principale. Acest lucru a demonstrat că protocolul blockchain public, deschis, ar putea suporta mai mult de 6,1 milioane de tranzacții pe zi și o medie de 4.200 TPS pe minut sau 71 TPS pe secundă, cu un debit maxim atingând peste 100 de tranzacții pe secundă.


Concluzie

Sistemul Leased Proof-of-Stake a permis utilizatorilor obișnuiți să ajute la securizarea rețelei Waves prin transferul jetoanelor WAVES la noduri fără a pierde controlul asupra acestora. În același timp, Waves-NG oferă un debit de până la 100 TPS, ceea ce este cu un ordin de mărime mai mare decât multe blockchain-uri. Tranzacțiile sunt, de asemenea, mai ieftine, deoarece nu este nevoie să plătească minerilor o recompensă în bloc pentru a-și compensa costurile pentru electricitate și echipamente scumpe.

Scalabilitatea lanțului este o prioritate pentru Waves, dar există anumite limitări pentru alte rețele blockchain cu aceeași abordare din cauza cantității de memorie și a lățimii de bandă necesare. Dezvoltatorii Waves cred că poate fi optimizat pentru a suporta până la 1000 TPS înainte de a fi necesare soluții suplimentare. Waves analizează în prezent diverse opțiuni pentru scalarea celui de-al doilea strat, care include un sidechain, care îi va permite să proceseze un număr mare de tranzacții pe un lanț paralel și, în cele din urmă, să îl securizeze cu lanțul principal.