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 Ethereum Plasma?
  4. 4. What is Ethereum Casper?
  5. 5. What is Zk-SNARK and Zk-STARK? 
  6. 6. What is Selfish Mining? 
  7. 7. What is spoofing in the cryptocurrency market? 
  8. 8. Schnorr signatures - what are they? 
  9. 9. MimbleWimble - what is it? 
  10. 10. What is digital property rights in NFT?
  11. 11. What are ETFs and what role do they play in the cryptocurrency market? 
  12. 12. How to verify a cryptocurrency project – cryptocurrency tokenomics 
  13. 13. What is the 51% attack on blockchain?
  14. 14. What is DAO, and how does it work?
  15. 15. Zero-knowledge proof – a protocol that respects privacy 
  16. 16. What is EOSREX?
  17. 17. What is Proof of Elapsed Time (PoET)?
  18. 18. Mirror Protocol – what it is? 
  19. 19. What are synthetic assets? 
  20. 20. How to create your own NFT? 
  21. 21. Definition of DeFi, and what are its liquidations?
  22. 22. New identity system - Polygon ID
  23. 23. Ethereum Foundation and the Scroll protocol - what is it?
  24. 24. What is Byzantine fault tolerance in blockchain technology?
  25. 25. Scalability of blockchain technology - what is it?
  26. 26. Interchain Security - new Cosmos (ATOM) protocol
  27. 27. Coin Mixing vs. Coin Join - definition, opportunities, and threats
  28. 28. What is Ethereum Virtual Machine (EVM) and how does it work?
  29. 29. Soulbound Tokens - what are they, and how do they work?
  30. 30. Definition of LIDO - what is it?
  31. 31. What are Threshold Signatures, and how do they work?
  32. 32. Blockchain technology and cyberattacks.
  33. 33. Bitcoin script - what it is, and what you should know about it.
  34. 34. What is zkEVM, and what are its basic features?
  35. 35. Do confidential transactions on blockchain exist? What is a Confidential Transaction?
  36. 36. Algorithmic stablecoins - everything you should know about them.
  37. 37. Polygon Zk Rollups ZKP - what should you know about it?
  38. 38. What is Web3 Infura?
  39. 39. Mantle - Ethereum L2 scalability - how does it work?
  40. 40. What is the NEAR Rainbow Bridge?
  41. 41. Liquid Staking Ethereum and LSD tokens. What do you need to know about it?
  42. 42. Top 10 blockchain oracles. How do they work? How do they differ?
  43. 43. What are Web3.js and Ether.js? What are the main differences between them?
  44. 44. What is StarkWare, and recursive validity proofs
  45. 45. Quant Network: scalability of the future
  46. 46. Polygon zkEVM - everything you need to know
  47. 47. What is Optimism (OP), and how do its roll-ups work?
  48. 48. What are RPC nodes, and how do they work?
  49. 49. SEI Network: everything you need to know about the Tier 1 solution for DeFi
  50. 50. Types of Proof-of-Stake Consensus Mechanisms: DPoS, LPoS and BPoS
  51. 51. Bedrock: the epileptic curve that ensures security!
  52. 52. What is Tendermint, and how does it work?
  53. 53. Pantos: how to solve the problem of token transfer between blockchains?
  54. 54. What is asymmetric encryption?
  55. 55. Base-58 Function in Cryptocurrencies
  56. 56. What Is the Nostr Protocol and How Does It Work?
  57. 57. What Is the XDAI Bridge and How Does It Work?
  58. 58. Solidity vs. Rust: What Are the Differences Between These Programming Languages?
  59. 59. What Is a Real-Time Operating System (RTOS)?
  60. 60. What Is the Ethereum Rinkeby Testnet and How Does It Work?
  61. 61. What Is Probabilistic Encryption?
  62. 62. What is a Pinata in Web 3? We explain!
  63. 63. What Is EIP-4337? Will Ethereum Account Abstraction Change Web3 Forever?
  64. 64. What are smart contract audits? Which companies are involved?
  65. 65. How does the AirGapped wallet work?
  66. 66. What is proto-danksharding (EIP-4844) on Ethereum?
  67. 67. What is decentralised storage and how does it work?
  68. 68. How to Recover Cryptocurrencies Sent to the Wrong Address or Network: A Practical Guide
  69. 69. MPC Wallet and Multilateral Computing: Innovative Technology for Privacy and Security
  70. 70. Threshold signature in cryptography: an advanced signing technique!
  71. 71. Vanity address in cryptocurrencies: what is it and what are its characteristics?
  72. 72. Reentrancy Attack on smart contracts: a threat to blockchain security!
  73. 73. Slither: a static analyser for smart contracts!
  74. 74. Sandwich Attack at DeFi: explanation and risks!
  75. 75. Blockchain RPC for Web3: A key technology in the world of decentralized finance!
  76. 76. Re-staking: the benefits of re-posting in staking!
  77. 77. Base: Evolving cryptocurrency transactions with a tier-2 solution from Coinbase
  78. 78. IPFS: A new era of decentralized data storage
  79. 79. Typical vulnerabilities and bridge security in blockchain technology
  80. 80. JumpNet - Ethereum's new sidechain
Lesson 55 of 80
In Progress

55. 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

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.

Summary

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.