Notarization As a Service: scopri Blackbox+!

Taproot: l’evoluzione di Bitcoin

Sommario

Taproot è arrivato. Sicuramente sarai a conoscenza del fatto che Bitcoin, come del resto qualsiasi altro settore digitale, sia una soluzione in continua evoluzione. Sono decine, se non centinaia, gli sviluppatori, matematici ed esperti di crittografia al lavoro da ormai un decennio sul codice sorgente della regina delle criptovalute. Negli ultimi anni sono state implementate diverse migliorie nel protocollo, tra le quali SegWit, che ha portato successivamente alla creazione di Lightning Network. Un layer, uno strato superiore ispirato dal modello ad esempio di internet, dove le evoluzioni sono state, per l’appunto, costruite e strati partendo dal protocollo TCP/IP. 

Dopo anni di attesa, finalmente è arrivato! Taproot! L’adozione è iniziata a maggio e i miner avranno tre mesi per integrare questo aggiornamento.

Taproot bitcoin: che cos’è e a cosa serve?

Da anni si parla di Smart Contract – contratti che si autoeseguono, introdotti dal protocollo Ethereum nel mondo Blockchain – e di possibilità di realizzarne anche su Bitcoin. Taproot fa proprio questo: consentirà la creazione di Smart Contract complessi. Non solo: l’obiettivo di Taproot è anche cambiare il modo in cui gli script di Bitcoin operano per migliorarne privacy, scalabilità e sicurezza. Questo e molto altro sarà possibile combinando Taproot con un’altra innovazione in arrivo, strettamente connessa a Taproot: le Schnorr che ho citato in precedenza e la cui integrazione dovrebbe avvenire a Dicembre 2021.

 Chiunque abbia familiarità con la comunità crypto sa che privacy, scalabilità e sicurezza sono le maggiori priorità. Anche se Bitcoin è la criptovaluta più popolare del mondo, tali questioni devono ancora essere affrontate. Taproot mira a fare esattamente questo. Adesso però è arrivato il momento di approfondire l’argomento dando innanzitutto qualche definizione dei protocolli informatici di cui abbiamo parlato fino adesso, anche perché per quanto i nomi possano essere accattivanti e “cool” l’importante è conoscere, anche a grandi linee, di cosa stiamo parlando.

Che cos’è MAST o Merkelized Abstract Syntax Trees

 Come appena detto partiamo da qualche definizione, per esempio sai che cosa si intende per MAST

Sulla blockchain di bitcoin è possibile eseguire degli script creati dagli utenti per spendere bitcoin secondo determinati vincoli. Tuttavia ad oggi gli script sono piuttosto limitati rispetto ai classici smart contract, e questa è la problematica principale, ad oggi, a loro associata. Quando infatti viene creato uno script complesso (con molti vincoli) su Bitcoin occorre che tutti i dati e vincoli dello script vengano inseriti sulla blockchain, sia le parti effettivamente utilizzate (una certa condizione di spesa ad esempio) che tutte quelle inutilizzate, oltre alle relative chiavi pubbliche, address ecc…Tutti questi dati inutilizzati aumentano le dimensioni delle transazioni. Non solo, riducono anche la privacy divulgando pubblicamente più informazioni del necessario. Inoltre, limitano gli smart contract in funzione della loro dimensione piuttosto che dei costi di convalida delle transazioni.

Il protocollo MAST consente la creazione di smart contract complessi sulla blockchain di BTC sfruttando gli Abstract Syntax Tree ed i Merkle Tree. Gli AST consentono di dividere uno script complesso nelle sue singole parti, mentre i Merkle Tree consentono di verificare che le singole parti appartengono ad uno script completo senza dover possedere l’intero codice, che quindi non dovrà essere incluso per intero sui blocchi di bitcoin. Tramite questo approccio, dunque, è possibile creare script complessi ed ottimizzare l’uso della memoria sulla blockchain, dal momento che vengono pubblicati sulla blockchain di bitcoin solo le parti dello script effettivamente utilizzate, tralasciando tutto il resto. Tutto ciò comporta benefici indiretti in materia di privacy per un semplice motivo: vengono inseriti nella blockchain solo i dati essenziali e non quelli superflui.

Che cosa sono le firme di Schnorr o Schnorr signatures

