L'eterna lotta di Bitcoin

Come Bitcoin prospera al confine tra ordine e caos. | Der Gigi

L'eterna lotta di Bitcoin
L'eterna lotta di Bitcoin

Come Bitcoin prospera al confine tra ordine e caos.

Traduzione dall'originale di Dergigi - pubblicato il 22 dic 2019

Il Bitcoin funziona. A prescindere da qualsiasi altra opinione su questo strano fenomeno, è indubbio che funziona, va avanti o, come io (e altri) abbiamo sostenuto in precedenza, è vivo. Anche se la maggior parte del mondo si fermasse, la rete Bitcoin continuerebbe a produrre blocchi validi ogni 10 minuti circa.

Bitcoin funziona grazie a molte cose: teoria dei giochi, incentivi economici, crittografia, ingegneria ingegnosa, resilienza a livello di rete e così via. Uccidere Bitcoin è difficile. Molto difficile. Uccidere Bitcoin è come uccidere un'idea. Un'idea che è rimasta impressa nella testa di centinaia di migliaia di individui zelanti.

Prima di tutto, è piuttosto difficile spegnere Internet a livello globale; in secondo luogo, il Bitcoin può trascendere Internet. Tutto ciò che può trasmettere dati può essere usato per trasmettere transazioni in bitcoin, e tutto ciò che può contenere dati può memorizzare una copia della catena di blocchi di Bitcoin. È solo un libro mastro; il tutto è solo informazione.

Curiosamente, la rete Bitcoin incarna l'eterna lotta della vita: la lotta contro l'entropia; una battaglia al limite tra ordine e caos.

Per comprendere questa lotta caotica - e il modo in cui Bitcoin prospera grazie ad essa - è utile discutere brevemente i seguenti concetti: entropia, casualità e informazione. Spero di convincervi che questi concetti sono correlati e che sono essenziali nella continua lotta per la sopravvivenza del Bitcoin.

Entriamo nel vivo.

Entropia

In informatica, l'entropia può essere utilizzata per misurare la casualità di una fonte di dati. Nella crittografia in generale, e in Bitcoin in particolare, una buona fonte di entropia è essenziale per garantire la sicurezza. Se si altera l'entropia della chiave privata (anche detta seed phrase), i tuoi bitcoin saranno presto i miei bitcoin.

Nota: il termine tecnico per questo trasferimento indesiderato di monete è rekt. Non è necessario sapere cosa significhi "rekt" nel dettaglio, o i molti modi in cui si può essere rekt; è sufficiente sapere che si dovrebbe evitare una situazione del genere a tutti i costi.

L'entropia è un concetto piuttosto complicato, ma in termini generali descrive quanto qualcosa sia casuale o comprimibile.

  • Alta entropia: casualità.
  • Bassa entropia: ordine.

O, in altre parole, con un cenno a Tsachy Weissman:

  • Alta entropia: poco comprimibile.
  • Bassa entropia: molto comprimibile.

Esistono formule complicate e definizioni abbastanza disambigue dell'entropia. Il concetto trova applicazione nella termodinamica classica, nella termodinamica statistica, nella fisica statistica quantistica, nell'ordine e nel disordine, nella vita, nell'astrofisica e in molti altri campi. È anche una misura dell'irreversibilità.

In Bitcoin, la reversibilità e l'irreversibilità sono probabilistiche. Se un numero sufficiente di persone con sufficiente potere di hash collude, le transazioni possono essere invertite. L'irreversibilità assoluta non esiste in Bitcoin. Il saldo finale non è mai definitivo, ma sempre probabilistico. Certo, le probabilità di inversione potrebbero essere più che astronomiche, ma comunque il saldo finale non esiste e non dovrebbe esistere in Bitcoin. Il consenso di Nakamoto lo vieta.

“La prima legge della termodinamica, nota anche come legge della conservazione dell'energia, afferma che l'energia non può essere creata o distrutta in un sistema isolato. La seconda legge afferma che l'entropia di qualsiasi sistema isolato aumenta sempre, mentre la terza legge afferma che l'entropia di un sistema si avvicina a un valore costante quando la temperatura si avvicina allo zero assoluto".
—- Knut Svanholm

