Fundamentals ·

HD Wallet dan Derivation Path Dijelaskan (BIP44)


Saat Anda menyiapkan dompet kripto dan menerima seed phrase 12 kata, cadangan tunggal itu memberi akses ke setiap akun yang akan dibuat dompet --- di Bitcoin, Ethereum, Solana, dan chain yang didukung lainnya. Mekanisme ini disebut HD wallet, dan sistem alamatnya diatur oleh derivation path.

Panduan ini menjelaskan cara HD wallet mengubah satu seed menjadi jumlah kunci tak terbatas, apa arti sebenarnya derivation path seperti m/44'/60'/0'/0/0, dan mengapa mendapatkan path yang benar penting saat berpindah dompet atau blockchain.

Apa Itu HD Wallet?

HD singkatan dari Hierarchical Deterministic. Istilah ini berasal dari BIP32, spesifikasi yang diterbitkan tahun 2012 yang mendefinisikan cara menurunkan pohon pasangan kunci kriptografi dari satu akar.

Hierarchical berarti kunci diorganisir dalam struktur pohon --- kunci induk dapat menghasilkan kunci anak, dan anak dapat menghasilkan cucu.

Deterministic berarti prosesnya dapat diulang. Dengan akar yang sama (master seed), pohon kunci yang sama dihasilkan setiap kali, di setiap dompet yang mengikuti standar.

Sebelum HD wallet, setiap alamat baru membutuhkan pembuatan dan pencadangan private key acak terpisah. HD wallet menghilangkan masalah ini. Anda mencadangkan seed sekali, dan setiap kunci yang diturunkan di masa depan sudah tercakup.

Akar pohon berasal dari seed phrase BIP39. Mnemonic diubah menjadi seed biner 512 bit via PBKDF2 (seperti dijelaskan di BIP39 Dijelaskan). Seed 512 bit dibagi menjadi master private key (256 bit) dan master chain code (256 bit).

Anatomi m/44'/60'/0'/0/0

Derivation path adalah alamat dalam pohon yang mengidentifikasi kunci tertentu. Mari decode m/44'/60'/0'/0/0, path standar untuk alamat Ethereum pertama:

m / 44' / 60' / 0' / 0 / 0
│   │      │     │    │   │
│   │      │     │    │   └── Indeks alamat (0 = alamat pertama)
│   │      │     │    └────── Change (0 = eksternal/penerima, 1 = internal/change)
│   │      │     └─────────── Akun (0 = akun pertama)
│   │      └───────────────── Jenis koin (60 = Ethereum)
│   └──────────────────────── Tujuan (44 = standar BIP44)
└──────────────────────────── Kunci master (akar pohon)

Mengurai setiap level:

m --- Kunci master. Setiap derivation path dimulai di sini.

44' --- Tujuan. Angka 44 menunjukkan path ini mengikuti standar BIP44. Apostrof (') menandai derivasi "hardened", artinya kunci anak tidak dapat dihitung dari public key induk saja --- membutuhkan private key. Ini langkah keamanan.

60' --- Jenis koin. Setiap kripto diberi nomor oleh SLIP-44. Ethereum adalah 60. Bitcoin adalah 0. Solana adalah 501.

0' --- Indeks akun. Pikirkan ini sebagai dompet terpisah dalam dompet Anda. Akun 0 adalah default.

0 --- Level change. Dalam model UTXO Bitcoin, 0 berarti alamat eksternal (penerima) dan 1 berarti alamat internal (change). Ethereum tidak menggunakan alamat change dengan cara yang sama, tetapi level ini dipertahankan untuk kompatibilitas.

0 --- Indeks alamat. Angka terakhir ini bertambah untuk menghasilkan alamat baru.

BIP44 Dan SLIP-44 Jenis Koin

BIP44 menstandarkan struktur derivation path. SLIP-44 memelihara registri nomor jenis koin. Beberapa penugasan umum:

Jenis Koin Blockchain Path Default
0 Bitcoin m/44'/0'/0'/0/0
2 Litecoin m/44'/2'/0'/0/0
60 Ethereum (dan chain EVM) m/44'/60'/0'/0/0
144 XRP m/44'/144'/0'/0/0
195 Tron m/44'/195'/0'/0/0
501 Solana m/44'/501'/0'/0'
9006 Avalanche (C-Chain) m/44'/60'/0'/0/0

Perhatikan Avalanche C-Chain menggunakan jenis koin 60 (tipe Ethereum) karena C-Chain-nya kompatibel EVM. Hal yang sama berlaku untuk Polygon, Arbitrum, Optimism, dan Base --- semuanya menggunakan m/44'/60'/0'/0/0.

