Algoritmo di consenso della Leased Proof of Stake e protocollo Waves-NG

Autori: Guy Brandon, collaboratore di Waves.

La rete Waves funziona sull'algoritmo di consenso leased proof-of-stake (LPoS) in combinazione con il protocollo Waves-NG, che fornisce un elevato grado di scalabilità e throughput delle transazioni.


Prefazione

La rete Waves è stata lanciata nel 2016 dopo un'ICO che ha raccolto 30.000 BTC, all'epoca circa 16 milioni di dollari. Il progetto sta sviluppando un ecosistema blockchain completo per soluzioni aziendali con un'ampia gamma di strumenti che coprono una varietà di esigenze, tra cui la facile creazione di token personalizzati, contratti intelligenti, trading peer-to-peer su un exchange decentralizzato integrato (DEX), nonché un mezzo sicuro e conveniente per interagire con dApp e servizi Web utilizzando il plug-in del browser Waves Keeper.


Scalabilità

Fin dall'inizio di Waves, la società ha riconosciuto che per l'adozione di massa della tecnologia blockchain sarebbe necessario migliorare la scalabilità e dare priorità allo sviluppo tecnologico per affrontare i limiti delle blockchain esistenti. Ad esempio, Bitcoin è molto sicuro, ma è relativamente lento e può supportare solo circa 7 transazioni al secondo (TPS). Pertanto, Bitcoin non è abbastanza potente per essere utilizzato come valuta quotidiana. Per raggiungere questo obiettivo è necessaria una soluzione di livello 2 come Lightning Network. Waves ha adottato un approccio diverso, che inizialmente si concentrava sulla scalabilità della catena elevata prima di considerare le applicazioni di livello 2.


Saldo leasing

L'algoritmo di consenso originale in Waves era una semplice implementazione della Proof of Stake. Tutti i 100 milioni di token WAVES sono stati distribuiti dopo l'ICO e la loro fornitura totale è fissa, senza inflazione, come accade con le monete PoW. Pertanto, i validatori su Waves (falsari, anche se di solito sono chiamati “minatori”) vengono ricompensati con il pagamento di commissioni di blocco anziché di premi.

Il sistema Leased Proof of Stake (LPoS) è stato lanciato completamente nel maggio 2017, consentendo agli utenti del client Waves lite, coloro che non possono eseguire un nodo completo, di noleggiare i propri token WAVES per i nodi di mining. I token noleggiati sono bloccati nell'account dell'utente e non possono essere trasferiti o scambiati. Rimangono comunque sotto il pieno controllo del proprietario e il noleggio può essere annullato in qualsiasi momento. Dato il sovraccarico tecnico derivante dall'esecuzione di un nodo di mining e la necessità di essere online 24 ore su 24, 7 giorni su 7, solo una parte relativamente piccola della comunità Waves li esegue (un elenco di validatori è disponibile su https://dev.pywaves.org/generators /).

I token WAVES noleggiati vengono utilizzati per aumentare la puntata del minatore, che a sua volta aumenta le possibilità di trovare il blocco successivo. Il sistema Leased Proof of Stake migliora la sicurezza della rete in almeno due modi. Innanzitutto, più WAVES vengono utilizzate sulla rete, meglio è, poiché diventa più difficile per un utente malintenzionato accumulare i token necessari per un attacco del 51%. In secondo luogo, WAVES può essere affittato a un nodo dal portafoglio freddo dell'utente, ma il nodo stesso, che rimane connesso alla rete, deve avere solo un saldo minimo. Ciò riduce significativamente il rischio che i token WAVES vengano hackerati dai computer collegati alla rete, poiché i fondi affittati non vengono trasferiti al minatore.


Un nuovo approccio al consenso con Waves-NG

Un ulteriore aggiornamento della rete è avvenuto nel dicembre 2017 con il lancio di Waves-NG. Si trattava di un nuovo protocollo basato su Bitcoin-NG creato dal professore di informatica della Cornell Emin Gün Sirer.

