Come funziona Bitcoin?

Circa un anno fa, quando il treno Bitcoin stava appena iniziando a prendere fuoco, un amico si voltò verso di me e chiese, Allora perché non puoi semplicemente copiare un Bitcoin?

Circa un anno fa, quando il treno Bitcoin stava appena iniziando a prendere fuoco, un amico si voltò verso di me e chiese, Allora perché non puoi semplicemente copiare un Bitcoin?
Annuncio pubblicitario

Circa un anno fa, quando il treno Bitcoin stava appena iniziando a prendere fuoco, un amico si voltò verso di me e chiese: "Allora, perché non puoi semplicemente copiare un Bitcoin?"

Questa è una confusione che molte persone hanno e una buona: la nozione di un'entità digitale che non può essere facilmente copiata è del tutto non intuitiva. In effetti, la rete Bitcoin è una delle tecnologie più interessanti e meno comprese nella coscienza popolare in questo momento. È un peccato, perché la meccanica sottostante di Bitcoin è davvero piuttosto semplice. Non hai nemmeno bisogno di una matematica particolarmente dura, se sei disposto a prendere alcune cose sulla fede.

Abbiamo coperto, in passato, cosa Bitcoin è Come Spiegare Bitcoin a Chiunque Come Spiegare Bitcoin a Chiunque Il concetto di criptovaluta non è facilmente comprensibile. Come si può usare il proprio computer per "estrarre" le monete? Da dove proviene il denaro? Chi lo controlla? Per saperne di più, come usarlo in modo sicuro Come spendere e conservare Bitcoin in modo sicuro, facile e gratuito Come spendere e conservare Bitcoin in modo sicuro, semplice e gratuito Leggi di più, e anche scritto un manuale sull'argomento, ma abbiamo mai veramente abituato a come funziona Oggi approfondiremo il "come" e parliamo degli strumenti necessari per mantenere il "denaro magico in Internet" dietro le quinte.

Bitcoin per il poker

Allora perché non puoi copiare un Bitcoin? La risposta, per farla breve, è che un Bitcoin non è realmente una stringa di dati da copiare: è una voce in un libro mastro distribuito che ti dice quanti soldi ha ogni persona. Il motivo per cui non è possibile modificare il registro è dovuto alla struttura intelligente della rete Bitcoin: ci sono molte copie del libro mastro e il libro mastro stesso è progettato in modo tale da essere difficile da manomettere.

Per capire meglio il problema, immagina di provare a implementare un Bitcoin di penna e carta ( WritCoin ) per un gioco di poker con i tuoi amici. Sei troppo economico per comprare le fiches, ma vuoi comunque tenere traccia di quanti soldi hanno tutti i giocatori, e lasciare che le persone si muovano tra loro.

dogsplayingbitcoinpoker

Una soluzione è quella di scegliere qualcuno che sia degno di fiducia per essere il custode dei record per il gioco: prendono nota di ogni transazione mentre accade, ti fa sapere se la transazione è riuscita (cioè non ha portato nessuno a un saldo negativo) e può sommare tutte le transazioni riuscite per capire quanti soldi hanno in un dato momento. Questo è simile a come funzionano PayPal e altri sistemi di pagamento centralizzati. Come puoi vedere, l'idea di copiare un'unità di valuta non ha molto senso in questo sistema - il custode del record non lo permetterebbe. Nota che il detentore del record è in una posizione di potere in questo scenario e può scegliere di darsi un sacco di soldi, rubare una piccola parte di tutti i soldi spesi o altrimenti abusare della sua posizione.

Ora, immagina che invece di giocare a poker con i tuoi amici, sei intrappolato in un gioco di poker mob ad alta posta in gioco, dove nessuno al tavolo si fida di qualcun altro per essere il recordkeeper (ma sei ancora troppo economico per comprare i chip).

Questa è una metafora per internet.

