Indirizzo Bitcoin

L’indirizzo Bitcoin è un elemento identificativo (numero del conto), che inizia con le cifre 1 o 3 e contiene 27-34 caratteri Latini alfanumerici (ad eccezione di 0, O, I). L’indirizzo può anche essere rappresentato come codice QR, è anonimo e non contiene informazioni relative al proprietario. Può essere ottenuto gratuitamente, utilizzando, ad esempio, il software Bitcoin. Esempio di indirizzo:

Gli indirizzi possono essere generati senza alcun costo da qualsiasi utente del sistema Bitcoin. Ad esempio, se si usa , basta cliccare su “Nuovo Indirizzo” per essere assegnati ad un indirizzo. E’ inoltre possibile ottenere un indirizzo Bitcoin utilizzando un conto relativo ad un servizio di scambio valute o un servizio di portafoglio digitale.

Attualmente sono comunemente usati due tipologie di indirizzo:

Il comune P2PKH che inizia con il numero 1, ad esempio:

E la nuova tipologia P2SH che inizia con il numero 3, ad esempio:

Da cosa è composto un indirizzo

La maggior parte degli indirizzi Bitcoin si compone di 34 caratteri. Sono costituiti da cifre casuali e da lettere maiuscole e minuscole, ad eccezione della lettera maiuscola “O”, della lettera maiuscola “I”, della lettera minuscola “l”, e del numero “0”, che non vengono mai utilizzati per evitare di creare confusione.

Alcuni indirizzi Bitcoin possono essere composti da meno di 34 caratteri (fino a 26) e sono comunque validi. Una percentuale rilevante di indirizzi Bitcoin è composta da soli 33 caratteri, e alcuni indirizzi possono averne anche meno. Ciascun indirizzo Bitcoin corrisponde ad un numero. Questi indirizzi più brevi sono validi unicamente per il fatto di corrispondere a numeri che iniziano con zeri, e quando mancano gli zeri, l’indirizzo codificato si abbrevia.

Diversi caratteri all’interno di un indirizzo Bitcoin sono utilizzati come punto di controllo (checksum) in modo tale da individuare ed eliminare automaticamente eventuali errori di battitura. Il checksum consente inoltre al software Bitcoin di confermare che un indirizzo di 33 caratteri (o più breve) sia valido a tutti gli effetti e che non manchi nessun carattere.

Scopi ed opportunità

Il grafico mostra come gli indirizzi Bitcoin sono consegnati da parte di una chiave pubblica (public key)

Trasferire/ricevere transazioni in Bitcoins (criptovaluta, BTC) può essere effettuato attraverso un indirizzo un po’ come mandare una e-mail. Una persona può creare un numero illimitato di indirizzi, aumentando il livello di anonimato dei pagamenti. Quando si effettua la successiva transazione con BTC viene spesso creato un nuovo indirizzo (i fondi sono accreditati/prelevati entro 1-2 ore). Contemporaneamente viene generato un paio di chiavi private, che forniscono l’accesso a chi si identifica e la possibilità di effettuare transazioni con la valuta. Tali chiavi sono conservate nel file wallet.dat sul computer dell’utente.

Condizioni di inserimento

Al fine di evitare errori durante la digitazione manuale dell’indirizzo, si consiglia di utilizzare la clipboard. Il registro dei simboli viene preso in considerazione durante l’immissione manuale dell’indirizzo. In caso di un inserimento errato, i Bitcoins sono inviati all’indirizzo sbagliato oppure la transazione viene respinta. L’ultimo passaggio è svolto automaticamente se l’elemento di identificazione contiene simboli utilizzati come un checksum (al fine della verifica).

La probabilità che un indirizzo contenente errori di digitazione sia accettato come valido è circa di 1 su 4.29 miliardi.

Fase di generazione

L’indirizzo è ottenuto generando numeri casuali ed eseguendo precise operazioni matematiche. Non richiede una connessione ad Internet né la registrazione sulla rete Bitcoin, da cui solo successivamente sarà monitorato. In un minuto è possibile generare migliaia di indirizzi (inclusi quelli personalizzati) e di chiavi, ad esempio, con l’utilizzo dell’utility Vanitygen.

La creazione di indirizzi può essere effettuata in assenza di una connessione ad Internet e non richiede alcun contatto o registrazione alla rete Bitcoin. E’ possibile creare volumi notevoli di indirizzi offline utilizzando software disponibili gratuitamente. Generare indirizzi in grandi quantità è utile in diverse situazioni, come sui siti di e-commerce dove un unico indirizzo pre-generato è assegnato a ciascun acquirente che sceglie l’opzione “paga in Bitcoins”. I nuovi possono generare un “seed” token che può essere utilizzato per consentire ai sistemi untrusted (come i server web) di generare un numero illimitato di indirizzi senza la possibilità di spendere i Bitcoins ricevuti.

