Taproot e Segwit sono due nomi che si leggono, di tanto in tanto, quando si finisce in qualche subreddit più nascosto. In questo articolo provo a spiegare le differenze tra Taproot e Segwit, e in senso più lato l’evoluzione di Bitcoin.
L’evoluzione di Bitcoin: le soft forks
Quando pensiamo a Bitcoin, in molti si immaginano qualcosa di statico creato da una persona più di un decennio fa. Questo qualcosa si trova ora in un universo molto più complesso, di cui non è che una tecnologia obsoleta e destinata a morire. Ebbene, così non è.
Bitcoin è stato creato nel 2009, è vero; ma da allora, il suo sviluppo è continuato e continua anche in questo momento, sospinto da migliaia di persone che sanno quello che fanno cin il computer.
La ragione è semplice: il codice di oltre dieci anni fa non è più in grado di dare le garanzie necessarie. È necessario svilupparsi per patchare vulnerabilità e aumentare la sicurezza, per migliorare la scalabilità, e anche per supportare tipi di transazione molto più complessi. In origine, infatti, la blockchain di Bitcoin serviva come digital cash. Oggi, invece, sappiamo come i pagamenti siano solo una delle molte possibilità offerte da questa tecnologia.
Il modo per ottenere questi risultati è tramite una soft fork. Una soft fork è una modifica relativamente piccola al codice, tale per cui i vecchi blocchi riconoscono quelli minati dopo la modifica (cosiddetta backwards-compatibility in inglese).
Le soft fork non vanno invece confuse con le hard fork, come nel caso di Bitcoin BCH e BSV. In questo caso, i cambiamenti sono molto profondi e portano alla clonazione della vecchia blockchain. Spesso queste fork avvengono per differenze ideologiche incolmabili, e sono risultato di una divisione della community (o di alcuni elementi molto conosciuti della community).
Una soft fork è a tutti gli effetti un aggiornamento, che viene generalmente considerato come positivo dai miner: infatti, ciascuno è sempre libero di decidere cosa adottare come standard. Chiunque può proporre una soft fork, ma la community deciderà di adottare solo quelle che sono particolarmente interessanti.
Taproot e Segwit sono soft fork di Bitcoin
A questo punto siamo pronti per parlare di Taproot e Segwit. Si tratta, infatti, di due soft fork di Bitcoin proposte rispettivamente nel 2021 e nel 2017. Entrambe nascono con lo scopo di migliorare Bitcoin core, ovvero la versione di Bitcoin creata da Satoshi. Come detto, modifiche rese necessarie dai cambiamenti tecnologici, oltre che dall’aumento dell’interesse verso Bitcoin. Alla sua creazione, era difficile immaginare che sarebbe diventato qualcosa di più che un giochino per nerd.
Cos’è Bitcoin Segwit
Bitcoin Segwit è la soft fork di Bitcoin proposta nel 2017. Il suo nome esteso è segregated witness.
Bitcoin Segwit cerca di risolvere fondamentalmente due problemi: la malleabilità delle transazioni, e la congestione della rete. La modifica di base è abbastanza semplice. Le transazioni vengono divise in due: una parte contiene i dati della transazione, l’altra la/le firme (witness).
Cos’è la malleabilità? È quella proprietà (indesiderabile) di un algoritmo crittografico per cui, senza conoscere la chiave, un attore può teoricamente modificare il messaggio. Dato che le transazioni con Bitcoin sono criptate, questo permetterebbe -ad esempio- a un hacker di modificare il wallet ricevente, o l’importo.
Cos’è la congestione della rete? È quel problema per cui troppi utenti vogliono usare contemporaneamente Bitcoin. Questo porta a lunghe attese e costi di rete molto elevati.
Segwit risolve la malleabilità e riduce la congestione della rete. Separare i dati della transazione dalle firme, infatti, permette (1) di nascondere la parte più attaccabile da parte di un attore malevolo; e (2) di ridurre la memoria occupata nei blocchi. Questa soluzione alleggerisce quindi il carico -offrendo una possibilità molto più elegante rispetto al bovino aumento della dimensione dei blocchi, scelto da BCH e soprattutto da BSV.
Un ulteriore vantaggio di Segwit è che, eliminando il problema della malleabilità, introduce la possibilità di utilizzare Lightning Network -il Layer 2 di Bitcoin che permette di portare una parte delle transazioni off-chain, offrendo costi di transazione de facto nulli.
Cos’è Bitcoin Taproot
Bitcoin Taproot viene introdotto nel 2021, nel momento di massimo interesse (e prezzo) di Bitcoin. In termini molto semplici modifica l’algoritmo di criptazione, ora Schnorr anziché ECDSA, offre maggiore possibile privacy, e facilita operazioni più complesse (multisig).
Il primo punto, ovvero il passaggio da Schnorr a ECDSA, è dibattuto. Ho esposto l’idea di alcuni di come Taproot sia meno sicuro contro brute-force attacks -tutto teorico, dato che dovremmo essere a un decennio di distanza almeno dalla rottura della crittografia attuale.
Il vantaggio principale di Schnorr, però, è che permette maggiore flessibilità con transazioni più complesse. Quelle multisignature -ovvero che richiedono la firma di più di un utente per essere effettuate- sono l’esempio più lampante. Oltre a questo c’è anche tutto il mondo degli smart contracts che ne beneficia -per quanto Bitcoin rimanga scomoda rispetto ad Ethereum o altre blockchain costruite per quello scopo.
C’è inoltre un’importante aggiunta: la possibilità teorica di mixin, ovvero di nascondere la propria transazione tra altre.
È necessario ricordare che lo zoccolo duro dei bitcoiners sono preoccupato (ossessionati?) con la loro privacy. Questa è una delle concause che hanno portato al successo di Monero. Questa blockchain porta infatti al totale cammuffamento delle transazioni (se usata correttamente).
Un meccanismo simile è reso teoricamente possibile da Taproot, rendendo anche le transazioni multisig indistinguibili da quelle “normali”. Ovviamente ciò richiede un gran numero di utilizzatori -e, altrettanto ovviamente, ha limiti ovvi nel fatto che non sappiamo come la tecnologia evolverà. Quello che è sicuro oggi può essere rotto domani.
Taproot e Segwit: passato, presente. Futuro.
Taproot e Segwit sono i due più recenti prodotti dell’evoluzione di Bitcoin. Entrambi, a modo loro, migliorano (attualizzano) il codice di Bitcoin. Sono due delle infinite proposte che vengono continuamente fatte, con lo scopo di mantenere Bitcoin aggiornato e bello performante.
Questo link mostra quanti nodi hanno adottato Taproot -siamo oltre l’80%, circa un anno dopo il rilascio dell’aggiornamento.
Paradossalmente, nel momento in cui scrivo, Ledger dà come soluzione di default Segwit e non Taproot.
È questo un lampante esempio di quel problema chicken and egg, dell’uovo e della gallina, per rubare l’espressione utilizzata in questo bell’articolo per chi volesse approfondire ulteriormente. Finché una tecnologia non è supportata gli utenti non hanno incentivo a usarla; e finché gli utenti non la usano, non c’è incentivo a svilupparla.
Questo chicken and egg problem si concreta in alcuni piccoli problemi. Ad esempio, c’è stato un annetto fa un problema per cui Binance ha erroneamente creato una transazione sbagliata, burnando i fondi dell’utente che aveva fatto un prelievo con il suo indirizzo Taproot (che ai tempi non era supportato).
L’utente ha riavuto i suoi fondi indietro e Binance ha risolto il problema sul suo sito -ma questa è la dimostrazione del perché gli update sono pochi e realmente significativi: chi lascia la strada vecchia per quella nuova è destinato a imbattersi in un sacco di bachi.
Disclaimer: il contenuto dell’articolo è un’opinione, e ha unicamente fini informativi. Non intende fornire consulenzia finanziaria di alcun tipo. Consulta un professionista certificato per ottenere consulenza finanziaria.