Hierarchical Deterministic Wallet – ano nga ba ito?
Hierarchical Deterministic Wallet – ano nga ba ito?

Hierarchical Deterministic Wallet – ano nga ba ito?

Bago idetalye ang usapan sa mga klasipikasyon ng Bitcoin wallet at uri ng Bitcoin addresses, binanggit muna ang hierarchical deterministic (HD) wallet. Dito na tayo nag-umpisa, at hindi na ininda pa ang ibang sinaunang wallets. Ano nga ba ang HD wallet? Himayin natin.

Sa BIP-0032 tinatalakay ang Hierarchical Deterministic Wallets. Ang wallet ay deterministic kapag gumagamit ito ng seed para makakuha ng private key (na pinanggagalingan ng public key). Ang pares ng private-public keys o key pair ay pwede pang pagkuhanan ng bagong pares ng keys, at manganganak pa ng bagong pares, atbp. Parang kadena (chain) ng mga susi, na lahat nagmula sa iisang seed.

Sa BIP-0032 iminungkahi ang mas advanced na deterministic wallet, kung saan maraming key pair chains ang pwedeng mabuo mula sa iisang seed.

Key Tree ng HD Wallet ayon sa BIP-0032. CKD = Child Key Derivation Function

Ipinapakita sa taas ang key tree na maaaring mabuo sa HD wallet. Ito ang mga antas nun:

  • Master Seed – kung ano ang pagmumulan ng lahat, mula sa entropy ay mabubuo ang seed (buto) byte sequence
  • Master Node (m) – kung nasaan ang master secret key at master chain code na mabubuo mula seed byte sequence; pag-uusapan natin sa isang saglit.
  • Wallets/Accounts (m/i) – mula sa master secret key at master chain code, makakabuo na ng helera ng key pairs at chain codes na bawat isa ay katumbas ang isang account.
  • Wallet Chains (m/i/0 o 1) – Sa bawat wallet, may external at internal na chains. Ang external chain ang pagmumulan ng mga address gamit sa mga bayaran na transaksyon, at ang internal ang para sa mga change (sukli).
  • Addresses (m/i/(0 o 1)/k) – Sa external chain, maraming address na pwedeng buuin; ganun din sa internal chain. Ang external addresses ang naipapakita ng mga tao sa isa’t isa, samantalang ang internal addresses ay yung gagawin ng wallet para dun ibalik ang change (sukli). Pero sa usapang antas na ito, secret key pa ang tinutukoy natin.

Sa dami ng pwedeng sanga, parang puno talaga ang istrakturang napapaloob sa isang HD wallet! Mapapansin mo rin sa ilustrasyon ang gamit na pantukoy sa pagsanga-sanga at kung gaano na kalalim sa loob ng wallet ang mga antas na nabanggit.

Maraming pwedeng mabuo na accounts mula sa master node (m). Sa bawat account (m/0…i), may 2 wallet chains (m/i/(0 o 1)): 0 kapag external, 1 kapag internal. Sa bawat wallet chain, maraming addresses (m/i/(0 o 1)/(0…k)) ang pwedeng mabuo.

Halimbawa, ang ikalimang external o receive address ko sa ikalawang account ay nasa lalim ng private key na may notasyong: m/1/0/4. Hindi direktang Sinabi na address ito. Tandaan, mga susi at chain code ang tinutukoy natin. Kapag maliit na titik m ang umpisa, tumutukoy ito sa private key.

May kaparehas na notasyon pag public key ang tinutukoy: gagamit lang ng malaking titik M. Kaya ang public key sa parehas na lalim sa halimbawa ay: M/1/0/4. At alam mo na, mula pa sa public key (o di kaya’y script) makukuha ang aktwal na Bitcoin address.

Hanggang dito na muna. Sa susunod pag-usapan natin ang konsepto ng pagbuo ng wallet address mula sa master seed.


Kitakits sa ika-10

Salamat sa: Photo by Johannes Plenio: https://www.pexels.com/photo/two-brown-trees-1632790/

Mag-iwan ng Tugon

Ang iyong email address ay hindi ipa-publish. Ang mga kinakailangang mga field ay markado ng *