Certamente si potrebbe fare di meglio, ed è qui che entra in gioco Taproot.

Taproot è una particolare implementazione del protocollo MAST che va a braccetto con le Schnorr Signatures. Proprio per questo motivo Taproot per funzionare correttamente necessita di Schnorr. Il concetto di Schnorr Signatures è di fondamentale importanza per capire tutto ciò di cui stiamo trattando, quindi analizziamolo brevemente ed a grandi linee ma in maniera chiara. 

 Le Schnorr Signatures sono uno schema di firme crittografico sviluppato da Claus Schnorr, un matematico e crittografo tedesco. Questo algoritmo è rimasto protetto da un brevetto fino al 2008. 

Tra i diversi vantaggi che introducono, le firme di Schnorr sono note soprattutto per la loro semplicità ed efficienza nel generare firme brevi. Lo schema di firme adottato da Satoshi Nakamoto (il creatore di Bitcoin, per chi non lo sapesse) è l’Elliptic Curve Digital Signature Algorithm (ECDSA). La scelta dell’ECDSA invece dell’algoritmo di Schnorr è dovuta al fatto che il primo era già ampiamente utilizzato, ben conosciuto, sicuro, compatto e soprattutto open-source. Tuttavia, lo sviluppo dello Schnorr Digital Signature Scheme (SDSS) ha dato il via ad una nuova generazione di firme per Bitcoin e altri network blockchain.

Uno dei principali vantaggi delle firme di Schnorr è la capacità di prendere 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. Questo processo è conosciuto come aggregazione delle firme

Schnorr mira quindi ad ottimizzare lo spazio occupato dalle firme nei blocchi. Ciò si ripercuote anche sulla privacy. Per i multi-signatures che coinvolgono diversi partecipanti, è possibile aggregare le chiavi pubbliche e le firme in una sola chiave pubblica (Threshold public Key) e firma (Threshold Signature). Essa è indistinguibile da una classica chiave pubblica. Così diventa impossibile stabilire se la spesa di un determinato bitcoin è stata autorizzata da una sola persona o da più persone. Questa nuova modalità può consentire a più firmatari di unire le proprie firme in una sola. Ne consegue un notevole risparmio di spazio e una maggiore confidenzialità.

E non è finita qui: le Schnorr Signatures possono essere usate in maniera ancor più interessante. E’È possibile infatti “tweakcare” (un neologismo tecnico che potremmo tradurre con modificare, ritoccare…) sia una chiave privata che la rispettiva chiave pubblica. Per esempio, una chiave privata e la relativa chiave pubblica potrebbero essere moltiplicate per due. Pur essendo moltiplicate entrambe per due, continuerebbero a corrispondere. Quindi la chiave privata ritoccata potrebbe venir utilizzata per firmare messaggi in grado di essere verificati dalla chiave pubblica ritoccata nello stesso modo. Ovviamente solo i diretti interessati nell’operazione sarebbero a conoscenza del tweak, facendo dunque risultare la chiave pubblica indifferente dalle altre.

Taproot e la “Cooperative Close”

L’idea alla base di Taproot si basa su una necessità degli script di bitcoin. Qualsiasi script deve infatti includere una particolare condizione che permetta a tutti i partecipanti coinvolti in un contratto di esser d’accordo in maniera comune sull’esito dello script e spendere dunque i propri fondi: la “cooperative close“.

La Cooperative Close

La “cooperative close” sfrutta Schnorr per apparire come una comune transazione fra due parti. Tutte le chiavi pubbliche dei partecipanti allo script vengono sommate, creando la Threshold Public Key. La stessa cosa avviene per le firme, che creano la Threshold Signature, in grado di far effettivamente spendere i propri bitcoin ai partecipanti dello script chiudendo il contratto. 

