Bitcoin #IndependenceDay: Come questo giorno spartiacque definisce il consenso della comunità

#UASF e #IndependeceDay: perché festeggiare il 1° agosto | Colin Harper | Bitcoin Magazine

Bitcoin #IndependenceDay: Come questo giorno spartiacque definisce il consenso della comunità
pic. tiendientu88.blogspot.com

Autore: Colin Harper | Pubblicazione originale: 01/08/2019 | Tradotto da: 31febbraio | Milano Trustless | Link: Bitcoin Independence Day: How This Watershed Day Defines Community Consensus

Il 1° agosto 2017, la comunità Bitcoin avrebbe dovuto avviare la prima soft fork attivata dall'utente (UASF) della rete. Il nuovo concetto, proposto dallo pseudonimo sviluppatore di Bitcoin e Litecoin Shaolinfry, era la campagna finale di un conflitto di scala durato anni e culminato nell'attivazione di SegWit.

Il giorno è stato soprannominato Bitcoin Independence Day, un giorno che ha dimostrato la sovranità del consenso della comunità, nonché posto ufficialmente fine alla prima di molte guerre civili della rete.

SegWit: UN RIASSUNTO

Segregated Witness è stato introdotto in un aggiornamento di Bitcoin Core nell'ottobre 2016. L'aggiornamento del protocollo due per uno ha riparato un bug di malleabilità delle transazioni (che alla fine avrebbe aperto la strada a reti secondarie come Lightning) e, come felice conseguenza, ha ridotto i costi delle transazioni aumentando la quantità di dati delle transazioni che possono essere inseriti in ogni blocco.

Presentato per la prima volta dal Dr. Pieter Wuille a Scaling Bitcoin nel dicembre 2015, l'aggiornamento separa essenzialmente le firme (i dati responsabili di dimostrare chi possiede quale bitcoin) e le transazioni all'interno di ciascun blocco. Invece di unire le firme ai dati delle transazioni, questi ultimi sono racchiusi nella coinbase transaction di un blocco. In questo modo si è aumentata la dimensione dei blocchi di Bitcoin senza aumentare il limite originale della dimensione dei blocchi.

Luke Dashjr ha proposto un soft fork retrocompatibile, ovvero l'aggiornamento potrebbe essere applicato da alcuni nodi e non da altri senza minacciare il consenso della blockchain.

Dopo un anno di sviluppo, circa 4.700 linee di codice (scritte da Wuille, dal CEO di Ciphrex e collaboratore del Core Eric Lombrozo e dal collaboratore del Core Dr. Johnson Lau) sarebbero state consegnate nella versione 0.13.1 di Bitcoin Core con quelli che sembrano ovvi vantaggi per la rete. Chi, dopo tutto, non vuole transazioni più economiche e veloci?

I miner, a quanto pare.

Anche se SegWit è stato inserito nella versione Core, deve ancora essere attivato. Affinché ciò avvenga, i miner devono segnalare il loro sostegno all'aggiornamento e iniziare a estrarre blocchi SegWit. Una volta che un miner o un pool avesse dato il segnale, il 95% dei validatori della rete avrebbe avuto a disposizione un periodo di due settimane (2.016 blocchi, ovvero un periodo di aggiustamento della difficoltà) per iniziare a minare blocchi SegWit. Se il 95% della potenza di hashing avesse generato blocchi secondo le nuove regole SegWit entro questo lasso di tempo, le regole del soft fork sarebbero state 'bloccate' nella rete e sarebbero state completamente attivate dopo un altro periodo di 2016 blocchi

Il problema è che solo Bitfury, Slush Pool, BTCC e una manciata di mining pool più piccoli e miner indipendenti hanno segnalato l'aggiornamento quando è entrato in vigore a ottobre. Alcuni dei più grandi, come Antpool e F2Pool di Bitmain, non erano entusiasti di impegnarsi nell'aggiornamento. Bitmain, in particolare, ha chiesto che SegWit fosse accompagnato da un aumento delle dimensioni dei blocchi tramite un hard fork separato.

