Cos'è SegWit?
Segregated Witness (SegWit) è un protocollo aggiornato sviluppato nel 2015. Questo concetto è stato introdotto per risolvere i problemi di scalabilità attualmente affrontati dalle reti blockchain.
In media, la rete Bitcoin convalida nuovi blocchi ogni 10 minuti e ogni blocco contiene diverse transazioni. In questo modo, la dimensione del blocco influisce direttamente sul numero di transazioni che possono essere confermate in ciascun blocco. Attualmente, la blockchain di Bitcoin è in grado di elaborare circa 7 transazioni al secondo.
L'idea principale di Segregated Witness è riorganizzare i dati dei blocchi in modo che le firme non vengano più archiviate insieme ai dati delle transazioni. In altre parole, l'aggiornamento SegWit include l'isolamento dei validatori (firme) dai dati delle transazioni. Ciò consente di archiviare più transazioni in un singolo blocco, aumentando così il throughput delle transazioni della rete.
Poiché è possibile elaborare solo circa 7 transazioni al secondo, il completamento delle transazioni Bitcoin a volte può richiedere molto tempo. Molto più lento delle soluzioni di pagamento tradizionali e delle reti finanziarie, che possono gestire migliaia di transazioni al secondo.
Segregated Witness è stato sviluppato e aggiornato nel 2015 dallo sviluppatore Bitcoin Pieter Wuille e da altri contributori di Bitcoin Core. Nell'agosto 2017, l'aggiornamento Segregated Witness è stato implementato come soft fork sulla rete Bitcoin.
Oggi esistono diversi progetti di criptovaluta che utilizzano il protocollo Segregated Witness, inclusi Bitcoin e Litecoin. L’aggiornamento del protocollo comporta numerosi vantaggi, tra cui una maggiore velocità delle transazioni e una maggiore capacità di blocco. Inoltre, SegWit risolve il cosiddetto problema della malleabilità delle transazioni (discusso di seguito).
Quali sono i principali vantaggi di Segwit?
aumentare la capacità
Uno dei maggiori vantaggi di Segwit è l'aumento della capacità dei blocchi. Rimuovendo i dati della firma dagli input delle transazioni, è possibile archiviare più transazioni in un blocco.
Una transazione è composta da due parti principali: input e output. Essenzialmente, l'input contiene l'indirizzo pubblico del mittente e l'output contiene l'indirizzo pubblico del destinatario. Tuttavia, il mittente deve dimostrare di aver trasferito i fondi e deve essere utilizzata una firma digitale.
Senza SegWit, i dati della firma possono occupare fino al 65% di un blocco. Utilizzando Segregated Witness, i dati della firma vengono rimossi dall'input della transazione. Ciò aumenta la dimensione effettiva del blocco da 1 MB a circa 4 MB.
Tieni presente che Segwit non è solo un aumento della dimensione del blocco. Si tratta piuttosto di una soluzione ingegneristica per aumentare la dimensione effettiva del blocco senza aumentare il limite della dimensione del blocco (che richiederebbe un hard fork). Più specificamente, la dimensione effettiva del blocco è ancora 1 MB, ma la dimensione effettiva del blocco è limitata a 4 MB.
Inoltre, Segregated Witness introduce anche il concetto di peso in blocco. Possiamo pensare al peso del blocco come ad un concetto alternativo alla dimensione del blocco. In sostanza, il peso del blocco è un'unità di misura che comprende tutti i dati del blocco: compresi i dati delle transazioni (1 MB) e i dati della firma (massimo 3 MB), che non fanno più parte dei campi di input.
Maggiore velocità delle transazioni
Oltre a essere in grado di archiviare più blocchi di transazioni, Segregated Witness può anche aumentare la velocità delle transazioni grazie alla grande quantità di dati delle transazioni che possono essere archiviati nella blockchain. Anche se il tempo di generazione del blocco è lo stesso, è possibile ospitare più transazioni nel blocco, quindi il TPS sarà più elevato.
L’aumento della velocità delle transazioni può anche aiutare a ridurre i costi di transazione sulla rete Bitcoin. Prima dell’implementazione di Segwit, ogni commissione di transazione superava i 30 dollari. Tuttavia, con l’implementazione di SegWit, i costi di transazione sono stati significativamente ridotti a 1 dollaro per transazione.
Correzioni della malleabilità delle transazioni
Un altro grosso problema che Bitcoin deve affrontare è la manomissione delle firme delle transazioni. Se la firma viene manomessa, la transazione tra le due parti potrebbe essere compromessa. Poiché i dati archiviati sulla blockchain sono effettivamente immutabili, le transazioni non valide vengono archiviate in modo permanente sulla blockchain.
Con SegWit la firma non fa più parte dei dati della transazione, eliminando la possibilità di modificare questi dati. Questa correzione supporta ulteriore innovazione all’interno della comunità blockchain, inclusi i protocolli di livello 2 e i contratti intelligenti.
SegWit e Lightning Network
Risolvendo i problemi di scalabilità delle transazioni, è necessario sviluppare protocolli di livello 2. In poche parole, un protocollo di livello 2 è una nuova piattaforma o prodotto costruito su una blockchain come Bitcoin. Uno dei protocolli di livello 2 più popolari è Lightning Network, una rete di pagamento offline fuori catena.
Il Lightning Network è un protocollo di secondo livello che funziona sulla rete Bitcoin. Lo scopo principale di Lightning Network è supportare la conferma di più transazioni in un periodo di tempo più breve, offrendo così agli utenti transazioni più veloci. Le transazioni vengono raccolte fuori catena, bufferizzandole efficacemente per l'elaborazione finale da parte della rete Bitcoin.
Il Lightning Network è stato originariamente sviluppato per Bitcoin. Tuttavia, anche molti altri progetti di criptovaluta e blockchain stanno lavorando all’implementazione della tecnologia. Ciò non solo ridurrà i tempi di convalida, ma faciliterà anche lo sviluppo di soluzioni ai problemi di scalabilità.
SegWit e SegWit2x
SegWit è un aggiornamento soft fork, il che significa che supporta la compatibilità con le versioni precedenti. In altre parole, i nodi Bitcoin che non hanno aggiornato SegWit sono ancora in grado di elaborare le transazioni. Tuttavia, esiste un'altra versione implementabile di SegWit chiamata SegWit2x (S2X), che richiede un aggiornamento dell'hard fork.
La differenza principale tra SegWit e SegWit2x è che quest'ultimo non includerà solo modifiche al batching delle transazioni, ma anche un aumento della dimensione dei blocchi (da 1 MB a 2 MB). Tuttavia, blocchi di dimensioni maggiori aumentano il carico sugli operatori dei nodi e sui minatori poiché devono elaborare più dati.
Un'altra differenza significativa è che la proposta SegWit è supportata e implementata dalla comunità Bitcoin. Ciò ha dato origine anche al concetto di UASF, che sta per soft fork attivato dall’utente.
SegWit2x propone invece modifiche sostanziali alle regole base che governano Bitcoin. Ma SegWit2x alla fine è stato sospeso poiché gli sviluppatori non sono stati in grado di raggiungere un consenso sulla sua adozione e implementazione.
La differenza tra SegWit annidato e SegWit nativo (bech32)
In poche parole, SegWit nativo (noto anche come bech32) è una versione aggiornata di SegWit annidato. Gli indirizzi bech32 aumentano la velocità delle transazioni, forniscono migliori meccanismi di rilevamento degli errori e riducono persino le commissioni di transazione. Inoltre, gli indirizzi bech32 sono in lettere minuscole, il che li rende più facili da leggere. Tieni presente che le transazioni tra indirizzi non SegWit (ovvero indirizzi Bitcoin originali, noti anche come Legacy), indirizzi Nested SegWit e SegWit (bech32) sono completamente compatibili. Ma non tutti gli scambi e i portafogli crittografici supportano SegWit, quindi non puoi inviare fondi direttamente a un indirizzo che non supporta SegWit. Binance supporta già gli indirizzi SegWit per depositare e prelevare BTC. Per ulteriori informazioni, fare riferimento alle Domande frequenti su SegWit.
Riassumere
L'implementazione di SegWit segna un importante aggiornamento del protocollo Bitcoin, che è anche supportato e implementato dalla comunità distribuita, rendendolo ancora più attraente.
Il lancio di SegWit può risolvere efficacemente i problemi legati a Bitcoin e ad altre reti blockchain, in particolare un passo importante verso la scalabilità. Attraverso la combinazione di SegWit e protocolli di secondo livello, le reti blockchain possono gestire grandi volumi di transazioni con maggiore efficienza e costi inferiori.
Sebbene SegWit sia una soluzione potente e innovativa, non è ancora completamente implementata. Attualmente, circa il 53% degli indirizzi Bitcoin utilizza il protocollo SegWit.