Chain Berbeda, Path Berbeda

Path Bitcoin

Bitcoin berevolusi melalui beberapa format alamat:

Standar Path Tipe Alamat Awalan
BIP44 m/44'/0'/0'/0/0 Legacy (P2PKH) 1...
BIP49 m/49'/0'/0'/0/0 Nested SegWit (P2SH-P2WPKH) 3...
BIP84 m/84'/0'/0'/0/0 Native SegWit (bech32) bc1q...
BIP86 m/86'/0'/0'/0/0 Taproot bc1p...

Kebanyakan dompet Bitcoin modern default ke BIP84 (native SegWit) karena biaya transaksi lebih rendah. Jika Anda memulihkan seed di dompet dan dana tidak muncul, dompet mungkin memindai derivation path yang salah.

Path Solana

Solana menggunakan ed25519 alih-alih secp256k1, sehingga derivasinya berbeda secara struktural. Path standar adalah m/44'/501'/0'/0'. Lihat Panduan Pembuatan Dompet Solana untuk panduan detail.

BIP84 vs BIP44: Mengapa Bitcoin Punya Banyak Standar

BIP44 (m/44'/0'/...) menghasilkan alamat legacy P2PKH (format 1...). BIP49 (m/49'/0'/...) menghasilkan alamat nested SegWit P2SH (format 3...). BIP84 (m/84'/0'/...) menghasilkan alamat native SegWit menggunakan encoding bech32 (format bc1q...).

Poin kuncinya: ketiga format dapat diturunkan dari seed phrase yang sama. 12 kata Anda tidak berubah. Yang berubah adalah level tujuan dalam derivation path: 44, 49, atau 84.

Untuk menjelajahi format alamat Bitcoin secara detail, lihat Format Alamat Kripto Dijelaskan.

Derivasi Kunci Langkah demi Langkah

Berikut cara derivasi penuh bekerja dari seed phrase ke alamat Ethereum:

Langkah 1: Mnemonic ke Seed

Mnemonic 12 kata diproses melalui PBKDF2-HMAC-SHA512 dengan 2.048 iterasi dan salt "mnemonic" (plus passphrase opsional). Outputnya adalah seed biner 512 bit.

Langkah 2: Seed ke Master Key

Seed 512 bit diproses melalui HMAC-SHA512 dengan kunci "Bitcoin seed". 256 bit kiri menjadi master private key. 256 bit kanan menjadi master chain code.

Langkah 3: Master Key ke Kunci Anak

Dimulai dari master key, setiap level derivation path menjalankan fungsi derivasi kunci anak (CKD). Untuk anak hardened (ditandai '), private key dan chain code induk dimasukkan ke HMAC-SHA512 bersama indeks anak.

Langkah 4: Private Key ke Public Key

Di level derivasi terakhir, private key anak dikonversi ke public key melalui perkalian kurva eliptik. Untuk Ethereum, ini menggunakan kurva secp256k1.

Langkah 5: Public Key ke Alamat

Public key di-hash untuk menghasilkan alamat blockchain. Untuk Ethereum, hash Keccak-256 dan ambil 20 byte terakhir. Untuk Bitcoin, SHA-256 diikuti RIPEMD-160, lalu encoding Base58Check atau bech32.

Anda dapat melihat seluruh proses ini di Ethereum Address Generator atau Bitcoin Address Generator SafeSeed.

Mengapa Ini Penting Secara Praktis

  • Memulihkan dompet di software berbeda. Jika pindah dari Ledger ke Trezor, pastikan derivation path cocok. Seed yang sama plus path berbeda sama dengan alamat berbeda dan dana yang tampak hilang.
  • Mengakses banyak chain. Seed phrase Anda sudah mencakup Polygon, Arbitrum, dan chain EVM lain --- semuanya menggunakan jenis koin 60 Ethereum. Tidak perlu cadangan terpisah.
  • Men-debug dana yang hilang. Jika memulihkan seed Bitcoin dan tidak melihat saldo, coba beralih antara path BIP44, BIP49, dan BIP84 di pengaturan dompet.
  • Membuat alamat untuk tujuan tertentu. Dengan menambah indeks akun (level ketiga), Anda dapat membuat dompet yang terpisah secara logis --- satu untuk pengeluaran harian, satu untuk penyimpanan jangka panjang --- semua dari seed phrase yang sama.

Sistem derivation path adalah yang mengubah satu seed phrase menjadi dompet multi-chain, multi-akun. Ini adalah lapisan infrastruktur yang membuat self-custody kripto modern kuat dan portabel. Setelah Anda memahaminya, Anda dapat berpindah antar dompet, chain, dan format alamat dengan percaya diri.