Back to Course

3. Advanced Course

0% Complete
0/0 Steps
  1. 1. What is Taproot?
  2. 2. Blockchain bridges – what are they?
  3. 3. What is the 51% attack on blockchain?
  4. 4. Zero-knowledge proof – a protocol that respects privacy 
  5. 5. What is EOSREX?
  6. 6. Mirror Protocol – what it is? 
  7. 7. What is DAO, and how does it work?
  8. 8. What is spoofing in the cryptocurrency market? 
  9. 9. What is digital property rights in NFT?
  10. 10. How to verify a cryptocurrency project – cryptocurrency tokenomics 
  11. 11. What is Ethereum Plasma?
  12. 12. What is Ethereum Casper?
  13. 13. What is Selfish Mining? 
  14. 14. How to create your own NFT? 
  15. 15. Schnorr signatures - what are they? 
  16. 16. What is Zk-SNARK and Zk-STARK? 
  17. 17. What is Proof of Elapsed Time (PoET)?
  18. 18. MimbleWimble - what is it? 
  19. 19. What are ETFs and what role do they play in the cryptocurrency market? 
  20. 20. What are synthetic assets? 
  21. 21. Definition of DeFi, and what are its liquidations?
  22. 22. New identity system - Polygon ID
  23. 23. What is Ethereum Virtual Machine (EVM) and how does it work?
  24. 24. Ethereum Foundation and the Scroll protocol - what is it?
  25. 25. What is Byzantine fault tolerance in blockchain technology?
  26. 26. Scalability of blockchain technology - what is it?
  27. 27. Interchain Security - new Cosmos (ATOM) protocol
  28. 28. Coin Mixing vs. Coin Join - definition, opportunities, and threats
  29. 29. Soulbound Tokens - what are they, and how do they work?
  30. 30. Definition of LIDO - what is it?
  31. 38. What is Web3 Infura?
  32. 39. Mantle - Ethereum L2 scalability - how does it work?
  33. 40. Polygon zkEVM - everything you need to know
  34. 41. What is Optimism (OP), and how do its roll-ups work?
  35. 42. What are RPC nodes, and how do they work?
  36. 43. SEI Network: everything you need to know about the Tier 1 solution for DeFi
  37. 44. Types of Proof-of-Stake Consensus Mechanisms: DPoS, LPoS and BPoS
  38. 45. Bedrock: the epileptic curve that ensures security!
  39. 46. What is Tendermint, and how does it work?
  40. 47. Pantos: how to solve the problem of token transfer between blockchains?
  41. 48. What is asymmetric encryption?
  42. 49. Base-58 Function in Cryptocurrencies
  43. 50. What Is the Nostr Protocol and How Does It Work?
  44. 51. What Is the XDAI Bridge and How Does It Work?
  45. 52. Solidity vs. Rust: What Are the Differences Between These Programming Languages?
  46. 53. What is a Pinata in Web 3? We explain!
  47. 54. What Is a Real-Time Operating System (RTOS)?
  48. 55. What Is the Ethereum Rinkeby Testnet and How Does It Work?
  49. 56. What Is Probabilistic Encryption?
  50. 57. What Is EIP-4337? Will Ethereum Account Abstraction Change Web3 Forever?
  51. 58. What are smart contract audits? Which companies are involved?
  52. 59. How does the AirGapped wallet work?
  53. 60. What is proto-danksharding (EIP-4844) on Ethereum?
  54. 61. How to Recover Cryptocurrencies Sent to the Wrong Address or Network: A Practical Guide
  55. 62. MPC Wallet and Multilateral Computing: Innovative Technology for Privacy and Security
  56. 63. What is decentralised storage and how does it work?
  57. 64. Quant Network: scalability of the future
  58. 65. What is StarkWare, and recursive validity proofs
Lesson 42 of 58
In Progress

49. Base-58 Function in Cryptocurrencies

We owe a lot to Satoshi Nakamoto, the creator of Bitcoin. He boasts many achievements, apart from the blockchain. Base-58 is another one of them. What is it actually about? In today’s lesson we will explore the topic.

Base-58 – Definition

Base-58 is a group of binary-to-text encoding schemes. It is used to represent large integers as alphanumeric text. The coding systems that existed in Satoshi’s time were not suitable for his work. Therefore, to make it easier for himself, Nakamoto came up with such an innovation.

Satoshi Nakamoto wanted the option to convert frequent Bitcoin elements, such as private keys and addresses, into a format that is easy to share and use. His example, in fact—Bitcoin’s example—has been followed by many cryptocurrencies, which also utilize Base-58 encoding in their operations, particularly to simplify transactions. The use of this technology has found its place in everything from master key passwords to Ripple addresses and short URLs.

How Does Base-58 Work?

The term ‘Base’ refers to the number of characters used to represent a number. Therefore:

  • Base-2: The binary system we are familiar with, using two characters: 0 and 1.
  • Base-10: It represents numbers using 10 characters from 0 to 9.
  • Base-16: Better known as hexadecimal, it uses 16 characters: 0123456789abcdef.
  • Base-58, similarly, uses 58 characters. In its operation, it uses all alphanumeric characters (0-9, a-z, A-Z) except for the easily confused characters. Base-58 does not include zeros, uppercase i (I) and o (O), lowercase l, and + and / symbols. The purpose of Base-58 is to represent large numbers in a short format, while avoiding easily misinterpreted characters.

Numbers encoded in Base-58 are approximately 56.7% the size of their decimal counterparts. Eliminating visually similar characters reduces the chance of human error—whether in transcribing or reading.

As mentioned earlier, Base-58 has found its way into numerous contexts. Apart from its use in blockchain technology and cryptocurrencies, it is also employed as a compact method for encoding path or file name data in various applications.

Base-58 and Cryptocurrencies

There are many variations of Base-58 that are in use. The simplest ones simply alter the alphabet (this usually involves changing the order of the letters). A notable example is Ripple; in its code it uses characters that appear almost random. In fact, they were chosen so that the first characters of important sequences always share a common, significant letter.

Monero encodes long sequences into short, 8-byte blocks. The data has a deterministic size. The Monero address itself is 69 bytes long. Thanks to the use of block coding and padding scheme, 69-byte Monero addresses will consistently be represented as 95 characters when encoded.


Checksums play a crucial role in Base-58 encoding. There are three distinct schemes used for checksums. Bitcoin introduced Base58Check, which enables the addition of a prefix to the data. In practice, this prefix is a single byte, although it is not a technical requirement. The combined prefix and data are then hashed using SHA256. The resulting hash is processed through SHA256 again. Finally, the first four characters are utilized as a checksum.

Avalanche has introduced a simpler version of Base58Check. It eliminates the second pass through SHA256.

Another example would be the Substrate SDK for Polkadot, which introduces SS58. This is an address format with an implied checksum algorithm based on Base58Check, but with a few important differences. Instead of using SHA2, it uses Blake2 for the cryptographic hash function.

You must remember that the size of the checksum can vary from one to eight bytes. All depending on the address format used. The main challenge in implementing the Base-58 library lies in the fact that a significant portion of the coding process revolves around performing basic mathematical operations on very large numbers.

Disadvantages of Base-58 

Power bases are entered very quickly. The input text is a power of two numbers. When encoding text, it involves changing the base between base 256 and the new base. For base 64, we can do this using bit shifting and masking. With base 58, however, we have to use division, which makes the process very slow. The Base-58 encoding scheme relies on long division to change the base. Therefore, this makes it useful only for small chunks of text, such as Bitcoin wallet addresses. For other, larger amounts of data, it is practically useless. Here’s why:

  • Encoding is very slow.
  • The encoding alone requires the implementation of a complex, base-changing converter.
  • The code itself must include a library of high-precision integers.
  • We may implement complex code manually, which further increases encoding time.

So Why Does Base-58 Make It Easier for Us to Use Bitcoin?

It converts the address source data into a readable format. For example, the ECDSA key is transformed into an easy-to-read Bitcoin address, which consists of 20 characters. Base-58 is also used in private keys in the WIF (Wallet Import Format) standard. Other cryptocurrencies also use this feature.


Despite its drawbacks, the Base-58 feature proves to be highly valuable and practical. Its applications extend beyond the cryptocurrency industry, encompassing various sectors dedicated to decentralized technology.