Quindi SegWit è stato di fatto una nullità al suo arrivo.

Radunare le truppe

Per il resto del 2016, il codice di SegWit rimase dormiente nel software Bitcoin Core, ma il dibattito sullo scaling era più attivo che mai. A febbraio, l'UASF è stato proposto per la prima volta come metodo per stimolare l'adozione di SegWit, ma il sostegno a questo progetto non è decollato fino alla primavera/estate del 2017. Forse l'accoglienza positiva per l'UASF può essere vista come un'ultima risposta a due nuove complicazioni che avrebbero portato il conflitto di scalabilità dello spazio, che dura da anni, a un punto critico.

La prima è stata la scoperta che il colosso del mining Bitmain potrebbe aver sfruttato di nascosto una vulnerabilità nell'algoritmo di mining di Bitcoin per ottenere un aumento dell'efficienza fino al 20% con i suoi miner. Chiamato AsicBoost, Gregory Maxwell, CTO di Blockstream e collaboratore esperto di Core, ha rivelato per primo lo sfruttamento dopo aver effettuato il reverse engineering di un chip ASIC sviluppato da Bitmain. Sebbene all'epoca Bitmain abbia negato di aver implementato il meccanismo, alcune fonti hanno riferito a Bitcoin Magazine che il produttore di ASIC più importante del settore includeva AsicBoost nei propri chip (anche se non è mai stato provato che abbia utilizzato l'exploit nelle proprie operazioni).

Improvvisamente, la stagnazione di SegWit tra i minatori cominciò ad avere senso. Se fosse attivato, SegWit avrebbe annullato completamente AsicBoost.

'Un'incompatibilità spiegherebbe molto bene alcuni dei comportamenti più inspiegabili di alcune parti dell'ecosistema di mining, quindi ho iniziato a cercare prove a sostegno', ha scritto Maxwell all'epoca.

Come ha dichiarato Lombrozo a Bitcoin Magazine, 'Dopo che è diventato chiaro che SegWit rendeva ASICBOOST non funzionante, c'è stato un altro incentivo [per non implementare SegWit]'.

Questo accadeva nell'aprile 2017. Il mese successivo, nei giorni precedenti al Consensus 2017, una cabala delle aziende più influenti del settore Bitcoin si è riunita e ha forgiato quello che è diventato noto come l'Accordo di New York. Guidata da Digital Currency Group e dal suo fondatore Barry Silbert, la riunione clandestina su invito aveva un unico ordine del giorno: pianificare ed eseguire un hard fork che avrebbe attivato SegWit e ampliato la dimensione reale dei blocchi di Bitcoin a 4 MB. A quanto pare questo ha fatto presa sulla sensibilità di Bitmain e di altre importanti società di mining, dato che l'accordo di New York ha raccolto il sostegno dei leader dei pool di mining che rappresentano l'80% dell'hashrate globale.

L'iniziativa è stata denominata SegWit2x. Ed è stata molto controversa. L'hard fork significava che le nuove regole del protocollo, a differenza del soft fork di SegWit, sarebbero state incompatibili con le versioni non aggiornate - e la versione di SegWit dell'accordo era incompatibile con la versione di Core. Secondo l'argomentazione, un gruppo di élite che rappresentava solo una frazione degli utenti di Bitcoin stava cercando di appropriarsi del marchio Bitcoin e di controllare lo sviluppo della rete, senza alcun contributo da parte degli sviluppatori del Core.

Questa collusione è stata rapidamente riconosciuta come una minaccia esistenziale. Quello che si pensava fosse un soft fork senza soluzione di continuità con SegWit si era trasformato in una guerra di scala che minacciava di spaccare in due la rete (e la sua comunità). Con l'attivazione di SegWit2x prevista per ottobre/novembre 2017, il tempo per trovare una soluzione per la comunità si stava esaurendo.

