Cos'è la tecnologia dei validatori distribuiti?
La tecnologia dei validatori distribuiti (DVT) è un approccio alla sicurezza dei validatori che distribuisce la gestione delle chiavi e le responsabilità di firma tra più parti, per ridurre i singoli punti di errore e aumentare la resilienza del validatore.
La DVT distribuisce la gestione delle chiavi e la firma suddividendo la chiave privata utilizzata per proteggere un validatore su molti computer organizzati in un "cluster". In questo modo, alcuni nodi del cluster possono andare offline mantenendo attivo il nodo validatore, poiché il lavoro di convalida necessario può essere svolto da un sottoinsieme delle macchine in ciascun cluster. Questa distribuzione riduce i singoli punti di errore, rendendo il validatore più robusto. Un ulteriore vantaggio della distribuzione della firma della DVT è che rende molto difficile per gli aggressori ottenere l'accesso alla chiave, poiché non è archiviata per intero su nessuna singola macchina.
La DVT non è un modo separato di fare staking. È un livello software che qualsiasi configurazione di staking può utilizzare:
- Chi fa solo staking può fare squadra per eseguire un validatore insieme, oppure un singolo operatore di solo staking può utilizzare la DVT per aggiungere resilienza alla propria configurazione di solo staking.
- I servizi di staking e le pool di staking possono utilizzare la DVT per aggiungere resilienza e rafforzare la propria infrastruttura di staking, o per distribuire le operazioni del validatore tra molti operatori indipendenti.
Perché abbiamo bisogno della DVT?
Sicurezza
I validatori generano due coppie di chiavi pubbliche-private: le chiavi del validatore per partecipare al consenso e le chiavi di prelievo per accedere ai fondi. Mentre i validatori possono proteggere le chiavi di prelievo in cold storage, le chiavi private del validatore devono essere online 24 ore su 24, 7 giorni su 7, per firmare i compiti assegnati al validatore in ogni momento, come le attestazioni e le proposte di blocco. Mantenere una chiave online la espone al furto e la DVT limita tale esposizione: solo le porzioni di chiave (key shares) sono online, mai la chiave completa.
Se la chiave privata di un validatore viene compromessa, un aggressore può controllare il validatore, portando potenzialmente allo slashing o alla perdita degli ETH di chi fa staking. La DVT mitiga questo rischio. Con la DVT, la chiave originale e completa del validatore viene crittografata e suddivisa in porzioni di chiave. Le porzioni di chiave vivono online, distribuite su più nodi che gestiscono insieme il validatore, mentre la chiave 'master' completa rimane al sicuro offline. La distribuzione è possibile perché i validatori di Ethereum utilizzano firme BLS che sono additive, il che significa che la chiave completa può essere ricostruita sommando le sue parti componenti. Le firme parziali effettuate con le porzioni di chiave si combinano in una firma valida per la chiave completa, quindi la chiave completa stessa non è mai necessaria per la firma quotidiana. Quando un cluster genera una nuova chiave del validatore utilizzando la generazione distribuita delle chiavi, la chiave privata completa non esiste mai su nessuna singola macchina.
Nessun singolo punto di errore
Quando un validatore è diviso tra più operatori e più macchine, può resistere a guasti hardware e software individuali senza andare offline. Il rischio di guasti può anche essere ridotto utilizzando diverse configurazioni hardware e software tra i nodi di un cluster. La distribuzione multi-operatore non è disponibile nativamente per le configurazioni di validatori a nodo singolo; deriva dal livello middleware della DVT.
Se uno dei componenti di una macchina in un cluster si guasta (ad esempio, se ci sono quattro operatori in un cluster di validatori e uno utilizza un client specifico che ha un bug), gli altri possono garantire che il validatore continui a funzionare.
Decentralizzazione
Lo scenario ideale per Ethereum è avere il maggior numero possibile di validatori gestiti in modo indipendente. Tuttavia, alcuni fornitori di staking sono diventati molto popolari e rappresentano una parte sostanziale degli ETH totali in staking sulla rete. La DVT può consentire a questi operatori di esistere preservando la decentralizzazione dello stake. Questo perché le chiavi per ogni validatore sono distribuite su molte macchine e ci vorrebbe una collusione molto maggiore affinché un validatore diventi malevolo.
Senza la DVT, è più facile per i fornitori di staking supportare solo una o due configurazioni di client per tutti i loro validatori, aumentando l'impatto di un bug del client. La DVT può essere utilizzata per distribuire il rischio su più configurazioni di client e hardware diversi, creando resilienza attraverso la diversità.
La DVT offre i seguenti vantaggi a Ethereum:
- Decentralizzazione del consenso Proof-of-Stake di Ethereum
- Garantisce la vitalità (liveness) della rete
- Crea tolleranza agli errori del validatore
- Operatività del validatore a fiducia minimizzata
- Rischi di slashing e tempi di inattività ridotti al minimo
- Migliora la diversità (client, data center, posizione, regolamentazione, ecc.)
- Sicurezza migliorata della gestione delle chiavi del validatore
Come funziona la DVT?
Le implementazioni della DVT in genere vengono eseguite come un software aggiuntivo su ciascuna macchina in un cluster. Questo software funge da middleware, posizionandosi tra il client del validatore di un nodo e il suo client di consenso, dove si coordina con gli altri nodi del cluster in modo che i compiti del validatore vengano firmati collettivamente.
Una soluzione DVT contiene i seguenti componenti:
- Condivisione del segreto di Shamir (si apre in una nuova scheda) - I validatori utilizzano chiavi BLS (si apre in una nuova scheda). La chiave privata di un validatore può essere suddivisa in più "porzioni di chiave" e, poiché le firme BLS sono additive, le firme parziali effettuate con tali porzioni di chiave possono essere combinate in un'unica firma valida per la chiave completa del validatore.
- Schema di firma a soglia (si apre in una nuova scheda) - Determina il numero di singole porzioni di chiave necessarie per i compiti di firma, ad es. 3 su 4.
- Generazione distribuita delle chiavi (DKG) (si apre in una nuova scheda) - Processo crittografico che genera le porzioni di chiave e viene utilizzato per distribuire le porzioni di una chiave del validatore esistente o nuova ai nodi di un cluster.
- Calcolo multipartecipante (MPC) (si apre in una nuova scheda) - La chiave completa del validatore viene generata in segreto utilizzando il calcolo multipartecipante. La chiave completa non è mai nota a nessun singolo operatore: conoscono solo la propria parte (la loro "porzione").
- Protocollo di consenso - Il protocollo di consenso seleziona un nodo come proponente del blocco. Questo condivide il blocco con gli altri nodi del cluster, che aggiungono le loro porzioni di chiave alla firma aggregata. Quando sono state aggregate abbastanza porzioni di chiave, il blocco viene proposto su Ethereum.
I validatori distribuiti hanno una tolleranza agli errori integrata e possono continuare a funzionare anche se alcuni dei singoli nodi vanno offline. Il cluster del nodo validatore è resiliente anche se alcuni dei nodi al suo interno si rivelano malevoli o inattivi.
La DVT in produzione
I validatori distribuiti operano oggi sulla Mainnet attraverso il solo staking, i servizi e lo staking in pool. Due reti rappresentano la maggior parte di questa attività:
- Obol sviluppa Charon, un client middleware DVT open source che consente a un cluster di macchine di gestire insieme un validatore ("squad staking"). I gruppi eseguono la generazione distribuita delle chiavi e configurano il loro cluster tramite il DV Launchpad (si apre in una nuova scheda) di Obol. I cluster Obol sono utilizzati in produzione da protocolli di staking e servizi di staking, tra cui il modulo Simple DVT di Lido e il programma Operation Solo Staker di EtherFi, che integra gli operatori domestici in cluster tolleranti agli errori.
- SSV Network è una rete permissionless di operatori di nodi indipendenti. La chiave di un validatore viene suddivisa in porzioni di chiave e distribuita a un insieme scelto di operatori, che eseguono collettivamente i compiti del validatore; nessun singolo operatore detiene mai la chiave completa. I servizi e le pool di staking eseguono grandi insiemi di validatori su SSV e, come Obol, è utilizzato dal modulo Simple DVT di Lido.
Casi d'uso della DVT
La DVT ha implicazioni significative per il più ampio settore dello staking:
Solo staking
La DVT abilita lo squad staking: un piccolo gruppo di persone, come amici, membri della comunità o sconosciuti coordinati tramite un launchpad, che gestiscono collettivamente un singolo validatore sulle proprie macchine. Una soglia del gruppo (ad esempio, 3 su 4) deve essere online affinché il validatore svolga i propri compiti, in modo che il tempo di inattività, il guasto hardware o l'errore di un singolo membro non porti il validatore offline. Quando la chiave viene creata con la generazione distribuita delle chiavi, nessun membro detiene mai la chiave di firma completa.
La DVT abilita anche lo staking non-custodial consentendoti di distribuire la chiave del tuo validatore su nodi remoti mantenendo la chiave completa completamente offline. Ciò significa che chi fa staking non deve necessariamente eseguire il proprio hardware e la distribuzione delle porzioni di chiave aiuta a proteggere da potenziali attacchi informatici.
Staking come servizio (SaaS)
Gli operatori (come le pool di staking e gli staker istituzionali) che gestiscono molti validatori possono utilizzare la DVT per ridurre il proprio rischio. Distribuendo la loro infrastruttura, possono aggiungere ridondanza alle loro operazioni e diversificare i tipi di hardware che utilizzano.
La DVT condivide la responsabilità della gestione delle chiavi su più nodi, il che significa che anche alcuni costi operativi possono essere condivisi. La DVT può anche ridurre il rischio operativo e i costi assicurativi per i fornitori di staking.
Pool di staking
A causa delle configurazioni standard dei validatori, le pool di staking e i fornitori di staking liquido storicamente dovevano riporre una notevole fiducia in ogni singolo operatore, poiché i guadagni e le perdite sono socializzati in tutta la pool. Dipendevano anche dagli operatori per salvaguardare le chiavi di firma perché, fino alla DVT, non c'erano altre opzioni per loro.
Anche se tradizionalmente si compiono sforzi per distribuire il rischio distribuendo gli stake tra più operatori, ogni operatore gestisce comunque uno stake significativo in modo indipendente. Affidarsi a un singolo operatore comporta rischi immensi se le sue prestazioni sono inferiori alle aspettative, se incontra tempi di inattività, se viene compromesso o se agisce in modo malevolo.
Sfruttando la DVT, la fiducia richiesta a ogni singolo operatore può essere ridotta. Le pool possono consentire agli operatori di detenere stake senza aver bisogno della custodia delle chiavi del validatore (poiché vengono utilizzate solo le porzioni di chiave). Consente inoltre di distribuire gli stake gestiti tra più operatori (ad es., invece di avere un singolo operatore che gestisce 1000 validatori, la DVT consente a tali validatori di essere gestiti collettivamente da più operatori). Diverse configurazioni degli operatori aiutano a garantire che se un operatore dovesse guastarsi, gli altri saranno comunque in grado di attestare. La ridondanza e la diversificazione risultanti possono portare a prestazioni e resilienza migliori, massimizzando al contempo le ricompense.
Un altro vantaggio nel ridurre al minimo la fiducia nel singolo operatore è che le pool di staking possono consentire una partecipazione degli operatori più aperta e permissionless. Alcune pool di staking lo fanno in produzione oggi. I cluster DVT multi-operatore consentono ai protocolli di accoppiare gli staker domestici e gli operatori più piccoli con quelli professionali più grandi, combinando insiemi di operatori curati e permissionless.
Potenziali svantaggi dell'utilizzo della DVT
- Componente aggiuntivo - l'introduzione di un nodo DVT aggiunge un'altra parte che può essere potenzialmente difettosa o vulnerabile. Questo viene mitigato avendo più implementazioni del software DVT, proprio come ci sono più client per i livelli di consenso e di esecuzione.
- Costi operativi - poiché la DVT distribuisce il validatore tra più parti, sono necessari più nodi per il funzionamento invece di un singolo nodo, il che introduce maggiori costi operativi.
- Latenza potenzialmente aumentata - poiché la DVT utilizza un protocollo di consenso per raggiungere il consenso tra i molteplici nodi che gestiscono un validatore, può potenzialmente introdurre una maggiore latenza.
Domande frequenti
No. "3 su 4" è solo la configurazione comune più piccola e viene utilizzata come esempio in questa pagina. La dimensione del cluster e la soglia di firma vengono scelte al momento della creazione del cluster.
I cluster sono solitamente dimensionati in modo che la soglia sia una supermaggioranza di due terzi dei nodi, il che consente al cluster di continuare a firmare tollerando i membri difettosi o offline. Un cluster di 4 nodi firma con 3 e tollera 1 guasto; 7 nodi firmano con 5 e tollerano 2 guasti; 10 nodi firmano con 7 e tollerano 3 guasti. I cluster più grandi ottengono una maggiore tolleranza agli errori al costo di più macchine da eseguire e di un maggiore coordinamento tra di esse.
Maggiori informazioni sulle dimensioni e la resilienza del cluster (si apre in una nuova scheda)
Letture consigliate
- Tecnologia dei validatori distribuiti (DVT) di Ethereum - Introduzione completa (si apre in una nuova scheda) - Cyfrin
- Cos'è la DVT e come migliora lo staking su Ethereum? (si apre in una nuova scheda) - Obol
- Specifiche dei validatori distribuiti di Ethereum (ad alto livello) (si apre in una nuova scheda)
- Specifiche tecniche dei validatori distribuiti di Ethereum (si apre in una nuova scheda)
- Documentazione di Obol (si apre in una nuova scheda)
- Documentazione di SSV Network (si apre in una nuova scheda)
- Modulo Simple DVT di Lido (si apre in una nuova scheda)
- App demo della condivisione del segreto di Shamir (si apre in una nuova scheda)
