Hva er public key?

En public key, eller offentlig nøkkel, er en av to nøkler i et asymmetrisk kryptosystem. Den andre er den private nøkkelen (private key). Public key kan sammenlignes med et bankkontonummer – du kan gi det til hvem som helst for å motta penger, men det gir ingen tilgang til å ta ut penger. I kryptovaluta som Bitcoin og Ethereum brukes public key for å generere en adresse, som er den informasjonen du deler når du skal motta digitale mynter. Teknisk sett er public key et stort tall som er matematisk knyttet til den private nøkkelen, men det er praktisk umulig å regne seg tilbake til den private nøkkelen fra public key alene.

Forstå public key

For å forstå public key må du først vite at all sikkerhet i kryptovaluta bygger på et nøkkelpar. Når du oppretter en lommebok (wallet), genereres et tilfeldig privat nøkkel, og derfra utledes den tilhørende public key. Den private nøkkelen er som et hemmelig passord – den må oppbevares trygt og aldri deles. Public key derimot kan vises frem uten risiko. Tenk deg at du skal sende en kryptovaluta til en venn. Du trenger vennens adresse (utledet fra hans public key). Vennens public key gjør at systemet kan bekrefte at transaksjonen er gyldig og at han er den rette mottakeren. Uten public key ville ingen kunne verifisere at en transaksjon er autentisk. Dette er grunnlaget for tillit i et desentralisert nettverk.

Hvordan fungerer public key?

Prosessen starter med at lommebokprogramvaren genererer et nøkkelpar ved hjelp av en algoritme som for eksempel ECDSA (Elliptic Curve Digital Signature Algorithm). Den private nøkkelen er et tilfeldig tall, og public key beregnes fra dette tallet med en matematisk funksjon som er enkel å gjøre i én retning, men svært vanskelig å reversere. Når du skal motta kryptovaluta, gir du avsenderen din public key eller adresse. Når du skal sende, oppretter du en transaksjon og signerer den med din private nøkkel. Nettverket bruker deretter din public key for å bekrefte at signaturen er ekte. Dette skjer uten at den private nøkkelen noensinne avsløres. I praksis er det adressen (en hash av public key) du deler, fordi den er kortere og lettere å håndtere. For eksempel starter en Bitcoin-adresse med 1, 3 eller bc1.

Historisk bakgrunn

Konseptet med offentlig nøkkel-kryptografi ble først introdusert av Whitfield Diffie og Martin Hellman i 1976, og senere videreutviklet av Ron Rivest, Adi Shamir og Leonard Adleman (RSA) i 1977. Men det var først med lanseringen av Bitcoin i 2009 at teknologien fikk en massiv praktisk anvendelse i finans. Satoshi Nakamoto kombinerte asymmetrisk kryptografi med en blokkjede for å skape et desentralisert betalingssystem. Siden den gang har public key-teknologi blitt standard for alle kryptovalutaer og mange andre sikkerhetsløsninger, som for eksempel digital signatur av dokumenter og sikker e-post.

Praktisk eksempel

La oss si at Kari i Oslo kjøper 0,1 Bitcoin (BTC) for omtrent 50 000 NOK på en norsk kryptobørs som Firi. Når hun oppretter en lommebok, får hun en privat nøkkel og en public key. Børsen viser henne adressen, for eksempel bc1qar0srrr7xw7n6l0j3k9m2v5y8z4t6p. Hun kopierer denne adressen og gir den til en venn som skal betale henne tilbake et lån. Vennens Bitcoin-lommebok oppretter en transaksjon som sendes til nettverket. Når transaksjonen bekreftes, kan alle se at den er signert med vennens private nøkkel og verifisert med hans public key. Karis public key er ikke direkte synlig i blokkjeden, men adressen hennes er utledet fra den. Hvis Kari mister den private nøkkelen, mister hun tilgangen til Bitcoinen for alltid. Derfor er det vanlig å lagre private nøkler på en hardware wallet eller skrive dem ned på papir.

Fordeler og ulemper

Fordelene med public key-systemet er betydelige: Det gir sterk sikkerhet fordi den private nøkkelen aldri trenger å deles. Du kan motta betalinger uten å avsløre sensitiv informasjon. Systemet muliggjør også digitale signaturer som er juridisk bindende i mange land. Ulempene er at hvis du mister den private nøkkelen, er midlene tapt – det finnes ingen «glemt passord»-funksjon. I tillegg er adresser ofte lange og kan være utsatt for skrivefeil. Noen kryptovalutaer har derfor innført checksummer for å oppdage feil. En annen ulempe er at selv om public key i seg selv er anonym, kan transaksjonshistorien spores på blokkjeden, noe som svekker personvernet.

Vanlige misforståelser

En svært utbredt misforståelse er at public key og adresse er det samme. I virkeligheten er adressen en forkortet og hashet versjon av public key, ofte med ekstra kontrollsiffer. En annen misforståelse er at public key kan brukes til å få tilgang til lommeboken. Det kan den ikke – bare den private nøkkelen gir tilgang. Noen tror også at public key må holdes hemmelig, men det er altså helt trygt å dele den. En tredje misforståelse er at kryptovaluta-transaksjoner er helt anonyme. Public key gjør dem pseudonyme, men ikke anonyme, fordi alle transaksjoner er offentlige.

Oppsummering

Public key er en grunnleggende byggestein i kryptovaluta og moderne sikkerhet. For investorer er det viktig å forstå at public key kan deles fritt, mens private key må beskyttes som en hemmelighet. Uten denne teknologien ville desentraliserte digitale valutaer ikke fungert. Ved å kjenne til forskjellen mellom public key, adresse og private key kan du trygt navigere i kryptomarkedet og unngå vanlige feil som å dele privat nøkkel eller sende til feil adresse. Husk alltid å oppbevare private nøkler på en sikker måte, for eksempel i en hardware wallet eller på et papir som oppbevares i bankboks.