Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Raymond Kelvin Nando — Base58 merupakan metode encoding biner-ke-teks yang memetakan data ke dalam alfabet berjumlah 58 karakter, dirancang agar ringkas, mudah dibaca, dan bebas dari karakter ambigu. Base58 terkenal luas sebagai format representasi alamat Bitcoin, kunci publik, kunci privat terenkode, dan berbagai identitas dalam ekosistem blockchain. Dengan eliminasi karakter serupa—seperti 0, O, I, dan l—Base58 memberikan kejelasan visual, ketahanan terhadap kesalahan manusia, serta kompatibilitas dengan berbagai sistem input yang rentan terhadap mis-type.
Daftar Isi
Base58 adalah skema encoding yang menyusun data biner menjadi string menggunakan 58 karakter yang aman dibedakan oleh mata manusia. Alfabet yang digunakan adalah:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Total 58 karakter.
Tidak seperti Base64, Base58 menghilangkan karakter ambigu dan karakter yang sering menimbulkan masalah dalam konteks URL atau file system. Base58 digunakan untuk menyederhanakan representasi numerik besar maupun data biner, menjadikannya sangat populer dalam struktur identitas blockchain, format file terenkode, checksum, dan transport data berbasis teks.
Base58 pertama kali diciptakan sebagai bagian dari desain Bitcoin oleh Satoshi Nakamoto. Tujuan awalnya adalah menciptakan format pengkodean untuk alamat dan kunci yang jauh lebih mudah dibaca oleh manusia, lebih pendek daripada Base16, dan tidak berpotensi menimbulkan kebingungan visual seperti pada Base64.
Pada awal pengembangan Bitcoin (sekitar tahun 2008–2009), penggunaan Base64 dianggap kurang ideal karena:
Muncullah varian yang disebut Base58Check, yaitu Base58 yang ditambah checksum SHA-256 ganda untuk memastikan integritas data. Format ini menjadi standar alamat Bitcoin, WIF (Wallet Import Format), extended keys BIP32, dan berbagai implementasi blockchain lain seperti Litecoin, Dogecoin, serta sistem penyimpanan terdistribusi tertentu.
Seiring meluasnya teknologi ledger terdistribusi, Base58 diadopsi oleh proyek kripto lain untuk keperluan ID objek, hash terpendek, encoding transaksi, hingga format representasi kunci. Dengan meningkatnya adopsi global, Base58 menjadi salah satu encoding informal yang paling berpengaruh di dunia digital.
Daftar karakter lengkap:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Karakter yang sengaja dihilangkan:
0 (angka nol)
O (huruf O besar)
I (huruf I besar)
l (huruf l kecil)
Hilangan ini mengurangi kebingungan dan meningkatkan akurasi input manual.
Base58 bekerja layaknya pengubahan angka ke basis lain:
Proses serupa digunakan dalam konversi Base16 → Base10 → Base58.
Byte 0x00 di awal data direpresentasikan sebagai karakter ‘1’.
Ini penting pada representasi kunci dan alamat Bitcoin.
Contoh:
0x00 0x00 A3 4F → “11…”
Tidak menggunakan karakter “=”.
Output hanya terdiri dari alfabet dasar.
Varian populer Base58 di blockchain:
Dengan cara ini, kesalahan input dapat terdeteksi secara otomatis.
Alfabet Base58 membedakan huruf besar dan huruf kecil.
Base58 lebih padat daripada Base16 dan Base32, meskipun sedikit kurang padat dibanding Base64, namun jauh lebih ramah manusia.
Proses decoding Base58 membalik konversi:
string Base58 → angka besar → data biner.
Input bytes: 61
Angka desimal: 97
97 ÷ 58 → hasil 1, sisa 39
Karakter 39 = g
Hasil sementara: g
1 ÷ 58 → hasil 0, sisa 1
Karakter 1 = 2
Output: 2g
Input: 00 61
Prefix 0x00 → karakter ‘1’
Sisa data 61 → 2g
Output: 12g
Input bytes: 01 02 03
Representasi Base58 dapat menghasilkan sesuatu seperti:
Ldp
(Hasil bergantung pada konversi angka besar.)
Contoh representatif:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
Ini adalah hasil dari:
Contoh representatif:
5HueCGU8rMjxEXxiPuD5BDu…
(Hanya contoh pola, bukan kunci asli.)
Input: 2g
2 = nilai 1
g = nilai 39
nilai = 1*58 + 39 = 97
97 = 0x61
Output byte: 61
Input 32-byte random
Output Base58 adalah string 43–45 karakter tergantung nilai nol awal.
Kelebihan:
Kekurangan: