Hvor sikker er blockchain egentlig?

Mr. Tech





Hele poenget med å bruke en blokkjede er å la folk – spesielt folk som ikke stoler på hverandre – dele verdifulle data på en sikker, manipulasjonssikker måte. Det er fordi blokkjeder lagrer data ved hjelp av sofistikert matematikk og innovative programvareregler som er ekstremt vanskelige for angripere å manipulere. Men sikkerheten til selv de best utformede blokkjedesystemene kan svikte på steder der de fancy matematikk- og programvarereglene kommer i kontakt med mennesker, som er dyktige juksemakere, i den virkelige verden, hvor ting kan bli rotete.

For å forstå hvorfor, start med hva som gjør blokkjeder sikre i prinsippet. Bitcoin er et godt eksempel. I Bitcoins blokkjede er de delte dataene historien til hver Bitcoin-transaksjon som noen gang er gjort: en regnskapsbok. Hovedboken er lagret i flere kopier på et nettverk av datamaskiner, kalt noder. Hver gang noen sender inn en transaksjon til hovedboken, sjekker nodene for å sikre at transaksjonen er gyldig - at den som brukte en bitcoin hadde en bitcoin å bruke. En undergruppe av dem konkurrerer om å pakke gyldige transaksjoner i blokker og legge dem til en kjede av tidligere. Eierne av disse nodene kalles gruvearbeidere. Gruvearbeidere som lykkes med å legge til nye blokker til kjeden, tjener bitcoins som belønning.

Blockchain-spørsmålet

Denne historien var en del av vår mai 2018-utgave



  • Se resten av saken
  • Abonnere

Det som gjør dette systemet teoretisk manipulasjonssikkert er to ting: et kryptografisk fingeravtrykk som er unikt for hver blokk, og en konsensusprotokoll, prosessen der nodene i nettverket blir enige om en delt historie.

Fingeravtrykket, kalt en hash, tar mye tid og energi å generere i utgangspunktet. Det fungerer dermed som bevis på at gruvearbeideren som la blokken til blokkjeden gjorde beregningsarbeidet for å tjene en bitcoin-belønning (av denne grunn sies Bitcoin å bruke en proof-of-work-protokoll). Den fungerer også som en slags forsegling, siden endring av blokken ville kreve generering av en ny hash. Det er imidlertid enkelt å bekrefte om hashen samsvarer med blokken, og når nodene har gjort det, oppdaterer de sine respektive kopier av blokkjeden med den nye blokken. Dette er konsensusprotokollen.

Det siste sikkerhetselementet er at hashen også fungerer som lenkene i blokkjeden: hver blokk inkluderer forrige blokks unike hash. Så hvis du vil endre en oppføring i hovedboken med tilbakevirkende kraft, må du beregne en ny hash ikke bare for blokken den er i, men også for hver påfølgende blokk. Og du må gjøre dette raskere enn de andre nodene kan legge til nye blokker i kjeden. Så med mindre du har datamaskiner som er kraftigere enn resten av nodene til sammen (og selv da er suksess ikke garantert), vil eventuelle blokker du legger til, være i konflikt med eksisterende, og de andre nodene vil automatisk avvise endringene dine. Det er dette som gjør blokkjeden manipulasjonssikker, eller uforanderlig.



Kreative måter å jukse på

Så mye for teorien. Det er vanskeligere å implementere det i praksis. Bare det faktum at et system fungerer som Bitcoin – som mange kryptovalutaer gjør – betyr ikke at det er like sikkert. Selv når utviklere bruker utprøvde kryptografiske verktøy, er det lett å ved et uhell sette dem sammen på måter som ikke er sikre, sier Neha Narula, direktør for MITs Digital Currency Initiative. Bitcoin har eksistert lengst, så det er den mest grundig kamptestede.

Folk har også funnet kreative måter å jukse på. Emin Gün Sirer og hans kolleger ved Cornell University har vist at det er en måte å undergrave en blokkjede selv om du har mindre enn halvparten av gruvekraften til de andre gruvearbeiderne. Detaljene er noe tekniske, men i hovedsak kan en egoistisk gruvearbeider få en urettferdig fordel ved å lure andre noder til å kaste bort tid på allerede løste kryptopuslespill.

