Uno sguardo all’innovazione nello stack tecnologico di Bitcoin

Uno sguardo all’innovazione nello stack tecnologico di Bitcoin

Questo post è una traduzione in italiano dell’articolo di Lucas NuzziA Look at Innovation in Bitcoin’s Technology Stack”.

Bitcoin ha fatto molta strada negli ultimi dieci anni. Rispetto alla prima iterazione del suo software, la qualità e l’affidabilità delle attuali implementazioni sono notevolmente migliorate. Rapidamente e organicamente, Bitcoin è stato in grado di attirare una legione di sviluppatori, i quali hanno dedicato migliaia di ore per migliorare e, a volte, rinnovare, la maggior parte della sua codebase sottostante.
Tuttavia, Bitcoin è sempre lo stesso. Proprio come una costituzione, l’insieme di regole di consenso che definiscono le sue proprietà monetarie, come l’inflazione algoritmica e l’offerta monetaria a codifica fissa (hard-coded), rimane invariato. Di volta in volta, alcune fazioni hanno tentato di cambiare queste proprietà fondamentali, ma finora tutti questi tentativi ostili hanno fallito. Spesso è un processo doloroso, ma che evidenzia e solidifica due delle più grandi virtù di Bitcoin:

  1. Nessuna singola parte può dettare come si evolve Bitcoin
  2. La mancanza di controllo centralizzato protegge le proprietà monetarie di Bitcoin

È interessante notare come queste regole attirino allo stesso modo i cypherpunk e gli investitori istituzionali. Sono le regole che rendono il bitcoin un tipo di denaro senza precedenti. Tuttavia, le stesse rendono lo sviluppo di software su Bitcoin più impegnativo di qualsiasi altra risorsa digitale. In sostanza, la costituzione di Bitcoin assegna agli sviluppatori un kit di strumenti limitato in modo che non possano violare la sua politica monetaria. C’è troppo in gioco per muoversi velocemente e fare danni.

Ciò significa che l’innovazione in Bitcoin richiede creatività, pazienza e, soprattutto, minimizzazione dell’ego. Dopotutto, le regole fondamentali incorporate nella costituzione di Bitcoin alla fine prevalgono sulla tecnologia. Questo è il motivo per cui la Silicon Valley ha avuto difficoltà a comprendere la proposta di valore di Bitcoin; non è solo una tecnologia, uno strumento finanziario o un’applicazione di consumo ma un intero sistema monetario supportato dalla tecnologia. Cambiare la costituzione di Bitcoin richiede un processo quasi-politico che può violare le sue proprietà monetarie, quindi, l’innovazione tecnologica è implementata come moduli.

Come spesso sottolineato, l’approccio modulare di Bitcoin all’innovazione è analogo all’evoluzione della suite di protocolli di Internet, per cui si hanno strati di protocolli diversi specializzati in funzioni specifiche. Le e-mail vengono gestite da SMTP, i file tramite FTP, le pagine Web tramite HTTP, l’indirizzamento dei pacchetti dati tramite IP e il loro routing tramite TCP. Nel corso degli anni, ciascuno di questi protocolli si è evoluto per fornire la piena esperienza che stai vivendo proprio in questo secondo.

Nel suo eccellente post sull’emergente stack della tecnologia Bitcoin, Spencer Bogart sostiene che stiamo assistendo all’inizio della creazione della suite di protocolli Bitcoin. A quanto pare, l’inflessibilità del livello core di Bitcoin ha dato vita a diversi protocolli aggiuntivi specializzati in varie applicazioni, come ad esempio lo standard BOLT di Lightning Network per i canali di pagamento. L’innovazione è sia vibrante che (relativamente) sicura, poiché questo approccio modulare riduce al minimo i rischi monetari sistemici.

Succedono così tante cose nei molti strati dello stack tecnologico di Bitcoin, che può essere incredibilmente difficile tenere traccia delle soluzioni emergenti. Il diagramma seguente è un tentativo di mappare tutte le iniziative relativamente nuove e mostrare un quadro più completo dello stack tecnologico di Bitcoin. Non è esaustivo e non rappresenta alcun sostegno per iniziative specifiche. Tuttavia, è impressionante vedere che l’innovazione viene spinta su tutti i fronti; dalle tecnologie di secondo livello, alle soluzioni emergenti di smart contract:

Fonte: Christian Decker

Layer 2

Di recente si è parlato molto del tasso di adozione di Lightning Network, la tecnologia di livello 2 più importante di Bitcoin. I critici spesso indicano un evidente calo del numero di canali e del BTC totale “bloccato” in Lightning; due metriche spesso utilizzate per valutare l’adozione da parte dell’utente. Sebbene la comunità sia convergente su tali parametri, è importante sottolineare che sono fondamentalmente imperfetti, dato il modo in cui Lightning funziona sotto il cofano.