Transazioni

La registrazione di un trasferimento di BTC da un indirizzo all’altro genera una transazione. Contiene l’ della transazione precedente firmata dal mittente e l’indirizzo del destinatario dei Bitcoins. Tutte le informazioni sono inviate alla rete Bitcoin e, dopo la verifica delle firme, la transazione è accettata per l’elaborazione.

La maggior parte dei portafogli di Bitcoin ha una funzione che consente di “firmare” un messaggio, così da dimostrare che chi riceve i fondi tramite un indirizzo ha accettato il messaggio stesso. Tale funzione può essere utile, ad esempio, per portare a termine un contratto in una modalità dimostrabile all’interno di un sistema crittografato prima di effettuare il relativo pagamento.

Alcuni servizi ricorreranno a tecniche di piggy-back su questa funzione creando un indirizzo dedicato alla sola autenticazione, in tal caso l’indirizzo non andrebbe mai utilizzato per transazioni di Bitcoins. Quando si accede o si utilizza il loro servizio, si fornisce una firma che dimostra che si tratta della stessa persona dell’indirizzo stabilito in precedenza.

E’ importante ricordare che tali firme attestano unicamente che si stratta dell’indirizzo del ricevente. Dal momento che le transazioni di Bitcoins non prevedono un indirizzo di “partenza”, non puoi dimostrare di essere il mittente dei fondi.

Gli standard attuali per i messaggi forniti sono compatibili unicamente con gli indirizzi Bitcoin della “versione zero” (gli indirizzi che iniziano con il numero 1).

Convalida dell’indirizzon

Se si ha intenzione di convalidare un indirizzo Bitcoin all’interno di un’applicazione, è consigliabile il metodo proposto in questa discussione, piuttosto che soffermarsi sulla lunghezza, sui caratteri validi, o sul fatto che l’indirizzo inizi con 1 o 3. La convalida può essere fatta anche utilizzando un codice open source disponibile in diverse lingue o mediante uno strumento di convalida online.

Perdita di Bitcoins

Nelle seguenti situazioni può verificarsi la perdita di Bitcoins:

  • in caso di perdita del wallet per guasto del disco rigido,
  • quando si genera un nuovo indirizzo, si ottengono BTC e poi si ripristina il wallet ad un backup precedente alla creazione dell’indirizzo,
  • quando si inviano Bitcoins ad un indirizzo a cui non è associato un proprietario.

Indirizzi

E’ possibile creare indirizzi che richiedano una combinazione di più chiavi private. Dal momento che questi utilizzano le nuove funzionalità presentano il nuovo prefisso iniziale 3, invece che il vecchio 1. Sono da considerare un po’ l’equivalente della firma di un assegno a due contraenti- “pagabile a Tizio E anche a Caio”- laddove le due parti devono approvare l’assegno per ricevere i fondi.

Il principale requisito (numero di chiavi private necessarie, le corrispondenti chiavi pubbliche, ecc.) da soddisfare per spendere i fondi viene deciso in anticipo dalla persona che genera questo tipo di indirizzo, e una volta creato l’indirizzo, il requisito non può essere modificato senza generare un nuovo indirizzo.

Saldo di un indirizzo

Gli indirizzi non sono wallets o conti, e non presentano un saldo. La loro unica funzione è quella di ricevere fondi, e non si può inviare “da” un indirizzo in qualsiasi momento. Numerosi servizi generano confusione e alcuni software mostrano la dicitura Bitcoins ricevuti con un indirizzo, meno i Bitcoins inviati in una qualsiasi transazione non correlata come se si trattasse di un “saldo dell’indirizzo”, ma queste cifre non hanno alcun significato: non implicano che il ricevente dei Bitcoins inviati all’indirizzo li abbia effettivamente spesi, né che possieda ancora i Bitcoins ricevuti.

Un esempio di perdita di Bitcoins legato a questo tipo di fraintendimento si verifica quando le persone credono che il proprio indirizzo contenga 3BTC. Ne spendono 0.5BTC e quindi si aspettano che l’indirizzo ne abbia ancora 2.5BTC quando in realtà ne contiene zero. I 2.5BTC restanti sono stati trasferiti ad un indirizzo di ritorno (il change) non operativo e quindi i fondi sono persi. Tale situazione si è verificata in diverse occasioni agli utenti di .

Indirizzi di “provenienza”

Le transazioni in Bitcoin non hanno alcun tipo di origine, fonte o indirizzo di provenienza (“from address”).

Articoli correlati

Links