Misplaced Pages

Base58: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 11:10, 23 October 2019 editArtoria2e5 (talk | contribs)Extended confirmed users, IP block exemptions34,535 edits Applications: IPFS and Bitcoin chart is the same← Previous edit Revision as of 11:14, 23 October 2019 edit undoAndy Dingley (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers160,456 edits Undid revision 908694324 by Incnis Mrsi (talk)Tag: UndoNext edit →
Line 2: Line 2:
https://en.bitcoin.it/Base58Check_encoding#Background</ref> It has since been applied to other ] and applications. It is similar to ] but has been modified to avoid both non-alphanumeric characters and letters which might look ambiguous when printed. It is therefore designed for human users who manually enter the data, copying from some visual source, but also allows easy ] because a ] will usually ] the whole string. https://en.bitcoin.it/Base58Check_encoding#Background</ref> It has since been applied to other ] and applications. It is similar to ] but has been modified to avoid both non-alphanumeric characters and letters which might look ambiguous when printed. It is therefore designed for human users who manually enter the data, copying from some visual source, but also allows easy ] because a ] will usually ] the whole string.


Compared with Base64, the following similar-looking letters are omitted: 0 (zero), O (capital o), I (capital i) and l (lower case L) as well as the non-alphanumeric characters + (plus) and / (slash). In contrast with Base64, the digits of the encoding do not line up well with ] boundaries of the original data. For this reason, the method is well-suited to encode large integers, but not designed to encode longer portions of ]. The actual order of letters in the alphabet depends on the application, which is the reason why the term “Base58” alone is not enough to fully describe the format. A variant, Base56, excludes 1 (one) and o (lowercase o) compared with Base 58. Compared with Base64, the following similar-looking letters are omitted: 0 (zero), O (capital o), I (capital i) and l (lower case L) as well as the non-alphanumeric characters + (plus) and / (slash). In contrast with Base64, the digits of the encoding do not line up well with ] boundaries of the original data. For this reason, the method is well-suited to encode large integers, but not designed to encode longer portions of ]. The actual order of letters in the alphabet depends on the application, which is the reason why the term “Base58” alone is not enough to fully describe the format. A variant, Base56, excludes 1 (one) and o (lowercase o) compared with Base 58.


'''Base58Check''' is a Base58 encoding format that unambiguously encodes the type of data in the first few characters and includes an ] code in the last few characters.<ref> '''Base58Check''' is a Base58 encoding format that unambiguously encodes the type of data in the first few characters and includes an ] code in the last few characters.<ref>

Revision as of 11:14, 23 October 2019

Base58 is a group of binary-to-text encoding schemes used to represent large integers as alphanumeric text, introduced by Satoshi Nakamoto for use with Bitcoin. It has since been applied to other cryptocurrencies and applications. It is similar to Base64 but has been modified to avoid both non-alphanumeric characters and letters which might look ambiguous when printed. It is therefore designed for human users who manually enter the data, copying from some visual source, but also allows easy copy and paste because a double-click will usually select the whole string.

Compared with Base64, the following similar-looking letters are omitted: 0 (zero), O (capital o), I (capital i) and l (lower case L) as well as the non-alphanumeric characters + (plus) and / (slash). In contrast with Base64, the digits of the encoding do not line up well with byte boundaries of the original data. For this reason, the method is well-suited to encode large integers, but not designed to encode longer portions of binary data. The actual order of letters in the alphabet depends on the application, which is the reason why the term “Base58” alone is not enough to fully describe the format. A variant, Base56, excludes 1 (one) and o (lowercase o) compared with Base 58.

Base58Check is a Base58 encoding format that unambiguously encodes the type of data in the first few characters and includes an error detection code in the last few characters.

Applications

Application Alphabet
Bitcoin addresses 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
IPFS hashes
short URLs for Flickr 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ

See also

References

  1. https://en.bitcoin.it/Base58Check_encoding#Background
  2. Andreas M. Antonopoulos. "Mastering Bitcoin". section "Base58 and Base58Check Encoding". (O’Reilly, 2015).
  3. https://en.bitcoin.it/Technical_background_of_version_1_Bitcoin_addresses
  4. https://en.bitcoin.it/Base58Check_encoding#Base58_symbol_chart
  5. https://github.com/ipfs/specs/blob/master/overviews/implement-api-bindings.md
  6. https://www.flickr.com/services/api/misc.urls.html#short
  7. https://www.flickr.com/groups/api/discuss/72157616713786392/
Bitcoin
People
Lists
Technologies
Forks
Client
Currency
History
Movies
Legal entities
(not exchanges)
Bitcoin in El Salvador
Categories: