Disponibile come podcast
Condividi l'articolo:

Bitcoin è il primo sistema monetario a funzionare senza l'intervento di un'autorità centrale. Si basa su diversi concetti che ne garantiscono il corretto funzionamento. Tra le altre cose, è stabilito su un server di timestamp distribuito per generare una prova della cronologia delle transazioni. Questo strumento risolve uno dei problemi più importanti nell'implementazione di un sistema di pagamento senza un'autorità centrale: la doppia spesa.

In questo articolo, studiamo alcuni degli aspetti tecnici alla base del protocollo Bitcoin: le firme digitali, il server di timestamp distribuito e la transazione.

Firme digitali

A differenza del sistema bancario tradizionale che associa il denaro all'identità, la proprietà di una moneta Bitcoin è garantita dall'uso della crittografia asimmetrica. Ogni pezzo di bitcoin è associato sulla rete a una coppia di chiavi crittografiche.

Vengono così definiti due concetti: la chiave pubblica e la chiave privata. La chiave pubblica consente all'utente di ricevere bitcoin, in particolare tramite un indirizzo, generando una condizione di spesa per una moneta. Per spendere questi fondi, il legittimo proprietario dovrà produrre una firma utilizzando la chiave privata associata.

L'utente deve quindi garantire la sicurezza delle sue chiavi private, poiché consentono un accesso illimitato ai suoi bitcoin.

Il problema di questo sistema è che chi riceve bitcoin non ha modo di verificare che queste unità non siano state spese due volte: si chiama doppia spesa. Una rete di pagamento che lo consente ovviamente non può funzionare. Abbiamo bisogno di un modo per consentire al beneficiario di un pagamento in Bitcoin di verificare che le monete ricevute non siano già state spese durante una precedente transazione verso un altro beneficiario.

La rete Bitcoin utilizza quindi un server di timestamp per poter contrassegnare le transazioni nel tempo.

➤ Scopri di più su cos'è Bitcoin.

Il server di timestamp distribuito (blockchain)

Per evitare doppie spese, su Bitcoin, si definisce che la transazione più vecchia è quella che conta. Ad esempio, supponiamo che Alice abbia 2 bitcoin e li invii a Bob alle 15:00. Questa transazione verrà convalidata dalla rete. Se Alice prova a inviare questi stessi 2 bitcoin a Charles alle 16:00, questa transazione verrà rifiutata poiché Alice li ha già spesi in passato.

Affinché Bob possa assicurarsi che Alice non abbia già speso questi bitcoin, deve avere accesso a un registro che elenca tutte le transazioni che sono già state convalidate. Su Bitcoin, questo registro è un server di timestamp.

Potremmo quindi definire un attore centrale, che gestirà questo registro e che determinerà quali transazioni sono avvenute per prime. Ma su Bitcoin, per ridurre il bisogno di fiducia, vogliamo avere una rete di pagamento che non si basi su alcuna autorità centrale. Questo server di timestamp deve quindi essere distribuito a ciascun utente. Per evitare doppie spese, tutti dovrebbero essere a conoscenza di tutta la cronologia delle transazioni. Quindi, quando Bob riceve una transazione da Alice, lui stesso è in grado di verificare che i bitcoin impegnati non siano già stati commessi in un'altra transazione in passato.

Il formato del server timestamp scelto per Bitcoin è una blockchain. Anche se questo termine viene spesso frainteso, si tratta di ciò che si conosce come «Blockchain».

➤ Scopri di più sulla Blockchain.

Il suo principio è semplice: ogni transazione viene registrata in un blocco di timestamp. Un blocco è semplicemente un agglomerato di transazioni. Vengono creati in media ogni 10 minuti e ognuno include l'impronta del blocco che lo precede. Formano così una catena.

Quella che chiamo «impronta digitale» è in realtà un hash. Passiamo l'intestazione del blocco a una funzione hash, vale a dire a funzione che associa dati di dimensioni arbitrarie a valori di dimensione fissa e otteniamo l'impronta digitale del blocco. L'impronta è quindi un riepilogo di tutte le informazioni contenute nel blocco.

Con tutti questi dettagli, stiamo iniziando a immaginare una rete di pagamento efficiente. Ma abbiamo ancora qualche problema da risolvere! Come si fa a garantire che gli utenti concordino su un'unica blockchain comune? E come si fa a scegliere chi inserisce i nuovi blocchi, e quindi le nuove transazioni, in questo registro distribuito?

