Ethereum è senza dubbio una delle blockchain più trattate e importanti, la prima ad essere stata creata esclusivamente per la realizzazione di smart contract e che ha quindi dato il via a innumerevoli progetti e alla possibilità per i programmatori di avere un accesso semplice alla tecnologia blockchain e sfruttarne tutta la sua potenza e flessibilità. I punti più critici per le blockchain sono senza dubbio gli aggiornamenti che possono avvenire sotto forma di soft fork o hard fork, i più delicati sono quelli del secondo tipo che apportano cambiamenti radicali e sostanziosi, esponendo la blockchain a falle di sicurezza e/o ad errori con conseguenze devastanti. In questo articolo vedremo un'introduzione su come funzionano gli aggiornamenti di una blockchain dal punto di vista tecnico per poi parlare del tanto discusso "Constantinople" ovvero l'ultimo hard fork di Ethereum che ha incontrato qualche problema prima di essere implementato.
Introduzione e differenza tra soft fork e hard fork
Nel mondo della blockchain esistono diversi tipi di aggiornamenti, i principali a cui si fa riferimento sono "soft fork" e "hard fork". In cosa consistono? Il soft fork è un aggiornamento backwards compatible, ovvero compatibile con la chain attuale e con il software che viene usato prima del lancio del fork. In genere questo apporta dei cambiamenti al software del wallet o dei cambiamenti "minori" al funzionamento della blockchain. Consiste quindi in uno "sdoppiamento" momentaneo durante il quale la nuova chain accetterà i blocchi che seguono il nuovo set di regole e la chain già esistente continuerà ad aggiungere i blocchi secondo le vecchie regole, questo finché non si raggiungerà un "consenso" su quale set di regole deve essere adottato in modo definitivo, risultando nell'uso di una delle due versioni e nell'abbandono dell'altra.
In genere chi determina se il fork avviene è quindi la scelta dei minatori (o della comunità), i quali "spostano" il loro hashing power minando i blocchi che seguono le nuove regole oppure continuano a minare la versione precedente della chain. Se una certa percentuale di hashing power supporta il fork, allora la chain originale adotterà le nuove regole e da un certo blocco in poi la chain tornerà ad essere una sola seguendo il nuovo set di regole (quella che segue le regole precedenti cesserà di andare avanti man mano che i miner seguono il consenso e effettuano l'aggiornamento fino al momento in cui nessuno mina più i blocchi con il vecchio set). Viceversa, nel caso in cui la maggior parte dei miner continui a seguire le vecchie regole, allora il fork non avrà successo e la chain che rispetta le nuove regole sarà abbandonata. Vediamo un esempio di soft fork avvenuto con successo nella seguente immagine:
Caso diverso quello dell'hard fork, dove avviene una vera e propria divisione della blockchain creandone di fatto una totalmente nuova e lasciando invariata la blockchain originale che non è in nessun modo compatibile con quella nuova (molti esempi si possono fare con Bitcoin che negli anni è stata la blockchain protagonista di svariati hard fork che hanno dato vita a nuove blockchain e a nuove crypto, il più famoso è l'hard fork di Bitcoin Cash, tra i fork falliti ricordiamo quello di Bitcoin Classic). Al blocco prestabilito in cui avviene l'hard fork si crea una nuova blockchain che quindi viaggia in parallelo con quella originale, queste avranno due set di regole diverse e non avranno possibilità di interagire tra loro, creando di fatto una nuova moneta che girerà sulla nuova blockchain con il nuovo set di regole. In genere le conseguenze di un hard fork sono quelle di ritrovarsi con due monete diverse, chi possedeva X coin sulla blockchain originale si troverà a possedere X coin su quella nuova (quindi nel caso che una delle due diventi inattiva, non si rischia di perdere accesso al proprio valore).
Ne troviamo un esempio con Ethereum Classic e l'attuale Ethereum, questo sdoppiamento e il mantenimento di due blockchain crea ovviamente non pochi problemi, specialmente se pensiamo che un hard fork può rendersi necessario quando le modifiche sono sostanziose. Nel caso di Constantinople però si è deciso di lasciar "morire" lentamente la vecchia versione (denominata Byzantium) e di usare e tenere in considerazione solo la nuova, evitando quindi di nuovo la modifica del nome e il mantenimento di due blockchain diverse (anche perché in genere la blockchain più datata non riceve più aggiornamenti). Questo caso è la dimostrazione che le conseguenze di un hard fork non sono sempre le stesse e dipendono spesso da come gli sviluppatori, i miner e la comunità decide di comportarsi nei riguardi del risultato e quindi della blockchain nuova e della sua origine.
L'hard fork Constastinople, cosa rappresenta e cosa cambia dal punto di vista tecnico
Gli stadi di sviluppo che sono stati progettati da Vitalik Buterin (il fondatore di Ethereum) sono essenzialmente quattro e consistono in una serie di aggiornamenti e cambiamenti radicali per la blockchain. I primi due sono Frontier e Homestead che sono stati già completati, il terzo Metropolis si è concluso con il successo dell'hard fork Constantinople ed è quindi stato completato il 28 febbraio al blocco 7,280,000 con assestamento dei blocchi sulla nuova chain nelle prime ore dell'1 marzo (tutti i miner devono aggiornare la propria versione in modo tale da confermare i blocchi della nuova blockchain, questo avviene gradualmente). Il quarto e ultimo stadio è denominato Serenity e riguarderà l'implementazione della Proof of Stake al posto dell'attuale Proof of Work (basata sulla tecnologia di base di Bitcoin), oltre a ulteriori miglioramenti per la velocità della rete e alla semplificazione dell'uso di questa per permettere ad un pubblico maggiore di usufruirne senza troppi pre-requisiti. Constantinople consisteva inizialmente di 5 EIPS (Ethereum improvement proposals), ovvero [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2075 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.