Base58
Base58 è un insieme di schemi di codifica da binario a testo, specificati da Satoshi Nakamoto per la rete Bitcoin, al fine di rappresentare numeri interi grandi come testo alfanumerico.
Da allora, è stato applicato ad altre crittovalute e applicazioni. È simile al Base64, ma è stato modificato per eliminare sia i caratteri non alfanumerici che quelle lettere che potrebbero essere confuse con altre, quando stampate. È quindi progettato per gli utenti umani che inseriscono manualmente i dati, copiandoli da una qualche sorgente visiva, ma consente anche una facile copia e incolla, perché un doppio clic di solito seleziona l'intera stringa.
Rispetto al Base64, sono state eliminate le seguenti lettere tra loro simili e in grado generare errati riconoscimenti: 0 (zero) e O ("o" maiuscola), così come I ("i" maiuscola) e l (lettere L minuscola), oltre ai caratteri non alfanumerici + (più) e / (slash).
Diversamente da Base64, le cifre della codifica non si allineano bene con i limiti di bit dei dati originali. Per questo motivo, il metodo è adatto per codificare interi di grandi dimensioni, ma non è progettato per codificare porzioni più lunghe di dati binari. L'ordine effettivo delle lettere nell'alfabeto varia a seconda dell'applicazione, motivo per il quale il solo termine "Base58" non è sufficiente per descrivere completamente il formato. Base58Check è uno dei formati di codifica Base58, che inizia con l'identificatore del tipo di dati e termina con un codice di controllo nei rimanenti caratteri. [1]
La variante Base56 differisce dalla Base58 per l'esclusione dei caratteri 1 (uno) e o (o minuscola).
Esempi[modifica | modifica wikitesto]
Applicazione | Alfabeto |
---|---|
Indirizzi Bitcoin [2] | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz [3]
|
Hash per InterPlanetary File System[4] | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz [5]
|
URL abbreviato per Flickr[6] | 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ [7]
|
Note[modifica | modifica wikitesto]
- ^ Andreas M. Antonopoulos, Base58 and Base58Check Encoding, in Mastering Bitcoin, O'Reilly, 2015.
- ^ https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
- ^ Base58 symbol chart
- ^ https://github.com/ipfs/specs/blob/master/overviews/implement-api-bindings.md
- ^ Base58 - github
- ^ https://www.flickr.com/services/api/misc.urls.html#short
- ^ flickr.com