Cos’é Segwit e come migliora la scalabilità di Bitcoin
Bitcoin

Cos’é Segwit e come migliora la scalabilità di Bitcoin

By Amelia Tomasicchio - 2 Nov 2018

Chevron down

Segregated Witness, abbreviata come SegWit, è una soluzione che, in modo semplicistico, viene consierata solo per la caratteristica di aumentare la scalabilità di Bitcoin e ridurne il costo.

Read this article in the English version here.

Questo, però, è il suo beneficio meno rilevante: come si può leggere nella discussione degli sviluppatori, i benifici sono stati elencati in ordine di importanza:

  1. Malleability Fixes
  2. Linear scaling of sighash operations
  3. Signing of input values
  4. Increased security for multisig via pay-to-script-hash (P2SH)
  5. Script versioning
  6. Reducing UTXO growth
  7. Efficiency gains when not verifying signatures
  8. Block capacity/size increase
  9. Moving towards a single combined block limit

Il beneficio “Block capacity/size increase” è solo all’ottavo posto, poichè il  principale miglioramento è la Malleability Fixes, che risolve in modo definitivo il problema della malleabilità delle transazioni, offrendo efficienza e sicurezza a:

  • Wallet che tengono traccia dei bitcoin spesi;
  • Chiunque spenda le transazioni non confermate;
  • Lightning Network;
  • Chiunque usi la blockchain e gli smart contract.

Per gli sviluppatori è molto interessante anche lo “Script versioning”, che permette di introdurre alcune modifiche al consenso di Bitcoin.

Se vogliamo concentrarci sull’elemento più conosciuto, ovvero l’incremento della capacità e dimensioni dei blocchi, e la riduzione dei costi delle transazioni bisogna approfondire alcuni aspetti prettamente tecnici in merito al funzionamento di Bitcoin.

Bitcoin come store of value

Per ragioni finanziarie, Satoshi Nakamoto – quando ha ideato Bitcoin – ha scelto di dare un limite e quindi “controllare” matematicamente il numero di BTC che venisse creato ogni anno. Anzi, ogni quattro anni, visto che ogni 4 anni il numero di BTC creati si dimezza.

Bitcoin – nella mente del suo creatore – doveva essere uno store of value, e infatti ne presenta tutte le caratteristiche: è un asset scarso in natura, molto costoso e di complessa produzione, con un’offerta di massa monetaria predeterminata e immutabile.

A livello di codice, bitcoin è stato disegnato in modo da non essere soggetto ad inflazione poiché l’algoritmo, che prima produceva 50 monete ogni 10 minuti, oggi ne crea 12,5 grazie ad un processo chiamato halving.

Ogni 4 anni questa ricompensa si dimezza e continuerà così fino al raggiungimento di un valore pari ad un Satoshi, ovvero un centomilionesimo di bitcoin.

Visto che il numero di BTC creati per blocco è fisso e dimezza solo ogni quattro anni, è fondamentale controllare con una certa precisione il numero di blocchi creati ogni anno. Fin dal principio è stato scelto di fare in modo che ne venga creato ed aggiunto alla blockchain solo uno ogni circa 10 minuti.

Tali blocchi non possono avere dimensione maggiore di 1 MB, altrimenti la blockchain diventerebbe troppo pesante: aggiungere 1 MB ogni 10 minuti equivale ad aggiungere 144 MB al giorno, ovvero più di 52 GB all’anno.

Questa dimensione massima fissa faceva sì che non ci potessero stare più di 2.000 transazioni per blocco. Visto che per essere convalidate le transazioni devono essere inserite in un blocco aggiunto alla blockchain, questo limite impediva di convalidare più di 2.000 transazioni ogni 10 minuti.

Non potendo incrementare le dimensione del blocco, la soluzione per incrementare il numero di transazioni è stata quella di ridurre il peso delle singole transazioni in modo che in ogni blocco ce ne possano essere anche oltre 3.000.

La soluzione scelta è stata quella di segregare alcune informazioni delle singole transazioni al di fuori dei blocchi, in modo da ridurre al minimo il peso delle informazioni da registrare in blockchain.

In particolare, con SegWit la transazione viene divisa in 2 segmenti, rimuovendo la firma di sblocco (il “testimone”) dalla porzione che viene registrata in blockchain ed aggiungendola in fondo come struttura separata. La sezione originale registra in blockchain i dati del mittente e del destinatario, mentre nell’altra rimarrebbero gli script e le firme.

La firma digitale rappresenta più o meno il 65% del peso in una transazione, pertanto SegWit aumenta di fatto il limite di 1 MB della dimensione dei blocchi a poco meno di 4 MB.

In realtà, Segregated Witness — come soft fork — è stato presentato per la prima volta da Pieter Wuille nel dicembre 2015 alla seconda edizione del Scaling Bitcoin workshop a Hong Kong.

Parallelamente allo sviluppo di SegWit, è scoppiata una guerra politica ed ideologica nella comunità, e si è arrivati ad uno scontro tra alcune aziende e minatori di Bitcoin, guidati dal Bitmain CEO Jihan Wu, determinati a implementare un hard fork per aumentare il limite di dimensioni dei blocchi a 2 megabyte.

Lo sviluppatore di Bitcoin Core Luke Dashjr – sul canale Slack – ha deciso di continuare con l’idea di un SegWit soft fork UASF – user activated soft fork – indipendentemente da ciò che avrebbe fatto il resto dell’ecosistema Bitcoin.

Questa “intollerante minoranza” riuscì a prevalere e per questo l’1 agosto 2017 è stato dichiarato il “Bitcoin Independence Day.”

L’adozione e completa introduzione è stata 23 agosto 2017. Pur, richiedendo wallet appositi, è compatibile con la versione precedente del protocollo senza SegWit, quindi ad oggi in blockchain è possibile aggiungere sia transazioni SegWit che transazioni senza SegWit. Le prime sono più leggere, quindi hanno costi inferiori, mentre le seconde sono come prima.

Il costo minore è dovuto proprio al fatto che i byte da registrare in blockchain sono meno, visto che il costo di una transazione dipende, seppur indirettamente, dal numero di byte della medesima.

Da notare che oramai le transazioni SegWit sono quasi la metà di quelle che vengono aggiunte in blockchain, visto che diversi exchange o servizi di scambio di BTC hanno aggiornato i loro wallet implementando questa nuova soluzione.

Amelia Tomasicchio
Amelia Tomasicchio

Esperta di digital marketing, Amelia inizia a lavorare nel settore fintech nel 2014 dopo aver scritto la sua tesi di laurea sulla tecnologia Bitcoin. Precedentemente è stata un'autrice di Cointelegraph e CMO di Eidoo. Oggi è co-founder e direttrice di Cryptonomist.

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.