Contenuti
- Cos'è SegWit?
- Quali sono i vantaggi principali di SegWit?
- SegWit e Lightning Network
- SegWit vs SegWit2x
- In chiusura
Cos'è SegWit?
Il Segregated Witness (SegWit) è un aggiornamento del protocollo sviluppato nel 2015. Il concetto è stato introdotto come una soluzione al problema di scalabilità che i network delle blockchain affrontano ancora oggi.
L'idea centrale di SegWit è di riorganizzare i dati del blocco in modo che le firme non siano più posizionate insieme ai dati delle transazioni. In altre parole, l'aggiornamento SegWit consiste nella separazione dei testimoni (firme) dai dati delle transazioni. Questo permette di archiviare più transazioni in un singolo blocco, aumentando così le prestazioni in termini di transazioni sul network.
Considerando che Bitcoin riesce a elaborare circa 7 transazioni al secondo, l'esecuzione di una transazione può a volte richiedere molto tempo. Questo processo è di gran lunga più lento rispetto alle soluzioni di pagamento e ai network finanziari convenzionali, che riescono ad elaborare migliaia di transazioni al secondo.
Quali sono i vantaggi principali di SegWit?
Aumento di capacità
Uno dei maggiori vantaggi di SegWit è l'aumento della capacità dei blocchi. Rimuovendo i dati relativi alla firma dall'input della transazione, è possibile archiviare un maggior numero di transazioni in un singolo blocco.
Senza SegWit, i dati relativi alla firma possono arrivare a occupare fino al 65% di un blocco. Con SegWit, i dati relativi alla firma vengono rimossi dall'input della transazione. Questo porta le dimensioni effettive del blocco da 1 MB a circa 4 MB.
E' importante sottolineare che SegWit non è un effettivo aumento delle dimensioni del blocco. Invece, è una soluzione avanzata che permette di aumentare le dimensioni effettive senza dover incrementare il limite di dimensione del blocco (cosa che richiederebbe un hard fork). Per essere più precisi, le dimensioni attuali dei blocchi sono ancora 1 MB, ma il limite effettivo di dimensione del blocco è 4 MB.
SegWit ha inoltre introdotto l'idea di peso del blocco. Possiamo considerare il peso del blocco come un concetto che sostituisce l'idea di dimensioni del blocco. Essenzialmente, il peso del blocco è una misura che include tutti i dati del blocco, inclusi i dati relativi alla transazione (1 MB) e i dati relativi alla firma (3 MB), i quali non fanno più parte del campo input.
Aumento della velocità di transazione
L'aumento della velocità di transazione ha anche contribuito a ridurre i costi di transazione nel network di Bitcoin. Prima di SegWit, non era raro spendere più di $30 per una transazione. Tuttavia, SegWit ha abbassato drasticamente questo costo a meno di $1 per transazione.
Correzione della malleabilità di transazione
Un grave problema presente in Bitcoin nel passato era la possibilità di alterare potenzialmente le firme delle transazioni. Se una firma viene alterata, potrebbe risultare nella corruzione di una transazione tra due parti. Dato che i dati archiviati sulle blockchain sono virtualmente immutabili, sarebbe stato possibile archiviare transazioni invalide sulla blockchain in modo permanente.
SegWit e Lightning Network
Lo sviluppo di protocolli second-layer è stato parzialmente reso possibile dalla correzione del bug della malleabilità di transazione. In poche parole, i protocolli second-layer sono nuove piattaforme o nuovi prodotti sviluppati sopra a una blockchain, come per esempio quella di Bitcoin. Uno dei protocolli second-layer più conosciuto è Lightning Network, un network di micropagamenti off-chain.
Il Lightning Network è un protocollo second-layer che opera sul network di Bitcoin. L'obiettivo principale di Lightning Network è consentire la conferma di un maggior numero di transazioni in un periodo di tempo più breve, portando così a transazioni più veloci per gli utenti. Le transazioni vengono raccolte off-chain e accumulate efficacemente per essere eventualmente elaborate dal network di Bitcoin.
SegWit vs SegWit2x
La differenza fondamentale tra SegWit e SegWit2x è che quest'ultimo non avrebbe riguardato soltanto una modifica nel batching delle transazioni, ma anche un aumento nelle dimensioni del blocco (da 1MB a 2MB). Tuttavia, una maggiore dimensione del blocco avrebbe aumentato il carico per gli operatori di nodi e i miner, dato che avrebbe portato al doppio dei dati da gestire.
Un'altra importante differenza è che la proposta SegWit è stata supportata e applicata dalla comunità di Bitcoin. L'episodio ha dato vita al concetto di UASF, sigla che sta per user-activated soft fork.
Al contrario, SegWit2x proponeva una modifica sostanziale a una delle regole fondamentali di Bitcoin, e dato che gli sviluppatori non hanno raggiunto un consenso sulla sua adozione e implementazione, il movimento SegWit2x è stato sospeso.
In chiusura
L'implementazione di SegWit ha segnato il più grande aggiornamento del protocollo di Bitcoin, e il fatto che sia stato supportato e implementato dalla comunità decentralizzata lo rende ancora più interessante.
L'introduzione di SegWit è stato un importante passo avanti nella risoluzione di molti problemi legati ai network di Bitcoin e di altre blockchain - soprattutto in termini di scalabilità. Attraverso la combinazione di SegWit e dei protocolli second-layer, i network blockchain possono gestire un maggior numero di transazioni, con più efficienza e costi inferiori.
Pur essendo una soluzione potente e innovativa, SegWit non ha ancora raggiunto la piena adozione. Attualmente, la percentuale di indirizzi Bitcoin che utilizzano SegWit è intorno al 53%.