Denne teksten er automatisk oversatt og kan derfor avvike fra originalen. Ingen rettigheter kan utledes fra denne oversettelsen.
Hvordan fungerer en blockchain? Del 2: blokker
En blockchain kan best forstås som en slags regneark som er online ('i skyen'). Det deles med flere personer, folk kan jobbe i det samtidig, og alle endringer er synlige for alle. Dette gjelder også for blockchain, hvor det også gjelder at du bare kan legge til informasjon "nederst". Du kan altså endre ting, men fortiden forblir alltid eksisterende. En blockchain er derfor veldig gjennomsiktig.
Men la oss begynne med begynnelsen: hvordan ser egentlig en 'blokk' ut? En blokk inneholder bestemt nyttig informasjon, som en digital transaksjon eller en avtale mellom to parter.
For at blockchain skal akseptere blokken din, må hashen (eller den digitale fingeravtrykket, se forrige artikkel i denne serien) til blokken begynne med et avtalt antall 'nuller'. Som forklart i forrige artikkel, 'beviser' du dermed at du har utført en viss mengde regnearbeid da du laget blokken. Dette forhindrer, som vi så forrige gang, at en person kan ta full kontroll over en blockchain.
For å få fingeravtrykket til å begynne med det forhåndsbestemte antall nuller, må vi 'prøve' mange varianter av blokken for å se om fingeravtrykket oppfyller kravet. For å kunne gjøre det, legger vi til et (ellers ubrukt) tall til innholdet i blokken: nonce. Du varierer nonce til fingeravtrykket til blokken begynner med det nødvendige antall nuller.
'Double spend'
En blockchain er en kjede av blokker – kjeden kan bare forlenges med én blokk. Det er selvfølgelig mulig at noen samtidig har lyktes med å beregne en ny blokk som noen andre. Disse blokkene kan motvirke hverandre: den ene kan for eksempel inneholde en transaksjon der penger blir brukt av person A, mens den andre blokken kan inneholde en transaksjon der penger brukes av person B. Selvfølgelig kan bare en av transaksjonene beholdes. Hvordan løser blockchain dette?
I en blockchain 'vinner' til slutt den lengste kjeden. Så hvis du klarer å lage en blokk først som følger etter en annen blokk, er sjansen større for at denne blokken til slutt blir en del av 'den lengste' kjeden. Den følgende illustrasjonen viser dette. Blokkene 006406 og 006274 blir laget samtidig. Fordi flere blokker følger etter blokk 006406, blir denne blokken til slutt en del av den lengste kjeden.

Dette prinsippet hjelper også med å forhindre endringer i gamle blokker. Når blokkene inneholder pengetransaksjoner, vil du selvfølgelig ikke at penger som allerede er brukt, trekkes tilbake!
Hva om jeg vil endre transaksjonen i blokk '006406', hva må jeg gjøre? Å endre transaksjonen gjør at blokken endres, og dermed også fingeravtrykket til blokken (og som sett tidligere, er det umulig å endre blokken slik at den har nøyaktig samme fingeravtrykk som den gamle blokken). Det som kan gjøres, er å prøve å legge til blokken på nytt, og som en gal også beregne de påfølgende fire blokkene på nytt, slik at en lengre kjede oppstår enn den nåværende kjeden.
For å mine fem blokker totalt, må en finne fem ganger et riktig fingeravtrykk. Jo lengre kjeden er, desto vanskeligere blir det. Sammenlign det med de russiske Matroska-dukke: hvis du vil erstatte den innerste, må du ta dem fra hverandre en etter en og sette dem sammen igjen en etter en.

I mellomtiden jobber de andre deltakerne fortsatt med å forlenge den lengste kjeden (hvor den uønskede transaksjonen er en del av). For å være raskere enn resten, trenger du vesentlig mer regnekraft (for å være nøyaktig trenger du en 'majoritet' av >50% av den totale regnekraften i nettverket!).
Takk til blockchain kan historisk informasjon derfor ikke endres, og penger kan bare brukes en gang, på grunn av den nødvendige majoriteten i regnekraft. Smart tenkt!