Hierarchical Deterministic (HD)
Valg av Wallet (del 1)
November 27, 2015Vi hadde en god gjennomgang av hva Bitcoin er i forrige artikkel, og vi har tidligere også sett hva en wallet er. Da gjenstår et stort spørsmål. Hvilken wallet skal en velge?
La oss bryte det ned litt... Hvilke egenskaper i en wallet er vi på jakt etter?
Når en Wallet blir litt mer komplisert enn bare èn Bitcoin-adresse, så trengs struktur og forutsigbarhet. Det jeg skal forklare nå løser denne utfordringen.
Hierarkisk Deterministisk (HD)
Hva i alle dager skjuler seg bak disse greske ordene? En hører ofte begrepet i wallet-sammenheng. Hva er nå dette?
Det er en smart måte å opprette organiserte og komplekse wallet'er. Vi snakker da om en wallet som rommer flere beslektede bitcoin-adresser.
De beslektede adressene har en hierarkisk struktur slik at en bedrift, eller gruppe, får tildelt èn hovedadresse på toppen.
Hovedadressen kan ha underadresser; èn for hver avdeling.
Videre kan hver avdeling ha flere adresser under seg igjen, f.eks lønnskonto, regningskonto, depositumkonto etc.
Dette fremmer oversikt i kontantflyten. Bedrifter forventer slike funksjoner i sine økonomisystemer i dag.
Denne strukturen gir også ulike personer begrensede tilganger på det nivået de opererer, ved at de bare har privatnøkkel til relevant adresse. Alt dette muliggjør også et effektivt bokettersyn (audit) på en enkel måte, enten for hele bedriften eller på avdelingsnivå.
En komplett HD-wallet opprettes fra ett HD-seed. Dette er et slags "frø", eller en genererende kodenøkkel om du vil.
Alle adressene (kontoene) i en HD-wallet er konstruert i matematisk relasjon til hverandre. Hele adressehierarkiet nøstes dermed ut fra dette ene "frøet".
Sukk, enda en kodenøkkel, tenker du sikkert... Vi har fra før offentlige og private nøkler pr adresse, og nå altså også et HD-seed for denne nye superstrukturen.
Heldigvis kommer det litt hjelp for dette nå hvis du leser videre :)
Systemet klarer utrolig nok å strukturere hele wallet'en din fra bunnen, ved hjelp av denne mekanismen. Dette er smart!
Hvis du eventuelt vil bytte tjenesteleverandør av wallet, så er tilhørende HD-seed alt du trenger å ta med deg.
Glem dataeksport, frøet inneholder alt som trengs for å gjenskape dataene dine! Det vil si hele ruklet; adressene i riktig orden med saldo og nøkler++
Mnemonic Seed
Mnemonic hva?
Vi snakker fortsatt om HD-seed fra forrige avsnitt. I stedet for å oppbevare enda en lang kodenøkkel, har noen kommet opp med en lur idè.
Her kommer forresten hjelpen jeg antydet lengre oppe :)
Et HD-seed kan representeres som et "mnemonic seed". Det betyr helt enkelt at kodenøkkelen kan konverteres til en frase; en rekke vanlige ord som er tilfeldig sammensatt.
Dermed kan dette svært viktige og hemmelige "frøet" memoreres! Endelig, Brain Wallet!!
Avhengig av sikkerhetskravet kan det være fra 12 til 48 ord i denne frasen. Større antall ord gir høyere sikkerhet. Det er, som du sikkert forstår, fordi flere ord gir flere mulige varianter.
Forskjellige språk og tjenestetilbydere kan benytte ulik ordliste. Ordlistene varierer i forhold til ord, og også antall ordvarianter, som kan velges på hver plass i frasen.
Den offisielle spesifikasjonen definerer hele 2048 ord fra språkspesifikke ordlister. Så en 12 ord lang frase tilsvarer da 204812 varianter.
Tallet 204812 tilsvarer omtrent 128 bits ( 2128 ) i krypteringsstyrke. Hadde vi derimot unnet oss 24 ord i frasen, så ville det tilsvart ca 256 bits beskyttelse.
Eksempel på en engelsk 12-ords frase under:
BankID for mobil benytter forresten en to-ords mnemonic kode, når du logger på nettbanken. Kanskje du har lagt merke til det?
Den lirer av seg fraser som "stolt krakk", "modig banan" og "jovial gitar", som du må sjekke stemmer overens mellom mobiltelefonen og nettleseren din.
God helg til alle sammen! :D