Bitcoin è soprattutto una tecnologia, e come tutte le tecnologie, anche il protocollo Bitcoin cerca di evolvere, innovare e migliorare. Essendo una rete realmente decentralizzata, il suo processo di aggiornamento è davvero molto complesso da apportare.
Ogni aggiornamento deve seguire una metodologia ben precisa. Le proposte di miglioramento di una rete decentralizzata come quella di Bitcoin hanno bisogno di molto tempo per essere discusse, revisionate ed approvate.

La proposta Taproot fu presentata per la prima volta nel 2018, da Gregory Maxwell, sviluppatore di Bitcoin Core. Da anni, gli sviluppatori Bitcoin studiano come implementare questo Soft Fork. Ad ottobre 2020, il codice Taproot è stato integrato nella libreria di Bitcoin Core. Taproot è il più grande aggiornamento del protocollo Bitcoin dal 2017, dopo il Soft Fork SegWit. È stato attivato al blocco 709632, minato correttamente alle ore 5:15 UTC del 14 novembre. 

Il Soft Fork Taproot comprende i seguenti BIP (Bitcoin Improvement Proposal): 340, 341 e 342. 
Questo aggiornamento mira a migliorare l’efficienza delle transazioni, la privacy del network e l’abilità di supportare Smart Contract.

Ora, proviamo a capire cosa cambia realmente sul protocollo Bitcoin.

BIP340: Schnorr Signatures

Il BIP 340 è la proposta dell’implementazione sul protocollo Bitcoin delle Firme di Schnorr. Le Firme di Schnorr sono un meccanismo di firma crittografica ideato da Claus Schnorr. Queste firme sono migliori rispetto ad ECDSA (Elliptic Curve Digital Signature Algorithm), ovvero quelle utilizzate fino ad oggi nel protocollo Bitcoin.  

Le Firme di Schnorr sono più leggere di circa il 12% rispetto ad ECDSA. Questo comporta sia un risparmio di fee per l’utente, sia meno spazio da occupare sulla blockchain. Inoltre, le Firme di Schnorr supportano nativamente le transazioni MultiSignature, al contrario di ECDSA. Infine, con le Firme di Schnorr, è possibile implementare il protocollo MuSig2. I vantaggi principali di questa implementazione saranno per i wallet MultiSig e per transazioni di chiusure di canali Lightning Network.

Il principale vantaggio delle Firme di Schnorr è la capacità di accorpare diverse chiavi all’interno di una transazione Bitcoin complessa e produrre una singola firma unica. Questo significa che le firme delle diverse parti coinvolte nella transazione possono essere “aggregate” in una singola firma di Schnorr. Ad esempio, un wallet MultiSig ha bisogno di più firme per poter effettuare una transazione Bitcoin. Queste firme sono visibili sulla blockchain, perciò tutti i wallet MultiSig, prima di Taproot, erano facilmente identificabili. Grazie alle Firme di Schnorr, una transazione fatta da un wallet MultiSig, risulterà come un’unica firma sulla blockchain, come se fosse una normale transazione.

Questo comporterà un miglioramento della privacy, ma anche una riduzione della dimensione della transazione.  Un altro vantaggio delle Firme di Schnorr è l’aumento della sicurezza del protocollo Bitcoin, grazie al fatto che le firme non saranno più malleabili.

BIP341: Taproot

Taproot permette di ottimizzare gli script di Bitcoin, aumentandone funzionalità, flessibilità e privacy. Con Taproot, viene implementato MAST (Merkelized Abstract Syntax Tree). 

MAST è il punto di partenza di questa proposta di miglioramento, che insieme alle Firme di Schnorr intende migliorare la privacy delle transazioni.
Sostanzialmente, le transazioni Bitcoin funzionano bloccando gli UTXO contenenti bitcoin all’interno di script, cioè condizioni di spesa. L’insieme degli script e il modo in cui sono concatenati è chiamato MAST. Si tratta di soluzioni per bloccare temporaneamente l’esecuzione di transazioni imponendo delle condizioni che ne consentono l’esecuzione solamente una volta soddisfatte.

Quando le transazioni vengono elaborate, MAST nasconde tutte le condizioni tranne quelle che vengono soddisfatte, mentre P2SH (Pay to Script Hash) consente ad altri utenti di vedere le condizioni imposte.
In questo modo, MAST permetterà commissioni più basse, una migliore privacy ed una maggiore fungibilità dei bitcoin.

Inoltre, Taproot consente di nascondere completamente l’esecuzione di uno script Bitcoin ed altre funzionalità più complesse. L’obiettivo di Taproot è offuscare completamente il tipo di condizioni e di pagamento.

Taproot, infatti, introduce un nuovo tipo di script, chiamato P2TR (Pay to Taproot): all’interno di questo script potrebbero esserci moltissime condizioni e transazioni, ma sulla blockchain sarà sempre visibile un pagamento verso una chiave pubblica, cioè un P2PKH (Pay to Public Key Hash).

Grazie a questa miglioria, Taproot apre la strada a transazioni di chiusura di canali Lightning Network indistinguibili dalle altre transazioni. 

Infine, con Taproot è stato creato un nuovo tipo di indirizzi che, anziché iniziare con bc1q come gli indirizzi bech32, iniziano con i caratteri bc1p.

BIP342: Tapscript

Tapscript è il linguaggio di scripting utilizzato negli script Taproot. 

Con questa modifica, è stato deciso di rimuovere il limite di 10000 byte di dimensione degli smart contract. Questo permetterà una maggiore flessibilità agli sviluppatori su Bitcoin. 

Infine, verranno aggiunti dei nuovi Opcode, ovvero le istruzioni utilizzate in Bitcoin. 
Ad esempio, gli operatori OP_CHECKMULTISIG e OP_CHECKMULTISIGVERIFY vengono sostituiti dall’operatore OP_CHECKSIGADD.

Conclusione

Taproot è un aggiornamento molto importante per il protocollo Bitcoin e per tutta la community. Questo Soft Fork aprirà a nuovi orizzonti per quanto riguarda Lightning Network e gli Smart Contract su Bitcoin. 
Inoltre, questo Soft Fork è solo il primo passo per migliorare notevolmente la privacy su Bitcoin.
La vera rivoluzione in termini di privacy avverrà quando sarà implementato il soft Fork che comprenderà le Cross-Input Signature Aggregation, ovvero la possibilità di aggregare le firme tra input diversi.