Traduzione italiana di Understanding Cardano Certificates
Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT entra nel nostro gruppo Telegram
Capire i certificati di Cardano
La partecipazione si basa su certificati memorizzati nella blockchain. Gli operatori di pool (SPO) devono registrare il proprio pool tramite certificati. Gli staker devono creare certificati per delegare i diritti di staking ai pool scelti. Alla base di tutto questo ci sono le chiavi crittografiche. Venite a immergervi nel mondo dei certificati Cardano.
Produzione di blocchi
Nella rete Cardano, solo lâentitĂ che possiede monete ADA può produrre blocchi. ADA è una risorsa scarsa su cui si basano la decentralizzazione e la sicurezza della rete. Ogni entitĂ che vuole produrre blocchi nella rete Cardano deve gestire un nodo Cardano e registrarlo come pool attraverso un certificato. Tutti i proprietari di ADA, compresi gli operatori dei pool, possono delegare le monete ADA (diritti di staking) al pool scelto, per il quale devono anche creare un certificato e inviarlo alla blockchain.
Nessuna entitĂ centrale controlla questi processi. Chiunque può diventare proprietario di monete ADA o registrarsi come operatore di pool senza lâautorizzazione di terzi. Chiunque può delegare ADA a un pool scelto.
Per comprendere correttamente i certificati e il funzionamento della produzione di blocchi, è necessario conoscere la struttura degli indirizzi.
Cardano utilizza una struttura di indirizzi unica che consente di separare il diritto di spendere le monete dalla delega dei diritti di staking. Gli indirizzi di pagamento di Shelley sono costituiti da due parti: credenziali di pagamento (che definiscono come i fondi possono essere spesi da un determinato indirizzo) e un riferimento a un indirizzo di stake.
Lâindirizzo di stake definisce se gli ADA sugli indirizzi di pagamento saranno utilizzati per lo staking e in che modo. Lâindirizzo di stake consente lâesercizio dei diritti di staking attraverso le credenziali (chiave di staking o hash di uno script).
Esistono coppie di chiavi dedicate per entrambi, ossia una coppia di chiavi per lâindirizzo di spesa e una coppia di chiavi per lâindirizzo di staking.
Nellâimmagine sottostante si può vedere lâindirizzo di pagamento di Shelley. UTxO e credenziali sono memorizzati nella parte sinistra denominata Fondi. Le credenziali definiscono la possibilitĂ di spendere i fondi attraverso una chiave di firma o uno script. Nella parte destra, denominata Riferimento indirizzo di stake, si trova il riferimento allâindirizzo di stake.
Lâindirizzo di stake viene utilizzato come input per creare il certificato di delega. Si noti il collegamento tra lâindirizzo di pagamento e il riferimento allâindirizzo di stake. Il numero di ADA sugli indirizzi può cambiare (lâutente dellâindirizzo può acquistare altre monete ADA o spenderle), oppure lâutente può creare piĂš nuovi indirizzi che fanno riferimento allo stesso indirizzo di stake.
Il riferimento è alle credenziali, cioè alla chiave di staking (o allâhash dello script) che può essere utilizzata per delegare le monete ADA dalla sezione fondi. In alternativa, può fare riferimento a un certificato contenente le credenziali o a Null. Un valore Null significa che i fondi non possono essere delegati (cioè utilizzati per lo staking).
Si noti che lâindirizzo di stake contiene un account non basato su UTxO in cui il sistema accumula ricompense per lo staking. Il proprietario della chiave di staking (o dello script) ha il controllo sui premi di staking e può ritirarli. Sia gli staker che gli operatori di pool utilizzano un meccanismo simile per delegare ADA a un pool.
Tutte le monete ADA (rispettivamente gli indirizzi di stake) che sono state delegate a un pool sono incluse nello stake totale di quel pool nellâelezione dello slot leader. Il numero di blocchi che i pool possono coniare per ogni epoca (quante volte vengono eletti come slot leader) dipende dalla dimensione dello stake totale. Lâammontare della ricompensa dipende dal numero di blocchi che il pool conia (i leader degli slot possono perdere uno slot e non creare un blocco per qualche motivo). Se lo stake totale è basso, può accadere che il pool non conia nemmeno un blocco. In questo caso, il gestore non riceverĂ alcuna ricompensa.
Quando lâoperatore del pool crea un certificato di registrazione, oltre ad altri parametri (di cui parleremo piĂš avanti), definisce una ricompensa per sĂŠ (ricompensa fissa e margine). Questo influenzerĂ lâimporto della ricompensa per i delegatori (stakers). Le ricompense sono distribuite automaticamente dal protocollo Cardano. Gli operatori del pool non hanno alcun controllo sulla distribuzione delle ricompense di staking ai conti di ricompensa. Come giĂ detto, solo chi detiene la chiave di staking può ritirare le ricompense dal conto reward.
Certificati
In questa sezione ci concentreremo sui certificati. Per semplicitĂ , non tratteremo la possibilitĂ di delegare i diritti di staking attraverso gli script. Durante le spiegazioni, considereremo solo una coppia di chiavi. Una chiave di firma (una chiave privata che il proprietario deve mantenere segreta) e una chiave di verifica (una chiave pubblica che può essere pubblicata). Nelle immagini, la chiave di firma sarĂ mostrata in rosso e la chiave di verifica in verde. Le chiavi di verifica sono per lo piĂš utilizzate in forma di hash. Non ne parleremo nelle immagini. Si può pensare alla forma hashed come a unâaltra rappresentazione dello stesso valore (una stringa diventa unâaltra stringa, sempre uguale quando viene ripetuta).
Lâimmagine seguente mostra il controllo dellâutente sui fondi di spesa e la delega dei diritti di staking attraverso le chiavi di firma. Una chiave di spesa di verifica viene utilizzata per creare un indirizzo di spesa. Per spendere i fondi dallâindirizzo, è necessaria una corrispondente chiave di spesa di firma. La chiave di verifica per le puntate viene utilizzata per generare lâindirizzo di stake. La chiave di firma per lo staking è necessaria per delegare i diritti di staking (monete ADA) e anche per ritirare i premi di staking dal conto premi. Gli utenti mantengono segrete le chiavi di firma (idealmente in un cold storage, ad esempio su portafogli Trezor o Ledger HW). Gli indirizzi della blockchain sono pubblici.
Per utilizzare le monete ADA per la produzione di blocchi, è necessario registrare gli indirizzi di stake e delegarli ai pool. Ciò avviene attraverso la creazione di certificati che vengono successivamente inviati alla rete attraverso le transazioni. Tutti i certificati sono memorizzati nella blockchain, cioè sono pubblicamente disponibili a tutti i partecipanti.
I certificati sono validi finchÊ non vengono sovrascritti dal proprietario della chiave di firma o finchÊ non scadono. In caso di scadenza, il certificato può essere rinnovato. Questo riguarda solo un tipo di certificato che deve essere rinnovato dagli operatori del pool. I certificati utilizzati dai normali staker sono validi per sempre fino a quando non vengono sovrascritti (de-registrazione).
Di seguito è riportato un elenco di tutti i certificati che possono essere creati e memorizzati nella blockchain di Cardano.
- Certificato di registrazione dellâindirizzo di stake
- Certificato di de-registrazione dellâindirizzo di stake
- Certificato di delega
- Certificato di registrazione dello stake pool
- Certificato di ritiro dello Stake Pool
- Certificato della chiave operativa
Gli staker (cioè anche gli operatori dei pool) utilizzano solo i certificati relativi alla registrazione degli indirizzi di stake e alla delega. Gli operatori dei pool devono registrare il pool attraverso il certificato e rinnovare regolarmente la sua capacità di coniare blocchi, sempre attraverso il certificato.
Certificati Staker
Per delegare le monete ADA a un pool, è necessario utilizzare due certificati: Un certificato di registrazione dellâindirizzo di stake e un certificato di delega. Ă possibile cancellare la registrazione di un indirizzo di stake attraverso un certificato di cancellazione dellâindirizzo di stake.
Nellâimmagine sottostante, si può vedere come lâutente crea certificati di indirizzo di stake per piĂš indirizzi di pagamento (sono tutti associati allo stesso indirizzo di stake). Per la registrazione è necessario possedere la chiave di firma dello stake. Questo processo è simile sia per gli staker che per gli operatori di pool.
I certificati di registrazione e de-registrazione devono contenere un indirizzo di stake e le credenziali (chiave di verifica). Quando si registrano gli indirizzi di stake, viene creato un conto di ricompensa. Il conto ricompensa viene cancellato quando lâindirizzo di stake viene de-registrato. Non è necessario un testimone per registrare un indirizzo di stake, a differenza della de-registrazione.
Una volta registrati, gli indirizzi di stake possono essere delegati a un pool.
Lâutente (nellâimmagine è Alice) può trasferire i diritti di stake di un determinato indirizzo di stake a un pool di stake creando un certificato di delega e inviandolo alla blockchain di Cardano. Il certificato di delega contiene un indirizzo di stake associato agli indirizzi di pagamento e una chiave di verifica del pool di stake (ID), che è lâidentificatore del pool a cui devono essere delegate le monete ADA.
Nellâimmagine si vede lâoperatore del pool (Bob) che possiede la chiave di firma che rappresenta la proprietĂ del pool. Alice ha trovato lâID del pool in base al nome nel portafoglio. Cioè, in base al nome scelto da Alice, il portafoglio ha inserito lâID corrispondente nel certificato.
Il certificato di registrazione dellâindirizzo di stake è necessario solo quando uno staker vuole registrare un nuovo indirizzo di stake sulla blockchain, operazione che si effettua una sola volta. Un certificato di delega è sempre necessario quando uno staker vuole delegare o ridelegare il proprio stake a uno stake pool di sua scelta.
Aggiungiamo che gli utenti non devono creare certificati manualmente e i portafogli li aiutano in questo. Basta scegliere uno dei pool offerti dal portafoglio e firmare la transazione. La transazione contiene un certificato che, dopo essere stato incluso nel blocco, entrerĂ a far parte della blockchain.
Certificati dellâoperatore del pool
Lâoperatore del pool deve creare diverse coppie di chiavi necessarie per la registrazione del pool.
- Coppia di chiavi della stake pool (âcold keyâ)
- Coppia di chiavi KES (Key-Evolving Signature) (chiave calda)
- Coppia di chiavi VRF (Verification Random Function) (chiave calda)
- Coppia di chiavi dellâindirizzo di stake (chiave fredda)
Una coppia di chiavi del pool di stake viene utilizzata per lâidentificazione del pool (chiave di verifica), la firma dei certificati per la registrazione (e il ritiro) del pool e la delega (trasferimento) dei diritti per una chiave KES in un certificato di chiave operativa. Ne parleremo piĂš avanti.
La chiave KES di firma viene utilizzata per firmare i blocchi coniati dal nodo. La chiave KES di verifica viene utilizzata per la convalida dei blocchi da parte di altri nodi.
La chiave VRF di firma viene utilizzata da un nodo per scoprire se è diventato il leader dello slot in un determinato slot. Su tutti i nodi del pool, in ogni slot ha luogo una lotteria privata, in cui uno o piÚ nodi ottengono il diritto di coniare un blocco. La chiave VRF di verifica viene utilizzata dagli altri nodi per verificare le prove VRF inserite nei blocchi appena coniati. Ogni nodo può verificare che il proponente del nuovo blocco abbia effettivamente vinto la lotteria VRF nel determinato slot.
Lâoperatore del pool possiede anche le chiavi di staking del suo indirizzo di stake, utilizzato come indirizzo di ricompensa per il pool registrato.
La coppia di chiavi piÚ importante è quella del pool di stake perchÊ identifica il pool e i certificati per la registrazione del pool (ritiro) e i certificati delle chiavi operative devono essere firmati attraverso la chiave di firma.
Se le chiavi di firma memorizzate dal nodo nellâhot storage sono compromesse, la chiave del pool di firma può essere utilizzata per creare nuovi certificati che invalidano quelli precedenti. Lâoperatore del pool ha il pieno controllo sul pool se è lâunico proprietario della chiave del pool di stake. Per questo motivo è essenziale che la chiave del pool di firma sia conservata a freddo.
Lâimmagine seguente mostra la registrazione del pool. Il gestore del pool (Bob) ha creato 4 coppie di chiavi: Chiavi del pool di pali, chiavi KES, chiavi VRF e chiavi dellâindirizzo di stake. La chiave di verifica del pool di pali viene utilizzata per identificare il pool e anche come uno degli input per creare un certificato di registrazione del pool. Inoltre, nel certificato vengono inseriti la chiave VRF di verifica, la chiave dellâindirizzo di stake di verifica (indirizzo di ricompensa), un elenco di altri indirizzi di stake dellâoperatore, i parametri che definiscono la ricompensa per lâoperatore (quota fissa e margine) e gli indirizzi IP o DNS di tutti i nodi relay.
Opzionalmente, nel certificato possono essere inseriti un URL e un hash del contenuto dellâURL per ulteriori metadati sul pool. Questi dati vengono visualizzati nei portafogli per gli utenti che cercano un pool a cui delegare ADA. Se non vengono forniti lâURL e lâhash del contenuto, il pool di stake non sarĂ elencato nei portafogli (può essere un pool privato).
Il certificato deve essere firmato dalla chiave dello stake pool firmatario. Questo è il passo piÚ importante nella creazione di un certificato, in quanto solo il proprietario della chiave può farlo.
Si noti che le chiavi KES e VRF sono presenti nellâhot storage del nodo. Il nodo ha bisogno delle chiavi per poter produrre blocchi (sorteggio VRF e firma dei blocchi).
Nel certificato può essere inserito un elenco di indirizzi di stake controllati dallâoperatore del pool. Se questi indirizzi sono delegati allo stesso pool che è registrato attraverso il certificato di delega, ADA conterĂ come pegno dellâoperatore (skin in the game dellâoperatore). Lâinserimento degli indirizzi di stake nel certificato non è sufficiente per delegare le monete ADA. Lâoperatore del pool deve creare un certificato di delega e inviarlo alla rete, analogamente a quanto fanno gli staker. Durante la distribuzione delle ricompense, queste non saranno versate sui conti di questi indirizzi di stake, ma sul conto dellâindirizzo di stake (indirizzo di ricompensa) dellâoperatore del pool. Nella figura, questo indirizzo di stake (indirizzo di ricompensa) corrisponde alla chiave dellâindirizzo di staking. Si noti che anche la chiave di firma è memorizzata nel cold storage. Questa chiave viene utilizzata dallâoperatore per prelevare le ricompense dal conto.
Si noti che la chiave KES non è stata inserita in questo certificato.
Il certificato di ritiro del pool di pali contiene solo la chiave (ID) del pool di pali di verifica e il numero dellâepoca a partire dalla quale il pool dovrebbe smettere di produrre blocchi e quindi ritirarsi.
Quando lâoperatore del pool invia alla rete il certificato di registrazione del pool, il pool è registrato, ma non può ancora iniziare a produrre blocchi. Lâoperatore deve inviare un altro certificato, quello della chiave operativa.
Per ottenere la massima sicurezza delle chiavi, è necessario che lâoperatore segua la disposizione delle chiavi calde e fredde. Questo riduce significativamente il rischio associato allâesposizione delle chiavi sul nodo (chiavi KES e VRF nellâhot storage).
Lâoperatore conserva sempre la chiave del pool di stake di firma nel cold storage (fuori da Internet) e la utilizza a intervalli regolari per firmare un nuovo certificato di chiave operativa. La chiave del pool di stake di firma viene utilizzata per trasferire il diritto di firma alla chiave KES (detta anche chiave operativa), che è conservata nellâhot storage del nodo e viene utilizzata per firmare i nuovi blocchi. Se la chiave KES a caldo viene compromessa, lâoperatore può creare immediatamente un nuovo certificato di chiave operativa (con un numero di contatore piĂš alto), invalidando cosĂŹ quello precedente.
La chiave KES di firma scade a intervalli regolari, in particolare dopo 90 giorni. Lâoperatore del pool deve sempre creare un nuovo certificato di chiave operativa, firmarlo con la chiave di firma del pool di stake e inviarlo alla rete.
La vecchia chiave KES di firma sarĂ utilizzata per generare una nuova chiave KES. La vecchia chiave KES viene successivamente cancellata. Questo protegge lâimmutabilitĂ della storia della blockchain. La chiave KES può essere utilizzata solo per firmare blocchi in un determinato periodo di tempo. La chiave KES di verifica inserita nel certificato del pool di stake di registro rimane la stessa (non è necessario cambiarla quando si crea una nuova chiave KES di firma).
Il certificato di chiave operativa contiene uno slot a partire dal quale sarà valido per 90 giorni (periodo KES), la chiave KES di verifica, la chiave stake pool di verifica (ID) e il numero del contatore. Il numero del contatore è un valore che indica quante volte è stato rinnovato il certificato della chiave operativa. Questo valore viene incrementato ogni volta che viene creato un nuovo certificato di chiave operativa. Questo invalida immediatamente il vecchio certificato (con un numero di contatore inferiore).
Nellâimmagine sottostante, si può vedere come lâoperatore del pool abbia creato un certificato di chiave operativa, che consente al nodo di coniare nuovi blocchi per 90 giorni attraverso la chiave KES di firma rinnovata. Si noti che il certificato della chiave operativa deve essere firmato dalla chiave del pool di stake di firma.
Una volta che la rete raggiunge lo slot specificato nel certificato della chiave operativa, il pool può essere eletto come leader dello slot e coniare un nuovo blocco. Il blocco sarà firmato con una chiave KES valida. Tutti gli altri nodi della rete possono facilmente verificare la firma attraverso la chiave KES di verifica, inclusa nel certificato di registrazione del pool di stake.
Conclusione
Tutti i partecipanti sono in grado di trovare tutte le informazioni sulla distribuzione di ADA sugli indirizzi di pagamento, sugli indirizzi di stake, sulle deleghe ai pool e sui pool dai dati on-chain. Grazie ai certificati e alle prove crittografiche contenute nelle intestazioni dei blocchi, tutti possono convalidare i blocchi e verificare che siano stati coniati e firmati correttamente (firmati con una chiave KES valida per il periodo KES indicato) dai nodi che sono effettivamente diventati gli slot leader negli slot indicati.
La sicurezza e la decentralizzazione di Cardano si basano sulla proprietĂ delle chiavi di firma e dei certificati che sono pubblicamente disponibili a tutti attraverso la blockchain. Chiunque possieda monete ADA può essenzialmente decentralizzare Cardano, in quanto ha il controllo diretto su chi produrrĂ i blocchi. I titolari di ADA possono utilizzare i certificati per registrare pool e delegare loro le monete ADA senza dover ottenere lâautorizzazione di terzi.