En annen mulighet er et formørkelsesangrep. Noder på blokkjeden må forbli i konstant kommunikasjon for å sammenligne data. En angriper som klarer å ta kontroll over en nodes kommunikasjon og lure den til å akseptere falske data som ser ut til å komme fra resten av nettverket, kan lure den til å kaste bort ressurser eller bekrefte falske transaksjoner.



Til slutt, uansett hvor manipulasjonssikker en blokkjedeprotokoll er, eksisterer den ikke i et vakuum, sier Sirer. Hackene for kryptovaluta som driver de siste overskriftene er vanligvis feil på steder der blokkjedesystemer kobles til den virkelige verden – for eksempel i programvareklienter og tredjepartsapplikasjoner.

Hackere kan for eksempel bryte seg inn i hot wallets, internett-tilkoblede applikasjoner for lagring av de private kryptografiske nøklene som alle som eier kryptovaluta trenger for å bruke den. Lommebøker eid av online kryptovalutabørser har blitt hovedmål. Mange børser hevder at de holder mesteparten av brukernes penger i kalde maskinvarelommebøker – lagringsenheter koblet fra internett. Men som januarranet på mer enn 500 millioner dollar i kryptovaluta fra den Japan-baserte børsen Coincheck viste, er det ikke alltid tilfelle.

De kanskje mest kompliserte kontaktpunktene mellom blokkjeder og den virkelige verden er smarte kontrakter, som er dataprogrammer lagret i visse typer blokkjeder som kan automatisere transaksjoner. I 2016 utnyttet hackere et uforutsett innfall i en smart kontrakt skrevet på Ethereums blokkjede for å stjele 3,6 millioner eter, verdt rundt 80 millioner dollar på den tiden, fra den decentraliserte autonome organisasjonen (DAO), en ny type blokkjedebasert investeringsfond.



Siden DAO-koden levde på blokkjeden, måtte Ethereum-samfunnet presse på en kontroversiell programvareoppgradering kalt en hard fork for å få pengene tilbake – i hovedsak skape en ny versjon av historien der pengene aldri ble stjålet. Forskere utvikler fortsatt metoder for å sikre at smarte kontrakter ikke fungerer feil.

Sentraliseringsspørsmålet

En antatt sikkerhetsgaranti for et blokkjedesystem er desentralisering. Hvis kopier av blokkjeden holdes på et stort og vidt distribuert nettverk av noder, er det ikke noe svakt punkt å angripe, og det er vanskelig for noen å bygge opp nok datakraft til å undergrave nettverket. Men nylig arbeid fra Sirer og kolleger viser at verken Bitcoin eller Ethereum er så desentralisert som du kanskje tror. De fant at de fire beste bitcoin-gruveoperasjonene hadde mer enn 53 prosent av systemets gjennomsnittlige gruvekapasitet per uke. Ved samme mål utgjorde tre Ethereum-gruvearbeidere 61 prosent.

Noen sier at alternative konsensusprotokoller, kanskje de som ikke er avhengige av gruvedrift, kan være sikrere. Men denne hypotesen har ikke blitt testet i stor skala, og nye protokoller vil sannsynligvis ha sine egne sikkerhetsproblemer.

Andre ser potensiale i blokkjeder som krever tillatelse for å bli med, i motsetning til i Bitcoins tilfelle, hvor alle som laster ned programvaren kan bli med i nettverket. Slike systemer er forbudt mot den anti-hierarkiske etosen til kryptovalutaer, men tilnærmingen appellerer til finansielle og andre institusjoner som ønsker å utnytte fordelene med en delt kryptografisk database.

Tillatte systemer reiser imidlertid sine egne spørsmål. Hvem har myndighet til å gi tillatelse? Hvordan vil systemet sikre at validatorene er den de sier de er? Et system med tillatelse kan få eierne til å føle seg tryggere, men det gir dem egentlig bare mer kontroll, noe som betyr at de kan gjøre endringer uansett om andre nettverksdeltakere er enige eller ikke – noe sanne troende ville sett som et brudd på selve ideen om blokkjede.

Så til slutt ender sikker opp med å være veldig vanskelig å definere i sammenheng med blokkjeder. Sikker fra hvem? Trygg for hva? Det kommer an på perspektivet ditt, sier Narula.

gjemme seg