Uno dei più anticipati eventi nell’ecosistema Ethereum è il passaggio da Proof of Work a Proof of Stake. Entrambi questi sistemi sono usati per raggiungere il consenso e mantenere la sicurezza della blockchain.
La Proof of Work usa il mining, richiedendo una grande quantità di elettricità e potenza computazionale. La Proof of Stake ha l’intenzione di sostituire un sistema che richiede così tanta spesa di risorse al fine di ottenere, invece, un consenso sicuro attraverso i partecipati del network, i quali dovranno fare una scommessa (“stake”) con le proprie monete virtuali (in questo caso gli Ether) in cambio di premio proporzionale (l’importo scommesso vs. tutte le monete disponibili in tutto il network) per il loro mining virtuale.
Nessun mining PoW-style avviene nella PoS; il deposito è effettuato con il fine di incentivare azioni oneste. Il deposito di un validatore viene bruciato (automaticamente reso forfettario e distrutto) se attua una mossa a danno del network, così come definito dalle condizioni minime di “slashing”.
Questo passaggio verrà implementato in step sequenziali, passando da una fase intermedia durante la quale ci sarà un sistema ibrido di PoW e PoS prima di passare completamente alla PoS.
Scrivere il codice per il contratto Casper è parte del primo passo per arrivare alla PoS. Secondo una recente presentazione di Buterin all’Ethereum Meetup che si è tenuto a Taipei, la prima fase è stata quasi completata.
Effettuando una mossa altamente trasparente, Buterin ha pubblicato il codice che implementerà il sistema ibrido per il suo contratto Casper.
Mentre Casper è il protocollo impostato per governare il sistema PoS di Ethereum, esso verrà implementato come un contratto di Ethereum al fine di diminuire la possibilità di avere problemi a raggiungere il consenso tra i client.
Se Casper sarà implementato dal lato client, sarà più difficile garantire che tutti usino le stesse condizioni di slashing, il che è importante perché si tratta delle penalità economiche che tengono insieme il sistema.
Senza un assicurato consenso tra i client circa queste penalità, ci sono più possibilità di attacchi a danno del network. Inoltre, in un contratto, Casper potrebbe essere facilmente aggiornato scambiando l’indirizzo del contratto con una versione aggiornata in caso di futuri hard fork.
Mentre Buterin era pronto a condividere il codice del contratto Casper, quest’ultimo era pronto ancora solo per tre quarti. La quarta parte incompleta del codice è stata così descritta da Vitalik su Reddit:
“Resta da implementare:
– Un meccanismo di sequenza di numeri sui messaggi (necessaria per verificare in modo completo le condizioni di slashing);
– Passare dal controllo delle firme ECDSA al controllo del codice di validazione arbitraria
A parte questo, è quasi completo. Inoltre, è da notare che il contratto di Casper è solo uno di tre parti. Le altre due trattano la logica del validatore demone e la regola nel caso di hard fork. Queste sono entrambe in corso di scrittura, ma non sono in fase così avanzata come il contratto”.
Quindi, una volta che il codice del contratto sarà pronto, solo demone e il fork rimarrà da fare. Il validatore demone sarà un programma che verrà eseguito off-chain (non sulla blockchain, ma sul dispositivo dell’utente) che interagisce con il contratto Casper in modo che un nodo sappia quando inviare i messaggi per validare il blocco.
La regola di scelta del fork è un pezzo di codice che sarà contenuto in ogni nodo per determinare a quali esatte condizioni la chain canonica (la più lunga) dovrà sottostare.
Questo serve ad assicurare che un nodo scommetta sulla chain vincente. Se un nodo scommette su una falsa chain, quel nodo (il validatore) perde il suo deposito.
Questo è un aspetto veramente molto importante per la sicurezza della blockchain, perché è il momento il cui il consenso viene determinato relativamente alla scelta di quale sia la blockchain canonica.
La domanda che tutti si pongono è: quanti ETH devo scommettere per compensare i costi del gas (ovvero i costi di transazione) per inviare messaggi e realizzare profitto? Buterin ha parlato dell’importo minimo per i depositi dei validatori, dicendo:
“Si tratta di una questione spinosa. Qui vi è un minimo implicito in quanto si deve pagare il gas per preparare e inviare il messaggio, e quindi non è redditizio a meno che i depositi non siano di almeno 1000-4000 ETH. Una possibilità che stiamo pensando nelle fasi successive di hardforking è uno sconto specifico per l’esecuzione associata a questo contratto, ma ancora non è vicino all’essere finalizzato”.
E’ molto denaro. Abbastanza simile al mining PoW, a meno che tu non sia ricco dovrai unirti ad una virtual mining pool di PoS per vedere qualche guadagno. La Proof-of-Stake dovrebbe eventualmente essere abilitata al supporto delle mining pool.
Un’altra utile caratteristica di Casper è l’abilità di inviare un deposito da un contratto, invece che solo dal tuo wallet. Una persona potrebbe ritirare le proprio ricompense come validatore da un contratto che rilascia i fondi solo se qualche altra condizione viene soddisfatta.
Ciò consentirebbe ad una persona a “duplice uso del proprio deposito Casper come un deposito di sicurezza in qualche altra applicazione.”
Così, se un validatore avesse bisogno di chiudere a chiave una discreta quantità di denaro, potrebbe usarla come garanzia mentre è ancora virtualmente in estrazione e sta ottenendo le ricompense di un blocco.
Quando la proof of stake starà per essere implementata, sicuramente Ether sarà soggetta ad una certa volatilità. Tu sei pronto? Sai come affrontarla?
Commenti