Una delle virtù più sottovalutate della rete Lightning il suo orientamento alla privacy. Poiché Lightning non si basa sulla convalida globale di tutti i cambiamenti di stato (cioè la propria blockchain), gli utenti possono effettuare transazioni privatamente tramite tecniche aggiuntive e overlay di rete, come Tor. Consci di ciò, possiamo stimare la percentuale di utilizzo privato della rete Lightning analizzando il numero di transazioni di apertura del canale on-chain e confrontandolo con il numero di canali pubblici off-chain. Christian Decker stima che il 41% dei canali Lightning sia privato:

Fonte: Christian Decker

L’attività che si svolge all’interno di questi canali non viene catturata dai popolari explorer di Lightning. Pertanto, un aumento nell’uso privato di Lightning comporta una diminuzione di ciò che può essere misurato pubblicamente, portando gli osservatori a concludere erroneamente che l’adozione sia in calo. Sebbene sia vero che Lightning deve superare sostanziali barriere di usabilità prima di poter godere di un’ampia adozione, dobbiamo smettere di usare metriche fuorvianti per fare affermazioni sullo stato attuale della rete. Come ha sottolineato Decker nel suo discorso all’ultima Lightning Conference di Berlino, anche la stima di cui sopra dei canali privati ​​rispetto a quelli pubblici è errata, poiché l’adozione delle firme di Schnorr renderà le transazioni di apertura del canale indistinguibili dalle transazioni regolari.

Un altro interessante sviluppo recente nel campo della privacy di livello 2 è stata la creazione di WhatSat, un sistema di messaggistica privato on the top of Lightning. Questo progetto è una modifica del deamon di Lightning che consente ai relayer di messaggi privati ​​(i messenger che collegano le entità che comunicano) di essere compensati per i loro servizi tramite micropagamenti. Questa chat decentralizzata, resistente alla censura e allo spam è stata resa possibile dalle innovazioni nello stesso LND, come i recenti miglioramenti del lightning-onion, il protocollo di routing onion di Lightning.

La crescita di Lapps, o applicazioni Lightning, dimostra l’ampia applicabilità di queste innovazioni quando si tratta di applicazioni consumer, da un VPS cloud computing basato su Lightning a un servizio di hosting di immagini che condivide le entrate pubblicitarie tramite microtransazioni. E questa è solo l’innovazione di livello 2 in Lightning. Più in generale, definiamo il Layer 2 come una suite di applicazioni che utilizzano il livello base di Bitcoin come un tribunale in cui gli eventi esogeni vengono riconciliati e le controversie risolte. In quanto tale, il tema del data anchoring sulla blockchain di Bitcoin è molto più ampio, con aziende come Microsoft pioniere di un sistema ID decentralizzato on top of Bitcoin. Tali iniziative aumentano la domanda di on-chain reconciliation e sono fondamentali per lo sviluppo a lungo termine di un mercato delle commissioni di mining di Bitcoin.

Contratti intelligenti (smart contract)

Esistono anche numerosi progetti che tentano di riportare funzionalità di smart contract avanzate in Bitcoin, in modo sicuro e responsabile. È uno sviluppo significativo, perché a partire dal 2010, molti degli opcode di Bitcoin originali (le operazioni che determinano che cosa Bitcoin sia in grado di computare) sono stati rimossi dal protocollo. Ciò è avvenuto dopo che sono stati svelati una serie di bug terrificanti, che hanno spinto Satoshi stesso a disabilitare alcune delle funzionalità di Script, il linguaggio di programmazione di Bitcoin.

Nel corso degli anni, è diventato chiaro che esistono rischi di sicurezza non banali che accompagnano l’implementazione di smart contract altamente espressivi. La regola pratica comune è che più funzionalità vengono introdotte in una macchina virtuale (il meccanismo di verifica collettiva che elabora gli opcode), più imprevedibili saranno i suoi programmi. Più recentemente, tuttavia, abbiamo visto nuovi approcci all’architettura dei contratti intelligenti in Bitcoin in grado di ridurre al minimo l’imprevedibilità, ma anche di fornire una vasta funzionalità.

L’ideazione di un nuovo approccio agli smart contract di Bitcoin chiamato Merkleized Abstract Syntax Trees (MAST) ha innescato una nuova ondata di tecnologie di supporto che tentano di ottimizzare i trade-off tra sicurezza e funzionalità. Il più importante è Taproot, un’elegante implementazione della struttura MAST che consente a un’intera applicazione di essere espressa come un Merkle Tree, per cui ogni ramo dell’albero rappresenta un risultato di esecuzione diverso. Assieme a Taproot arriverà un linguaggio di programmazione chiamato Tapscript, che può essere utilizzato per esprimere più facilmente le condizioni di spesa associate a ciascun ramo del Merkle Tree.

