[ Home ]MeSono vegetariano. Gestisco un ISP. Pratico molto sport. Volo in aliante. Programmo in Ruby. Sono ateo. Supporto Bitcoin Cash.
X: @paolo_aga DisclaimerQuello che scrivo in questo weblog appartiene alla mia sfera personale. Tutte le comunicazioni, i collegamenti e notizie sulle attività professionali non si devono ritenere ufficiali. CategorieArchiviAmministrazione |
Mercoledì, 29 aprile 2020BCH, BTC e BSV - Il punto della situazione![]() Da quando mi sono avvicinato al mondo Bitcoin nel 2011 a oggi, sono accadute moltissime vicende e vorrei raccontarle cercando di riassumerle il più possibile, nonostante l’argomento sia piuttosto ampio. Cominciamo dall’inizio: Bitcoin è un concetto, un protocollo, definito nel documento tecnico (whitepaper) pubblicato nel 2009 da Satoshi Nakamoto. Esistono diverse decine di implementazioni, ma le tre più conosciute e rilevanti sono: Bitcoin (BTC), Bitcoin Cash (BCH) e Bitcoin Satoshi Vision (BSV). Con la parola Bitcoin farò riferimento al concetto definito whitepaper, mentre quando mi riferirò alla moneta userò la sigla che la contraddistingue (BTC, BCH, BSV...). Pillole sul funzionamento. Sostanzialmente si tratta di un database replicato in tante copie (una per ogni nodo della rete), mantenuto consistente dalle proprietà matematiche della crittografia che come sigilli rendono impossibile l'alterazione del contenuto. Questo database viene aggiornato attraverso il collegamento di blocchi di dati costituiti da transazioni valide, ognuno dei quali, per come sono definite le regole del protocollo, viene generato mediamente ogni 10 minuti e accodato al blocco precedente per formare la blockchain. Una transazione consiste in un messaggio che dichiara il cambiamento di proprietà di una quantità di bitcoin stabilita da colui che dispone della chiave crittografica segreta alla quale sono stati assegnati in precedenza. Questa transazione una volta generata e firmata, viene pubblicata e diffusa a tutti i nodi della rete bitcoin che l'accettano se è valida, e cioè se la firma e l'importo sono coerenti con il bilancio contenuto nei blocchi precedenti che costituiscono la blockchain. Nel caso in cui venisse pubblicata una transazione incoerente o invalida, essa verrebbe semplicemente ignorata e scartata. Nel periodo di tempo compreso tra quando una transazione viene generata e pubblicata e quando viene inclusa in un blocco, la transazione si dice non confermata o 0 conferme. Il numero di conferme indica quanti blocchi sono stati aggiunti alla blockchain dal momento della sua inclusione. Maggiore è il numero di conferme, maggiore è la certezza che la transazione sia definitiva, in quanto per poterla falsificare, modificare o annullare, sarebbe necessario ricreare un numero di blocchi pari alla quantità di conferme più uno, mentre il resto del mondo continua ad aggiungere nuovi blocchi, operazione pressoché impossibile da realizzare. Quando una transazione raggiunge almeno 6 conferme essa si ritiene praticamente sicura e con almeno 10 conferme immutabile. Un breve riassunto della storia. BTC è stata la prima implementazione di Bitcoin, comparsa il 3 gennaio 2009. Quando nel 2014 l'adozione cominciò ad aumentare sensibilmente, ci si trovò a dover affrontare il problema della scalabilità. Infatti nei primi mesi di funzionamento, Satoshi Nakamoto, introdusse una regola che stabiliva la dimensione massima di 1 MB per i blocchi che compongono la blockchain. Si trattò di una misura temporanea introdotta per evitare abusi del protocollo quando era ancora in fase sperimentale, e con l'aspettativa di rimuoverlo a seguito dell’aumentare dell’adozione, e cioè quando la quantità di transazioni fossero aumentate al punto di renderlo un limite. Fu ovvio per tutti che la soluzione fosse quella di ampliare o rimuovere quel parametro ma, in un momento ben preciso, un gruppo di persone cambiò radicalmente opinione. Si tratta di un gruppo di sviluppatori (core devs) molti dei quali si aggregarono quando bitcoin era già diventato piuttosto popolare, che avevano una cosa in comune: erano assunti da un'azienda nuova (Blockstream, che chiamerò d’ora in poi BS), finanziata da banche, assicurazioni e istituzioni finanziarie, e coordinati principalmente da due esponenti perniciosi: Adam Back e Gregory Maxwell. La nuova strategia fu basata sul terrorismo mediatico contro il miglioramento del protocollo, con una propaganda finanziata, basata sull'errata concezione per cui togliere il limite di 1 MB per la dimensione dei blocchi sarebbe stato distruttivo, cercando di convincere tutti che il modo giusto per far scalare Bitcoin fosse quello di usare protocolli aggiuntivi sui quali effettuare le transazioni, che a loro volta usassero Bitcoin solo per "fissare" di tanto in tanto i bilanci (compensazione). Per raggiungere il loro scopo avviarono una politica di conquista e censura: i principali forum usati per le discussioni e la divulgazione di Bitcoin (come bitcointalk e il subreddit r/bitcoin) furono acquisiti e censurati, eliminando ogni possibilità di confronto e permettendo solo discussioni conformi al loro obiettivo. La prova è che tutt'ora su queste piattaforme vengono applicate delle norme talmente restrittive che chiunque in un messaggio dovesse menzionare un punto di vista anche solo differente dal loro, viene bloccato, bandito dalla discussione e il relativo messaggio cancellato. Il tutto è documentabile attraverso una semplice ricerca. Nel frattempo BS e i core dev tentarono di screditare uno ad uno tutti gli sviluppatori che non accettarono di sostenere la loro narrativa attraverso attacchi personali. Fecero allontanare persone importanti quali Gavin Andresen (a cui Satoshi Nakamoto aveva affidato direttamente la continuazione del progetto Bitcoin), Mike Hearn che lavorò al codice sin dagli albori, insieme a Satoshi Nakamoto, e tutti coloro che ebbero intuito cosa stesse succedendo. Facendo piazza pulita di tutti i liberi pensatori, rimodellarono il progetto sviluppo di Bitcoin, modificandone lo scopo da moneta mondiale peer to peer a oro digitale e bene rifugio, sostenendo argomentazioni totalmente senza senso, ma che molte persone non ebbero e tutt’ora non hanno avuto modo di comprendere. La convinzione più diffusa è che le transazioni non sarebbero dovute essere memorizzate sulla blockchain di bitcoin ma su Lightning Network (LN per semplicità), un protocollo di secondo livello, che risulta estremamente complesso e che presenta delle criticità intrinseche nel sistema di funzionamento al punto da renderlo praticamente inutilizzabile. Agli occhi di uno sviluppatore esperto queste problematiche furono evidenti sin dall'inizio, ma essendo tecnicamente complicate, permise ai core dev di far credere che questa sarebbe stata la soluzione definitiva (ad oggi, dopo oltre 5 anni di sviluppo, LN non funziona ancora e continuano ad essere trovate molte vulnerabilità e vettori di attacco). Bugie, bugie, bugie... I core dev hanno diffuso un'ampia serie di credenze concettualmente sbagliate grazie alla censura e al controllo dei canali principali di comunicazione. Per brevità descrivo solo le principali, ma si trova ampia documentazione sui canali non censurati (come il subreddit r/btc). Prima di approfondire i prossimi punti è necessario capire cosa sia effettivamente un hard fork: si tratta del metodo previsto in Bitcoin per effettuare un miglioramento del protocollo, una modifica che implica nuove regole che però lo rendono incompatibile con la versione precedente, e che richiede un aggiornamento del software di tutti i nodi della rete . La blockchain è una struttura che archivia i dati composta da blocchi concatenati uno all'altro. Mediamente viene aggiunto un nuovo blocco di dati ogni 10 minuti. I nodi non aggiornati non sarebbero in grado di accettare i nuovi blocchi con le nuove regole, quelli aggiornati si. Questa situazione potrebbe risultare in uno split, cioè la divisione della blockchain in due rami, uno costituito solo da blocchi con regole vecchie e uno invece con quelle aggiornate. Lo split penalizza notevolmente il ramo sul quale c’è la minore quantità di miner, creando un incentivo a schierarsi tutti verso il ramo di maggioranza. Eliminare il limite di 1 MB significa dover effettuare un aggiornamento delle regole del protocollo e quindi effettuare il cosiddetto hard fork. Nel momento in cui venisse adottato, i nodi che non fossero aggiornati non sarebbero in grado di accettare i blocchi con dimensioni maggiori. La prima bugia sostiene che gli hard fork siano distruttivi e con molta probabilità causano lo split. Il protocollo Bitcoin è ingegnerizzato per evitare che questo succeda, a meno che lo split sia intenzionale. Nel momento in cui la maggior parte della rete (costituita dai miner) implementano le nuove regole, l'eventuale ramo che accetta soltanto quelle vecchie diventa disfunzionale, proprio a causa della minor quantità di miner presenti. Nel ramo di minoranza le transazioni richiederebbero lunghissimi tempi di conferma e il costo per effettuare il mining risulterebbe così alto che come conseguenza verrebbe naturalmente abbandonato. In molte cryptovalute alternative avvengono hard fork regolari e questi non hanno mai causato problemi. Se invece si vuole effettuare intenzionalmente uno split, non è possibile comunque evitarlo. La seconda bugia si basa sul fatto che tutti gli utenti di Bitcoin dovrebbero ospitare un full node, cioè un computer che conserva tutta la blockchain nella sua interezza, e che questo è l'unico metodo che permette di avere la certezza che le proprie transazioni siano affidabili, oltre che mantenere la rete onesta e decentralizzata. In realtà non è necessario possedere un full node poiché grazie alle proprietà matematiche della crittografia si possono avere le prove della validità delle transazioni senza necessariamente ripercorrere tutta la storia della blockchain. Anche questo è ben spiegato nel whitepaper. Solo chi svolge l'attività di mining o fornisce servizi specifici (come alcuni gestori di portafogli) hanno la necessità di usufruire di un full node. La terza bugia riguarda la credenza che se i blocchi fossero più grandi di 1 MB gli utenti di Bitcoin non potrebbero permettersi di gestire un full node e si perderebbe la decentralizzazione. Il costo di mantenere un full node può influire anche sensibilmente sull’economia domestica, ma diventa un costo trascurabile per gli operatori professionali (miner, wallet, servizi vari). Gli hard disk sono sempre più capienti e veloci, così come i computer e la loro memoria. Non si potrà aumentare la dimensione dei blocchi all’infinito ma certamente non sarebbe un problema portarla a centinaia di MB (soluzione gestibile già con i computer odierni) che risolverebbe tutti i problemi di scalabilità per diversi anni, tempo sufficiente a far evolvere ulteriormente tecnologie e software per poter arrivare a supportare il fabbisogno finanziario mondiale. Che senso ha limitare il protocollo per farlo girare su sistemi economici domestici che costerebbero meno del costo di una singola transazione sulla rete? Proprio nessuno. Senza considerare che commissioni così alte sono un fortissimo deterrente alla diffusione dell'utilizzo di questa tecnologia e non un incentivo a mantenere decentralizzata la rete. Con i blocchi da 1 MB non esiste abbastanza capacità per ospitare anche solo le transazioni necessarie per utilizzare LN. Con 8 miliardi di persone e una capacità media di 400.000 transazioni al giorno, ogni persona può eseguire in media una sola transazione ogni 54 anni. Inoltre essendo lo spazio disponibile limitato, i miner selezionano e approvano le transazioni che offrono commissioni più alte fino a riempire il blocco e lasciando in attesa le altre, creando quindi una specie di asta. Nella storia di Bitcoin le transazioni sono arrivate a costare ben oltre i 50 euro l'una, nonostante la diffusione della rete sia ancora minuscola. I miner sono finanziati dalla generazione di nuovi bitcoin e dalla somma delle commissioni offerte dalle transazioni che possono includere nei blocchi. Siccome il numero di transazioni includibili nei blocchi è molto limitato e la generazione di nuovi bitcoin si riduce nel tempo tendendo a zero, le commissioni dovranno per forza raggiungere cifre ancora più alte, altrimenti o i miner abbandoneranno l’attività riducendo di conseguenza la sicurezza della rete. Un’altra critica a sfavore di BTC è che per poter implementare LN senza effettuare un hard fork, avrebbero dovuto necessariamente modificare il formato delle transazioni. Utilizzarono quindi uno stratagemma (soft fork) per generare delle transazioni accettate da tutti i nodi, ma le cui funzionalità sarebbero state riconosciute solo dai nodi aggiornati. Questa soluzione è stata chiamata SegWit e, al prezzo di aver complicato enormemente il codice di Bitcoin, permise di generare delle transazioni con le firme crittografiche separate dalle altre informazioni della transazione stessa, annullando oltretutto il concetto di "catena di firme digitali" in quanto queste ultime non vengono più scritte nella blockchain ma in un database separato. SegWit è un debito tecnologico non trascurabile in quanto i nodi che dovessero smettere di supportarlo tratterebbero queste transazioni come "spendibili da chiunque", e quindi ora che è stato introdotto non si potrà più rimuovere. Tra le varie strategie per convincere l'opinione della comunità ad accettare SegWit, sfruttarono un'ulteriore bugia, cioè fecero credere che la rimozione delle firme dalla blockchain avrebbe ridotto di molto lo spazio occupato da ogni transazione, al punto di riuscire a far contenere in 1 MB una quantità di transazioni equivalente a quella di blocchi da 2 - 4 MB. A tre anni di distanza, se guardiamo le statistiche, possiamo vedere che la media effettiva è che nei blocchi da 1 MB le transazioni SegWit consentono di far contenere l'equivalente di 1,2 MB e solo in rarissimi casi si è arrivati a 1,4 MB di transazioni nel formato originale. Le transazioni di tipo SegWit a Gennaio 2020 erano il 58% del totale, a fine Aprile la quota è scesa al 47%. La reazione della comunità. La situazione tragica in cui si trovò la comunità, totalmente divisa in due parti tra i big blocker che volevano mantenersi coerenti con l’idea di quello che Bitcoin sarebbe dovuto diventare e gli small blocker, convinti che il limite di 1 MB fosse una miglioria, non lasciò altra scelta, cioè dividere la blockchain prima che le modifiche permanenti come SegWit sarebbero state implementate. La maggior parte degli early adopters, cioè coloro che hanno conosciuto Bitcoin ai suoi albori e contribuito alla sua diffusione, si organizzarono per tentare di salvare il futuro di Bitcoin come moneta di scambio peer-to-peer attraverso uno split intenzionale, programmato al blocco numero 478558 e avvenuto l’1 agosto 2017, dividendo la blockchain in due rami: BTC con SegWit, il limite di 1 MB e le nuove regole, e BCH con un nuovo limite temporaneo da 8 MB sui blocchi e con il supporto delle caratteristiche che rendono il whitepaper di Satoshi Nakamoto un'idea rivoluzionaria. Con una serie di successivi hard fork la rete BCH aumentò ulteriormente la dimensione massima dei blocchi a 32 MB, grandezza che continuerà ad essere ampliata in seguito all’esigenza e prima che diventi un limite. Sono state aggiunte anche ulteriori funzionalità tra cui la riattivazione di alcuni comandi usati nelle transazioni programmabili, che invece i core dev hanno disabilitato. Queste funzionalità hanno consentito molte migliorie, tra cui la creazione del protocollo SLP (Simple Ledger Protocol) per gestire nuovi token sulla blockchain BCH. Sono state implementate le Schnorr Signatures che consentono di ottimizzare lo spazio necessario sulla blockchain per la firma di transazioni complesse e di sviluppare nuove possibilità di utilizzo. La nascita di BCH è stata pensata per portare avanti la visione originale di Satoshi Nakamoto e di fatto il suo sviluppo procede speditamente così come la sua adozione nel mondo. Ulteriore confusione. Lo split BTC/BCH è stato preso di esempio da diversi altri gruppi di sviluppo, i quali hanno generato ulteriori split che hanno creato (in alcuni casi anche volontariamente) un po' di confusione, anche se sono praticamente irrilevanti. Per conoscenza ne ricordo qualcuno, tra cui BTG (Bitcoin Gold) e BCD (Bitcoin Diamond), che comunque non hanno mai ottenuto una reale adozione. Poco più di un anno dopo invece, un altro gruppo di sviluppatori, col supporto di Calvin Ayre e Craig Wright (colui che continua a sostenere di essere Satoshi Nakamoto fabbricando prove palesemente false) hanno dato vita a un ulteriore split, BSV (Bitcoin Satoshi Vision) cercando di togliere a BCH l'immagine del protocollo originale di Satoshi Nakamoto. e creando molta confusione. Non solo il protocollo BSV non presenta miglioramenti di funzionalità, ma hanno anche tolto ciò che era stato implementato già da tempo, come la tecnologia P2SH (Pay To Script Hash). Questa involuzione rende impossibile implementare schemi di firma congiunta/disgiunta e la programmabilità dei pagamenti. BSV è stato rimosso da quasi tutti gli exchange, è supportato da pochissime aziende e da pochissimi servizi ed è totalmente irrilevante. Per simulare una consistente attività sulla rete qualcuno sta riempiendo la sua blockchain di inutili dati, tra cui misurazioni meteo. Falsi miti. Mentre tutte le monete generate dai vari fork vengono praticamente ignorate dalla comunità BTC, BCH viene costantemente attaccato e diffamato con accuse senza senso. Vediamo quali sono le falsità più popolari: Falsità 1: BCH è centralizzato. Niente di più insensato. Le mining-pool principali che raccolgono una potenza di calcolo rilevante sono più di 10, una situazione molto simile a quella in cui si trova BTC. Inoltre BCH dispone di diversi team che sviluppano in modo indipendente il software per BCH, rendendolo più decentralizzato e sicuro. Falsità 2: Roger Ver è il CEO di BCH. Roger Ver è stato tra le prime persone a capire e a credere in Bitcoin già nel 2011. Ha investito in molte startup operanti nel settore crypto e fintech e ha da sempre sostenuto Bitcoin come un sistema di pagamento peer to peer. Non è stato lui a creare BCH, come erroneamente si legge nei forum censurati, bensì ha sempre cercato di supportare BTC e l’aumento della dimensione dei blocchi. Il suo passaggio a BCH è avvenuto mesi dopo il fork, quando i coredev hanno sabotato il piano SegWit/2x (cioè l’ampliamento della dimensione dei blocchi a 2 MB dopo l’implementazione di SegWit). Falsità 3: Nessuno usa BCH. È vero che il numero di transazioni sulla blockchain BCH è ancora inferiore rispetto a BTC, ma è in forte via di sviluppo. A differenza di BTC che è stato abbandonato da molte aziende per colpa della lentezza e del costo delle transazioni, BCH si sta diffondendo esponenzialmente come metodo di pagamento. I blocchi grandi lo rendono economico e veloce da usare. Falsità 4: BCH non è sicuro. Sebbene la potenza di calcolo della rete BCH in questo periodo è nettamente inferiore a quella BTC (la potenza di calcolo tra BTC e BCH si spartisce proporzionalmente al valore della rispettiva moneta), la rete BCH non è insicura. Effettuare un cosiddetto 51% attack è talmente costoso che nessuno lo ha mai fatto seriamente. E se si volesse avere una sicurezza di immutabilità pari a quella di BTC sarebbe sufficiente aspettare un numero di conferme più alto (oggi circa 50). Falsità 5: Bcash Btrash, e nomignoli vari. Questa categoria è rappresentata dalle persone più infantili che si divertono a storpiare i nomi dei token per prenderli in giro. Bitcoin Cash non è moneta di serie b, tantomeno moneta spazzatura. Ricordo che è la versione di Bitcoin che somiglia maggiormente al concetto di moneta elettronica senza intermediari, e subisce costantemente attacchi diffamatori perché a differenza di BTC, BCH continuerà a funzionare sempre e ad essere efficace, proprio come previsto da Satoshi Nakamoto nel whitepaper del 2009. Il riassunto. BCH esiste per mantenere attivo il concetto originale di Bitcoin. BTC non è più un “sistema monetario peer 2 peer di pagamento” ma un sistema di gestione delle compensazioni. BSV cerca di rubare la fama di BCH proponendo se stesso come concetto originale di Bitcoin, cercando di creare molta confusione tra i due. BSV è supportato da pochissimi exchange al mondo e da pochissime aziende. BCH è quello che sarebbe dovuto essere Bitcoin secondo la visione di Satoshi Nakamoto. BTC e BSV sono entrambi tentativi di sabotaggio. La consapevolezza di questa situazione si sta piano piano diffondendo e le persone cominciano ad avere una visione chiara. Conclusione. Non sono contrario allo sviluppo di modelli di scalabilità su layer differenti, che ben si adatterebbe per esempio per le microtransazioni, ma dovrebbero essere ad uso volontario e opzionali. Se diventassero l'unico modo per poter usare le cryptovalute, sarebbe un problema. Spero che questa lettura sia stata utile e piacevole. Anche io come molti early adopters ho la visione di un mondo le cui transazioni possono venire affidate tutte alla blockchain, e vedo in Bitcoin (BCH) le caratteristiche per realizzarla. Trackbacks
URI specifico di Trackback per questa notizia
Commenti
Mostra commenti
(Cronologicamente | Per argomento)
Nessun commento L'autore non consente commenti a questa notizia
|
LinksArticoli interessanti:
ADSL, Bitcoin, La moneta fiat, Network Neutrality, Omeopatia, Rispondere alle e-mail, WiFi e salute. Blog che leggo: Slashdot. Il portico dipinto. Altri siti: - Intercom - internet provider. - A.C.A.O. - Aero Club Adele Orsi, Calcinate. ![]() la frase di oggi"Deposita in banca solamente la quantità di denaro che puoi permetterti di perdere." Creative Commons |