Cos’è Segwit e come funziona

Federico Pisanu

7 Settembre 2019 - 20:39

condividi

Segwit è l’abbreviazione di Segregated Witness e sta a indicare un cambio di fork flessibile realizzato nel formato della transizione di Bitcoin: la guida completa.

Cos’è Segwit e come funziona

Nel settore delle criptovalute, il termine SegWit (abbreviazione per Segregated Witness) si riferisce a un cambio di fork flessibile implementato nel formato della transizione di Bitcoin, se si riprende parola per parola la definizione esatta espressa sulla pagina di Wikipedia nella versione inglese.

Letteralmente, il concetto Segregated Witness significa “testimone isolato”. Nel caso specifico di SegWit, invece, il significato è un po’ diverso. Bisogna infatti capire cosa si intenda per “testimone” e perché si parla di isolamento.

Di seguito spiegheremo cos’è SegWit e il suo legame con la criptovaluta Bitcoin, chiarendo i motivi per i quali si è arrivati alla sua introduzione.

Illustreremo inoltre come funziona il protocollo SegWit, servendoci di alcuni esempi per semplificare la questione e renderla accessibile a tutti, in particolare a chi si è affacciato da poco al mondo delle criptovalute.

Cos’è SegWit

SegWit (Segregated Witness) è un protocollo di lavoro flessibile che modifica il metodo di archiviazione dei dati. Il cambio di fork flessibile si è affacciato per la prima volta nel panorama delle criptovalute alla fine del 2015, in occasione della conferenza “Scaling Bitcoin” tenutasi nel dicembre di quattro anni fa.

A presentare per primo i vantaggi del SegWit fu Pieter Wuille, cofondatore della società Blockstream nel 2014, leader globale nella tecnologia Bitcoin e blockchain. Sul profilo ufficiale Twitter, Pieter Wuille si definisce semplicemente come sviluppatore Bitcoin (“developer Bitcoin”).

L’appuntamento internazionale “Scaling Bitcoin” nel 2015 si proponeva l’obiettivo di discutere e trovare una soluzione alle difficoltà emerse in passato nel migliorare in maniera sicura la scalabilità e la natura decentralizzata della rete Bitcoin. Quella fu la prima conferenza in assoluto organizzata dalla comunità di sviluppatori per confrontarsi su un problema così importante come la scalabilità (tra pochi giorni è in programma a Tel Aviv la quinta edizione dal titolo Scaling Bitcoin 2019 “Yesod”).

Dalla presentazione di fine 2015 in occasione della prima conferenza “Scaling Bitcoin”, sono trascorsi quasi due anni dall’attivazione del protocollo SegWit, avvenuta nel maggio del 2017.

Contrariamente a quanto si potrebbe pensare, l’adozione iniziale è avvenuta per la criptovaluta Litecoin e non per Bitcoin, sebbene tra i due processi la distanza temporale è quantificabile in soli tre mesi (Segregated Witness è stato implementato sulla blockchain di Bitcoin nel mese di agosto dello stesso anno).

Chi ha ideato SegWit

Pieter Wuille ha presentato per primo SegWit nel corso della prima conferenza internazionale Scaling Bitcoin, tenutasi nel dicembre del 2015. Nell’universo Bitcoin il suo nome è noto agli addetti ai lavori, in particolare per essere uno degli sviluppatori più attivi nel progetto Bitcoin Core, il software ufficiale di Bitcoin nato dal codice realizzato da Satoshi Nakamoto.

Dunque, Pieter Wuille è una figura centrale per quanto riguarda il Bitcoin, la criptovaluta più importante a livello globale per distacco. A tal riguardo, non è un caso che sia stato proprio lui a sviluppare l’idea del protocollo Segregated Witness, quando la comunità di sviluppatori si stava confrontando sui problemi più critici riguardanti la rete del Bitcoin.

Wuille è anche uno dei co-fondatori della società tecnologica Blockstream. Nella descrizione ufficiale, l’azienda sottolinea come i propri servizi rendano i mercati finanziari più efficienti. Il riferimento a Blockstream compare anche nella sezione Esperienza sul profilo Linkedin di Wuille, con la prima attestazione che risale al settembre 2014

Prima di contribuire alla nascita della società Blockstream, Pieter Wuille ha lavorato per quasi due anni a Zurigo nel ruolo di Site Reliability Engineer all’interno dell’azienda Google. Dodici mesi prima di trasferirsi in Svizzera aveva conseguito in Belgio il dottorato di ricerca all’Università cattolica di Leuven (KU Leuven).

Come funziona SegWit

Il protocollo SegWit va a isolare alcune informazioni appartenenti a ciascuna transazione, al fine di diminuire il peso di quest’ultime, che andranno poi a essere registrate sulla catena di blocchi (blockchain). Per rendere il discorso ancora più chiaro, chiariamo il funzionamento esatto.

Con SegWit, la transazione viene divisa in due parti. La prima, le cui informazioni sono salvate sulla blockchain, include i dati sia del mittente che del destinatario. La seconda parte, la quale subisce l’isolamento effettivo dal segmento originario, contiene le firme e gli script.