È qui che entra in gioco la pietra angolare del sistema Bitcoin: il Nakamoto Proof-of-Work Consensus (Proof of Work).

➤ Scopri di più sul consenso di Nakamoto tramite una prova di lavoro.

Come funziona una transazione Bitcoin?

Innanzitutto, l'utente che desidera inviare un pagamento creerà una transazione. In esso, indicherà quali bitcoin spendere e dove inviarli. La transazione Bitcoin è quindi composta da input e output (in inglese «input» e «outputs»). Le voci rappresentano i bitcoin utilizzati per pagare. Si dice che le voci siano «consumate» dalla transazione. Gli output rappresentano le destinazioni di pagamento. Si dice che gli output vengano «creati» in cambio di input che vengono «consumati».

Affinché la transazione sia valida, l'importo totale dei deflussi deve essere inferiore o uguale all'importo totale delle entrate. Le commissioni di transazione, che vengono pagate ai miner, rappresentano la differenza tra il totale degli afflussi e il totale delle uscite.

Una volta raccolte queste informazioni, il mittente della transazione le firmerà con la chiave privata associata ai bitcoin utilizzati per il pagamento in ingresso. La firma permette di dimostrare che l'utente che vuole spendere è di fatto il legittimo proprietario della chiave privata, e quindi dei bitcoin depositati, senza rivelare la chiave. Se gli input Bitcoin sono associati a coppie di chiavi diverse, è necessario produrre una firma per ogni coppia di chiavi.

Il mittente trasmette quindi la transazione firmata alla rete Bitcoin, cioè ai nodi. I nodi verificano singolarmente che la transazione e le firme ricevute siano valide. In tal caso, ogni nodo trasmette questa transazione ad altri nodi che la controlleranno e poi la ritrasmetteranno. Questo processo continua fino a quando tutti i nodi della rete non vengono informati dell'esistenza di questa transazione.

La transazione dell'emittente è ora nel «mempool» (Pool di memoria). In altre parole, è nella memoria dei nodi, in attesa che un miner lo includa in un blocco valido, che rappresenterà la loro prima conferma.

Questa fase della creazione del blocco da parte del minatore sarà oggetto dell'articolo della prossima settimana.

Conclusione

Il sistema monetario Bitcoin si basa su numerosi meccanismi. Ognuno di questi ingranaggi non è una vera tecnologia a sé stante, eppure sono tutti essenziali per il corretto funzionamento di Bitcoin.

La proprietà dei bitcoin è garantita attraverso l'uso di firme elettroniche. Le chiavi pubbliche consentono di ricevere bitcoin creando condizioni di spesa e le chiavi private associate consentono di sbloccarli.

Per evitare doppie spese su questa rete peer-to-peer, viene utilizzato un server di timestamp, a volte chiamato anche «Blockchain».

Una transazione Bitcoin è costituita da voci (Ingressi) e gite (Uscite). Gli input vengono consumati per poter creare gli output.

Disponibile come podcast

Riepilogo

Condividi l'articolo:

Potrebbero piacerti questi articoli

Bitstack SAS, una società iscritta nel Registro del Commercio e delle Società di Aix-en-Provence con il numero 899 125 090, con il nome commerciale Bitstack, è registrata come agente di Xpollens - un istituto di moneta elettronica approvato dall'ACPR (CIB 16528 - RCS Nanterre n. 501586341, 110 Avenue de France 75013 Parigi) - presso l'Autorità di controllo e risoluzione prudenziale («ACPR»).») con il numero 747088 e approvato come Crypto-Asset Service Provider («PSCA») presso l'Autorité des Marchés Financiers («AMF») come scambio di criptovalute con fondi, lo scambio di criptoasset per altri cryptoasset, esecuzione di ordini di criptoasset per conto dei clienti, custodia e amministrazione di criptoasset per conto dei clienti e fornitura di servizi di trasferimento di criptovalute per conto dei clienti con il numero A2025-003, la cui sede principale si trova al 100 Impasse des Houillères 13590 Meyreuil.

L'investimento in asset digitali comporta il rischio di perdita parziale o totale del capitale investito.
Le performance passate non sono garanzia di performance future.
SCARICA
Bitstack