UASF come soluzione

Prima che l'estate finisse, la nuova proposta di implementazione di SegWit di febbraio - annegata durante la primavera dal rumore causato dai dibattiti sullo scaling - ha iniziato a riemergere come una soluzione praticabile.

'Non esiste un universo in cui SegWit non verrà attivato', ha dichiarato all'epoca a Bitcoin Magazine lo sviluppatore pseudonimo di Bitcoin e Litecoin, Shaolinfry.

Per questo motivo, nel febbraio 2017 ha introdotto una soluzione innovativa, l'UASF.

La soluzione era semplice, anche se un po' rischiosa. Attivando l'UASF sui loro portafogli e nodi, gli utenti avrebbero dato ai miner un ultimatum: validate SegWit o rifiuteremo i vostri blocchi. In effetti, questo incentiverebbe i miner a premere l'interruttore su SegWit, un'opportunità per la comunità di esercitare il proprio controllo sulla rete Bitcoin. La teoria dei giochi per giustificare la mossa strategica si basava sul concetto di minoranza intollerante di Nassim Nicholas Taleb, secondo il quale una minoranza economica può piegare una maggioranza ai propri capricci incoraggiandola ad agire nel proprio interesse economico razionale. In questo caso, se i miner non rispettano le regole dell'UASF, perdono profitto e danneggiano la loro fonte di reddito.

