Home
  1. Bitcoin e...
  2. Guide Tecnologia Blockchain
  3. Bitcoin. Segwit e Segwit2x: il 'fattore politico'. Intervista all'esperto

Bitcoin. Segwit e Segwit2x: il 'fattore politico'. Intervista all'esperto

L'attivazione di Segwit e Segwit2x nella rete Bitcoin solo un fattore di potere e 'politica'? Le spiegazioni nell'intervista con lo scienziato ed esperto Emanuele L.

   

Foto: pixabay.com.

La "telenovela" riguardo il futuro di Bitcoin continua ed entra sempre più nel vivo. A tenere banco Segwit e Segwit2x, ma non solo. In articoli precedenti, disseminati nell'intervista come approfondimenti, ho presentato lo svolgersi degli eventi e delle proposte da parte delle varie "fazioni" in campo. In questo articolo riporto l'intervista al fisico italiano Emanuele L., profondo conoscitore di tecnologia blockchain e Bitcoin, lavora presso l'E.S.S. ("European Spallation Source") ente di ricerca europeo.

Il menu sotto guida tra le domande.

1. Cosa va migliorato in Bitcoin?4. Quale la proposta più valida?
2. Cosa potrebbe accadere l'1 agosto al Bitcoin?
3. Segwit2x un altro rischio di divisione per il Bitcoin?
Segwit, Segwit2x, BIP148. Tutti propongono di potenziare e migliorare Bitcoin. Ma cosa va migliorato in Bitcoin?

Il problema.
Quando io mando un Bitcoin a un'altra persona, effettuo una transazione. Tale transazione va a finire in una sala d'attesa chiamata mempool, dove rimane fino al momento in cui non viene presa e inserita in un blocco. I blocchi sono creati da persone che chiamiamo miners, i quali, attraverso un complicato sistema matematico, producono lo spazio necessario a inglobare le transazioni in attesa in un blocco che poi attaccano ad una catena di blocchi. Questa catena è la famosa blockchain, dove sono scritte tutte le operazioni fatte su Bitcoin dall'inizio dei tempi ad oggi. Il problema che oggi lo spazio disponibile dentro ogni blocco finito è limitato a 1 MB. Quante transazioni ci stanno in un blocco? Ogni transazione occupa qualche centinaio di Byte e quindi in un blocco ci stanno circa 1.800 transazioni. Se nella sala d'attesa (mempool) ce ne sono più di 1.800, che succede? La stessa cosa che succede nella sala d'attesa di un medico troppo pieno, ti dice di tornare il giorno dopo. I miner ti dicono di aspettare il prossimo blocco che sarà fra 10 minuti, ma se proprio hai fretta puoi pagarli un po' di più e ti danno la precedenza. Quindi il limite di 1MB della dimensione dei blocchi unito alle moltissime (centinaia di migliaia) di transazioni in attesa sta creando una rete lenta (si devono aspettare diversi blocchi per avere la transazione inserita nella blockchain) e costosa (si pagano tariffe sempre più alte ai miners se si vuole avere la precedenza).

La soluzione dell'hard fork.
La soluzione più semplice che viene in mente, ovviamente, aumentiamo lo spazio. Anziché usare 1 MB possiamo usarne 2 o 10 o 100, perché no? Questa soluzione ha l'evidente vantaggio d'essere semplice teoricamente ma crea 2 problemi da considerare.

