Nella prossima lezione vi parleremo di SegWit. Probabilmente ne avrete già sentito parlare, ma cosa comporta esattamente? Lo saprete dopo aver letto questo articolo.
SegWhite è l’abbreviazione di Segregated Witness. In olandese si può tradurre come testimone separato.
Si tratta di un aggiornamento del Bitcoin, ritenuto necessario a causa della mancanza di scalabilità della rete e degli elevati costi di transazione.
Lo sviluppatore di Bitcoin Pieter Wuille ha proposto nel 2015 di separare la firma digitale dai dati della transazione.
SegWit è stato implementato il 21 luglio 2017. L’attivazione completa è avvenuta il 24 agosto 2017. Quel giorno è seguito un soft fork, che ha modificato le regole della blockchain Bitcoin in modo che tutti i blocchi futuri potessero funzionare con questo aggiornamento.
Agli albori del Bitcoin, non esisteva un limite di dimensione dei blocchi. Ciò consentiva di sferrare attacchi DDoS (distributed denial of service) alla rete, facendola crollare.
Satoshi Nakamoto decise quindi di limitare la dimensione dei blocchi a 1 MB. Questo andò bene per qualche tempo, fino a quando Bitcoin divenne così popolare che 1 MB non era più sufficiente per elaborare tutte le informazioni in un blocco nel prossimo futuro. Il Bitcoin divenne costoso e lento.
Quando si effettua una transazione Bitcoin, si ha a che fare con tre componenti: l’indirizzo pubblico del mittente e del destinatario e la firma. La firma occupava così tanto spazio (circa 2/3) in una transazione che veniva separata.
SegWit sposta i dati della firma (come la chiave privata) in un database separato e rende Bitcoin più sicuro, più economico e più scalabile. In questo modo la verifica delle transazioni occupa molto meno spazio.
Ogni transazione con Bitcoin ha un identificatore (TXID o ticker ID). Si tratta di una stringa di caratteri, la parte più importante di una transazione Bitcoin. L’aggiornamento SegWit consente di elaborare molte più transazioni per blocco, migliorando notevolmente la velocità della rete. I giorni in cui si attendeva il completamento della transazione erano ormai passati. Anche le commissioni di transazione sono diminuite notevolmente.
Con SegWit è stato affrontato anche un altro problema. I destinatari potevano intercettare l’ID della transazione del mittente e cambiarlo per ottenere più monete. Poiché l’ID e la firma sono stati separati, questo è ora impossibile, a meno che non si modifichi anche la firma digitale.
L’aggiornamento SegWit ha anche reso i blocchi più grandi. Questo ha avuto un effetto che si è scoperto solo in seguito. I blocchi più grandi erano più difficili da estrarre. Dopo l’aggiornamento, si è creata una concentrazione di minatori che disponevano delle migliori attrezzature e che quindi estraevano il maggior numero di blocchi. Questo gruppo si è arricchito sempre di più, mentre i ritardatari hanno iniziato a ritirarsi.
In seguito è seguita un’ondata di concentrazione, con attrezzature costose e bassi costi di energia che sono diventati il collo di bottiglia. Ma tutto questo è stato messo in atto quando l’aggiornamento SegWit è stato messo online.
Un’altra conseguenza di SegWit è stato un hard fork. Bitcoin Cash è emerso in risposta a questo aggiornamento. Nella rete Bitcoin c’è stato disaccordo sul fatto che questa fosse la strada da seguire.
Anche i minatori non amano molto SegWit. A causa di questo aggiornamento, i minatori ottengono commissioni di transazione ridotte e ci sono persino grandi gruppi di minatori che non vogliono nemmeno lavorare con SegWit. SegWit ha quindi scosso notevolmente la situazione, ma è un aggiornamento molto utile per gli utenti di Bitcoin e per la rete stessa. Senza SegWit, probabilmente il Bitcoin sarebbe già morto di una morte dolorosa, a causa della congestione della rete e delle commissioni di transazione non fattibili.