Sa mundo ng cryptocurrencies, ang secure at mahusay na pamamahala ng mga digital asset ay napakahalaga. Bagama't ang mga seed phrase (o mnemonic phrases) ay malawak na kinikilala bilang susi sa pag-recover ng isang crypto wallet, may isang bahagi na hindi gaanong nauunawaan ngunit kasing-importante sa kung paano inaayos at ina-access ang mga asset na iyon: ang derivation path. Ang masalimuot na hanay ng mga tagubilin na ito ay nagsisilbing blueprint, na gumagabay sa iyong wallet na gumawa ng mga partikular na address mula sa iisang seed phrase. Sa Solana, gaya ng iba pang mga blockchain network, ang mga derivation path ay pundamental sa operasyon ng mga wallet, na tinitiyak ang interoperability at matatag na pamamahala ng asset.
Sa puso ng pag-unawa sa mga derivation path ay ang konsepto ng Hierarchical Deterministic (HD) wallet. Bago ang mga HD wallet, ang bawat bagong address ay nangangailangan ng sarili nitong natatanging private key, na kailangang i-back up nang paisa-isa. Ito ay mahirap gawin at madaling magkaroon ng pagkakamali. Ang pagdating ng BIP-32 (Bitcoin Improvement Proposal 32) ay nagpabago sa pamamahala ng wallet sa pamamagitan ng pagpapakilala ng ideya ng mga HD wallet, na nagbibigay-daan sa paglikha ng walang katapusang bilang ng mga public at private key pair mula sa iisang master seed.
Mga pangunahing katangian ng HD Wallets:
Ang seed phrase ay parang ugat ng isang malaking puno. Ang bawat sanga at dahon sa punong iyon ay kumakatawan sa isang magkaibang key pair at address. Ang derivation path ay simpleng mapa o mga direksyon upang mahanap ang isang partikular na dahon (address) sa punong iyon.
Ang derivation path ay isang sequence ng mga integer na hinati ng mga slash, madalas na kinakatawan bilang m/purpose'/coin_type'/account'/change/address_index. Ang bawat bahagi ng path na ito ay may partikular na tungkulin sa paggabay sa wallet na gumawa ng natatanging key pair. Ang apostrophe (') na nakakabit sa isang numero ay nagpapahiwatig ng "hardened" derivation, na may mahahalagang implikasyon sa seguridad na ating tatalakayin mamaya.
Hatiin natin ang bawat elemento:
m (Master Key): Ito ay kumakatawan sa master private key, na direktang ginawa mula sa iyong seed phrase. Lahat ng kasunod na key ay kinuha mula sa m na ito.purpose' (Purpose Field): Tinutukoy ng field na ito ang nilalayong paggamit ng key hierarchy, na madalas na nakatali sa isang partikular na BIP standard. Halimbawa, ang BIP-44, isang malawak na ginagamit na pamantayan para sa mga HD wallet, ay gumagamit ng 44'. Ang purpose field ay karaniwang hardened, ibig sabihin ang derivation nito ay mas secure at hindi inilalantad ang mga parent private key kahit na ang isang child private key ay makompromiso.coin_type' (Coin Type Field): Tinutukoy ng field na ito ang partikular na cryptocurrency network kung saan nilalaan ang mga address. Ang bawat blockchain ay karaniwang may nakarehistrong coin_type number. Para sa Solana, ang value na ito ay 501'. Gaya ng purpose field, ito ay hardened. Nagbibigay-daan ito sa iisang seed phrase na mamahala ng mga asset sa maraming magkakaibang blockchain (hal., Bitcoin, Ethereum, Solana) nang walang cross-contamination ng kanilang mga kinuha na key.account' (Account Field): Ang field na ito ay nagpapahintulot sa mga user na ayusin ang kanilang mga pondo sa magkakahiwalay at independent na "accounts" sa loob ng parehong wallet. Halimbawa, maaari mong gamitin ang m/44'/501'/0' para sa iyong pangunahing Solana account, m/44'/501'/1' para sa pangalawang account, at iba pa. Partikular itong kapaki-pakinabang para sa paghihiwalay ng mga pondo para sa iba't ibang layunin, gaya ng personal na ipon, gastusin sa negosyo, o mga DeFi activity, habang pinapanatili ang kaginhawaan ng iisang seed phrase backup. Ang field na ito ay hardened din.change (Change Field): Ang field na ito ay karaniwang 0 o 1.
0: Nagsasaad ng isang "external" o "receiving" chain. Ang mga address na kinuha mula sa chain na ito ay karaniwang ginagamit para sa pagtanggap ng pondo mula sa iba o bilang iyong mga pampublikong address.1: Nagsasaad ng isang "internal" o "change" chain. Ang mga address mula sa chain na ito ay pangunahing ginagamit ng wallet upang hawakan ang "change" outputs mula sa mga transaksyon. Halimbawa, kung magpapadala ka ng 5 SOL mula sa isang address na may 10 SOL, ang 5 SOL na hindi mo ipinadala ay ibabalik sa isang bagong "change" address na pagmamay-ari ng iyong wallet, na pumipigil sa muling paggamit ng address (address reuse) at nagpapahusay sa privacy. Ang field na ito ay karaniwang hindi hardened, ibig sabihin kung ang isang parent public key ay alam, ang isang child public key ay maaaring makuha. Ito ay karaniwang ligtas dahil ang mga key na ito ay hindi inilalantad sa labas.address_index (Address Index Field): Tinutukoy ng field na ito ang indibidwal na address sa loob ng isang partikular na change chain (external man o internal). Simula sa 0, ang bawat kasunod na numero 0, 1, 2, ... ay gumagawa ng bagong natatanging address. Kaya, ang m/44'/501'/0'/0/0 ang magiging unang receiving address para sa account 0, at ang m/44'/501'/0'/0/1 ang magiging pangalawa. Ang field na ito ay karaniwan ding hindi hardened.Hardened vs. Non-Hardened Derivation (Ang Apostrophe):
Ang apostrophe (') pagkatapos ng isang numero ay nangangahulugang "hardened" derivation. Ito ay isang mahalagang feature sa seguridad.
m, purpose, coin_type, at account ay halos palaging hardened. Kung ang isang attacker ay makakuha ng access sa isa sa iyong mga derived account private key (hal., mula sa m/44'/501'/0'), hindi nila magagamit ang impormasyong iyon upang makuha ang mga private key para sa iyong iba pang mga account (hal., m/44'/501'/1') o, higit na kritikal, ang iyong master private key m.change at address_index), posibleng makakuha ng child public keys mula sa isang parent public key. Nagbibigay-daan ito para sa mga kapaki-pakinabang na application, tulad ng pagbuo ng isang extended public key (xpub) para sa isang account na maaaring ibahagi sa isang auditor o third party. Ang party na ito ay makikita ang lahat ng transaksyon at balanse na nauugnay sa account na iyon nang hindi kayang gastusin ang mga pondo. Gayunpaman, ang kompromiso ng isang child private key ay maaaring potensyal na maglantad ng parent private key nito at mga sibling private key sa mga non-hardened schemes. Samakatuwid, ang mga kritikal na segment tulad ng purpose, coin_type, at account ay palaging hardened.m/44'/501' at Higit PaAng mga Solana wallet, na sumusunod sa mga karaniwang pamantayan sa industriya, ay gumagamit ng mga derivation path upang pamahalaan ang mga account at address ng user. Ang partikular na coin_type na nakarehistro para sa Solana ay 501'.
m/44'/501': Ang path na ito ay kumakatawan sa root para sa lahat ng Solana-related accounts na kinuha mula sa iyong seed phrase ayon sa BIP-44. Ipinapahiwatig nito ang master key (m), gamit ang BIP-44 standard (44'), partikular para sa Solana (501').m/44'/501'/0': Ito ay isang napaka-karaniwang derivation path para sa unang Solana account sa maraming wallet. Itinatalaga nito ang unang account (0') sa loob ng Solana hierarchy sa ilalim ng BIP-44 purpose. Mula sa account na ito, ang mga indibidwal na address ay kinukuha.m/44'/501'/0'/0': Ang path na ito ay humahakbang pa nang malayo, madalas na ginagamit upang makuha ang unang address para sa unang account sa external (receiving) chain. Sa ilang Solana wallets, lalo na ang mga nagpapasimple ng proseso ng derivation para sa mga user, maaari nitong direktang i-generate ang primary receiving address na iyong nakikita. Ang huling 0 ay kumakatawan sa address_index. Ang ilang wallet ay maaaring alisin ang change field sa kanilang display para sa pagiging simple, na nagpapahiwatig ng 0 para sa external. Higit na partikular, ang m/44'/501'/0'/0/0 ang magiging kumpletong path para sa pinakaunang address.Paano Ginagamit ng mga Wallet ang mga Path na Ito:
Ang iba't ibang Solana wallet ay maaaring gumamit ng bahagyang magkakaibang diskarte sa derivation path, kahit na sumusunod sa pangunahing m/44'/501' standard.
m/44'/501'/0'/0/X (kung saan ang X ay 0, 1, 2, atbp.). Maaaring isa lamang na primary address ang ipakita nila sa iyo, na itinatago ang pinagbabatayang path para sa pagiging simple.m/44'/501'/0'/..., m/44'/501'/1'/..., m/44'/501'/2'/..., na nagpapahintulot sa iyo na paghiwalayin ang mga pondo. Kapag gumawa ka ng "bagong account" sa loob ng naturang wallet, mahalagang kumukuha ito ng bagong set ng mga key mula sa isang nadagdagang account field.m/44'/501'/0'/0/0 hanggang m/44'/501'/0'/0/20, at pagkatapos ay m/44'/501'/1'/0/0 hanggang m/44'/501'/1'/0/20, at iba pa) na naghahanap ng mga address na may balanse. Ang prosesong ito ay madalas na tinatawag na "address discovery."Ang mga derivation path ay higit pa sa teknikal na salita; ang mga ito ay pundamental sa seguridad, utility, at recoverability ng iyong mga Solana asset.
Ito marahil ang pinaka-kritikal na tungkulin. Ang iyong 12 o 24-word seed phrase ay walang silbi kung walang mekanismo upang i-generate ang mga partikular na private key na nauugnay sa iyong mga pondo. Ang derivation path ay nagbibigay ng tumpak na hanay ng mga tagubilin na ito.
Ang mga standardized na derivation path ay susi sa interoperability ng iba't ibang software ng wallet.
m/44'/501'/X'/Y/Z ng Solana), ang mga user ay maaaring maayos na mailipat ang kanilang seed phrase mula sa isang wallet application patungo sa isa pa (hal., mula sa Wallet A papunta sa Wallet B) at asahan na makikita ang parehong mga pondo. Pinipigilan nito ang pagka-gapos sa isang vendor (vendor lock-in) at binibigyan ang mga user ng kalayaan sa pagpili.Ang mga derivation path ay nagbibigay ng mahuhusay na tool para sa pamamahala ng iyong digital footprint at pag-aayos ng iyong mga pondo.
address_index (hal., m/44'/501'/0'/0/0, m/44'/501'/0'/0/1, m/44'/501'/0'/0/2), ang isang HD wallet ay makakagawa ng maraming natatanging receiving address. Ang paggamit ng bagong address para sa bawat transaksyon ay nagpapahusay sa transactional privacy, na nagpapahirap sa mga tagamasid na iugnay ang lahat ng iyong aktibidad sa isang solong pagkakakilanlan.account' field na lumikha ng ganap na magkakahiwalay na "accounts" sa loob ng parehong wallet (hal., m/44'/501'/0' para sa personal na pondo, m/44'/501'/1' para sa pondo sa negosyo). Nagbibigay ito ng malinis na paraan upang paghiwalayin ang mga asset para sa iba't ibang layunin, na nagpapabuti sa organisasyon nang hindi nangangailangan ng magkakahiwalay na seed phrases. Ang bawat account ay cryptographically distinct, na nagbibigay ng malakas na lohikal at seguridad na paghihiwalay.Ang hierarchical na katangian ng mga derivation path ay likas na nag-aambag sa seguridad sa pamamagitan ng pagpapahintulot sa isang antas ng risk isolation.
m/44'/501'/0') ay maaaring ibahagi. Ang xpub na ito ay nagpapahintulot sa tatanggap na makita ang lahat ng address at transaksyon sa loob ng partikular na account na iyon ngunit hindi para gastusin ang mga pondo, at hindi rin nila makikita ang ibang mga account na kinuha mula sa parehong seed (hal., m/44'/501'/1'). Kapaki-pakinabang ito para sa mga layunin ng pag-audit o pagsasama sa mga read-only na portfolio tracker.address_index) ay makompromiso, ang hierarchical structure at hardening rules ay naglilimita sa potensyal na pinsala. Ang kompromiso ay karaniwang nakapaloob lamang sa partikular na address na iyon o sa isang partikular na account, sa halip na ikompromiso ang buong master key o iba pang hardened accounts.Bagama't ang mga derivation path ay pangunahing tumatakbo sa background, ang pangunahing pag-unawa ay maaaring maging krusyal para sa mga user, lalo na kapag nag-aayos ng mga problema (troubleshooting).
m/44'/501'/0'/0/0, ang ilan ay maaaring pumili ng mas simpleng mga path o magkakaibang indexing strategies. Ito ang pinakakaraniwang dahilan kung bakit, kapag nag-import ka ng seed phrase mula sa isang wallet patungo sa isa pa, maaaring hindi mo agad makita ang iyong mga pondo. Ang bagong wallet ay maaaring tumitingin sa isang bahagyang magkaibang path.Kung ililipat mo ang iyong seed phrase, at ang iyong bagong wallet ay gumagamit ng ibang path, maaaring kailanganin mong:
Ang pagkakaroon ng mga derivation path ay nagpapatibay sa pundamental na kahalagahan ng iyong seed phrase:
m/44'/501'/0') ay isang lohikal na pagpapangkat na maaaring maglaman ng maraming indibidwal na "addresses" (hal., m/44'/501'/0'/0/0, m/44'/501'/0'/0/1). Kung inaasahan mong makakita ng maramihang magkakaibang balanse, tiyaking tinitingnan mo ang tamang account sa loob ng interface ng iyong wallet.Bagama't nananatiling matatag na standard ang BIP-44, ang mundo ng crypto ay patuloy na nagbabago. Ang mga bagong purpose field (tulad ng BIP-49 para sa P2SH-segwit o BIP-84 para sa native segwit sa Bitcoin) ay umuusbong upang mapaunlakan ang mga bagong uri ng address o feature. Para sa Solana, ang 501' coin type ay tinitiyak ang pagkakapare-pareho, ngunit ang mga hinaharap na pag-unlad sa teknolohiya ng wallet o mga bagong uri ng asset ay maaaring magpakilala ng mga bagong kombensyon sa derivation path. Ang pananatiling may sapat na kaalaman tungkol sa mga kasanayan ng iyong piniling wallet at pag-back up ng iyong seed phrase ang nananatiling pinakamahusay na depensa laban sa mga pagbabago sa hinaharap.
Sa madaling salita, ang mga derivation path ay ang mga hindi kinikilalang bayani ng HD wallet system. Ibinibigay nila ang istraktura, seguridad, at flexibility na nagpapahintulot sa pamamahala ng maraming address at magkakaibang asset mula sa iisang seed phrase na hindi lang posible, kundi praktikal at secure. Para sa sinumang Solana user, ang pundamental na pag-unawa sa mga landas na ito ay nag-aalis ng misteryo sa mga operasyon ng wallet at nagbibigay-kapangyarihan sa kanila na pamahalaan ang kanilang digital na kayamanan nang may higit na kumpiyansa.



