Bitcoin e scalabilità
Nella lezione 15 della sezione per utenti Intermedi dell'Academy, abbiamo introdotto il concetto di "scalabilità" nel contesto di Bitcoin e di altre reti blockchain. La rete Bitcoin, pur avendo funzionato senza incidenti degni di nota per più di 10 anni, ha visto molteplici occasioni in cui i costi di transazione hanno raggiunto importi elevati che non erano più sostenibili. Di conseguenza, gli sviluppatori di Bitcoin hanno discusso su come meglio scalare la rete per gestire in futuro i crescenti volumi di transazioni.
Nel 2017, questo dibattito è arrivato al culmine con una divisione nella community di sviluppo di Bitcoin circa l'implementazione di una caratteristica chiamata SegWit con una soft fork. Come descritto nella lezione 8 su hard fork e soft fork, ricorderai che questo dibattito ha causato una significativa spaccatura nella community Bitcoin, che esiste ancora oggi.
Cos'è SegWit?
Lo scopo principale di SegWit è quello di migliorare il flusso delle transazioni su una rete blockchain. Vale la pena notare che la prima criptovaluta a implementare il livello SegWit non è stata Bitcoin, ma Litecoin.
In sostanza, SegWit riduce il peso delle transazioni in un blocco sulla blockchain separando una transazione in due sezioni; aumentando effettivamente la quantità di transazioni che si possono includere in un blocco della stessa dimensione.
La prima parte di una transazione contiene gli indirizzi del portafoglio del mittente e del destinatario e la seconda parte contiene i "dati del testimone" che contengono le firme della transazione. SegWit rimuove i "dati del testimone" dal blocco principale, riducendo notevolmente la dimensione delle transazioni. Così facendo, le transazioni richiedono meno spazio, permettendo più transazioni per blocco e aumentando decisamente la capacità della rete Bitcoin.
La prima parte di una transazione contiene gli indirizzi del portafoglio del mittente e del destinatario e la seconda parte contiene i "dati del testimone" che contengono le firme della transazione.
Inoltre, SegWit ha permesso di correggere una falla nel protocollo Bitcoin che permetteva agli utenti di cambiare gli hash delle transazioni. La modifica di un solo carattere in una firma digitale si traduce in un hash di transazione completamente diverso. Poiché la firma viene spostata dai dati della transazione ai dati del testimone segregato, non è più possibile cambiare l'ID della transazione. Perciò, SegWit è una soluzione alla modificabilità delle transazioni.