Il primo problema riguarda l'accordo fra le persone.
Ammettiamo che per qualche motivo non tutti i miner decidano di creare blocchi più grandi. Alcuni decidono di raddoppiare lo spazio e andare a 2 mega a blocco mentre altri decidono di stare a 1 mega. Si può avere una situazione simile? No. Bitcoin è un sistema dove le regole di funzionamento devono essere condivise da tutta la rete, per evitare che qualcuno possa farsi le proprie regole e creare problemi. Quindi se un miner fa i blocchi da 1 mega e l'altro da 2 mega, non potranno agganciare questi blocchi alla stessa catena perché seguono regole diverse riguardo alla dimensione dei blocchi. Di fatto quello che succede in un caso simile è che la catena, oggi unica e composta da soli blocchi da 1 mega, si biforcherà in due catene: una che prosegue con i blocchi da 1 mega e l'altra con i blocchi da 2 mega. Ed i nostri Bitcoin dove stanno? Tutti i Bitcoin creati prima della biforcazione sono nella catena che era unica, e quindi sono tutti lì e fanno parte della storia di entrambe le catene nuove, quindi di fatto sarebbero duplicati e spendibili su entrambe le catene. In pratica ci sarebbero due Bitcoin con due regole diverse di funzionamento e questo potrebbe creare confusione nel mercato perché alla fin fine qual dei due Bitcoin deve adottare il negoziante che vuole vendere la pizza e farsi pagare in Bitcoin? Questa biforcazione della rete si chiama hard fork. Quale il modo per cambiare le regole tutti insieme? Se tutti i miners creassero blocchi con le nuove regole, la catena rimarrebbe unica (qui scrivo un'inesattezza ma non approfondisco per non appesantire il discorso). Quindi ci vuole un largo consenso per fare un hard fork, sennò si rischia di fare un bel "casino".

Il secondo problema dell'aumento del blocco:
di quanto lo aumentiamo? Per avere un'idea possiamo dire che il nostro sogno è di avere un Bitcoin che soppianti la VISA. La VISA oggi può sopportare 24mila transazioni al secondo, Bitcoin solo 3. Quindi, per poter avere le stesse transazioni, si dovrebbe aumentare la capienza di 8mila volte, ovvero avere dei blocchi da 8GB. Non subito naturalmente, oggi non abbiamo tutte quelle transazioni in attesa, ma, nel tempo, si dovrebbe fare il conto con quei numeri. Generare un blocco da 8 Gigabyte ogni 10 minuti, significa consumare 1TB al giorno e tanti dicono che questo limiterebbe la possibilità di una persona normale di tenere una copia della blockchain in casa propria, affidando tutto il sistema a poche grosse aziende dotate di tanto spazio, di fatto centralizzando la rete.

- Disegnato da @albertdrosphoto. -

La soluzione di SegWit.
Un altro gruppo di persone dice: non c'è bisogno immediato di aumentare la dimensione del blocco, con anche il rischio di creare due Bitcoin con l'hard fork, possiamo usare lo spazio disponibile nel 1MB in modo più efficiente. Tutta una parte delle transazioni (che chiamiamo witness) non ha motivo di stare dentro al blocco da 1MB, possiamo spostarla fuori in un'area a parte (segregata) e in questo modo potremmo stipare più transazioni nello stesso blocco. Un po' come se le mamme andassero dal medico col bambino ed il medico dicesse: "per favore i genitori aspettino fuori che non c'è abbastanza spazio." Per cui si possono far stare più bambini nello stesso spazio. Siccome si vuole spostare fuori dal blocco (segregare) la parte di transazione chiamata witness, si parla di Segregated Witness o in breve SegWit. In questo modo si evita il problema della separazione della catena creato dall'hard fork poiché la dimensione dei blocchi non cambierebbe, sarebbe solo usata in modo diverso liberando spazio. Quanto spazio? Dovrebbe circa raddoppiare: da 1.800 transazioni a 3.600. In pratica sarà come avere dei blocchi da 2MB. Questo spazio forse basterà per un po' ma non per sempre, come abbiamo visto ci vorrebbero 8GB, non 2 mega per far fronte al futuro (radioso) di Bitcoin. Quindi cosa propongono questi altri? Questo gruppo propone non solo di fare il SegWit, ma, in un futuro prossimo, di attivare una seconda rete di scambio, Lightening Network, che si appoggia a Bitcoin ma che serve per alleggerire la blockchain. Come funzionerà questa rete? Immaginiamo che io ogni giorno vada al supermercato a fare la spesa e voglia pagare in Bitcoin. In teoria ogni giorno dovrei fare una transazione fra me e il supermercato e registrarla in un blocco della blockchain. Tuttavia io potrei anche decidere, siccome vado sempre lì, di accordarmi con il supermercato e dire: senti, ma perché dobbiamo fare una transazione ogni giorno? Facciamo una bella cosa, tu segni quanto io ti devo pagare e alla fine del mese facciamo una sola transazione unica. In questo modo registriamo una transazione anziché 30 e paghiamo il costo d'inserire la transazione in un blocco solo una volta a fine mese e non 30 volte. La rete che si occupa di "segnare" è la Lightening Network. La critica alla soluzione di SegWit e Lightening Network è che comunque lo spazio liberato nei blocchi non è tanto (si va da 1 a 2 mega) e che per non pagare costi alti si tenderà a spostare tutto su Lightening Network, la quale dovrà crescere a dismisura e diventerà probabilmente gestibile solo da poche aziende che creeranno degli hub di scambio fra commercianti e utenti e che registreranno solo ogni tanto le transazioni su Bitcoin a dei costi elevati. Di fatto centralizzando tutta la rete.

La politica.
Con molta probabilità nessuna di queste due soluzioni prese individualmente è sufficiente a risolvere il problema dello spazio in Bitcoin. Probabilmente una combinazione delle due, adottando altre misure in fase di studio, potrebbe risolvere definitivamente quello che viene chiamato problema dello scaling. Tuttavia la questione è passata dall'essere un problema tecnico, tutto sommato simile ai problemi che gli informatici risolvono nelle grosse aziende, ad essere un problema politico di chi deve condurre lo sviluppo di una rete che oggi vale diverse decine di miliardi di dollari. Quindi i sostenitori di una o dell'altra fazione sono passati dalle soluzioni tecniche alla guerra aperta. I primi sono stati i sostenitori dell'hard fork (alcuni dei miners con a capo Bitmain) a proporre un fork di forza utilizzando una nuova versione del software di Bitcoin, detto Bitcoin Unlimited. Questa proposta è naufragata perché il codice di Bitcoin Unlimited non si è dimostrato sufficientemente affidabile e perché i miners non hanno voluto seguire questa corrente separatista. Poi è stata la volta degli sviluppatori di Bitcoin Core, il software su cui oggi gira tutta la rete, a proporre l'attivazione forzosa di SegWit dal basso mediante UASF (User Activated Soft Fork). Quello che dicono loro è di cominciare ad invalidare i blocchi di quei miners che non vogliono attivare SegWit, rigettandoli come se non esistessero. Questo meccanismo presenta rischi simili a quelli di un fork (ovvero separare la rete) perché i miners discordi a SegWit, molto probabilmente, deciderebbero di proseguire per la loro strada separandosi dalla rete SegWit.

 

L'1 agosto si attiverà l'UASF (BIP148). Bitmain, società produttrice di ASIC che aderisce all'accordo di New York, nel comunicato del 19 giugno 2017 ha presentato un piano di emergenza, un UAHF (User Activated Hard Fork) che contrasterà BIP148. Cosa potrebbe accadere l'1 agosto al Bitcoin? (Fonte: https://blog.bitmain.com/en/uahf-un-piano-di-emergenza-contro-luasf-bip148/)

In realtà la situazione è più complicata di così. Prima di tutto c'è da dire che i miners e diversi altri rappresentanti di exchanges si sono incontrati a New York a maggio ed hanno deciso di sottoscrivere una soluzione di compromesso che si chiama SegWit2x. Tale soluzione prevede due passaggi: il primo l'attivazione di SegWit, il secondo il raddoppio dello spazio nei blocchi. Tale soluzione scontenta molti dei sostenitori delle due fazioni (come ogni compromesso) ma ha raccolto un buon consenso almeno fra i miners. A partire dal 21 luglio chi ha aderito a SegWit2x comincerà a segnalare che desidera attivare SegWit (la prima parte dell'aggiornamento). Se tale segnalazione raggiungerà l'80% dei miners, SegWit verrà di fatto attivato nelle settimane successive. Qualora questa fase di SegWit2x non dovesse funzionare per defezione dei miners, il primo agosto partirà l'operazione UASF. In pratica i nodi che aderiscono cominceranno a considerare invalidi quei blocchi che non segnalano per l'attivazione di SegWit. Ad oggi non sappiamo quanti e quali siano questi nodi. Se sono nodi "casalinghi", non hanno un grande peso sulla rete. Se i nodi dovessero essere quelli degli exchanges o di alcuni miners, l'impatto potrebbe essere notevole e forzare all'attivazione di SegWit. Per tutta risposta alcuni miners, fra cui Bitmain, hanno detto che se la prima parte di SegWit2x dovesse fallire, non attiveranno SegWit forzati da UASF ma si separeranno dalla rete iniziando a creare blocchi più grandi per i fatti loro, di fatto facendo un hard fork. In questo scenario si verranno a creare due reti: una con SegWit ed una con i blocchi più grandi.

- Il rischio di avere più Bitcoin. -

 

Un altro tassello dell'intricata contesa è Segwit2x. Il 18 novembre, al blocco 494.784 circa, dovrebbe attivarsi un hard fork aumentando la dimensione del blocco a 2MB. Quello sarà un altro rischio di divisione per il Bitcoin? (Fonte: https://medium.com/@jimmysong/segwit2x-what-you-need-to-know-about-the-2mb-hard-fork-27749e1544ce)

SegWit2x sembra ben avviato ad attivare SegWit a breve. Sulla seconda parte, ovvero l'aumento del blocco, ci sono delle incertezze. Le incertezze sono quelle tipiche del fork, necessario per aumentare la dimensione del blocco, ovvero che non tutti si sposteranno sulla nuova catena con i blocchi più grandi, ma alcuni vorranno rimanere sulla catena precedente al fork. C'è da dire che se avverrà questa separazione il grosso dei miners sarà probabilmente sulla catena con i blocchi più grandi, l'altra catena sarà molto più lenta a generare blocchi almeno fino a quando la difficoltà non si riaggiusterà. A conti fatti, se sulla catena 2x ci sarà il 90% dei miners, e sulla catena originaria il 10% della potenza di calcolo, quest'ultima catena impiegherà molti mesi per tornare a minare i blocchi di uno ogni 10 minuti. Per mesi avrà blocchi minati più lenti di uno ogni ora e mezza, dovendo fare i conti con una rete praticamente inutilizzabile. Questo sarà un incentivo per i pochi miners su quella catena per abbandonarla e passare alla catena 2x.

Per prevenire questo, gli sviluppatori di Bitcoin Core, fortemente contrari a questo fork, hanno promesso di "resettare" la difficoltà della catena minoritaria, di fatto permettendo a nuovi miners, dotati di un semplice PC, di poter minare sulla catena vecchia per portarla avanti. Il cambio dell'algoritmo di mining (detto Proof of Work o PoW) è la peggiore dichiarazione di guerra che si possa fare ai miners. Infatti cambiare la PoW significa invalidare la possibilità di minare con gli ASIC attuali, di fatto invalidando il lavoro di anni e gli investimenti che le aziende di mining hanno fatto per costruire quei dispositivi. Una mossa di questo tipo creerebbe una frattura netta nella comunità di Bitcoin, con la conseguenza di non attirare più grossi investimenti nel mining che diventerebbe una pratica inaffidabile.

 

Quale la proposta più valida secondo lei?

Questa domanda è complessa. Da un punto di vista tecnico nessuna di queste soluzioni mi sembra soddisfacente. Le novità apportate da SegWit, a mio avviso, sono necessarie per rendere Bitcoin uno strumento in grado di affrontare i pagamenti quotidiani di ognuno di noi. Tuttavia SegWit insieme a Lightening Network, non credo siano sufficienti a trasformare Bitcoin in una rete che possa affrontare i volumi di un circuito bancario o di carte di credito. Quindi anche un intervento sui blocchi andrebbe fatto ma non un aumento della dimensione arbitrario. La dimensione dei blocchi dovrebbe essere legata all'affollamento della mempool con un meccanismo in grado di aggiustarla all'occorrenza. Tuttavia nel clima avvelenato di questo dibattito, come detto molto più politico che tecnico, ritengo che SegWit2x sia un buon compromesso perché attiva SegWit e aumenta lo spazio dei blocchi dando respiro alle transazioni nel tempo che ci vorrà ad attivare Lightening Network (ancora diversi mesi se non un anno). La cosa migliore comunque sarebbe evitare il conflitto e seguire su una soluzione dove tutte le parti in gioco, utenti, miners, exchanges, wallet, siano d'accordo.

Bisogna comunque tenere conto di un fattore che Satoshi Nakamoto aveva studiato approfonditamente: il funzionamento di Bitcoin non è legato ad un'ideologia o ad una bellezza estetica del software impiegato, ma semplicemente dal bilanciamento degli interessi economici di tutti i partner che prendono parte al progetto. La soluzione che si affermerà sarà quella che massimizzerà il profitto di tutti perché in tutti gli altri scenari le persone che non trarranno un profitto si muoveranno verso la soluzione più profittevole. Questo meccanismo la grandezza di Bitcoin che sfrutta l'incentivo economico ed il suo bilanciamento fra le parti, per mantenere la rete efficiente e funzionante.

Grazie Emanuele.


Molte persone non conoscono ancora la Crypto Economy. Condividi sui social network con amici e amiche usando la social bar. Contribuisci alla diffusione delle criptovalute.

 

Articoli Recenti

⟩⟩ Modificare i file di Office in Google Chrome    ⟩⟩ Bitcoin Gold è un hard fork? O una ICO andata male?    ⟩⟩ Incendio nella Foresta Boreale visto dallo Spazio    ⟩⟩ Bitcoin Core Segwit2x, la battaglia finale è iniziata    ⟩⟩ I Cento anni dell'Albese calcio: Una storia da raccontare