Hur säker är blockchain egentligen?

Mr. Tech





Hela poängen med att använda en blockchain är att låta människor – i synnerhet människor som inte litar på varandra – dela värdefull data på ett säkert, manipuleringssäkert sätt. Det beror på att blockkedjor lagrar data med hjälp av sofistikerad matematik och innovativa mjukvaruregler som är extremt svåra för angripare att manipulera. Men säkerheten för även de bäst designade blockkedjesystemen kan misslyckas på platser där de tjusiga matematik- och mjukvarureglerna kommer i kontakt med människor, som är skickliga fuskare, i den verkliga världen, där saker och ting kan bli rörigt.

För att förstå varför, börja med vad som gör blockkedjor säkra i princip. Bitcoin är ett bra exempel. I Bitcoins blockchain är den delade informationen historien om varje Bitcoin-transaktion som någonsin gjorts: en redovisningsbok. Huvudboken lagras i flera kopior i ett nätverk av datorer, så kallade noder. Varje gång någon skickar en transaktion till huvudboken kontrollerar noderna att transaktionen är giltig – att den som spenderade en bitcoin hade en bitcoin att spendera. En delmängd av dem tävlar om att paketera giltiga transaktioner i block och lägga till dem i en kedja av tidigare. Ägarna till dessa noder kallas gruvarbetare. Gruvarbetare som framgångsrikt lägger till nya block till kedjan tjänar bitcoins som belöning.

Blockchain-frågan

Den här historien var en del av vårt majnummer 2018



  • Se resten av frågan
  • Prenumerera

Det som gör det här systemet teoretiskt manipuleringssäkert är två saker: ett kryptografiskt fingeravtryck unikt för varje block och ett konsensusprotokoll, den process genom vilken noderna i nätverket kommer överens om en delad historik.

Fingeravtrycket, som kallas en hash, tar mycket datortid och energi att generera initialt. Det fungerar alltså som ett bevis på att gruvarbetaren som lade till blocket i blockkedjan gjorde beräkningsarbetet för att tjäna en bitcoin-belöning (av denna anledning sägs Bitcoin använda ett proof-of-work-protokoll). Det fungerar också som ett slags tätning, eftersom en ändring av blocket skulle kräva generering av en ny hash. Det är dock enkelt att verifiera om hashen matchar dess block eller inte, och när noderna väl har gjort det uppdaterar de sina respektive kopior av blockkedjan med det nya blocket. Detta är konsensusprotokollet.

Det sista säkerhetselementet är att hasharna också fungerar som länkarna i blockkedjan: varje block innehåller föregående blocks unika hash. Så om du vill ändra en post i huvudboken retroaktivt måste du beräkna en ny hash inte bara för blocket den är i utan också för varje efterföljande block. Och du måste göra detta snabbare än att de andra noderna kan lägga till nya block i kedjan. Så om du inte har datorer som är kraftfullare än resten av noderna tillsammans (och även då är framgång inte garanterad), kommer alla block du lägger till i konflikt med befintliga, och de andra noderna kommer automatiskt att avvisa dina ändringar. Det är detta som gör blockkedjan manipuleringssäker eller oföränderlig.



Kreativa sätt att fuska

Så mycket för teorin. Att implementera det i praktiken är svårare. Bara det faktum att ett system fungerar som Bitcoin – som många kryptovalutor gör – betyder inte att det är lika säkert. Även när utvecklare använder beprövade kryptografiska verktyg är det lätt att av misstag sätta ihop dem på sätt som inte är säkra, säger Neha Narula, chef för MIT:s Digital Currency Initiative. Bitcoin har funnits längst, så det är den mest grundligt stridstestade.

Människor har också hittat kreativa sätt att fuska. Emin Gün Sirer och hans kollegor vid Cornell University har visat att det finns ett sätt att undergräva en blockkedja även om du har mindre än hälften av gruvkraften från de andra gruvarbetarna. Detaljerna är något tekniska, men i grunden kan en självisk gruvarbetare få en orättvis fördel genom att lura andra noder att slösa tid på redan lösta kryptopussel.