In Bitcoin, l'entropia è importante per diversi motivi:

  1. Le informazioni segrete devono essere generate da fonti di dati ad alta entropia.
  2. I nuovi blocchi invertono localmente l'entropia, cioè creano ordine dal caos.
  3. Il modello di sicurezza di Bitcoin si basa su processi caotici.
  4. La validazione si basa su processi deterministici
  5. Tutti possono convalidare dati strutturati
  6. Nessuno può indovinare dati casuali

Mentre quanto detto sopra parla in termini assoluti (tutti e nessuno), la verità è più sfumata: Ancora una volta, Bitcoin è di natura probabilistica, quindi, in teoria, si potrebbe indovinare una chiave privata così come in teoria si potrebbero trovare un miliardo di blocchi validi in un millisecondo.

A parte i dettagli, cercheremo di essere semplici. In generale, se si hanno due monete, l'entropia di questo sistema è pari a due. Cioè: si può descrivere l'intero sistema con due bit: 00, 01, 10, 11.

2 bit di entropia

Lanciando contemporaneamente le due monete, si otterrà il risultato coda-coda, coda-testa, testa-coda o testa-testa. Se il lancio delle monete è corretto, la probabilità di ciascuna combinazione sarà del 25%. Immaginate un sistema che lanci centinaia di monete alla volta e otterrete qualcosa che potrebbe essere usato per generare una chiave privata.

Casualità

La casualità è essenziale per la crittografia. Alla base di ogni comunicazione segreta c'è una forma di asimmetria informativa: voi sapete qualcosa che un potenziale intercettatore non sa.

Un buon segreto è come una buona password: generato casualmente, cioè proveniente da una fonte di dati con un alto grado di entropia.

Rumore casuale. Quante informazioni sono contenute in questa immagine?

Se qualcosa è "perfettamente" criptato, un origliatore non può distinguere ciò che è stato detto da dati casuali. Questo è lo scopo di una corretta crittografia: si vuole nascondere ciò che è stato detto e, se possibile, anche il fatto che sia stato detto qualcosa di significativo.

  • Casualità "buona": non comprimibile / alta entropia / segreta / sicura.
  • Casualità "cattiva": comprimibile / bassa entropia / indovinabile / insicura.

Bitcoin non utilizza la crittografia in sé. Il libro mastro è pubblico e trasparente per sua stessa concezione, consentendo a chiunque con la volontà di farlo di verificare l'intero sistema. Bitcoin utilizza firme crittografiche e hash crittografici, che producono entrambi risultati quasi casuali. Se conoscete il segreto, potete sbloccare alcune monete (usando la vostra chiave privata), aggiungere nuovi blocchi alla catena di blocchi (usando il nonce che avete trovato) o dimostrare che siete chi dite di essere (firmando un messaggio, che almeno dimostra che avete il controllo di una o più chiavi).

Solo voi conoscete la vostra chiave privata. Nessun altro dovrebbe conoscere la vostra chiave privata. Solo voi, il minatore che ha avuto successo, avete trovato il nonce per il blocco successivo. Questa è asimmetria informativa. È questo che fa funzionare Bitcoin.

Tutti i sistemi crittografici funzionano grazie all'asimmetria informativa. E curiosamente, i dati criptati correttamente sono indistinguibili dai dati casuali. Altrimenti, un origliatore potrebbe capire qualcosa del messaggio criptato, il che a sua volta significherebbe che la crittografia utilizzata non è molto buona.

Informazione

Che cos'è l'informazione?

Spesso si dice che il Bitcoin è termodinamicamente sicuro. Sebbene sia vero, vorrei scavare un po' più a fondo. Cosa significa esattamente sicurezza termodinamica?

