Fundamentals ·

Format Alamat Kripto: Bech32, Base58, dan 0x


Jika Anda pernah menyalin alamat kripto dan memperhatikan bahwa alamat Bitcoin dimulai dengan bc1, alamat Ethereum dimulai dengan 0x, dan alamat Solana tampak seperti bahasa yang sepenuhnya berbeda, Anda tidak sendirian. Perbedaan ini bukan kosmetik. Setiap format alamat mengenkode informasi spesifik tentang blockchain, jenis transaksi yang didukung, dan mekanisme deteksi kesalahan yang melindungi dana Anda.

Memahami format alamat adalah pengetahuan praktis. Satu karakter yang salah dalam alamat kripto bisa mengirim dana ke kekosongan secara permanen. Panduan ini menguraikan skema encoding utama, menjelaskan mengapa setiap blockchain memilih formatnya, dan menunjukkan bagaimana checksum mencegah kesalahan yang mahal.

Mengapa Alamat Terlihat Berbeda

Alamat kripto adalah representasi yang dapat dibaca manusia dari public key atau hash yang diturunkan darinya. Output kriptografi mentah adalah data biner, yang tidak praktis untuk dibaca, disalin, atau diverifikasi manusia. Blockchain yang berbeda memilih skema encoding berbeda untuk mengubah data biner itu menjadi string teks.

Pilihan encoding ini mencerminkan trade-off antara:

  • Keamanan set karakter -- menghindari karakter yang terlihat mirip (0/O, l/1/I)
  • Deteksi kesalahan -- checksum bawaan yang menangkap typo sebelum dana hilang
  • Efisiensi ruang -- alamat lebih pendek lebih mudah ditangani
  • Sensitivitas huruf besar-kecil -- format huruf kecil saja menghindari kebingungan clipboard

Tiga keluarga encoding dominan dalam kripto adalah Base58Check, Bech32, dan heksadesimal dengan awalan 0x. Masing-masing muncul dari tujuan desain spesifik pada momen tertentu dalam sejarah blockchain.

Base58Check: Bitcoin Legacy

Base58Check adalah salah satu skema encoding alamat pertama, diperkenalkan oleh Satoshi Nakamoto bersama Bitcoin. Ia menggunakan 58 karakter alfanumerik, dengan sengaja mengecualikan karakter yang menyebabkan kebingungan visual:

  • Tidak ada nol (0) -- terlalu mirip dengan huruf O
  • Tidak ada O kapital (O) -- terlalu mirip dengan nol
  • Tidak ada L kecil (l) -- terlalu mirip dengan I kapital dan angka 1
  • Tidak ada I kapital (I) -- terlalu mirip dengan l kecil dan angka 1

Alamat Bitcoin Base58Check terlihat seperti: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Format mencakup version byte di awal dan checksum 4 byte di akhir. Version byte memberi tahu jenis alamat: 1 untuk alamat Pay-to-Public-Key-Hash (P2PKH) standar, 3 untuk alamat Pay-to-Script-Hash (P2SH). Checksum dihitung dengan menjalankan SHA-256 dua kali pada payload dan menambahkan 4 byte pertama hasilnya.

Checksum ini berarti jika Anda tidak sengaja salah ketik satu karakter, alamat hampir pasti akan gagal validasi alih-alih mengirim dana ke alamat yang salah tetapi valid. Probabilitas typo acak menghasilkan checksum yang valid sekitar 1 dari 4,3 miliar.

Beberapa blockchain lain mengadopsi Base58Check karena terbukti dan familiar:

  • Alamat legacy Litecoin dimulai dengan L atau M
  • Alamat Dogecoin dimulai dengan D

Anda dapat menggunakan Bitcoin Address Validator SafeSeed untuk memeriksa apakah alamat Base58Check memiliki checksum yang valid sebelum mengirim transaksi apapun.

Bech32: Alamat SegWit bc1

Pada tahun 2017, Bitcoin memperkenalkan Segregated Witness (SegWit), yang membutuhkan format alamat baru. Alih-alih memperluas Base58Check, pengembang membuat Bech32, yang didefinisikan dalam BIP173. Alamat Bech32 langsung dikenali karena dimulai dengan bc1 untuk Bitcoin mainnet.

Alamat Bech32 terlihat seperti: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

Bech32 membuat beberapa perbaikan yang disengaja atas Base58Check:

Hanya huruf kecil

Bech32 hanya menggunakan huruf kecil dan angka. Ini menghilangkan masalah sensitivitas huruf besar-kecil ketika alamat ditransmisikan secara verbal, dicetak dalam font campuran, atau dikode dalam kode QR (yang lebih kompak dengan data satu kasus).

