Come si genera un indirizzo Bitcoin

Generare un indirizzo Bitcoin, ovvero una chiave pubblica, è completamente anonimo e può essere effettuato anche senza connessione alla rete.

I software wallet ormai permettono la generazione di un indirizzo semplicemente cliccando un bottone che crea la coppia chiavi: pubblica e privata.

Perché non serve l’accesso alla rete?

Dato che ci sono a disposizione un numero elevatissimo di indirizzi, non c’è neanche la necessità di controllare che qualcun altro abbia già quello stesso indirizzo.

differenza della registrazione di un indirizzo email, dove la maggioranza delle volte ci troviamo a provare degli indirizzi che sono già presi, il numero di possibili indirizzi di Bitcoin è talmente elevato (1,46 x 10^48 ovvero 2^160) da evitare questo problema e da proteggere la rete Bitcoin da altre minacce.

Quantifichiamo i possibili indirizzi con un paragone

Alcune stime su quanti granelli di sabbia siano presenti sulla terra parlano di un numero pari a 7.5 x 10^18. Anche se ogni granello di sabbia rappresentasse un mondo con la stessa quantità di granelli di sabbia, il numero totale sarebbe sull’ordine di 10^36, che è sempre molto minore al numero di possibili indirizzi Bitcoin che è dell’ordine di 10^48.

Da che cosa è dato il livello di sicurezza sulle transazioni dei Bitcoin?

Fino ad ora abbiamo parlato di firma digitale per confermare l’effettiva proprietà di un determinato indirizzo e di riferimenti a transazioni precedenti per confermare che un indirizzo abbia soldi sufficienti da spendere. Purtroppo c’è ancora un problema di sicurezza che può far saltare il processo di controllo dei BTC non spesi, ovvero il problema dell’ordine delle transazioni.

Teniamo in mente il fatto che le transazioni vengono passate da nodo a nodo attraverso tutta la rete: non c’è garanzia che l’ordine in cui ricevo 2 transazioni è lo stesso ordine con cui tali transazioni sono state create. Inoltre non posso fidarmi del timestamp (data sul computer) sulla transazione perché è facilmente falsificabile da chi crea la transazione.

Non potendo dire se una transazione viene prima di un’altra si dà spazio a possibili frodi.

Facciamo un esempio:

Un utente A protrebbe creare una transazione per dare dei BTC a B, aspettare che B invii il prodotto e poi creare un’altra transazione che riferisca lo stesso input della prima ad A.

A causa delle differenze di propagazione delle transazioni nella rete, alcuni nodi potrebbero ricevere prima la transazione 1 ed altri la transazione 2. Tutti i nodi che riceverebbero per prima la transazione 2 considererebbero non valida la transazione 1, poiché sta cercando di utilizzare come input una transazione già spesa. Quindi B avrebbe spedito il prodotto ma non riceverebbe quanto a lui dovuto!

double-spending

Oltretutto sulla rete non ci sarebbe accordo su chi effettivamente ha i soldi in questo istante poiché i nodi che ricevono per prima la transazione 1 collegano i soldi a B (giustamente) mentre coloro che ricevono per prima la transazione 2 imputano i soldi ad A(che avrebbe messo a segno una frode detta Double Spending).

Per risolvere il suddetto problema, si deve mettere in piedi un meccanismo che permetta ai nodi di concordare su un ordine univoco delle transazioni. Questo è un problema non indifferente per una rete decentralizzata.

La soluzione a tale problema si chiama Block Chain e vedremo come funziona nel dettaglio nella prossima parte.

 

Rimani aggiornato con le ultime novità su investimenti e trading!

Telegram
Lascia un commento

Fare Trading con CFD comporta un considerevole rischio di perdita di capitali.
Seowebbs S.r.l. – P. IVA 04278590759

X

Avviso di rischio - Il 74-89 % dei conti degli investitori al dettaglio subisce perdite monetarie in seguito a negoziazione in CFD. Valuti se comprende il funzionamento dei CFD e se può permettersi di correre questo alto rischio di perdere il Suo denaro.