Cos’è il Nominated Proof of Stake e come funziona?

Cos’è il Nominated Proof of Stake?
Il Nominated Proof of Stake, spesso abbreviato in NPoS, è una variante del Proof of Stake in cui i possessori di token nominano candidati validator e il protocollo sceglie da lì un set di validator attivi. Questi validator attivi svolgono poi i compiti tecnici necessari per mettere in sicurezza la blockchain.
Nel Proof of Stake i partecipanti bloccano dei token come garanzia economica. Questa garanzia si chiama stake. NPoS aggiunge una divisione dei ruoli molto chiara: i validator gestiscono l’infrastruttura tecnica, mentre i nominator decidono quali candidati validator vogliono supportare con il loro stake.
Quindi un nominator non deve gestire un proprio nodo validator. Un nodo è un computer che si collega alla rete ed esegue le regole della blockchain. Il nominator vincola dei token e indica quali candidati validator sembrano affidabili. Il protocollo usa queste preferenze durante un’elezione.
NPoS è soprattutto noto per Polkadot e Kusama. Su Polkadot, NPoS non è l’intero meccanismo di consenso. Seleziona e protegge economicamente il set di validator. Poi i validator producono blocchi con BABE e con GRANDPA garantiscono la finalità. Per finalità si intende che un blocco è confermato in modo definitivo e non viene più sostituito da un’altra versione della blockchain.
In breve
- Il Nominated Proof of Stake è una variante del Proof of Stake per scegliere i validator.
- I nominator vincolano token e nominano candidati validator senza gestire un nodo validator.
- I validator svolgono i compiti tecnici di consenso e sicurezza della rete.
- Il protocollo decide quali candidati diventano attivi e come viene distribuito il backing.
- Su Polkadot, NPoS seleziona i validator, mentre BABE produce i blocchi e GRANDPA gestisce la finalità.
Come funziona il Nominated Proof of Stake?
NPoS funziona usando le preferenze dei nominator e i loro token vincolati per eleggere un gruppo limitato di validator attivi. Su Polkadot il processo, a grandi linee, è questo.
-
Un candidato si registra come validator
Un candidato validator registra la propria intenzione di partecipare. Il candidato deve gestire un nodo ed essere in grado di svolgere in modo affidabile i compiti di un validator attivo.
-
I nominator scelgono i candidati
Un nominator vincola dei token e compila una lista limitata di candidati validator. In questo modo il nominator indica quali candidati ritiene adatti.
-
Il protocollo fa un’elezione
Il protocollo sceglie un numero limitato di validator attivi. Non conta solo quanto backing ha un candidato. L’elezione cerca anche di distribuire il backing in modo più equilibrato sul set di validator scelti e di includere in modo proporzionale le preferenze dei nominator.
-
Lo stake viene assegnato
Una nomina non è un ordine fisso in cui tutti i token finiscono automaticamente su un singolo candidato scelto. Il risultato dell’elezione stabilisce a quali validator attivi lo stake di un nominator viene assegnato in quel periodo. Quindi una parte dei candidati scelti da un nominator può diventare attiva, mentre altri candidati non vengono selezionati.
-
Il set attivo svolge i ruoli di rete
Su Polkadot il set di validator attivi viene rinnovato a ogni era. Un’era dura circa 24 ore. Per questo la composizione dei validator attivi può cambiare da un’era all’altra.
L’elezione usa metodi della teoria delle elezioni legati a Phragmén. L’obiettivo non è semplicemente scegliere i candidati con più backing “grezzo”. Il protocollo prova a usare il più possibile lo stake, a dare abbastanza backing ai validator scelti e a ridurre grandi differenze tra questi backing.
Il calcolo di questa distribuzione estesa avviene fuori dalla blockchain e poi viene inviato alla blockchain per essere controllato. Così la blockchain non deve eseguire da sola tutti i passaggi di calcolo pesanti a ogni cambio di era.
Esempio: mettiamo che un nominator nomini tre candidati validator. Se due di questi candidati vengono scelti, il protocollo può assegnare i token vincolati di questo nominator a quei due validator attivi. Il nominator non deve decidere manualmente questa distribuzione.
Che ruolo hanno nominator e validator?
I nominator scelgono candidati validator con il loro stake, mentre i validator svolgono i compiti tecnici necessari perché la blockchain funzioni. Entrambi i ruoli sono importanti, ma le responsabilità sono chiaramente diverse.
Un validator gestisce un nodo e partecipa al consenso. Il consenso è il processo con cui i partecipanti a una blockchain decidono insieme quali blocchi e transazioni sono validi. Su Polkadot, tra le altre cose, i validator producono blocchi, validano i blocchi delle parachain e partecipano alla finalità.
Un nominator normalmente non gestisce un nodo validator. Invece vincola dei token e seleziona candidati ritenuti affidabili. Questa scelta influisce sulla probabilità che i candidati ricevano abbastanza backing per diventare attivi.
Nominare non è una forma completamente passiva di staking. Un nominator deve continuare a valutare i candidati validator. I punti importanti includono:
- le prestazioni del validator;
- la percentuale di commissione;
- lo stake proprio del validator;
- eventuali slash precedenti;
- la probabilità che il validator diventi attivo;
- possibili legami tecnici o economici tra validator.
Uno slash è una sanzione in cui un protocollo può togliere una parte dello stake dopo una violazione che rientra nei casi previsti. I validator affrontano rischi operativi, per esempio downtime, una configurazione errata o la doppia firma. Il validator gestisce l’infrastruttura del nodo e le chiavi. Il nominator corre soprattutto rischi di selezione e allocazione: una scelta sbagliata o una nomina non attiva può significare che non si riceve alcuna ricompensa.
Un nominator riceve ricompense di staking solo quando lo stake è effettivamente assegnato a un validator attivo che paga ricompense. Quindi non basta vincolare token o indicare candidati.
Come vengono distribuite le ricompense nel Nominated Proof of Stake?
Su Polkadot le ricompense vengono prima determinate per ogni validator attivo e poi distribuite tra il validator e i nominator attivi dietro quel validator. La ricompensa non dipende solo dalla quantità di backing di un validator.
In linea di massima, i validator attivi ricevono una ricompensa lorda simile all’interno del set di validator. L’importo preciso può variare per era a causa degli era points. Gli era points sono punti che i validator guadagnano per i compiti svolti, come produrre blocchi della relay chain e rilasciare dichiarazioni di validità per i blocchi delle parachain.
Poi la distribuzione avviene in due passaggi:
-
La commissione va prima al validator
Il validator imposta una percentuale di commissione. Questa percentuale viene sottratta per prima dalla ricompensa lorda. Quindi una commissione più alta lascia meno ricompensa agli altri partecipanti dietro quel validator.
-
Il resto viene distribuito in proporzione
Quello che resta dopo la commissione viene diviso pro rata. Vuol dire che ogni partecipante riceve una quota che corrisponde alla sua parte di stake dietro quel validator. Anche il validator partecipa in base al proprio stake attivo.
Il validator non ha custody sulle ricompense dei nominator. Custody significa controllo sulla crypto di qualcuno. La blockchain crea (mint) e distribuisce le ricompense direttamente ai beneficiari quando viene eseguito un payout.
Le tip delle transazioni sono separate da queste ricompense di staking. Su Polkadot, queste tip vanno interamente al validator che le riceve.
Esempio: un validator attivo riceve una ricompensa lorda. Prima viene messa da parte la commissione impostata per il validator. La parte restante viene divisa tra il validator e i nominator attivi, in base alla quota di stake di ciascuno dietro quel validator.
Quali sono i vantaggi del Nominated Proof of Stake?
NPoS permette ai possessori di token di contribuire alla sicurezza economica di una blockchain senza dover gestire un nodo validator. Questo abbassa la barriera tecnica per lo staking.
I principali vantaggi sono:
- Partecipazione più accessibile: i nominator possono vincolare token e selezionare candidati senza dover gestire hardware, connessione e chiavi di un nodo validator.
- Diversificazione delle preferenze: un nominator può nominare più candidati. Così non dipende totalmente da un solo candidato che magari non diventa attivo.
- Backing più equilibrato: i metodi di elezione sono progettati per distribuire meglio il backing sul set di validator scelti. Questo può evitare che tutto il backing finisca automaticamente su un piccolo gruppo di validator popolari.
- Rappresentanza proporzionale: l’elezione cerca di includere in modo proporzionale le preferenze dei nominator quando si scelgono più validator.
- Interessi economici condivisi: validator e nominator hanno interesse a far funzionare correttamente il set di validator scelti. Buone prestazioni possono portare ricompense, mentre comportamenti scorretti che rientrano nei casi previsti possono avere conseguenze.
Su Polkadot, inoltre, la struttura delle ricompense fa sì che un validator non riceva automaticamente una ricompensa lorda più alta solo perché ha molto più backing. Questo design rende meno interessante concentrare tutto lo stake su pochi validator.
Questi vantaggi sono obiettivi di design, non una garanzia. Anche una rete NPoS può avere nella pratica rischi di concentrazione, per esempio quando diversi validator sono gestiti dalla stessa parte o dallo stesso fornitore di servizi di infrastruttura.
Quali rischi e limitazioni ha il Nominated Proof of Stake?
NPoS abbassa la barriera tecnica per lo staking, ma non elimina i rischi. I nominator restano responsabili delle loro scelte e del rispetto delle regole della rete.
Un primo rischio è che un nominator non riceva ricompense. Può succedere quando nessuno dei candidati scelti diventa attivo, oppure quando lo stake del nominator non viene assegnato a un validator attivo. Su Polkadot i nominator vengono prioritizzati per l’input dell’elezione in base allo stake vincolato. Il minimum active bond è dinamico. Quindi i token possono essere vincolati senza che un nominator più piccolo sia attivo o riceva ricompense.
Inoltre il sistema è tecnicamente complesso. L’elezione deve gestire un grande insieme di nominator e candidati validator. Per questo non tutti i nominator vengono necessariamente inclusi nell’input dell’elezione. Il calcolo avviene fuori dalla blockchain e poi deve poter essere verificato secondo le regole della blockchain.
Anche il rischio legato ai validator resta importante. Un validator può andare offline, essere configurato male o violare le regole di consenso. Esempi di cattiva condotta grave sono l’equivocation, in cui un validator firma messaggi contraddittori, e voti non validi. Il protocollo può allora disattivare un validator o applicare uno slash.
In più, commissioni e prestazioni possono cambiare. Una commissione bassa non è una garanzia di funzionamento affidabile, e nemmeno un’identità nota del validator garantisce un buon risultato. Perciò i nominator devono rivalutare regolarmente le proprie scelte.
Più nomine non offrono neanche una protezione completa dai rischi collegati. Mettiamo che diversi validator scelti siano gestiti tecnicamente dallo stesso operatore. In caso di guasto, potrebbero andare offline tutti insieme. Lo stesso vale quando più validator sono collegati economicamente o a livello organizzativo alla stessa parte.
Infine, NPoS non protegge da tutti i rischi legati alle crypto. Il prezzo di mercato del token in staking può scendere. Anche la perdita di accesso alle private key, problemi con una crypto wallet e vulnerabilità negli smart contract al di fuori del protocollo di staking non rientrano nella protezione di NPoS.
Qual è la differenza tra Nominated Proof of Stake e altri meccanismi di consenso?
NPoS si distingue dagli altri meccanismi di consenso perché è soprattutto un sistema per la selezione dei validator e la sicurezza economica, non una descrizione completa di tutti i passaggi del consenso. Per fare un confronto corretto, è importante separare due livelli.
Il primo livello stabilisce chi può essere validator e quale stake sta dietro quel validator. NPoS funziona su questo livello. Il secondo livello stabilisce come vengono prodotti i blocchi, quale chain viene seguita quando esistono più blocchi e quando i blocchi sono definitivi. Questi sono produzione dei blocchi, fork choice e finalità.
Un protocollo può combinare NPoS con altri algoritmi per quel secondo livello. Su Polkadot, NPoS sceglie il set di validator, BABE produce i blocchi e GRANDPA gestisce la finalità. Per questo NPoS non è confrontabile uno-a-uno con uno stack di consenso completo che include tutte le attività.
Qual è la differenza rispetto al Proof of Stake?
NPoS è una forma specifica di Proof of Stake, mentre Proof of Stake è una categoria ampia. Dentro PoS, lo stake economico aiuta la selezione o la partecipazione dei validator. L’implementazione precisa cambia molto da blockchain a blockchain.
In un’impostazione PoS semplice e diretta, lo stake può influenzare direttamente quali validator partecipano. NPoS aggiunge un ruolo esplicito di nominator. I nominator preparano una lista di candidati affidabili, poi un algoritmo di elezione determina sia i validator attivi sia la distribuzione del backing.
Quindi l’obiettivo non è solo scegliere i candidati con più backing grezzo. NPoS prova anche a bilanciare il backing sul set scelto e a rappresentare in modo proporzionale le preferenze dei nominator.
Su Polkadot lo stake influenza soprattutto prima dei ruoli tecnici di consenso, durante l’elezione NPoS. Dopo che i validator sono selezionati, all’interno dei set di authority di BABE e GRANDPA vengono trattati con peso uguale. Quindi uno stake più grande non dà a un validator scelto più peso di voto in modo permanente.
Qual è la differenza rispetto al Delegated Proof of Stake?
NPoS e il Delegated Proof of Stake, o DPoS, permettono entrambi ai possessori di token di influenzare i block producer o i validator, ma sono design diversi. I termini non sono intercambiabili.
Nei sistemi DPoS classici, i possessori di token di solito votano per un gruppo relativamente piccolo di delegate o witness che producono blocchi. Questa è un’elezione rappresentativa, pesata per stake, dei block producer.
Con NPoS su Polkadot, gli utenti nominano più candidati validator. Poi il protocollo esegue un’elezione proporzionale a più vincitori. In più calcola come il backing dei nominator viene distribuito sui validator scelti.
La differenza principale è l’obiettivo esplicito di NPoS di rappresentare in modo proporzionale le preferenze dei nominator e di bilanciare il backing nel set di validator attivi. I design DPoS si concentrano soprattutto sull’elezione di delegate o witness. Le regole precise su voto, selezione e ricompense variano da una blockchain DPoS all’altra.
Un nominator in NPoS non cede automaticamente il controllo dei propri token a un validator. Il nominator indica preferenze per dei candidati, mentre poi il protocollo decide quale allocazione attiva risulta dall’elezione.
In conclusione
Il Nominated Proof of Stake è una variante del Proof of Stake che permette ai possessori di token di partecipare tramite nomine alla selezione e alla sicurezza economica dei validator. I nominator non devono gestire un nodo, ma devono valutare con attenzione quali candidati validator nominare.
Il cuore di NPoS è l’elezione: il protocollo sceglie un set di validator attivi e distribuisce su quel set il backing dei nominator. Questo design cerca di rendere la partecipazione più accessibile e di distribuire il backing in modo più equilibrato rispetto a uno scenario in cui dominano solo i candidati più grandi.
In cambio ci sono responsabilità e rischi chiari. Un nominator riceve ricompense solo con un’assegnazione attiva, commissioni e prestazioni possono cambiare e validator collegati tra loro possono creare rischi comuni. Per questo NPoS non è un modo passivo di bloccare crypto, ma un modello in cui la selezione dei validator e controlli regolari restano importanti.