Deteksi kesalahan superior

Base58Check mendeteksi kesalahan tetapi tidak bisa memberi tahu di mana kesalahannya. Bech32 menggunakan kode BCH (Bose-Chaudhuri-Hocquenghem) yang dapat mendeteksi setiap kesalahan karakter tunggal dan sebagian besar kesalahan substitusi multi-karakter. Ia dapat mengidentifikasi posisi hingga dua kesalahan, memungkinkan potensi koreksi di beberapa antarmuka dompet.

Kode QR lebih kecil

Karena Bech32 menggunakan set karakter terbatas (32 karakter), kode QR yang merepresentasikan alamat ini terukur lebih kecil dan lebih mudah dipindai.

Bech32m

Versi terbaru bernama Bech32m (BIP350) memperbaiki kelemahan minor dalam format Bech32 asli terkait karakter terakhir. Alamat SegWit v1 modern (Taproot, dimulai dengan bc1p) menggunakan Bech32m. Jika Anda membuat alamat Bitcoin dengan Bitcoin Address Generator SafeSeed, output default menggunakan format Bech32/Bech32m modern.

Litecoin juga mengadopsi Bech32 untuk alamat SegWit-nya, menggunakan awalan ltc1.

0x: Alamat Chain EVM

Ethereum mengambil pendekatan yang sepenuhnya berbeda. Alamat Ethereum adalah nilai 20 byte yang ditampilkan sebagai 40 karakter heksadesimal dengan awalan 0x:

0x742d35Cc6634C0532925a3b844Bc9e7595f2bD08

Format hex sangat sederhana: setiap byte dipetakan ke dua karakter hex (0-9, a-f). Ini membuat alamat menjadi representasi langsung dari data yang mendasarinya tanpa encoding khusus.

Checksum huruf campuran EIP-55

Format alamat Ethereum asli tidak memiliki checksum bawaan. Jika Anda salah ketik karakter, alamat masih valid secara teknis, dan dana Anda akan hilang. EIP-55 menyelesaikan ini dengan menggunakan kapitalisasi huruf hex sebagai checksum. Alamat di-hash dengan Keccak-256, dan setiap huruf dikapitalisasi jika nibble yang sesuai dalam hash melebihi 8.

Inilah mengapa Anda melihat alamat Ethereum dengan kapitalisasi yang tampak acak. Pencampuran huruf besar dan kecil bukan sembarang; itu adalah checksum. Jika Anda mengubah satu karakter, pola kapitalisasi tidak akan cocok, dan dompet yang mengimplementasikan dengan benar akan menolaknya.

Dibagikan di seluruh chain EVM

Salah satu aspek paling signifikan dari format 0x adalah ia identik di semua chain yang kompatibel EVM:

Private key yang sama menghasilkan alamat yang sama di semua chain ini. Ini sekaligus kenyamanan dan sumber kebingungan: mengirim token ke alamat yang benar di chain yang salah adalah kesalahan umum. Untuk pembahasan lebih dalam tentang keamanan alamat EVM, lihat panduan kami tentang Keamanan Alamat EVM.

Anda dapat memvalidasi alamat EVM apapun, termasuk checksum EIP-55-nya, dengan Ethereum Address Validator SafeSeed.

Base58 di Solana, XRP, dan TRON

Beberapa blockchain modern menggunakan encoding Base58 tetapi tanpa sufiks Check, artinya mereka mengimplementasikan mekanisme checksum atau validasi sendiri.

Solana

Alamat Solana adalah public key Ed25519 yang dikode Base58, biasanya sepanjang 32 hingga 44 karakter:

7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV

Solana menggunakan alfabet Base58 yang sama seperti Bitcoin (mengecualikan karakter yang membingungkan secara visual) tetapi tidak menambahkan version byte atau checksum SHA-256. Sebaliknya, alamat hanyalah public key mentah dalam encoding Base58. Validasi bergantung pada kunci menjadi titik valid pada kurva Ed25519. Solana Address Validator SafeSeed menangani verifikasi ini.

XRP

XRP menggunakan encoding Base58Check dengan awalan versi sendiri, menghasilkan alamat yang dimulai dengan r:

rN7n3473SaZBCG4dFL83w7p1W9cgZw6p1N

TRON

Alamat TRON menggunakan Base58Check dengan version byte 0x41, menghasilkan alamat yang dimulai dengan T:

TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW

Menariknya, TRON menggunakan kurva eliptik secp256k1 yang sama seperti Ethereum dan Bitcoin. Alamat TRON diturunkan dari material kunci yang sama seperti alamat Ethereum tetapi dikode secara berbeda.