'L'aspetto interessante del BIP148 [la proposta di miglioramento che alla fine ha incluso l'UASF] è che qualsiasi maggioranza di miner può attivarla, non deve essere necessariamente il 95%. Se il 75 o anche solo il 51% della potenza di hash inizia a rifiutare i blocchi non segnalati il 1° agosto, si rivendicherà sempre la catena più lunga. Quindi, da quel momento in poi tutti i miner dovranno segnalare il supporto e attivare SegWit, oppure tutti i loro blocchi saranno orfanati della rete', ha dichiarato Shaolinfry a Bitcoin Magazine.

E se la soglia del 51% non fosse stata superata? Beh, la catena di blocchi avrebbe potuto dividersi, poiché alcuni nodi avrebbero accettato solo i blocchi SegWit e reso orfani gli altri. La possibilità di questa spaccatura della catena e le vulnerabilità di sicurezza che avrebbe potuto comportare erano le principali riserve contro questo approccio.

Introdotta a febbraio, la proposta ha guadagnato consensi solo con il caldo dell'estate e dopo l'accordo di New York. Shaolinfry ha redatto due proposte di miglioramento di Bitcoin (BIP148 e BIP149). L'allora COO della BTCC Samson Mow avviò un crowdfunding per il soft fork e fu fissata la data del 1° agosto 2017 per l'implementazione da parte degli utenti della BIP148, la proposta che ebbe la meglio.

C'era solo un problema: l'accordo di New York. La sua versione di SegWit era ancora incompatibile con questa versione di SegWit e, di conseguenza, con BIP148. Fortunatamente, un ingegnere esperto della garanzia Bitmain, James Hilliard, ha progettato BIP91, un aggiornamento che avrebbe reso tutti e tre compatibili (almeno per questo lancio di SegWit). Jeff Garzik, ex collaboratore di Core e sviluppatore principale di SegWit2x, ha annunciato che avrebbe implementato la correzione nelle settimane precedenti il 1° agosto. Prendendo il nome da un'imminente release di Electrum Wallet, il movimento è stato coniato come Independence Day.

Anche i principali pool di mining del mondo lo avrebbero implementato e il BIP91 è stato ufficialmente bloccato il 20 luglio 2017. Ironicamente, a causa di ciò, l'UASF non era più necessario; finché i minatori eseguivano BIP91, la proposta segnalava il supporto dei minatori per SegWit e rendeva possibile l'UASF. Tuttavia, i miner potevano ancora ritirarsi dal BIP91, quindi la pressione dell'UASF era ancora imperativa e gli utenti erano ancora incoraggiati a farla rispettare. In modo brillante, questa pressione tra pari è stata inserita nella teoria del gioco alla base della sua progettazione fin dall'inizio. Shaolinfry ha dichiarato a Bitcoin Magazine nel 2017 che una possibile strada per l'attivazione di SegWit non sarebbe stata l'UASF in sé, ma la sua minaccia, ed è proprio così che si è realizzata.

La Legacy (eredità)

Sebbene non sia chiaro quante persone abbiano implementato il BIP148, il 1° agosto SegWit si sarebbe agganciato alla rete e, dopo un periodo di grazia di due settimane, l'aggiornamento sarebbe stato definitivo - e senza dividere la catena in due. Dopo circa due anni di ansie e lotte intestine, la saga di SegWit era conclusa. Nei mesi successivi, l'accordo di New York si sarebbe dissolto e con esso un'altra minaccia al consenso della comunità.

Oggi Eric Lombrozo, uno dei principali artefici di SegWit, ritiene che l'attivazione dell'aggiornamento abbia avuto molto a che fare con la diffusione di altre minacce esistenziali.

'Penso che dopo di ciò, la gente si sia semplicemente arresa. Quelli che non si sono arresi sono stati biforcati e sono migrati in un'altra blockchain', ha detto a Bitcoin Magazine, riferendosi a divisioni di monete come Bitcoin Cash (che è stato attivato il 1° agosto ed è stato originariamente presentato come il 'piano di emergenza' di Bitmain per BIP148). 'Quelli che volevano avere tutto su Bitcoin hanno rinunciato quando si sono resi conto che non era possibile fare questi cambiamenti sulla blockchain stessa di Bitcoin'.

Lombrozo considera SegWit2x come l'ultimo grande tentativo di cooptare il marchio Bitcoin, affermando che ci sono stati 'numerosi tentativi di farlo in precedenza con Bitcoin XT, Bitcoin Classic, Bitcoin Unlimited'. Con ogni fallimento, vede la teoria dei giochi di Bitcoin funzionare come previsto. Vorrebbe anche che, invece di scatenare tutto il 'cattivo sangue e l'animosità' di questi dibattiti sullo scaling, 'fosse un gioco in cui le persone giocano secondo le regole e accettano i risultati'.

'Non è possibile distribuire tutto ciò che si vuole su una rete di consenso', ha detto. 'Potrei voler implementare un milione di funzionalità, ma se gli altri non vogliono accettarle, non dipende da me. Non posso negoziare per conto della rete. Non dipende da me o da altri'.

Guardando indietro ad anni di distanza, Lombrozo - forse come molti Bitcoiners - sta ancora cercando di trovare 'la storia in tutto questo'. Bitcoin è un fenomeno ancora molto giovane e, per dirla con le sue parole, tutti stanno ancora cercando di capire come funzionano tutte le sue parti mobili, dalla teoria dei giochi all'architettura tecnica, dal consenso della comunità agli incentivi economici.

L'aspetto più importante, tuttavia, è che il 'Bitcoin Independence Day' ha dimostrato chi controlla realmente Bitcoin. È la sua base di utenti aggregata, non i capricci di pochi oligarchi del mining e aziendali, ad avere il controllo. È per questo che festeggiamo il 1° agosto: è stato il primo grande stress test della comunità di Bitcoin. E invece di cedere alla pressione, la comunità si è dimostrata all'altezza della situazione.

'Significa che alla fine sono le persone che gestiscono i nodi di convalida a stabilire quali transazioni vogliono considerare convalidate. Ha dimostrato che, alla fine, le persone possono convalidare le proprie transazioni e che c'è un incentivo di rete a unirsi alla rete che darà loro il massimo valore. Credo che le dinamiche si siano svolte in questo modo' (cit. Lombrozo).

Se non diversamente specificato, il contenuto di questo articolo è concesso in licenza ai sensi del CC BY-SA 4.0