Ora hai un problema: perché non c'è fiducia, l'autorità centralizzata non funzionerà più. Quindi, vieni con l'idea intelligente di permettere a chiunque al tavolo di diventare un detentore del record indipendente, se lo desidera. Ognuno di loro prenderà nota di tutte le transazioni. In questo modo, quando arriva il momento di scoprire quanti soldi ha qualcuno, se qualche gruppo minoritario decide di mentire sui loro documenti, la maggior parte li prenderà di mira. Per mantenere le cose giuste, accetti tutti di pagare una piccola ricompensa ai detentori dei record in cambio dei loro servizi. Questo svaluta un po 'tutti i tuoi soldi, ma incoraggia le persone a diventare custodi di record e prevenire le frodi - e, a differenza di un unico detentore di record, la svalutazione del denaro può essere controllata a un livello gestibile. Questo è, in breve, il succo della rete Bitcoin. Una rete di computer indipendenti che eseguono software speciali (i minatori Bitcoin 5 modi per fare e il mio bitcoin valuta 5 modi per fare e il mio bitcoin valuta Il rivoluzionario e controverso metodo di pagamento ha fatto notizia. Ci sono molte ragioni per cui potresti volere per iniziare a eseguire transazioni usando Bitcoin, ma prima, devi guadagnare un po 'per te stesso Leggi di più) tiene traccia indipendentemente di tutte le transazioni che si sono mai verificate nella rete. In cambio, hanno la possibilità di essere premiati ogni volta che confermano un gruppo di transazioni. Per spendere soldi, basta parlare alla rete e informarli del desiderio di farlo. Annotano la transazione nei loro registri (se hai abbastanza soldi per farlo con successo), e vai avanti.

Bitcoin e crittografia

Certo, non è così semplice in pratica. Immagina il problema di provare a spostare WritCoin su Internet. Ora, all'improvviso, hai bisogno di un modo per dimostrare che in realtà stai facendo una transazione (nella vita reale, puoi vedere chi sta facendo richieste di transazione - non così su Internet). Inoltre, su Internet, con una grande rete, è difficile consultare tutti i minatori Bitcoin esistenti per scoprire quanti soldi hanno tutti. Sarebbe bello se potessi parlare con alcuni di loro ed essere ancora in grado di dire quale di loro fosse onesto. Esistono due strumenti crittografici che rendono queste cose possibili online: firme digitali e prove di lavoro .

Transazioni firmate

Una firma crittografica è un'applicazione intelligente della crittografia asimmetrica e funziona in questo modo: da una singola informazione segreta, è possibile eseguire una serie di operazioni matematiche che producono due informazioni sussidiarie (chiamate una chiave pubblica e una privata) come che qualsiasi cosa criptata (criptata in parole senza senso) dalla chiave privata può essere decodificata (non decodificata) solo dalla chiave pubblica . Inoltre, quando queste chiavi vengono prodotte correttamente, non c'è modo di scoprire quale sia la chiave privata, anche se si conosce la chiave pubblica. Spiegando come funzionano in realtà, la matematica richiede algebra astratta ed è ben oltre lo scopo di questo articolo. Se vuoi saperne di più, consulta l'articolo di Wikipedia sulla crittografia a curve ellittiche, il crittosistema utilizzato da Bitcoin.

Immagina, per un momento, di avere una chiave privata e una chiave pubblica che usi regolarmente. Potresti pubblicare la chiave pubblica (che assomiglia a una stringa casuale di incomprensibilità) e collegarla alla tua identità. Quindi, ogni volta che hai postato qualcosa online, puoi prendere il tuo messaggio, crittografarlo con la tua chiave privata segreta e pubblicare la versione crittografata e il messaggio originale fianco a fianco. Quindi, se qualcuno volesse vedere se effettivamente lo hai scritto, potrebbe semplicemente usare la tua chiave pubblica per decodificare la versione crittografata e confrontarla con il messaggio. Se non corrispondessero, il lettore avrebbe saputo che il tuo messaggio era stato manomesso. In altre parole, se una parte malintenzionata volesse sostituire il proprio messaggio con il proprio, non avrebbe modo di generare una versione crittografata corrispondente del testo, perché non conoscono la propria chiave privata. La versione crittografata del messaggio (o, più tipicamente, un hash crittografato del messaggio, di cui parleremo tra poco), allegata al messaggio stesso, viene chiamata firma digitale .

asyymetricencryption

Le firme digitali sono il modo in cui le transazioni vengono verificate in Bitcoin. Potresti aver sentito parlare di un "portafoglio Bitcoin". Un portafoglio Bitcoin è semplicemente una particolare coppia di chiavi pubblica / privata. Se si desidera un portafoglio Bitcoin, è sufficiente scegliere una informazione segreta (è possibile utilizzare una passphrase o fare in modo che il computer compia una stringa di assurdità) e quindi utilizzarla per generare la chiave pubblica e privata. La tua coppia di chiavi pubblica / privata è il tuo portafoglio: se le persone vogliono mandarti dei soldi, tu dai loro la tua chiave pubblica, e dicono alla rete che vorrebbero inviare denaro al portafoglio corrispondente a quella chiave pubblica. Se vuoi inviare denaro dal tuo portafoglio, devi solo comunicarlo alla rete e firmarlo con la chiave privata corrispondente. Pertanto, a meno che qualcuno non ottenga la tua chiave privata o il tuo segreto originale, non c'è modo per loro di falsificare le transazioni da te.

Proof-of-Work

Nella crittografia, esiste anche uno strumento chiamato funzione hash. Una funzione di hash prende semplicemente una grande quantità di informazioni come input e la codifica in una breve stringa di assurdità (la lunghezza dell'output è sempre la stessa e dipende dalla funzione che si usa). Le funzioni di hash sono sensibili, in quanto qualsiasi modifica minore ai dati originali cambia completamente e in modo non riconoscibile la stringa di assurdità (l '"hash"). Di conseguenza, le funzioni di hash hanno la proprietà unica di essere a senso unico - dato un pezzo di informazione, puoi facilmente cancellarlo, ma dato un hash particolare, non c'è modo di lavorare all'indietro per capire quale informazione era hash per crearlo, eccetto per indovinare a caso. Per ulteriori informazioni, consulta l'articolo di Wikipedia sulle funzioni di hash.

hash_function

Le funzioni di hash sono molto utili! L'applicazione più rilevante per Bitcoin è chiamata "proof-of-work", che è un modo per dimostrare a qualcun altro che è stata spesa una certa quantità di lavoro computazionale. Se qualcuno sceglie una parola a caso (diciamo "doppelganger") e tu rispondi con un'informazione il cui hash sembra essere "doppelganger" (o una stringa sufficientemente simile ad essa), allora sanno che hai speso un sacco di il tempo a indovinare prima di aver finalmente trovato un pezzo di informazione che funzionava. Pertanto, hanno la prova che hai eseguito una certa quantità di lavoro computazionale. Questo può essere usato per prevenire lo spam delle e-mail, forzando chiunque cerchi di inviarti una e-mail per completare una piccola prova di lavoro basata sul loro indirizzo e-mail, il tuo indirizzo e-mail e l'ora. Questa dimostrazione di lavoro può essere molto semplice, quindi non è affatto un disturbo per le persone comuni che inviano un po 'di email al giorno, ma diventa molto costoso per gli invii di grandi quantità.

In Bitcoin viene utilizzata la prova del lavoro per impedire alle persone di mentire. Funziona così: quando un minatore vuole aggiungere un blocco di transazioni al proprio libro mastro, prende l'intera catena di blocchi (un elenco di tutte le transazioni verificatesi fino ad oggi che il minatore potrebbe verificare erano valide) e aggiunge l'ultima gruppo di transazioni ad esso. Quindi eseguono l'hash di tutto e iniziano a eseguire il proof-of-work per quel valore, indovinando i valori all'hash per cercare di trovare un nuovo valore sufficientemente vicino al valore di destinazione. Mentre stanno facendo questo, i minatori di tutto il mondo stanno facendo esattamente la stessa cosa, gareggiando per essere i primi a trovare una prova di lavoro che sia "abbastanza buona" (uno standard che aumenta automaticamente per tenere il passo con la Legge di Moore e il crescita della rete). Il primo ad arrivare lì ottiene un guadagno (attualmente 25 Bitcoin o circa $ 15.600 al momento della scrittura) in cambio del loro servizio, e il loro blocco di successo viene distribuito a tutti gli altri minatori, e diventa un'aggiunta permanente alla catena di blocco.

La conseguenza di ciò è che, se si desidera generare una Blockchain contraffatta, è necessario riprodurre tutte le prove di lavoro eseguite dalla rete, che è costoso. Più indietro vuoi modificare qualcosa, più prove di lavoro si basano su quelle informazioni che devi rifare. È molto improbabile che qualcuno possa produrre prove di lavoro migliori e più veloci di tutta la legittima rete di mining Bitcoin, il che significa che, in genere, la catena di blocco su cui è stata effettuata la maggior parte delle prove di lavoro è legittima. Un altro modo per dire questo è che mentire nella rete Bitcoin è difficile, perché richiede un sacco di potenza computazionale per generare una bugia adeguatamente strutturata. Ciò significa che, se vuoi una blockchain precisa, non devi parlare con tutti i minatori Bitcoin e lasciarli votare: puoi semplicemente parlare con pochi minatori casuali, ottenere i loro blockchain e, se c'è un conflitto, accettare il versione con le prove di lavoro più forti, e ci sono ottime possibilità che sia quella vera.

Bitcoin in poche parole

Per riassumere: i portafogli Bitcoin sono coppie di chiavi pubbliche / private. Qualsiasi chiave pubblica può inviare denaro a qualsiasi altra chiave pubblica, facendo una dichiarazione alla rete, firmata con la chiave privata corrispondente. Questa affermazione viene trasmessa in peer-to-peer, tra tutti i minatori, che stanno tutti tentando di generare prove di lavoro per tutte le transazioni che hanno registrato fino ad oggi. Ogni volta che uno di loro genera una prova di lavoro sufficientemente buona, viene premiato con alcuni Bitcoin e il loro blocco diventa parte del registro ufficiale e distribuito. Sommando le transazioni in tutti i blocchi, puoi capire quanti soldi hai - o qualcun altro. Il registro è difficile da manomettere, a causa della difficoltà di produrre prove di lavoro più veloci rispetto al resto della rete.

Questo è (più o meno). Una volta compresi i primitivi crittografici in gioco, l'idea in realtà è piuttosto semplice. Ciò non dovrebbe, tuttavia, essere inteso nel senso che non è notevole. Costruire un protocollo che costringa migliaia di persone in tutto il mondo a confrontarsi onestamente, nonostante i loro migliori sforzi, è un'enorme vittoria per la crittografia e una delle idee più potenti degli ultimi anni.

Crediti fotografici: Waterloo Dogs Playing Poker, Crittografia asimmetrica, Hash Function, per gentile concessione di Wikimedia, Reservoir Dogs, da EW.com

In this article