Adesso dovrebbe dunque essere più semplice capire il termine Segregated Witness e la sua abbreviazione SegWit, in relazione al settore delle criptovalute. Il testimone (witness) non è altro se non la firma di sblocco, che viene appunto separata dal resto delle informazioni (dati su destinatario e mittente) per rendere meno pesante ciascun nuovo blocco (transazione) inserito nella blockchain.

Dimensione massima dei blocchi della blockchain Bitcoin

Quando si parla di SegWit e si intende chiarire ai lettori come funziona, è necessaria aprire una parentesi sulla dimensione dei blocchi che vanno a costituire la tecnologia blockchain. I blocchi di Bitcoin hanno una dimensione massima predefinita pari a 1 MB.

Si tratta appunto di un valore massimo, che quasi mai viene raggiunto. Prendendo come fonte il grafico pubblicato dal sito Bitinfocharts, dal 2018 ai primi mesi del 2019 la media è oscillata dai 400 ai 600 kB.

Sulla carta, la dimensione di 1 MB consente di contenere - anche se sarebbe più appropriato usare il termine convalidare - fino a 2.000 transazioni. Tale limite (soltanto teorico) è stato superato proprio grazie all’implementazione di SegWit, che garantisce di conservare all’interno di ciascun blocco oltre 3.000 transazioni.

Ciò è possibile grazie allo split della transazione, in cui la firma viene isolata in una struttura diversa rispetto al blocco da registrare nella blockchain. La firma (o testimone) ha un peso non indifferente rispetto alla dimensione della transazione, circa il 65%.

La divisione operata dal protocollo Segregated Witness consente dunque di aggirare il limite di 1 MB, portando la dimensione massima effettiva di ciascun blocco a un valore di poco inferiore ai 4 MB. Tali valori - è bene ripeterlo - rimangono puramente teorici, dal momento che sappiamo dai grafici come il peso medio di ogni blocco della blockchain di Bitcoin si aggiri oggi intorno ai 600 kB.

Quali sono i benefici del protocollo Segwit

Sul portale BitcoinCore, sito ufficiale del progetto open source che si occupa del mantenimento e del rilascio del software di Bitcoin (discendente diretto dell’originale software rilasciato da Satoshi Nakamoto dopo la pubblicazione del white paper), sono stati elencati i benefici del fork flessibile garantito dall’introduzione di SegWit. Questi i punti sottoscritti dai principali sviluppatori di Bitcoin Core nel lontano 2016, quando ancora il protocollo non era stato implementato in via ufficiale:

  • Malleability Fixes. Al primo posto viene inserita la risoluzione al problema della malleabilità delle transazioni, di cui beneficiano i wallet che tracciano i bitcoin spesi, chiunque sia coinvolto in transazioni non confermate e tutti coloro che usano la rete blockchain.
  • Linear scaling of sighash operations. Ridimensionamento lineare nelle operazioni sighash.
  • Signing of input values. Firma dei valori di input.
  • Increased security for multisig via pay-to-script-hash. Sicurezza aumentata per le transazioni multifirma.
  • Script versioning. Controllo delle versioni degli script.
  • Reducing UTXO (Unspent transaction output) growth. Riduzione delle transizioni non validate all’interno della rete.
  • Efficiency gains when not verifying signatures. Aumento dell’efficienza quando le firme non sono verificate.
  • Block capacity/size increase. Aumento della capacità/dimensione di un blocco. Questo è il punto centrale di cui abbiamo discusso fino a qui (per gli sviluppatori di Bitcoin Core viene soltanto al penultimo posto in un’ideale scala di valori).
  • Moving towards a single combined block limit. Spostamento verso un limite di blocco combinato singolo.

Un altro beneficio apportato dal Segregated Witness è il costo minore per le transazioni, essendo più leggere rispetto alle transazioni che non lo adottano.

Quando è avvenuta l’attivazione di SegWit

L’attivazione di SegWit nella blockchain di Bitcoin risale al 24 agosto 2017. Il protocollo Segregated Witness è spesso indicato dalla sigla BIP 141 (BIP è l’acronimo di Bitcoin Improvement Proposal, cioè proposta di miglioramento per Bitcoin).

Ai primi di ottobre dello stesso anno le transazioni SegWit erano pari al 10% del totale. Sei mesi più tardi invece, il loro numero aveva superato il 30% delle transazioni registrate nella blockchain.

Anno dopo anno, il numero è in costante aumento. L’ultimo record è stato raggiunto nel luglio di quest’anno, quando il valore ha toccato il 56% delle operazioni complessive (sebbene il valore medio si attesti intorno al 48%). A riportare la notizia (corredata da un grafico) è stato Jameson Loop, attuale CTO del portale Satoshi.

Prima ancora di Bitcoin, SegWit è stato adottato da Litecoin, una delle principali criptovalute per capitalizzazione azionaria. L’attivazione nella blockchain di Litecoin risale a maggio 2017.

Rispetto a Bitcoin, le transazioni SegWit di Litecoin sono maggiori. La percentuale media viaggia attorno a un valore pari al 58%.

Se avete interesse ad approfondire l’argomento, vi suggeriamo la lettura dell’approfondimento su cos’è e come funziona Bitcoin.

Iscriviti a Money.it