A questo punto, entrano in gioco tutte le altre condizioni in cui i bitcoin possono venir spesi, ovvero le “non cooperative close”. Tutte queste condizioni/vincoli alternative alla “cooperative close” sono presenti nello script. L’hash di questo script viene dunque utilizzato per eseguire l’operazione di modifica (tweak) delle chiavi di cui vi ho parlato in precedenza. Tuttavia, invece che moltiplicare la chiave pubblica per un numero casuale, la Threshold Public Key viene moltiplicata per l’hash dello script. Ovviamente a tale chiave pubblica corrisponde la relativa Threshold Signature ritoccata nello stesso modo. Quindi, se i bitcoin dello script vengono spesi in modo cooperativo, tutti i partecipanti uniranno le loro firme per ottenere la Threshold Signature da ritoccare con lo script e questo consentirà loro di spendere i fondi. All’esterno (dunque on-chain) questa operazione apparirà come una transazione regolare con una chiave pubblica e firma classica.

Nel caso invece in cui venisse eseguita una “non cooperative close”, dunque una delle possibili altre condizioni nello script, verrebbe mostrata la Threshold Public Key Tweakata. In questo caso, vengono rivelate sia la chiave pubblica originale di Threshold che lo script con lo scopo di dimostrare che la Threshold Public Key Tweakata è stata ottenuta appunto con tale specifico script. Il meccanismo del tweak dunque, serve a dimostrare al mondo che i fondi dello script possono venir spesi se le condizioni  – specificate all’interno dello script stesso – vengono soddisfatte. 

Applicando tutti questi concetti a MAST, invece che utilizzare gli hash degli script per ritoccare le Threshold Public Key, è possibile utilizzare la radice dell’albero di Merkle che include tutte le diverse condizioni in cui i fondi possono essere spesi. In questo modo quindi, per spendere i fondi deve essere rivelata solo la condizione soddisfatta, migliorando la privacy ed ottimizzando l’uso delle risorse on-chain. Ed è questo il potenziale di Taproot: combina la flessibilità di MAST per gli script con la privacy di Schnorr.

I vantaggi di Taproot

Taproot apporterà quindi, non appena verrà implementato, importanti miglioramenti alla privacy di Bitcoin come già ampiamente spiegato. Combinato con le firme di Schnorr, Taproot potrebbe anche incrementare l’efficienza nell’esecuzione di transazioni. Ma esistono altri potenziali futuri benefici? 

Certo che sì, tra i quali:

  • Quantità di dati ridotta da trasferire e archiviare nella blockchain. La riduzione della domanda di spazio di archiviazione all’interno dei blocchi dovrebbe migliorare inoltre la scalabilità della rete;
  • Più transazioni per blocco (e quindi un tasso TPS più alto) e riduzione dei tempi di conferma delle transazioni. Tutto ciò renderà la criptovaluta più fungibile e spendibile consentendo una maggiore adozione del sistema Bitcoin;
  • Costi di transazione notevolmente ridotti.

Un altro vantaggio di Taproot è il fatto che le firme non saranno più malleabili, un noto rischio di sicurezza nel network di Bitcoin. In poche parole, la malleabilità delle firme significa che è tecnicamente possibile modificare la firma di una transazione prima che venga confermata.  Così facendo, l’attacco farebbe sembrare che la transazione non è mai avvenuta. Questo lascia Bitcoin vulnerabile al famoso problema della doppia spesa, che potrebbe rovinare l’integrità del registro distribuito. Tutti questi vantaggi saranno disponibili per gli utenti Bitcoin una volta che la community avrà accettato ed eseguito il soft fork necessario per aggiornare la rete. C’è molta aspettativa per questa nuova funzionalità e molti sperano solo che il Bitcoin Core applichi tutte le modifiche necessarie per fare questo passo a favore di Bitcoin e della sua evoluzione come ecosistema.

Taproot, in sintesi

Per concludere possiamo quindi dire che Taproot è un aggiornamento al sistema Bitcoin molto atteso e ampiamente sostenuto, che oltre a portare miglioramenti notevoli in termini di privacy, scalabilità, sicurezza, potrebbe generare un maggiore interesse nei confronti del Lightning Network e incoraggiare le soluzioni multi firma come standard del settore. 

Indipendentemente dal proprio coinvolgimento nella comunità di Bitcoin, i benefici apportati dal miglioramento di privacy, efficienza e sicurezza influenzeranno probabilmente per tutti la user experience in termini di cryptovalute.

SCOPRI NOTARIFY3

La piattaforma blockchain che ti permette di firmare, certificare legalmente e rendere immutabili i tuoi documenti.

L'articolo era interessante? Condividilo sui tuoi canali social