Hvordan fungerer blockchain?
Hvordan fungerer blockchain?
HomeArticles
Hvordan fungerer blockchain?

Hvordan fungerer blockchain?

Let øvet
Published Dec 9, 2018Updated Jun 29, 2022
5m

Hvad er blockchain?

Kort sagt er en blockchain en liste over dataposter, der fungerer som en decentraliseret digital hovedbog. Data er organiseret i blokke, som er kronologisk arrangeret og sikret med kryptografi
Den tidligste model af en blockchain blev skabt i begyndelsen af 1990'erne, da computerforsker Stuart Haber og fysiker W. Scott Stornetta brugte kryptografiske teknikker i en kæde af blokke som en måde til at sikre digitale dokumenter mod datamanipulation. 
Habers og Stornettas arbejde inspirerede bestemt arbejdet hos mange andre dataloger og kryptografientusiaster, som førte til skabelsen af bitcoin, som det første decentraliserede elektroniske kontantsystem (eller blot den første kryptovaluta).

Selvom blockchain-teknologi er ældre end kryptovalutaer, var det først efter skabelsen af bitcoin i 2008, at dets potentiale begyndte at blive anerkendt. Siden da er interessen for blockchain-teknologi vokset gradvist, og kryptovalutaer bliver nu i større grad anerkendt.

Blockchain-teknologi bruges mest til at registrere kryptovalutatransaktioner, men den passer til mange andre former for digitale data og kan anvendes til en bred vifte af brugssager. Det ældste, sikreste og største blockchain-netværk er bitcoin, som er designet med en omhyggelig og afbalanceret kombination af kryptografi og spilteori.


Hvordan fungerer blockchain?

I forbindelse med kryptovalutaer består en blockchain af en stabil kæde af blokke, der hver især lagrer en liste over tidligere bekræftede transaktioner.  Eftersom blockchain-netværket vedligeholdes af et utal af computere spredt over hele verden, fungerer det som en decentraliseret database (eller hovedbog). Det betyder, at hver deltager (node) bevarer en kopi af blockchain-data, og de kommunikerer med hinanden for at sikre, at de alle er på samme side (eller blok).
Derfor forekommer blockchain-transaktioner inden for et globalt peer-to-peer-netværk, og det er det, der gør bitcoin til en decentraliseret digital valuta, der er grænseløs, og som ikke kan censureres. Derudover betragtes de fleste blockchain-systemer som tillidsløse, fordi de ikke kræver nogen form for tillid. Der er ingen enkelt myndighed, der har kontrol over bitcoin.
En central del af næsten enhver blockchain er processen med mining, som er afhængig af hashing-algoritmer. Bitcoin bruger SHA-256-algoritmen (Secure hash-algoritme 256 bit). Den tager et input af enhver længde og genererer et output, der altid vil have samme længde. Det producerede output kaldes en "hash" og består i dette tilfælde altid af 64 tegn (256 bits).

Med andre ord vil det samme input resultere i det samme output, uanset hvor mange gange processen gentages. Men hvis der foretages en lille ændring af inputtet, vil outputtet ændre sig fuldstændigt. Som sådan er hash-funktioner deterministiske, og i kryptovalutaens verden er de fleste af dem designet som en envejs-hashfunktion.

Med envejs-hashfunktion menes der, at det er næsten umuligt at beregne, hvad inputtet fra outputtet var. Man kan kun gætte, hvad inputtet var, men oddsene for at gætte rigtigt er ekstremt lave. Dette er én af grundene til, at bitcoins' blockchain er sikker.

Nu hvor vi ved, hvad algoritmen gør, så lad os demonstrere, hvordan en blockchain fungerer med et enkelt eksempel på en transaktion.

Forestil dig, at vi har Alice og Bob sammen med deres bitcoin-saldo. Lad os sige, at Alice skylder Bob 2 bitcoins.

For at Alice skal sende Bob de 2 bitcoins, udsender hun en besked med den transaktion, hun ønsker at foretage, til alle minere i netværket.
I den transaktion oplyser Alice om Bobs adresse og mængden af bitcoins, hun gerne vil sende, sammen med en digital signatur og hendes offentlige nøgle til minerne. Signaturen er lavet med Alices private nøgle, og minerne kan bekræfte, at Alice faktisk er ejeren af disse mønter.

Når minerne er sikre på, at transaktionen er gyldig, kan de lægge den i en blok sammen med mange andre transaktioner og forsøge at mine blokken. Dette gøres ved at føre blokken gennem SHA-256-algoritmen. Outputtet skal starte med en vis mængde af 0'er for at blive betragtet som gyldig. Mængden af nødvendige 0'er afhænger af det, der kaldes "sværhedsgraden", som ændrer sig afhængigt af, hvor meget computerkraft der er på netværket.

For at producere en output-hash med den ønskede mængde 0'er i begyndelsen, tilføjer minerne det, der kaldes en "nonce" i blokken, før de kører den gennem algoritmen. Eftersom en lille ændring af inputtet fuldstændigt ændrer outputtet, prøver minerne tilfældige nonces, indtil de finder en gyldig output-hash.

Når blokken er minet, udsender mineren den nyligt minede blok til alle de andre minere. De kontrollerer den derefter for at sikre, at blokken er gyldig, så de kan føje den til deres kopi af blockchain, og transaktionen er dermed gennemført. Men i blokken skal minerne også inkludere output-hashen fra den forrige blok, så alle blokke er bundet sammen, deraf navnet blockchain (blokkæde). Dette er vigtigt på grund af den måde, tillid fungerer på i systemet.

Hver miner har sin egen kopi af en blockchain på sin computer, og alle stoler på den blockchain, der omfatter mest databehandling, dvs. den længste blockchain. Hvis en miner ændrer en transaktion i en tidligere blok, vil output-hashen for den blok ændre sig, hvilket fører til, at alle hashes efter den også ændres på grund af, at blokkene bliver tilknyttet hashes. Mineren ville være nødt til at lave alt arbejdet om for at få nogen til at acceptere, at dennes blockchain er den rigtige. Så hvis en miner ville snyde, ville vedkommende have brug for mere end 50 % af netværkets computerkraft, hvilket er meget usandsynligt. Netværksangreb som dette kaldes derfor 51 % angreb.
Modellen med at få computere til at arbejde for at producere blokke kaldes Proof-of-Work (PoW), men der er også andre modeller som Proof-of-Stake (PoS), som ikke kræver så meget computerkraft og er beregnet til at kræve mindre elektricitet og samtidigt kunne eskalere til flere brugere.