Un’altra interessante innovazione che è recentemente riemersa, è una nuova architettura per l’implementazione di patti (covenant), o condizioni di spesa, su transazioni Bitcoin. Inizialmente proposti come esperimento mentale da Greg Maxwell nel 2013, i covenant sono un approccio per limitare il modo in cui i balance possono essere spesi, anche quando la loro custodia cambia. Sebbene l’idea esistesse da quasi sette anni, le covenant erano poco pratiche da attuare prima dell’avvento di Taproot. Ora, un nuovo opcode chiamato OP_CHECKTEMPLATEVERIFY (precedentemente noto come OP_SECURETHEBAG) sta sfruttando questa nuova tecnologia per consentire potenzialmente l’implementazione sicura delle covenant in Bitcoin.

A prima vista, le covenant sono incredibilmente utili nel contesto del prestito (e forse dei derivati bitcoin-based) in quanto consentono la creazione di policies come i clawback da collegare a specifici saldi BTC. Ma il loro potenziale impatto sull’usabilità di Bitcoin va ben oltre i prestiti. Le covenant possono consentire l’implementazione di funzionalità come Bitcoin Vaults, che, nel contesto della custodia, forniscono l’equivalente di una seconda chiave privata che consente a una parte che è stata hackerata di “congelare” i fondi rubati. Ci sono così tante altre applicazioni di questa tecnologia, come i canali di pagamento non interattivi (Non-Interactive Payment Channels), le transazioni Congestion Controlled (Congestion Controlled Transactions), CoinJoins, che meriterebbero davvero un post a parte. Per ulteriori informazioni, consulta la bozza BIP di Jeremy Rubin.

È importante notare che le firme di Schnorr sono la primitiva tecnologica che rende possibili tutti questi nuovi approcci agli smart contract. Dopo l’attivazione di Schnorr, possono essere teorizzate anche tecniche più spigolose, come Scriptless Script, che potrebbero consentire agli smart contract di Bitcoin completamente privati e scalabili di essere rappresentati come firme digitali (anziché come opcode). In modo analogo, anche i Discreet Log Contracts ipotizzano di rappresentare il risultato dell’esecuzione di uno smart contract come firma digitale per una migliore privacy e scalabilità. Insieme, questi nuovi approcci potrebbero consentire la creazione di nuove applicazioni per smart contract su Bitcoin, e Schnorr ne è la base.

Mining

Ci sono stati anche alcuni sviluppi interessanti nei protocolli di mining, in particolare quelli utilizzati dai componenti delle mining pool. Anche se la questione della centralizzazione nel mining di Bitcoin è spesso selvaggiamente esagerata, è vero che ci sono strutture di potere trattenute dagli operatori del pool di mining che possono essere ulteriormente decentralizzate. Ad esempio, gli operatori della pool possono decidere quali transazioni verranno inserite nel blocco candidato che tutti i componenti della pool andranno a minare, il che conferisce loro un notevole potere. Nel tempo, alcuni operatori hanno abusato di questo potere censurando le transazioni, estraendo blocchi vuoti e riallocando l’output di hashing su altre reti senza l’autorizzazione dei componenti.

Per fortuna, ci sono tecnologie che stanno tentando di capovolgere quella struttura di potere. Uno dei cambiamenti più sostanziali in arrivo nel mining di Bitcoin è la seconda versione di Stratum, il protocollo più popolare utilizzato dalle mining pool. Stratum V2 è una revisione completa che implementa BetterHash, un protocollo secondario che consente ai componenti della mining pool di decidere la composizione del blocco che estrarranno e non viceversa. Stratum V2 implementa anche diverse ottimizzazioni e consente ai componenti della pool di comunicare e coordinarsi meglio.

Un altro sviluppo interessante nell’industria, che dovrebbe contribuire a una maggiore stabilità, è l’interesse riacceso per l’ hashrate e i derivati ​​di difficoltà. Questi possono essere particolarmente utili per le operazioni di mining che si desiderano proteggere da fluttuazioni di hashrate e riaggiustamenti della difficoltà. Mentre questi derivati ​​devono ancora essere prodotti, tutto ciò segna un’interessante evoluzione nell’industrializzazione del mining di Bitcoin.

Privacy

Dopo il nostro report sulle firme di Schnorr, alcuni sostenitori delle privacy-coin si sono sentiti oltraggiati dall’ipotesi che un livello di privacy sufficiente possa essere ottenuta in Bitcoin in modo facoltativo, a un certo punto. Sebbene questo suggerimento possa contestare le tesi sulla proposta di valore a lungo termine dei privacy asset, ci sono una serie di protocolli emergenti che possono portare a una migliore privacy in Bitcoin. Nonostante sia probabile che la privacy in Bitcoin continuerà a essere più un’arte che una scienza, ci sono state interessanti innovazioni su questo fronte che meritano di essere messe in evidenza.

Prima di approfondire specifiche innovazioni sulla privacy, è importante evidenziare che il principale ostacolo alle transazioni private tra asset digitali è il fatto che la maggior parte delle soluzioni sono half-baked. I privacy asset che si concentrano sulla privacy del transaction-graph (grafico delle transazioni) spesso trascurano la privacy a livello di rete e viceversa. Entrambi i vettori soffrono di una mancanza di maturità e utilizzo, il che rende più facile la de-anonimizzazione delle transazioni tramite analisi di tracciabilità statistica sia a livello di rete P2P che a livello di blockchain.

Fonte: Christian Decker

Per fortuna, ci sono diversi progetti che spingono i confini su entrambi i fronti.

Quando si tratta della privacy dei transaction-graph, soluzioni come P2EP e CheckTemplateVerify sono interessanti perché la privacy diventa un sottoprodotto dell’efficienza. Man mano che ci si approccia a CoinJoin, queste soluzioni possono aumentare l’adozione di transazioni private da parte di utenti motivati ​​esclusivamente da commissioni di transazione inferiori. Sebbene le garanzie sulla privacy siano ancora non ottimali sotto un modello CoinJoin, gli importi inviati non schermati possono comunque essere utili, poiché preservano l’auditability dell’offerta e del circolante di Bitcoin.

Se commissioni di transazione inferiori diventano una motivazione e portano ad un aumento del set di anonimato di Bitcoin (la percentuale di UTXO che sono output CoinJoin), la disanonimizzazione tramite analisi di clustering diventerà ancora più soggettiva di quanto non sia già. Alcune società di analisi blockchain sono state in grado di indurre le forze dell’ordine a credere che determinati UTXO appartenessero a specifici utenti, ma il modello sottostante è già estremamente sfumato e fragile. Se la maggior parte degli UTXO diventasse output CoinJoin, ciò potrebbe spezzare gli esistenti approcci al clustering.

Prima che ciò possa accadere, c’è un’enorme quantità di lavoro che deve essere fatto sul fronte dell’usabilità in modo che tutti gli utenti Bitcoin, esperti di tecnologia o meno, abbiano uguale accesso ai meccanismi di privacy. Oltre a P2EP e CheckTemplateVerify, un recente sviluppo nell’usabilità è stata la proposta di SNICKER ( Simple Non-Interactive CoinJoin with Keys for Encryption Reused), un nuovo modo di generare CoinJoin con peer non attendibili. SNICKER combina diverse tecnologie per garantire agli utenti l’accesso alle transazioni CoinJoin senza doversi fidare o interagire con i propri peer.

Si notano progressi anche nei protocolli che mirano a migliorare la privacy e l’efficienza delle comunicazioni P2P. Nel corso del 2019, il protocollo di rete Dandelion per la tutela della privacy è stato testato con successo su più cryptonetwork. Anche se la privacy nella propagazione delle transazioni non è un proiettile d’argento quando si tratta dell’intero spettro della comunicazione P2P, protocolli come Dandelion possono ancora aumentare significativamente la privacy degli utenti nascondendo l’indirizzo IP di origine di un nodo che trasmette una transazione.

Uno sviluppo finale nello stack di rete di Bitcoin che merita di essere messo in evidenza è un nuovo protocollo di inoltro delle transazioni chiamato Erlay. Sebbene sia ancora in una fase di sviluppo molto precoce, Erlay è un’innovazione importante perché può ridurre considerevolmente i requisiti di larghezza di banda per l’esecuzione di un nodo completo Bitcoin. Se implementati, i miglioramenti dell’efficienza apportati da Erlay possono consentire agli utenti di partecipare al relay di transazione, che richiede molta larghezza di banda, e convalidare continuamente la catena, specialmente nei paesi in cui i provider di servizi Internet impongono limiti alla larghezza di banda.

La punta dell’iceberg

È incredibilmente difficile tenere traccia di tutte le innovazioni in corso in Bitcoin e questo post è solo un’occhiata a ciò che avviene in superficie. Questo ci porta alla chiave di volta di questo post: Bitcoin, nella sua totalità, è una suite di protocolli in continua evoluzione. L’approccio modulare all’innovazione qui descritto è importante, in quanto svolge un ruolo chiave nel minimizzare il politicismo nell’evoluzione di Bitcoin e protegge le sue proprietà monetarie fondamentali. Ricorda questo articolo la prossima volta che qualcuno afferma che Bitcoin è una tecnologia statica.

Connettiti con DAR

Se desideri saperne di più su DAR, clicca qui per contattarci. Per la nostra newsletter giornaliera gratuita piena zeppa di notizie e informazioni crittografiche di altissima qualità, iscriviti qui.

Share this post

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *