Ordliste · i dybden

Hash

Et fingeravtrykk av data med fast lengde. Endrer du én bit i inndataene, blir resultatet helt annerledes. Bitcoin bruker SHA-256.

En hashfunksjon tar hvilken som helst inndata – et ord, en fil eller en hel blokk – og produserer en kort utdata med fast lengde kalt en hash eller digest. Bitcoin bruker hovedsakelig SHA-256, som alltid gir 256 biter, vanligvis skrevet som 64 heksadesimale tegn.

Fire nyttige egenskaper

Deterministisk: samme inndata gir alltid samme hash.

Snøskred­effekt: endre ett enkelt tegn, og utdataen ser helt annerledes ut. «bitcoin» og «Bitcoin» gir urelaterte hasher.

Enveis: gitt en hash finnes det ingen praktisk måte å finne ut inndataen på, bortsett fra å gjette om og om igjen.

Kollisjons­resistent: å finne to forskjellige inndata med samme hash er, så langt noen vet, praktisk talt umulig.

Hvor Bitcoin bruker hasher

Å lenke blokker. Hver blokk lagrer hashen til forrige blokk. Endre noe i historikken, og hashene slutter å matche. Det er det som gjør blokkjeden manipulasjons­synlig.

Mining. I arbeidsbevis hasher utvinnere en blokkheader om og om igjen, og endrer et lite tall hver gang, til resultatet faller under et mål satt av vanskelighetsgraden. Fordi hasher er uforutsigbare, er eneste strategi brute force, og derfor koster utvinning reell energi.

Transaksjons-ID-er og adresser. Hver transaksjon identifiseres av sin hash. Mange adressetyper lages ved å hashe en offentlig nøkkel, som legger til et ekstra lag beskyttelse.

Et fingeravtrykk, ikke kryptering

Hashing er ikke kryptering. Ingenting skjules som kan «dekrypteres» senere. En hash er et fingeravtrykk: lite, unikt, og umulig å snu tilbake til originalen. Det enkle verktøyet bærer en overraskende stor del av Bitcoins sikkerhet.