En annan möjlighet är en solförmörkelsesattack. Noder på blockkedjan måste förbli i konstant kommunikation för att kunna jämföra data. En angripare som lyckas ta kontroll över en nods kommunikation och lura den att acceptera falsk data som verkar komma från resten av nätverket kan lura den att slösa med resurser eller bekräfta falska transaktioner.



Slutligen, oavsett hur manipuleringssäkert ett blockchain-protokoll är, existerar det inte i ett vakuum, säger Sirer. Kryptovalutahacken som driver de senaste rubrikerna är vanligtvis misslyckanden på platser där blockkedjesystem ansluter till den verkliga världen – till exempel i mjukvaruklienter och tredjepartsapplikationer.

Hackare kan till exempel bryta sig in i heta plånböcker, internetanslutna applikationer för att lagra de privata kryptografiska nycklar som alla som äger kryptovaluta behöver för att spendera den. Plånböcker som ägs av online kryptovalutabörser har blivit främsta mål. Många börser hävdar att de förvarar de flesta av sina användares pengar i kalla hårdvaruplånböcker – lagringsenheter frånkopplade från internet. Men som rånet i januari på mer än 500 miljoner dollar i kryptovaluta från den Japan-baserade börsen Coincheck visade, så är det inte alltid fallet.

De kanske mest komplicerade kontaktpunkterna mellan blockkedjor och den verkliga världen är smarta kontrakt, som är datorprogram lagrade i vissa typer av blockkedjor som kan automatisera transaktioner. Under 2016 utnyttjade hackare en oförutsedd egenhet i ett smart kontrakt skrivet på Ethereums blockchain för att stjäla 3,6 miljoner eter, värda runt 80 miljoner dollar vid den tiden, från den decentraliserade autonoma organisationen (DAO), en ny typ av blockchain-baserad investeringsfond.



Eftersom DAO-koden levde på blockkedjan, var Ethereum-gemenskapen tvungen att driva en kontroversiell mjukvaruuppgradering som kallas en hård gaffel för att få tillbaka pengarna – i huvudsak skapa en ny version av historien där pengarna aldrig stals. Forskare utvecklar fortfarande metoder för att säkerställa att smarta kontrakt inte fungerar fel.

Centraliseringsfrågan

En förmodad säkerhetsgaranti för ett blockchain-system är decentralisering. Om kopior av blockkedjan hålls på ett stort och brett distribuerat nätverk av noder, finns det ingen svag punkt att attackera, och det är svårt för någon att bygga upp tillräckligt med datorkraft för att undergräva nätverket. Men nyligen utfört arbete av Sirer och kollegor visar att varken Bitcoin eller Ethereum är så decentraliserat som man kan tro. De fann att de fyra bästa bitcoin-gruvorna hade mer än 53 procent av systemets genomsnittliga gruvkapacitet per vecka. På samma sätt stod tre Ethereum-gruvarbetare för 61 procent.

Vissa säger att alternativa konsensusprotokoll, kanske sådana som inte förlitar sig på gruvdrift, kan vara säkrare. Men denna hypotes har inte testats i stor skala, och nya protokoll skulle sannolikt ha sina egna säkerhetsproblem.

Andra ser potential i blockkedjor som kräver tillstånd för att gå med, till skillnad från i Bitcoins fall, där alla som laddar ner programvaran kan gå med i nätverket. Sådana system är en förbannelse för kryptovalutors anti-hierarkiska etos, men tillvägagångssättet tilltalar finansiella och andra institutioner som vill utnyttja fördelarna med en delad kryptografisk databas.

Tillåtna system väcker dock sina egna frågor. Vem har behörighet att ge tillstånd? Hur kommer systemet att säkerställa att validerarna är som de säger att de är? Ett tillåtet system kan få sina ägare att känna sig säkrare, men det ger dem egentligen bara mer kontroll, vilket betyder att de kan göra ändringar oavsett om andra nätverksdeltagare håller med eller inte – något som sanna troende skulle se som ett brott mot själva idén med blockchain.

Så i slutändan blir säker mycket svår att definiera i samband med blockkedjor. Säker från vem? Säker för vad? Det beror på ditt perspektiv, säger Narula.

Dölj