Cos'è il consenso Leased Proof-of-Stake di Waves?
Con il suo protocollo Waves-NG, la rete Waves ha raggiunto elevata scalabilità e throughput di transazioni. La rete utilizza un algoritmo di consenso Leased Proof of Stake (LPoS) per ottenerlo.
Nozioni di base
La rete Waves, che offre un ecosistema blockchain completo per l'uso nei processi aziendali, è stata lanciata nel 2016. È stata sviluppata dopo aver raccolto 30.000 BTC tramite un ICO che all'epoca valeva circa 16 milioni di dollari. La rete propone un kit di strumenti variegato che soddisfa diverse esigenze, come la creazione di token crittografici personalizzati, lo sviluppo di smart contract e il trading peer-to-peer su uno exchange decentralizzato integrato. Il plugin per browser Waves Keeper fornisce inoltre un mezzo sicuro e pratico per interagire con dApp e servizi web.
Scalabilità
Riconoscendo la necessità di scalabilità per facilitare l'adozione di massa della tecnologia blockchain, Waves ha dato priorità allo sviluppo di soluzioni che affrontassero i limiti delle blockchain esistenti. Un esempio è la velocità relativamente lenta di elaborazione delle transazioni di Bitcoin, che può gestire circa 7 transazioni al secondo nonostante il suo elevato livello di sicurezza.
Di conseguenza, Bitcoin non è una soluzione efficiente per un uso globale quotidiano. Sono necessarie soluzioni di secondo livello, come il Lightning Network, affinché Bitcoin possa svolgere questo ruolo. Waves, invece, ha adottato un approccio differente, privilegiando inizialmente un'elevata scalabilità on-chain piuttosto che le applicazioni di secondo livello.
Leasing del saldo
Inizialmente Waves implementò un semplice algoritmo di consenso Proof of Stake, distribuendo tutti i 100 milioni di token WAVES dopo l'ICO. A differenza delle monete minate con PoW, i token WAVES hanno un'offerta fissa e non subiscono inflazione. Di conseguenza, i validatori di blocco ricevono solo le commissioni di transazione per l'elaborazione dei blocchi e non premi di blocco.
Nel maggio 2017 il sistema Leased Proof of Stake (LPoS) è stato avviato completamente, permettendo agli utenti del client leggero di Waves di affittare i loro token WAVES ai nodi minerari. I token in leasing vengono bloccati nell'account dell'utente, impedendo trasferimenti o scambi, sebbene il titolare dell'account mantenga il pieno controllo e possa terminare i leasing in qualsiasi momento. Poiché gestire un nodo minerario comporta significativi oneri tecnici e la necessità di una presenza online 24/7, solo una piccola parte della community Waves gestisce nodi.
Quando i token WAVES vengono affittati a un nodo minerario, il peso di stake del miner aumenta, migliorando così le sue probabilità di trovare il blocco successivo. Il sistema Leased Proof of Stake offre due benefici chiave che aumentano la sicurezza della rete. In primo luogo, un maggior numero di token WAVES in leasing aumenta la sicurezza della rete alzando le barriere per un attacco del 51%. In secondo luogo, i token WAVES in leasing possono essere assegnati dall'indirizzo di cold storage di un utente a un nodo che ha solo un piccolo saldo ma rimane online. Questo riduce significativamente le probabilità che i token WAVES siano hackerati da un computer online, poiché i fondi concessi in leasing non vengono trasferiti al miner.
Waves-NG: un nuovo approccio al consenso
Nel dicembre 2017 la rete Waves ha ricevuto un importante aggiornamento con l'implementazione di Waves-NG, basato su una proposta del professore di informatica della Cornell Emin Gün Sirer nota come Bitcoin-NG. Il protocollo tradizionale di Bitcoin sceglie un miner a posteriori dopo che un blocco è stato aggiunto alla blockchain, e i miner poi competono per trovare un hash valido per il blocco successivo basandosi sullo stato corrente della blockchain. Nel frattempo, le transazioni appena generate restano in sospeso nel mempool fino a quando un miner non le valida.
Sistema tollerante ai fault bizantini
Nel 2015 Bitcoin-NG è stato proposto come un sistema tollerante ai fault bizantini (BFT) che fornisce scalabilità. Waves ha aggiornato questa idea per una rete proof-of-stake, creando il protocollo Waves-NG, lanciato nel dicembre 2017. Waves-NG è la prima implementazione di Bitcoin-NG per una blockchain pubblica e aperta. A differenza del protocollo originale di Bitcoin, Waves-NG seleziona in anticipo il miner successivo che crea un 'key block' vuoto. Microblock, composti da poche transazioni ciascuno, vengono poi aggiunti in tempo reale a questo key block, rendendo possibile l'inserimento di transazioni nella blockchain in pochi secondi, con la latenza di rete come unico vero ritardo. Il protocollo consente un throughput più elevato e tempi di conferma più rapidi mantenendo le proprietà BFT.
MassTransfers
La funzione MassTransfers è un'altra aggiunta recente all'ecosistema Waves. Consente agli utenti di includere fino a 100 trasferimenti in una singola transazione, il che si traduce in commissioni ridotte. Il motivo per cui il limite è fissato a 100 trasferimenti è che bilancia la necessità di maggiore capacità e comodità con la necessità di prevenire l'invio di batch molto grandi di transazioni a basso costo in una sola volta. Se un utente deve effettuare più trasferimenti, può farlo inviando più MassTransfers in sequenza.
Gli utenti possono semplicemente selezionare MassTransfer come diverso tipo di 'Send transaction', che consente di includere fino a 100 destinatari in un unico invio. Inoltre, gli indirizzi dei destinatari possono essere inclusi via JSON o caricati da un file CSV, rendendo semplice eseguire airdrop o pagamenti settimanali ai lessor di WAVES. La combinazione di Waves-NG e della funzionalità MassTransfer permette un alto throughput sulla rete.
Test di stress
La rete Waves ha subito diversi test di stress per valutare la sua capacità di throughput. Un test significativo è stato eseguito sulla MainNet nell'ottobre 2018. Questo test ha dimostrato che il protocollo della blockchain pubblica (non semplicemente una TestNet limitata e controllata) poteva gestire oltre 6,1 milioni di transazioni in 24 ore, con una media di 4.200 transazioni al minuto o 71 transazioni al secondo. Il picco di throughput ha raggiunto addirittura centinaia di transazioni al secondo.
Conclusione
Waves dà priorità alla scalabilità on-chain mantenendo basse le commissioni attraverso il sistema Leased Proof-of-Stake. Questo consente agli utenti comuni di contribuire alla sicurezza della rete affittando WAVES ai nodi full. Inoltre, Waves-NG permette un elevato throughput fino a 100 TPS, un ordine di grandezza superiore rispetto a molte blockchain. Tuttavia, esistono limiti alla scalabilità on-chain dovuti ai vincoli di storage e banda.
Gli sviluppatori ritengono che l'approccio attuale possa essere ottimizzato per supportare fino a 1.000 TPS prima che siano necessarie ulteriori soluzioni di scaling. Nel frattempo, Waves sta esplorando opzioni per una soluzione di scaling di secondo livello che preveda sidechain, in grado di processare un gran numero di transazioni in parallelo ma di ancorarle in ultima istanza alla blockchain principale di Waves.