Ordliste · i dybden

Offentlig nøkkel

En nøkkel avledet fra den private nøkkelen; andre bruker den til å kontrollere signaturene dine. Adresser avledes fra den.

En offentlig nøkkel er den «delbare» halvdelen av et nøkkelpar. Den er matematisk avledet fra en privat nøkkel og lar alle verifisere at en signatur ble laget av den matchende private nøkkelen, uten å avsløre den nøkkelen.

Hvordan den lages

Bitcoin bruker elliptisk-kurve-kryptografi på en kurve kalt secp256k1. Den private nøkkelen, et tall, multipliseres med et fast startpunkt på kurven. Resultatet er et annet punkt: den offentlige nøkkelen. Å multiplisere fremover er raskt. Å arbeide bakover, fra offentlig nøkkel til privat nøkkel, antas å være ugjennomførlig med dagens datamaskiner. Den enveis­egenskapen er det alt hviler på.

Offentlig nøkkel vs. adresse

En adresse er ikke det samme som en offentlig nøkkel. De fleste adresseformater er en hash av den offentlige nøkkelen, skrevet i et format med innebygd feilsjekk, som Base58Check, Bech32 eller Bech32m. Adresser er kortere og fanger skrivefeil. Nyere Taproot-adresser, aktivert i november 2021, inneholder en (tweaket) offentlig nøkkel direkte i stedet for hashen dens.

Hva den gjør i en transaksjon

Når du bruker en UTXO, inkluderer transaksjonen din offentlige nøkkel (eller den er allerede kjent) og en digital signatur. Hver node sjekker at signaturen er gyldig for den offentlige nøkkelen og at den offentlige nøkkelen matcher myntene som brukes. Hvis den gjør det, er bruken autorisert.

Utvidede offentlige nøkler

Lommebøker bruker ofte en «xpub», en utvidet offentlig nøkkel som kan generere alle mottaksadressene til en lommebok. Den kan brukes til watch-only-lommebøker, som ser saldoer men ikke kan bruke. Behandle en xpub som privat informasjon likevel: den avslører hele transaksjonshistorikken din.

Kvante­fotnoten

En stor fremtidig kvantedatamaskin kunne i teorien avlede private nøkler fra offentlige nøkler. Dette er én grunn til at gjenbruk av adresser frarådes, og til at forskere studerer kvante­resistente signaturer for Bitcoin.