Algoritmo di consenso Proof-of-Stake Lease (LPOS) e protocollo Waves-NG
Autore: Guy Brandon, contribuito da Waves.
La rete Waves utilizza l'algoritmo di consenso Lease-in-Proof-of-Stake (LPOS), che combinato con il protocollo Waves-NG consente un'elevata scalabilità e un throughput delle transazioni della rete.
introdurre
La rete Waves è stata lanciata nel 2016 con una ICO che ha raccolto 30.000 Bitcoin, per un valore di circa 16 milioni di dollari. Il progetto mira a sviluppare un ecosistema blockchain completo che possa essere utilizzato per i processi di transazione aziendale. Include toolkit che coprono vari requisiti funzionali, tra cui la facile creazione di token di valuta digitale personalizzati, la scrittura diretta di contratti intelligenti e la decrittazione integrata per il peer-to. -transazioni tra pari. Scambi centralizzati (DEX), modi sicuri e convenienti per interagire con le dApp e servizi web forniti dal plug-in del browser Waves Keeper.
Scalabilità
Fin dall’inizio, Waves ha riconosciuto che la scalabilità è una necessità per la promozione e l’utilizzo della maggior parte dei progetti blockchain e ha capito che è necessario sviluppare tecnologie pertinenti per risolvere i limiti delle blockchain esistenti. Ad esempio, Bitcoin ha un’elevata sicurezza ma velocità di transazione relativamente lente e può supportare solo circa 7 transazioni al secondo (TPS). Pertanto, Bitcoin non è abbastanza efficiente per diventare una valuta globale. Per raggiungere questo obiettivo vengono implementate soluzioni basate su Layer 2 come Lightning Network di Bitcoin. Waves adotta un approccio diverso a questo livello, concentrandosi innanzitutto sulla scalabilità on-chain prima di considerare le applicazioni di secondo livello.
saldo del contratto di locazione
L'algoritmo di consenso originale di Waves si basa su un semplice protocollo proof-of-stake. Dopo l'ICO sono stati distribuiti complessivamente 100 milioni di token WAVES e anche l'offerta è fissa: poiché WAVE è un token "PoW", non c'è inflazione. Pertanto, i validatori di blocchi Waves (falsari, come vengono spesso chiamati "minatori" nell'ecosistema Waves) ricevono commissioni di transazione dai blocchi che elaborano, ma nessun premio aggiuntivo per i blocchi.
Il sistema Leaseable Proof-of-Stake (LPoS) è stato lanciato completamente a maggio 2017 e il protocollo consente agli utenti con il client Waves lite (coloro che non eseguono un nodo completo) di affittare i propri token WAVES ai nodi di mining. Le WAVES noleggiate sono bloccate nell'account dell'utente e non possono essere trasferite o scambiate. Inoltre, i token rimangono completamente controllati dal titolare del conto e possono essere cancellati in qualsiasi momento dopo la scadenza del contratto di locazione. Considerando il sovraccarico tecnico associato all'esecuzione di un nodo di mining e all'essere online 24 ore su 24, 7 giorni su 7, ci sono relativamente poche comunità Waves che gestiscono nodi di mining (un elenco di generatori di blocchi può essere trovato su https://dev.pywaves.org/generators/Check) .
I token WAVES affittati ai nodi minerari possono essere utilizzati per aumentare il peso del minatore e, a sua volta, aumentare la possibilità del minatore di scoprire il blocco successivo. Un sistema Proof-of-Stake noleggiato migliora la sicurezza della rete in almeno due modi. Innanzitutto, maggiore è il numero di token WAVES utilizzati per proteggere la rete, meglio è, poiché renderà più difficile per un utente malintenzionato accumulare il numero di token necessari per eseguire un attacco del 51%. In secondo luogo, i token WAVES vengono affittati ai nodi di mining dai portafogli freddi degli utenti, ma i nodi stessi (quelli che rimangono online) potrebbero avere solo un piccolo saldo. Poiché i fondi affittati non vengono trasferiti ai minatori, ciò può ridurre significativamente il rischio di attacchi ai token WAVES archiviati online.
Un nuovo metodo di consenso: Waves-NG
Nel dicembre 2017, WAVES ha ulteriormente aggiornato la rete e ha lanciato il protocollo di consenso Waves-NG. Si tratta di un nuovo protocollo basato sullo schema Bitcoin NG, inventato dal professore IT della Cornell Emin Gün Sirer.
I minatori selezionati dal protocollo Bitcoin originale sono tracciabili. Dopo che un blocco viene aggiunto alla blockchain, i miner competono tra loro per trovare un valore hash valido per il blocco successivo in base allo stato attuale della blockchain. Allo stesso tempo, le transazioni appena generate vengono inserite nel mempool, dove rimarranno in sospeso finché un minatore non le raccoglie e le verifica.
Sebbene sia Bitcoin che il protocollo Bitcoin NG siano considerati sistemi Byzantine Fault Tolerant (BFT), quest'ultimo è stato proposto nel 2015 come alternativa scalabile a un diverso meccanismo di funzionamento. Nel sistema Bitcoin-NG, viene preselezionato il minatore successivo, che crea un "blocco chiave" vuoto - questo blocco viene infine aggiunto alla blockchain. I piccoli blocchi sono chiamati “microblocchi” (costituiti da diverse transazioni) e vengono aggiunti a questo blocco chiave quasi in tempo reale. Usando un’analogia presa dalla vita quotidiana, è come aggiungere alcune borse della spesa (micro-blocchi) a un carrello della spesa (blocco chiave) e poi spingere il carrello completo alla cassa (aggiunto alla rete blockchain). Ciò significa che le transazioni possono essere aggiunte alla blockchain in pochi secondi e l’unico ritardo che può verificarsi è quello sulla rete. Waves ha aggiornato il meccanismo di prova del palo per creare il protocollo Waves-NG, che è stata anche la prima volta che il protocollo Bitcoin NG è stato configurato in una blockchain pubblica aperta.
Ulteriori miglioramenti all'ecosistema si ottengono attraverso i "MassTransfers". Consente di eseguire fino a 100 trasferimenti in un'unica transazione e riduce le spese di elaborazione. Da un lato, per bilanciare l'espansione della capacità e la comodità, MassTransfer limita ogni MassTransfer a sole 100 tx, dall'altro limita anche la capacità di inviare un gran numero di transazioni a basso costo contemporaneamente. Se è necessaria una quantità maggiore di transazioni di trasferimento, è possibile inviare più transazioni di trasferimento MassTransfers in sequenza.
In altre parole, gli utenti possono semplicemente scegliere MassTransfer come metodo alternativo per "inviare transazioni", che consente loro di aggiungere fino a 100 beneficiari in un'unica transazione. Inoltre, l'indirizzo del destinatario può essere fornito tramite JSON o caricato utilizzando un file CSV, rendendo possibile effettuare direttamente ed efficacemente grandi lanci aerei o pagamenti settimanali agli utenti che noleggiano token WAVES ai nodi minerari. In combinazione con Waves-NG, la funzionalità MassTransfer consente velocità di throughput estremamente elevate sulla rete.
Per valutare il potenziale throughput del nuovo protocollo, sono stati eseguiti una serie di stress test sulla rete Waves. Nell'ottobre 2018 è stato condotto uno stress test ad alto volume su MainNet. Il test mostra che un protocollo blockchain pubblico (non solo il limitato e controllato TestNet) può supportare più di 6,1 milioni di transazioni in 24 ore a una media di 4.200 tx al minuto o 71 tx al secondo, con un throughput di picco fino a centinaia di transazioni .
Riassumere
Lease Proof of Stake (LPOS) consente agli utenti ordinari senza competenze tecniche di proteggere la rete Waves e affittare WAVES a nodi completi controllando i token WAVES. Allo stesso tempo, Waves-NG raggiunge un throughput fino a 100 TPS, che è un ordine di grandezza superiore a quello di molte blockchain. Poiché non è necessario pagare ricompense finanziarie ai minatori, e questi ultimi non devono sostenere bollette elettriche elevate e hardware costoso, le commissioni di transazione sono molto basse.
Per Waves, la scalabilità on-chain è sempre stata una priorità, ma qualsiasi blockchain può scalare in questo modo grazie allo spazio di archiviazione e alla larghezza di banda richiesti. Gli sviluppatori di Waves ritengono che la soluzione attuale possa essere ottimizzata prima di implementare ulteriormente una soluzione scalabile e la capacità di supportare transazioni fino a 1.000 TPS. Waves sta attualmente esplorando una soluzione di ridimensionamento di secondo livello che coinvolge sidechain che potrebbero supportare l'elaborazione di grandi volumi di transazioni su catene parallele e, in definitiva, consentire la protezione sulla rete principale di Waves.

