Base58とは、58種類の印字可能な英数字を使用した通信環境にてマルチバイト文字やバイナリーデータを扱う為のエンコード方式です。
Base58の設計については、英数字以外の文字や印刷した場合に違いのわかりにくい文字に対して除外を施しています。Base58はユーザーが手動でデータを入力したり、人間が目でコピーする事を想定しいた設計となっている為間違え安い文字を使わない方式となっています。
そして、Baseにはいくつかの種類が有ります。Base56やBase64・Base16・Base32などです。Base64はBase中でも比較的使用頻度は高くwebの世界では有名です。
Base58はBase64から派生したフォーマットになります、Base64で使われる文字の中から数字の0と大文字のO、大文字のIと小文字のlの英数字といった区別しづらい文字や、英数字以外の特殊文字である+(プラス)/(スラッシュ)の6文字を取り除いた58文字で出来た英数字で成り立ちます。
ビットコインのBase56で使用される文字は、下記の通り123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
ビットコインのアドレスはこの文字列からできており、この文字以外は使用されません。