Checksum: Jaring Pengaman Anda

Checksum adalah bagian kecil data yang diturunkan dari payload alamat yang memungkinkan perangkat lunak mendeteksi kesalahan. Pikirkan sebagai sidik jari matematis: jika satu karakter saja berubah, sidik jari tidak akan cocok.

Berikut perbandingan mekanisme checksum di format utama:

Format Metode Checksum Kemampuan Deteksi
Base58Check Double SHA-256 (4 byte) Mendeteksi hampir semua kesalahan
Bech32 Kode BCH (6 karakter) Mendeteksi semua kesalahan karakter tunggal; menemukan hingga 2 kesalahan
EIP-55 (0x) Kapitalisasi Keccak-256 ~99,98% deteksi kesalahan untuk perubahan karakter tunggal
Solana Base58 Validasi kurva Ed25519 Menolak titik kurva tidak valid

Checksum tidak melindungi dari setiap jenis kesalahan. Jika malware mengganti seluruh clipboard Anda dengan alamat valid yang berbeda (serangan pembajakan clipboard), checksum tetap akan lolos karena alamat penyerang itu sendiri valid. Checksum melindungi dari typo tidak sengaja dan kesalahan transmisi, bukan penipuan yang disengaja.

Untuk pembahasan lebih luas tentang ancaman di luar typo, lihat Penipuan Kripto Umum yang Melibatkan Seed Phrase.

Memvalidasi Alamat Sebelum Mengirim

Setiap transaksi kripto harus dimulai dengan validasi alamat. Ini berarti lebih dari sekadar melirik beberapa karakter pertama. Validasi yang tepat mencakup:

1. Verifikasi format

Konfirmasi alamat cocok dengan format yang diharapkan untuk blockchain yang Anda gunakan. Alamat bc1 hanya boleh digunakan di Bitcoin. Alamat 0x bisa valid di beberapa chain EVM, jadi periksa ulang jaringan mana yang Anda maksudkan.

2. Verifikasi checksum

Jalankan alamat melalui validator yang memeriksa checksum bawaan. SafeSeed menyediakan validator gratis untuk chain paling umum:

Semua validasi berjalan sepenuhnya di browser Anda menggunakan kode client-side. Tidak ada data alamat yang dikirim ke server manapun.

3. Konfirmasi visual

Bahkan setelah validasi otomatis, konfirmasi secara visual beberapa karakter pertama dan terakhir alamat. Malware pembajakan clipboard terkadang mengganti alamat dengan yang dikontrol penyerang yang memiliki beberapa karakter pertama yang sama.

4. Transaksi uji kecil

Untuk transfer besar, kirim jumlah kecil terlebih dahulu dan konfirmasi penerimaan sebelum mengirim saldo penuh. Biaya transaksi minor adalah harga kecil untuk kepastian.

5. Gunakan fitur buku alamat

Kebanyakan dompet memungkinkan Anda menyimpan alamat yang sudah divalidasi. Setelah Anda mengkonfirmasi alamat, simpan untuk menghindari memasukkan ulang (dan memperkenalkan peluang baru untuk kesalahan).

Untuk panduan detail tentang proses validasi, lihat Cara Memvalidasi Alamat Kripto.

Memilih Format yang Tepat

Jika Anda membuat alamat baru, format modern hampir selalu lebih disukai:

  • Bitcoin: Gunakan alamat Bech32 (bc1) untuk biaya lebih rendah dan deteksi kesalahan lebih baik. Alamat Base58Check legacy masih berfungsi tetapi biaya transaksinya lebih mahal karena ukuran transaksi lebih besar.
  • Ethereum dan chain EVM: Selalu gunakan alamat dengan checksum EIP-55. Kebanyakan alat modern menghasilkannya secara default.
  • Solana: Base58 adalah satu-satunya opsi, dan berfungsi dengan baik.

Saat membuat alamat dengan SafeSeed, alat-alatnya default ke format paling mutakhir dan aman untuk setiap blockchain. Baik Anda menggunakan Bitcoin Seed Phrase Generator atau Ethereum Address Generator, alamat yang diturunkan akan menggunakan encoding yang direkomendasikan untuk chain tersebut.

Memahami format-format ini menghilangkan misteri dari alamat kripto. Mereka bukan string acak -- mereka adalah representasi yang direkayasa dengan cermat dari kunci kriptografi, dengan mekanisme keamanan bawaan yang dirancang untuk melindungi dana Anda dari kesalahan manusia sederhana.