Base58

Revisi sejak 2 Juni 2019 12.15 oleh Merdias Fajar Pratama (bicara | kontrib) (←Membuat halaman berisi 'Base58 adalah sekelompok skema pengkodean biner-ke-teks yang digunakan untuk mewakili bilangan bulat besar sebagai teks alfanumerik, yang diperkenalkan oleh Satoshi Na...')
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

Base58 adalah sekelompok skema pengkodean biner-ke-teks yang digunakan untuk mewakili bilangan bulat besar sebagai teks alfanumerik, yang diperkenalkan oleh Satoshi Nakamoto untuk digunakan dengan Bitcoin. Sejak itu telah diterapkan pada cryptocurrency dan aplikasi lainnya. Ini mirip dengan Base64 tetapi telah dimodifikasi untuk menghindari karakter dan huruf non-alfanumerik yang mungkin terlihat ambigu ketika dicetak. Oleh karena itu dirancang untuk pengguna manusia yang secara manual memasukkan data, menyalin dari beberapa sumber visual, tetapi juga memungkinkan salin dan tempel yang mudah karena klik dua kali biasanya akan memilih seluruh string.

Dibandingkan dengan Base64, huruf-huruf yang tampak mirip berikut dihilangkan: 0 (nol), O (huruf besar), I (huruf besar) dan l (huruf kecil L) serta karakter non-alfanumerik + (plus) dan / (memotong). Berbeda dengan Base64, digit pengkodean tidak sejalan dengan batas byte dari data asli. Karena alasan ini, metode ini sangat cocok untuk menyandikan bilangan bulat besar, tetapi tidak dirancang untuk menyandikan bagian data biner yang lebih panjang. Urutan huruf sebenarnya dalam alfabet tergantung pada aplikasi, yang merupakan alasan mengapa istilah "Base58" saja tidak cukup untuk sepenuhnya menggambarkan format. Varian, Base56, tidak termasuk 1 (satu) dan o (huruf kecil) dibandingkan dengan Base 58.

Base58Check adalah format penyandian Base58 yang dengan jelas menyandikan tipe data dalam beberapa karakter pertama dan memasukkan kode deteksi kesalahan dalam beberapa karakter terakhir.

https://en.bitcoin.it/wiki/Base58Check_encoding#Background
Andreas M. Antonopoulos. "Mastering Bitcoin". section "Base58 and Base58Check Encoding". (O’Reilly, 2015).
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
https://github.com/ipfs/specs/blob/master/overviews/implement-api-bindings.md
https://en.bitcoin.it/wiki/Base58Check_encoding#Base58_symbol_chart
https://www.flickr.com/services/api/misc.urls.html#short
https://www.flickr.com/groups/api/discuss/72157616713786392/