Significa che, per quanto ne sappiamo, cambiare le cose nel nostro universo richiede energia. Quando parlo di "cambiare le cose" intendo proprio questo: se cambiate qualsiasi cosa nel nostro universo, dovrete "usare" energia, cioè fare un po' di lavoro, per cambiare quella cosa.

Spostare una sedia? Dovete fare un po' di lavoro. Far crescere un albero? Avrete bisogno dell'energia del sole per trasformare la CO2 in legno. Fare un calcolo? È necessaria energia per manipolare i dati. Immagazzinare il risultato? Serve energia per organizzare (e proteggere) gli atomi per l'archiviazione, indipendentemente dal supporto utilizzato.

Bitcoin vive principalmente nel regno dell'informazione e, proprio come tutti gli altri sistemi informativi, ha bisogno di memorizzare ed elaborare le informazioni attraverso un mezzo fisico. Pertanto, se si modificano le informazioni in Bitcoin, si modifica effettivamente un oggetto nel mondo reale. Che si tratti di un disco a stato solido, di una chiavetta USB, di un disco rigido, di un supporto di memorizzazione ottico o di qualcos'altro, non ha importanza.

Il fatto che cambiare le cose - o, in altre parole, scambiare i bit - richieda energia, è l'enigma principale di tutta la computazione. È il motivo per cui il vostro computer fa un sacco di rumore e si scalda se fa un sacco di "pensieri". È il motivo per cui gli studenti di informatica devono studiare la notazione Big O e le aziende di software amano fare domande al riguardo. Cambiare uno zero in uno richiede un lavoro e, indipendentemente dalla velocità con cui si lavora, è necessario spendere una certa quantità di energia. Secondo la fisica, non esiste letteralmente un pranzo gratis. Scambiare i bit è un lavoro che richiede energia.

Ed ecco il punto: Bitcoin sfrutta il fatto che la differenza tra problemi computazionali difficili e problemi computazionali esponenzialmente difficili è grande. Grande da far girare la testa.

Va bene. Torniamo alla domanda iniziale: Che cos'è l'informazione?

Colori ordinati. Quante informazioni sono contenute in questa immagine?

L'informazione si riferisce sia alla conoscenza che al significato. È l'opposto del non sapere e l'opposto dell'informazione nei dati è la casualità. In altre parole: se non siete in grado di dare un senso ad alcuni dati, questi potrebbero apparirvi casuali.

  • Informazione sensata: abbastanza comprimibile.
  • Informazioni senza senso: poco comprimibili.

Il pi greco potrebbe aiutare a chiarire ciò che sto cercando di dire: 3,141592653589793... può essere "compresso" in π, ovvero la circonferenza di un cerchio con il diametro di uno.

Come programmatore di computer, si potrebbe pensare a questo concetto come segue: posso scrivere un programma per computer che generi l'informazione che sto cercando di trasmettere e che sia effettivamente più breve dell'informazione stessa? (È questo che intendo quando dico "comprimibile").

In breve: il senso e il nonsenso, l'ordine e il caos, l'informazione e la casualità sono strettamente legati. Si potrebbe dire che sono due facce della stessa medaglia, ed entrambi i concetti sono legati da qualcosa che chiamiamo entropia.

L'informazione implica una struttura e la struttura beneficia della ridondanza. Le strutture più antiche in natura sono state adattate per la sopravvivenza dall'evoluzione. Alla base c'è il DNA, due catene che si avvolgono l'una sull'altra per formare una doppia elica. Informazioni simmetriche e ridondanti. Le proprietà che permettono al DNA di sopravvivere e prosperare sono incorporate nei suoi processi: la struttura ridondante, il meccanismo di copia che si basa su questa struttura, la correzione degli errori che porta a quattro basi invece di due, ecc.

