Blokkjede — Introduksjon Del 2— Hashfunksjoner

Milad Mirshahi / Naka
4 min readApr 7, 2021

--

Hva er hashfunksjoner og hvordan sikrer og komprimerer man data i blokkjeden?

Hvis vi titter på ordet “kryptovaluta”, så ser vi naturligvis ordet “krypto”. Krypto er en forkortelse for kryptografi, som kanskje er den mest essensielle delen av blokkjedeteknologi. Kryptografi er vitenskapen om prinsipper og teknikker som sikrer informasjon mot modifikasjon og innsyn — oftest i forbindelse med kommunikasjon.

For å forstå hvordan deler av sikkerheten fungerer i en blokkjede, må vi se på de mest relevante kryptografiske mekanismene som sikrer et nettverk. I sentrum av sikringen av en blokkjede — har vi det som heter hashfunksjoner.

Før vi går inn på hva en hashfunksjon er, kan vi titte på ordet hashing. Hashing er veldig enkelt forklart at man komprimerer (trykker sammen) en type informasjon til noe annet, gjerne for å gjøre det sikrere, enklere eller mindre i størrelse.

Eksempel på hashing:

La oss si du skal kjøpe en stol på IKEA og du sender en SMS til en venn for å rådføre deg. Noen ganger så er det bedre å forholde seg til kortere begreper for å spare tid. I stedet for å skrive hele setninger som forklarer et objekt, kan du enklere bare forkorte det ned (hashe) til noe annet og si “skal vi gå for A, B eller C”.

Hvis du skal ha en lang samtale om stoler, sparer du tid ved å forkorte definisjonen av noe og bare forholde deg til A, B eller C resten av samtalen. Samtidig vil ikke en utenforstående vite hva det er snakk om hvis du bare definerer objektene som A, B og C. Dette gir også en viss form for sikkerhet, ettersom A, B og C blir som “koder” for det du egentlig snakker om. Dette er akkurat det samme som foregår i en blokkjede.

I en blokkjede slik som Bitcoin har du tusenvis av transaksjoner som foregår hver time. I blokkjeder så hasher / komprimerer man ikke alle disse transaksjonene til bokstaver som A, B og C som i eksempelet over, men til en lang sekvens av både bokstaver og tall.

Samtidig så er det ikke en enkeltperson som meg som komprimerer informasjonen i en blokkjede. I eksempelet over er det jeg som valgte å kalle det “A, B og C”. I en blokkjede, så har du en hashfunksjon som utfører denne komprimeringen. I Bitcoin brukes en algoritme som heter SHA-256, som komprimerer informasjon til den grad der det ikke er mulig å hacke den.

Informasjonen som man skal komprimere kalles en hash-input, algoritmen som skal komprimere informasjon kalles en hashfunksjon (i dette tilfellet SHA-256), og den komprimerte informasjonen kalles en hash-output.

Eksempel:

Nå er ikke jeg en utelukkende en hashfunksjon (:D), men dette er bare for å visualisere hvordan det fungerer. Selv om ordene input, funksjon og output virker kompliserte, er det ikke mer komplisert enn dette. Informasjonen du setter inn er en hash-input, algoritmen som komprimerer informasjonen er en hashfunksjon og det komprimerte resultatet er en hash-output.

Oppsummering 3: Informasjonen som blir lagret i en blokkjede blir hashet. Hashing er prossessen der man komprimerer, krypterer og forenkler informasjon. Dette gjøres med en hashfunksjon algoritme. Det man skal hashe kalles en hash-input. Algoritmen som hasher en en hash funksjon. Utfallet av hashingen er en hash-output.

_________________________________________________________________

Forhåpentligvis var denne informasjonen nyttig for noen der ute. Denne gjennomgangen av blokkjedeteknologi er delt opp i flere deler så det er enklere å fordøye. Etter du har lest alle delene, vil du kunne mer om blokkjeder folk flest.

Du kan lese mer om blokkenes innhold, del 3 av denne serien om blokkjeder:

https://krypto101.medium.com/blokkjede-introduksjon-del-3-blokkenes-innhold-5db75cae02b6

Inntil neste gang,

Milad

🐦 Twitter: https://twitter.com/itsnakazumi
📨 Telegram: https://t.me/inakazumi
✉️ Epost: milad@presail.com

_________________________________________________________________

Definisjoner:

Algoritme: Et sett med data-prosesser som er automatisert, ofte som en spesifikk fremgangsmåte for å løse en oppgave.

Hashing: Det å komprimere data for å ofte gjøre det sikrere, mindre i størrelse og for å gjøre det enklere å forholde seg til.

Hash Function: En algoritme som ofte forandrer, sikrer og komprimerer data fra en uvisst størrelse til en fast størrelse.

Hash Input: Dataen man har før man man prosesserer det igjennom en hashfunksjon.

Hash Output: Dataen man får etter dataen har blitt hashet ved bruk av en hashfunksjon.

Krytografi: Kryptografi er vitenskapen om prinsipper og teknikker som sikrer informasjon mot modifikasjon og innsyn — oftest i forbindelse med kommunikasjon.

--

--