Er Blockchain og Bitcoin virkelig uforanderlige

Vi tar et dypdykk i konseptet som er blockchain, hvordan det fungerer med Bitcoin, og dersom de er uforanderlige eller ikke.

Alltid når vi snakker om blockchain, er uforanderlighet det neste temaet som dukker opp. Det er forskjellige synspunkter på temaet, men når man kommer til bunnen i det, er alle på jakt etter svar på et enkelt spørsmål – er blockchain og Bitcoin uforanderlige? Det korte svaret er – Ja, blockchain og Bitcoin kan ikke endres. Det lange svaret er at du fortsatt trenger å vite årsakene bak svaret for å forstå implikasjonene.

Før vi starter å utdype videre, er det viktig å forstå det grunnleggende om blockchain. Vi vil dog ikke gå inn på kjernen av den tekniske biten, siden det er tema i seg selv. Så hva er blockchain? Mange personer bruker begrepene blockchain og Bitcoin om hver andre, men de er ikke det samme. Blockchain er et konsept, en idé. Bitcoin er den første og største implementasjonen av den ideen. Det kan være forskjellige implementasjoner på toppen av blockchain som ikke er relatert til Bitcoin. Faktisk har det vært bra fremgang på andre området som smart-kontrakter, interbank-løsninger, osv. som er mer interessante enn Bitcoin.

Essensielt er blockchain kun en distribuert hovedbok. I motsetning til vanlige paradigmer, hvor det er en sentral klarert myndighet til å kontrollere ting, gir blockchain et nettverk hvor det ikke er et enkelt punkt med makten. Det er ikke behov for å «stole» på noen siden systemet i seg selv gjør det nesten umulig for noen å ta kontroll.. Denne desentraliseringen er det som gjør den så kraftig og at den appellerer til vanlige folk.

Bitcoin er en krypto-valuta basert på blockchain som ikke er regulert av noen. Transaksjonene er umiddelbare og det er et lite gebyr ved hver transaksjon, som gjør den veldig populære for betalinger til andre land. Dog så har ikke valutaen noen egenverdi siden den ikke er støttet av noe. Dens verdi er fullstendig avhengig av hvor mye folk er villige til å betale og henger direkte sammen med hvor mye folk stoler på systemet. Det er årsaken til at du ser at prisen til Bitcoin går ned når en negativ nyhet angående blockchainen kommer ut. (Du kan lese mer om Bitcoin her.)

Nå, hva er egentlig uforanderlighet og hvorfor bør du bry deg om det? Generelt sett, betyr uforanderlighet noe som ikke kan endres etter det er opprettet. De som er fra programmeringsverden vet hvor viktig det er med uforanderlige objekter. I sammenheng med blockchain, har uforanderlighet en lignende mening, men en mye større viktighet. For å forklare hvorfor det er så viktig, la oss snakke konkret med Bitcoin som eksempel.

Bitcoin transaksjonene – som skjer over hele verden – er faktisk lagret på en distribuert måte på tvers av nettverket med flere kopier av informasjonen flytende rundt. Det er da bokstavelig talt en rekke lenker som er knyttet sammen (blockchain). Dersom disse lenkene kan endres, er det mulig for en skadelig person å endre transaksjonshistorikken og bli superrik kun ved å endre registeret. Det er årsaken til at uforanderlighet på lenkene er viktig. La oss snakke om detaljene:

For å starte en ny transaksjon, kringkaster du en beskjed med transaksjonsdetaljene, som f.eks «betal Ole 9 BTC:» Men hvordan ved verden at det er du, og at det ikke er noen andre som er skaperen av transaksjonen? For den problematikken, skaper Bitcoin programvaren/lommeboken du anvender en digital signatur fra din private nøkkel, som kun er kjent for deg (ditt system) og er unik for hver transaksjon. Andre vil bruke en korresponderende offentlig nøkkel for å dekryptere beskjeden. Diagrammet nedenfor forklarer flyten på et høyt nivå:

Dog siden transaksjonen går via nettverk og datamaskiner, som ikke kan stoles på, hvordan sørger du for at beskjeden er uforanderlig og at ingen endrer detaljene? Måten digital signatur fungerer på er atdersom beskjeden endres, blir hele signaturen ugyldig og alle får vite at den ble tuklet med. Deretter går transaksjonen til en gruppe med ubekreftede transaksjoner. Folk som deltar i Bitcoin nettverker velger noen av disse transaksjonene og forsøker å legge dem til i den eksisterende lenken (block). Dog, for å legge til transaksjonen, må en matematisk formel løses (SHA256 Hash, for å være nøyaktig). Å finne løsningen på denne formelen tar tid, som er en svært viktig funksjon i Bitcoin infrastrukturen som vi vil se senere. Nå vil flere personer forsøke å løse formelen. Den som klarer å løse den først får lov til å legge til transaksjonen til den eksisterende lenken (block), og de får en liten prosent av Bitcoin som belønning. Nedenfor er diagrammet som forklarer det. Merk at transaksjonen har en referanse til den eldre transaksjonen og dermed skaper en lenke.

Grunnet Bitcoin infrastrukturens natur, kan flere grener av blockchain-en inneholde motstridende informasjon. Hvordan vet du hvilken du kan stole på? Regelen er at lengere grener er de som bør stoles på og at de kortere grenene går tilbake til gruppen med ubekreftede transaksjoner. Dette er årsaken til at det er en nedkjølingsperiode etter du foretar en transaksjon og for den første perioden, det er generelt sett risikabelt og ubekreftet. Enkelte lommebøker markerer transaksjonen i rødt for å betegne det samme.

Nå igjen, kommer spørsmålet. Er lenken virkelig uforanderlig? Er det mulig for en skadelig angriper å endre lenken i hans/hennes favør? Svaret er at det ikke er 100% uforanderlig, men metoden med den matematiske formelen som vi nevnte tidligere gjør det nesten umulig å gjøre endringer. For at en angriper skal lykkes, må det skapes en lenke som er lengere enn den som allerede eksisterer. Distribusjonen og den tidskrevende naturen av denne prosessen gjør det praktisk sett umulig for noen å gjøre det.

Men hva med lenken som allerede er akseptert? Er det utsatt for at endringer kan gjøres? Ja, men igjen, siden nodene er distribuert ville det kreve at en angriper tar kontroll over et stort antall maskiner i nettverket. Prosentvis, ville det kreve at angriperen tar kontroll over 51% av maskinene og derav navnet “51% angrep”. Men deretter, er et logisk argument at dersom noen har kontroll over så mange maskiner, ville det vært gunstigere å tjene Bitcoin via «mining» i stedet for å jukse.

Så bunn i grunn kan man si at blockchainen nesten er uforanderlig, så fremt en enorm mengde brukere eksisterer. Men det er også viktig å forstå årsaken siden mange er paranoide om det og kanskje det er riktig av dem.

Var det hjelpsomt? Del det!