Il protocollo Bitcoin originale seleziona ciascun minatore in modo retrospettivo. Una volta aggiunto un blocco alla blockchain, i miner competono tra loro per trovare un hash valido per il blocco successivo in base allo stato attuale della catena. Nel frattempo, le transazioni appena create entrano nel mempool, dove rimarranno in sospeso mentre uno dei minatori le raccoglie e le verifica.

Sebbene sia Bitcoin che Bitcoin-NG siano considerati un sistema Byzantine General Task (BFT), quest'ultimo è stato proposto nel 2015 come alternativa per migliorare la scalabilità basata su un diverso meccanismo di funzionamento. Nel sistema Bitcoin-NG, il prossimo minatore viene scelto in anticipo e crea un blocco chiave vuoto: questo è il blocco che alla fine verrà aggiunto alla blockchain. A questo blocco chiave vengono aggiunti piccoli blocchi chiamati microblocchi (costituiti da più transazioni). In un esempio quotidiano, sarebbe come aggiungere alcune borse della spesa (microblocchi) a un carrello (blocco di chiavi) prima che si riempia e alla fine arrivi alla cassa (aggiungi alla blockchain). Ciò significa che le transazioni possono essere aggiunte alla blockchain in pochi secondi, con l’unica vera latenza legata alla rete. Waves ha aggiornato la proof of stake, creando il protocollo Waves-NG, questa è la prima interpretazione di Bitcoin-NG per una blockchain pubblica e aperta.

Un'altra aggiunta all'ecosistema è stata MasTransfers. Ciò ti consente di raggruppare fino a 100 trasferimenti in un'unica transazione con una commissione ridotta. Il limite di 100 TPS per MassTransfer è stato scelto come compromesso tra capacità significativa e comodità e limitando la capacità di inviare batch molto grandi di transazioni a basso costo. Se è necessario effettuare più trasferimenti, è possibile implementare più MassTransfer in sequenza.

In altre parole, gli utenti possono semplicemente selezionare MassTransfer come altro tipo di invio delle transazioni, consentendo loro di includere fino a 100 destinatari in un singolo trasferimento. Inoltre, gli indirizzi dei destinatari possono essere forniti in file JSON o CSV, rendendo semplice ed efficace effettuare lanci di grandi dimensioni o pagamenti settimanali a coloro che affittano i propri WAVES ai nodi minerari. Se combinato con Waves-NG, MassTransfer fornisce un throughput di rete molto elevato.

Sono stati condotti una serie di test sulla rete Waves per valutare il throughput del nuovo protocollo. Nell'ottobre 2018 è stato effettuato uno stress test della rete principale. Ciò ha dimostrato che il protocollo blockchain pubblico e aperto potrebbe supportare più di 6,1 milioni di transazioni al giorno e una media di 4.200 TPS al minuto o 71 TPS al secondo, con un throughput massimo che raggiunge oltre 100 transazioni al secondo.


Conclusione

Il sistema Leased Proof-of-Stake ha consentito agli utenti ordinari di contribuire a proteggere la rete Waves trasferendo i propri token WAVES ai nodi senza perderne il controllo. Allo stesso tempo, Waves-NG fornisce un throughput fino a 100 TPS, che è un ordine di grandezza maggiore di molte blockchain. Le transazioni sono anche più economiche perché non è necessario pagare ai minatori una ricompensa in blocco per compensare i costi di elettricità e attrezzature costose.

La scalabilità della catena è una priorità per Waves, ma esistono alcune limitazioni per altre reti blockchain con lo stesso approccio a causa della quantità di memoria e larghezza di banda richieste. Gli sviluppatori di Waves ritengono che possa essere ottimizzato per supportare fino a 1000 TPS prima che siano necessarie soluzioni aggiuntive. Waves sta attualmente esaminando varie opzioni per ridimensionare il secondo livello, che include una sidechain, che gli consentirà di elaborare un gran numero di transazioni su una catena parallela e infine di proteggerla con la catena principale.