Il Bitcoin, in confronto, è più semplice: una catena, due bit, nessuna correzione degli errori (l'informazione viene copiata perfettamente). Tuttavia, come nel caso del DNA, le proprietà che permettono a Bitcoin di sopravvivere (e prosperare) sono incorporate nel processo di replicazione: una corsa caotica alla ricerca di nuovi blocchi, la replicazione dei blocchi nella rete e la replicazione del software (e del libro mastro) su quanti più nodi possibile. Inoltre, quando parliamo dell'organismo Bitcoin, la correzione degli errori equivale a essere vivi. La rete si autovalida a ogni battito del cuore, ogni dieci minuti circa. Questo è ciò che rende l'organismo Bitcoin estremamente robusto. È progettato per la sopravvivenza.

In Bitcoin, le informazioni ad alta entropia sono solitamente tenute segrete. La vostra chiave privata dovrebbe, come dice il nome, essere mantenuta privata. È solo per i vostri occhi. Anche il particolare nonce che avete appena provato, cioè il lavoro che avete già svolto durante il mining di un nuovo blocco, viene solitamente mantenuto privato. Non volete che i vostri concorrenti sappiano quali numeri producono blocchi non validi e possono essere saltati.

Caos a sinistra, ordine a destra.

Bitcoin utilizza sia l'ordine che il caos per creare un sistema che cresce - e addirittura prospera - tra questi estremi. Utilizza l'asimmetria informativa e un'ingegnosa struttura di incentivi che porta a una competizione globale per scoprire i segreti di Bitcoin.

Quali siano i processi ordinati, quali quelli caotici e come Bitcoin sia in grado di crescere al confine tra ordine e caos saranno analizzati nella prossima sezione.

Crescita tra ordine e caos

Cosa fa ticchettare la rete Bitcoin? Anche in questo caso, le risposte a questa domanda potrebbero essere molteplici, ma l'unica cosa che fa veramente ticchettare la rete Bitcoin è l'orologio globale: un orologio a blocchi, dove ogni blocco rappresenta un'unità di tempo.

Attualmente chiamiamo questo processo mining perché per ogni blocco valido che viene minato (leggi: trovato) vengono generati nuovi bitcoin. Questa è la sovvenzione dei blocchi ed è una struttura di incentivi per avviare la rete.

In un certo senso, l'organismo Bitcoin "cresce" sul filo del rasoio tra ordine e caos: la ricerca di nuovi blocchi è un processo caotico, il cui risultato è un elenco molto ordinato di transazioni: la catena di blocchi Bitcoin, nota anche come libro mastro.

Dal punto di vista della "ricerca di nuovi blocchi", siamo ancora agli albori. Sono passati solo ~10 anni. L'era della ricompensa dei blocchi si protrarrà fino al 2140 circa, il che significa che siamo circa al 13% della fase di avvio di Bitcoin: l'era della ricompensa.

Satoshi sapeva senza dubbio che si trattava di un gioco a lungo termine. L'era in cui i nuovi blocchi sono associati a una ricompensa è solo una fase del gioco di Bitcoin. Si noti che questa fase è lunga 6930000 blocchi. Con un tempo medio di blocco di ~10 minuti, l'era della ricompensa risulta essere lunga 131 anni.

2019: primi giorni dell'era della ricompensa del Bitcoin

Ci sarà un momento in cui coloro che hanno il compito di trovare nuovi blocchi saranno ricompensati principalmente attraverso il mercato delle commissioni delle reti, come Dan Held ha brillantemente argomentato in Bitcoin's Security is Fine. Il momento in cui il mercato delle commissioni prenderà il sopravvento sarà tra il 2020 e il 2140. O questo, o Bitcoin morirà, o alcuni computer da museo cercheranno di trovare nuovi blocchi con una perdita economica.

Dopo questo momento, probabilmente si parlerà ancora di "mining" di bitcoin, anche se tutti i "minatori" non produrranno nuovi bitcoin. Tutti i 21 milioni di BTC - o 2.099.999.997.690.000 sats, per essere precisi - saranno stati estratti. Nessun nuovo bitcoin verrà aggiunto al pool di monete esistenti in circolazione.

I minatori - se ancora li chiamiamo così - cercheranno comunque di trovare nuovi blocchi. Ma i bitcoin mossi da questi blocchi avranno una lunga storia economica. Sono finiti i giorni in cui i minatori si aggiudicavano nuovi bitcoin nella transazione coinbase, da spendere dopo 100 blocchi.

Il bitcoin esisterà ancora tra 5000 anni e finirà per battere l'oro come moneta de-facto dell'umanità? Non lo so, ma le informazioni importanti sono estremamente difficili da eliminare. Mi aspetto che il bitcoin viva per molto tempo, proprio come le antiche scritture e i testi religiosi sopravvivono ancora oggi. Sono solo informazioni, tutte, e possono trascendere il supporto su cui sono stampate.

Naturalmente, mi aspetto che fino a questo momento sia avvenuto qualcosa che si avvicina all'iperbitcoinizzazione. Avremo un'economia circolare dei bitcoin e le banche di bitcoin regoleranno globalmente grandi quantità di valore tra loro. Cosa utilizzeranno i privati cittadini - o gli individui sovrani, per usare un termine più appropriato - è ancora da vedere. Dubito che il livello base di bitcoin sarà utilizzato da persone come voi e me. E questo va benissimo.

Con il palcoscenico pronto e concetti come ordine, informazione, casualità ed entropia in mente, diamo un'occhiata ad alcuni concetti di bitcoin. Li distingueremo visivamente: da caotico (a sinistra) a ordinato (a destra).

Il Bitcoin cresce tra ordine e caos.

Sebbene l'inquadramento di ordine e caos sia utile, non è né preciso né universalmente applicabile. Tuttavia, credo che pensare alle parti che fanno funzionare Bitcoin in questo modo sia un esercizio utile e credo che il punto centrale - che bitcoin vive, cresce e prospera al confine tra ordine e caos - sia profondamente vero.

Riflettiamo un po' su questi concetti.

  • Private key: Informazione caotica, ad altissima casualità. Informazioni segrete che è meglio mantenere private. Massima entropia per la massima sicurezza. Se la vostra chiave privata non è casuale, passerete dei brutti momenti.
  • Nonce: Informazioni caotiche, alta casualità. Un nonce è un numero specifico. I minatori sono in costante competizione per trovare il prossimo nonce che produca un blocco valido. Più numeri possono soddisfare i criteri, ma il processo di estrazione è molto simile alla ricerca di un numero casuale.
  • Fresh block (before broadcast): I blocchi appena trovati sono il risultato del processo caotico di ricerca di un nonce. Prima della trasmissione, i blocchi possono essere intesi come informazioni segrete. I blocchi freschi possono essere ambigui, in quanto più blocchi possono formare una chain tip valida allo stesso tempo. È nel vostro interesse trasmettere immediatamente un blocco fresco a tutti per raccogliere la ricompensa. I blocchi freschi vengono trattenuti solo se si è un attaccante, oppure uno molto stupido, o entrambe le cose.
  • Chain tip: la formazione della estremità della catena è un processo per lo più ordinato, ma anche in questo caso è generata da un processo caotico. Come già detto, l’estremità della catena può essere ambigua. Una versione della stessa sopravviverà, mentre le versioni perdenti diventeranno blocchi orfani. È possibile convalidare la correttezza di tutte le informazioni contenute in tutti i blocchi fino all’estremità della catena. L’estremità della catena riflette l'ora corrente in Bitcoin.
  • Orphan blocks: I blocchi orfani fanno parte del processo di crescita ordinato e naturale della catena di blocchi Bitcoin. I blocchi validi vengono scartati regolarmente. Se due blocchi validi vengono trovati più o meno nello stesso momento, combattono una battaglia probabilistica per la sopravvivenza. A lungo termine, solo un blocco può vincere questa gara. Il blocco perdente diventerà un blocco orfano e morirà di morte solitaria.
  • Unconfirmed transactions: Struttura ordinata che può essere facilmente convalidata. Una transazione non confermata può essere valida o non valida. Le transazioni valide vengono incluse nei blocchi in base agli incentivi economici, che sono, ancora una volta, un processo probabilistico e guidato dal mercato. Le transazioni non valide vengono scartate.
  • Buried blocks: Struttura ordinata generata da un processo caotico, qualche tempo fa. La possibilità di un reorg (riorganizzazione dei blocchi sepolti) diventa esponenzialmente improbabile perché le probabilità contrarie si moltiplicano. Esempio: se ogni blocco ha il 50% di possibilità di riorganizzarsi, la possibilità di una riorganizzazione di 6 blocchi sarebbe dell'1,5%. I numeri reali sono più vicini allo 0,31% per blocco e allo 0,000000008875% per una riorganizzazione di 6 blocchi.
  • Confirmed transactions: Struttura ordinata che può essere convalidata molto facilmente. L'irreversibilità è probabilistica e dipende dall'altezza del blocco. Una volta che una transazione è confermata, diventa tanto più definitiva quanto più è profonda nella catena dei blocchi.
  • Public keys: le chiavi pubbliche estese (xpub, ypub, zpub) sono generate da un processo deterministico tramite un seme casuale.
  • Block time: I blocchi validi vengono trovati, in media, ogni 10 minuti. Questo è ciò che fa funzionare la rete Bitcoin. Il battito cardiaco di Bitcoin è estremamente regolare se misurato in blocchi. Sebbene sia ancora regolare se misurato in tempo umano, il mining è un processo fondamentalmente probabilistico e quindi esiste la possibilità che alcuni blocchi vengano trovati molto rapidamente o con un ritardo comparabile.
  • Difficulty adjustment: Sebbene l'aggiustamento della difficoltà sia un processo molto ordinato, può essere un po' caotico se la potenza di hash cambia drasticamente (come è successo nell'agosto 2017, a causa della controversa hard fork di bcash). L'aggiustamento della difficoltà si basa sul tempo del blocco, che è legato solo in modo probabilistico al tempo umano.
  • Bitcoin supply: L'offerta di Bitcoin è fissa fin dalla sua nascita. L'emissione di nuovi bitcoin è incorporata nel codice di consenso di Bitcoin ed è quindi virtualmente impossibile da modificare.
  • Whole ledger, deeply buried blocks (aka the Bitcoin block chain): Struttura ordinata e sequenziale che è praticamente inequivocabile fino all’estremità della catena e può essere convalidata da tutti.
  • Ledger validation: La convalida è un processo ordinato e sequenziale. Il risultato di questo processo è un semplice valore booleano per ogni blocco: vero o falso, valido o non valido. Ogni nodo arriva alla stessa altezza di blocco in modo indipendente, il che costituisce il consenso di Nakamoto.

Il fatto che tutto questo, l'intero meccanismo, funzioni di concerto per fornire una risposta affermativa o negativa alla domanda "È questo ciò che è realmente accaduto?" non finirà mai di stupirmi.

Permettetemi di ripetere quanto detto sopra. L'intero scopo dell'organismo Bitcoin è quello di decidere cosa è successo quando a chi. Quanto hanno tutti e come si è arrivati a questo? Il come è importante, perché permette a tutti di verificare tutto e di arrivare alla stessa conclusione.

In breve, Bitcoin utilizza processi caotici (mining, generazione di chiavi private) e l'asimmetria informativa (informazioni pubbliche ampiamente condivise, informazioni segrete non condivise affatto) per costruire un registro strutturato, ordinato e permanente, che può essere controllato e verificato da tutti.

Questo è Bitcoin. Questo è il consenso di Nakamoto. Questa è l'innovazione, ed è anche ciò che rende il bitcoin il denaro migliore e più difficile che sia mai esistito sul pianeta Terra.

Potreste chiamarla aperta, senza permessi, senza confini, neutrale, resistente alla censura, pubblica, sana, antifragile e un paio di altri aggettivi.

Io la chiamo Vita. E tutti noi la chiamiamo Bitcoin.

@dergigi

Come da volere del titolare, tranne dove diversamente indicato, il contenuto di questo articolo è concesso in licenza CC BY-SA 4.0