Welcome to EverybodyWiki 😃 ! Nuvola apps kgpg.png Log in or ➕👤 create an account to improve, watchlist or create an article like a 🏭 company page or a 👨👩 bio (yours ?)...

Base58

From EverybodyWiki Bios & Wiki


Base58 in the original bitcoin source code

The base58 encoding scheme uses 58 characters. It is a binary-to-text encoding scheme that represent binary data in an ASCII string format.[1][2]

Satoshi Nakamoto invented the base58 encoding scheme when creating bitcoin.[3]

Advantages[edit]

A bitcoin address does not use the 0OIl characters.

The main difference between base58 and base62 is that base58 does not use the 0 (zero), I (capital i), O (capital o) and l (lower case L). In some fonts these 0OIl characters look the same. By not using those characters it eliminates human reading errors. The base64 also uses the + and / characters (and = for padding). Some messaging and social media systems line break on non-alphanumeric strings. This is avoided by not using characters like +, /, !, #, and so on.[3]

 123456789ABCDEFGH JKLMN PQRSTUVWXYZabcdefghijk mnopqrstuvwxyz
= 58 characters = base58

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
= 62 characters = base62

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/
= 64 characters = base64

Base58 Table[edit]

Index Binary Char Index Binary Char Index Binary Char Index Binary Char
0 000000 1 16 010000 H 32 100000 Z 48 110000 q
1 000001 2 17 010001 J 33 100001 a 49 110001 r
2 000010 3 18 010010 K 34 100010 b 50 110010 s
3 000011 4 19 010011 L 35 100011 c 51 110011 t
4 000100 5 20 010100 M 36 100100 d 52 110100 u
5 000101 6 21 010101 N 37 100101 e 53 110101 v
6 000110 7 22 010110 P 38 100110 f 54 110110 w
7 000111 8 23 010111 Q 39 100111 g 55 110111 x
8 001000 9 24 011000 R 40 101000 h 56 111000 y
9 001001 A 25 011001 S 41 101001 i 57 111001 z
10 001010 B 26 011010 T 42 101010 j
11 001011 C 27 011011 U 43 101011 k
12 001100 D 28 011100 V 44 101100 m
13 001101 E 29 011101 W 45 101101 n
14 001110 F 30 011110 X 46 101110 o
15 001111 G 31 011111 Y 47 101111 p

Usage[edit]

Bitcoin uses base58 to encode bitcoin addresses. Satoshi Nakamoto wanted to avoid that people misread bitcoin addresses and make a wrong transaction by using base58 (see image). Other cryptocurrencies also use base58.[1] Flickr uses base58 to compress their photo-ids.[4] In Decentralized identifiers the World Wide Web Consortium[5] also uses the base58 scheme. Base58 is the default encoding used for content identifiers in the InterPlanetary File System and other systems that use its CID Specification.[6]

References[edit]

  1. 1.0 1.1 "Base58 and Base58Check Encoding". O'Reilly Media. Retrieved August 24, 2020. Base58 is a subset of Base64, using upper- and lowercase letters and numbers, but omitting some characters
  2. Sherif, Mostafa Hashem (19 December 2017). Protocols for Secure Electronic Commerce. ISBN 9781482203776. Retrieved August 27, 2020. The binary address is displayed as a text using Base58 encoding, prepended with recognizable characters Search this book on Amazon.com Logo.png
  3. 3.0 3.1 "The Base58 Encoding Scheme". Internet Engineering Task Force. May 30, 2020. Retrieved August 29, 2020. Thanks to Satoshi Nakamoto for inventing the Base58 encoding format and the Bitcoin community for popularizing its usage.
  4. "Photo Source URLs". Flickr. Retrieved 12 August 2020. Base58 is used to compress the photo-ids
  5. "Decentralized Identifiers (DIDs)". World Wide Web Consortium. Archived from the original on July 30, 2020. Retrieved 12 August 2020. The Base58 Encoding Scheme
  6. "Content addressing and CIDs". InterPlanetary File System. Retrieved 24 August 2020. used base 58-encoded multihashes as the content identifiers


This article "Base58" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Base58. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.