Blockchains er sikrede gennem en række forskellige mekanismer, der omfatter avancerede kryptografiske teknikker og matematiske modeller for adfærd og beslutningstagning. Blockchain-teknologien er den underliggende struktur for de fleste kryptovalutasystemer og forhindrer, at denne form for digitale penge kan kopieres eller ødelægges.
Brugen af blockchain-teknologien undersøges også i andre sammenhænge, hvor dataenes uforanderlighed og sikkerhed er meget værdifulde. Nogle få eksempler omfatter registrering og sporing af velgørenhedsdonationer, medicinske databaser og styring af forsyningskæden.
Blockchain-sikkerhed er dog langt fra et simpelt emne. Derfor er det vigtigt at forstå de grundlæggende begreber og mekanismer, der giver disse innovative systemer en solid beskyttelse.
Begreberne uforanderlighed og konsensus
Selv om mange funktioner spiller ind på sikkerheden i forbindelse med blockchain, er to af de vigtigste begreber konsensus og uforanderlighed. Konsensus henviser til nodernes evne inden for et distribueret blockchain-netværk til at blive enige om netværkets sande tilstand og om transaktionernes gyldighed. Typisk er processen til opnåelse af konsensus afhængig af de såkaldte konsensusalgoritmer.
Uforanderlighed henviser på den anden side til blockchains evne til at forhindre ændring af transaktioner, der allerede er blevet bekræftet. Selv om disse transaktioner ofte vedrører overførsel af kryptovalutaer, kan de også vedrøre registrering af andre ikke-monetære former for digitale data.
Konsensus og uforanderlighed udgør tilsammen rammen for datasikkerhed i blockchain-netværk. Mens konsensusalgoritmer sikrer, at systemets regler følges, og at alle involverede parter er enige om netværkets aktuelle tilstand, garanterer uforanderlighed integriteten af data og transaktionsregistreringer, efter at hver ny blok af data er bekræftet som værende gyldig.
Kryptografiens rolle i blockchain-sikkerhed
Blockchains er i høj grad afhængige af kryptografi for at opnå datasikkerhed. I denne forbindelse er de såkaldte kryptografiske hashing-funktioner af afgørende betydning. Hashing er en proces, hvorved en algoritme (hash-funktion) modtager et input af data af en hvilken som helst størrelse og returnerer et output (hash), der indeholder en forudsigelig og fast størrelse (eller længde).
Uanset størrelsen af inputtet vil outputtet altid have samme længde. Men hvis inputtet ændres, vil outputtet være helt anderledes. Men hvis inputtet ikke ændres, vil den resulterende hash altid være den samme – uanset hvor mange gange du kører hash-funktionen.
I blockchains bruges disse outputværdier, kendt som hashes, som unikke identifikatorer for datablokke. Hash-koden for hver blok genereres i forhold til hash-koden for den foregående blok, og det er det, der skaber en kæde af forbundne blokke. Blok-hash er afhængig af de data, der er indeholdt i blokken, hvilket betyder, at enhver ændring af dataene vil kræve en ændring af blok-hashen.
Derfor genereres hashen for hver blok på baggrund af både dataene i den pågældende blok og hash-koden for den foregående blok. Disse hash-identifikatorer spiller en vigtig rolle i at sikre blockchainens sikkerhed og uforanderlighed.
Hashing anvendes også i de konsensusalgoritmer, der bruges til at validere transaktioner. I Bitcoin-blockchainen bruger Proof of Work-algoritmen (PoW) f.eks. en hashfunktion kaldet SHA-256. Som navnet antyder, modtager SHA-256 data og returnerer en hash, der er 256 bit eller 64 tegn lang.
Ud over at beskytte transaktionsregistreringer i ledgers spiller kryptografi også en rolle for at sikre sikkerheden i de wallets, der bruges til at opbevare enheder af kryptovaluta. De parrede public og private keys, som henholdsvis giver brugerne mulighed for at modtage og sende betalinger, oprettes ved hjælp af asymmetrisk eller offentlig nøglekryptografi. Private keys bruges til at generere digitale signaturer for transaktioner, hvilket gør det muligt at bekræfte ejerskabet af de coins, der sendes.
Selv om detaljerne ligger uden for denne artikels rækkevidde, forhindrer asymmetrisk kryptografi, at andre end indehaveren af en private key kan få adgang til midler, der er gemt i en kryptovaluta-wallet, og dermed holdes disse midler sikre, indtil ejeren beslutter sig for at bruge dem (så længe denne private key ikke deles eller kompromitteres).
Kryptoøkonomi
Ud over kryptografi spiller et relativt nyt koncept, der er kendt som kryptoøkonomi, også en rolle i forbindelse med opretholdelsen af sikkerheden i blockchain-netværk. Det er relateret til et forskningsområde, der er kendt som spilteori, som matematisk modellerer rationelle aktørers beslutningstagning i situationer med foruddefinerede regler og belønninger. Mens traditionel spilteori kan anvendes bredt på en række tilfælde, modellerer og beskriver kryptoøkonomi specifikt nodernes adfærd på distribuerede blockchain-systemer.
Kort sagt er kryptoøkonomi studiet af økonomien i blockchain-protokoller og de mulige resultater, som deres design kan give baseret på deltagernes adfærd. Sikkerhed gennem kryptoøkonomi er baseret på den opfattelse, at blockchain-systemer giver større incitamenter for noderne til at handle ærligt end til at udvise ondsindet eller fejlbehæftet adfærd. Endnu en gang er Proof of Work-konsensusalgoritmen, der anvendes i Bitcoin-mining, et godt eksempel på denne incitamentsstruktur.
Da Satoshi Nakamoto skabte rammerne for Bitcoin-mining, var det med vilje designet til at være en dyr og ressourcekrævende proces. På grund af kompleksiteten og beregningskravene indebærer PoW-mining en betydelig investering af penge og tid – uanset hvor og hvem mining-noden er. Derfor er en sådan struktur et stærkt incitament til at afskrække fra ondsindet aktivitet og et betydeligt incitament til ærlig mining. Uærlige eller ineffektive noder vil hurtigt blive smidt ud af blockchain-netværket, mens ærlige og effektive minere har mulighed for at få betydelige block rewards.
På samme måde giver denne balance mellem risici og belønninger også beskyttelse mod potentielle angreb, der kan underminere konsensus ved at placere flertallet af hashraten af et blockchain-netværk i hænderne på en enkelt gruppe eller enhed. Sådanne angreb, der er kendt som 51 %-angreb, kan være yderst skadelige, hvis de gennemføres med succes. På grund af konkurrenceevnen i Proof of Work-mining og Bitcoin-netværkets størrelse er sandsynligheden for, at en ondsindet aktør får kontrol over et flertal af noder, ekstremt minimal.
Desuden ville omkostningerne i computerkraft, der er nødvendig for at opnå 51 % kontrol over et enormt blockchain-netværk, være astronomiske, hvilket umiddelbart afskrækker folk fra at foretage en så stor investering for en relativt lille potentiel belønning. Dette faktum bidrager til en egenskab ved blockchains, der er kendt som byzantinsk fejltolerance (BFT), som i bund og grund er et distribueret systems evne til at fortsætte med at fungere normalt, selv om nogle noder bliver kompromitteret eller handler ondsindet.
Så længe omkostningerne ved at etablere et flertal af ondsindede noder er uoverkommelige, og der er bedre incitamenter til ærlig aktivitet, vil systemet kunne trives uden væsentlige forstyrrelser. Det er dog værd at bemærke, at små blockchain-netværk helt sikkert er modtagelige for flertalsangreb, fordi den samlede hashrate, der er afsat til disse systemer, er betydeligt lavere end den, der er afsat til Bitcoin.
Sammenfatning
Ved kombineret brug af spilteori og kryptografi kan blockchains opnå et højt sikkerhedsniveau som distribuerede systemer. Som det er tilfældet med næsten alle systemer, er det imidlertid afgørende, at disse to vidensområder anvendes korrekt. En omhyggelig balance mellem decentralisering og sikkerhed er afgørende for at opbygge et pålideligt og effektivt kryptovalutanetværk.
Efterhånden som anvendelsen af blockchain fortsætter med at udvikle sig, vil sikkerhedssystemerne også ændre sig for at opfylde behovene i de forskellige applikationer. De private blockchains, der nu udvikles til erhvervsvirksomheder, er f.eks. meget mere afhængige af sikkerhed gennem adgangskontrol end af de spilteoretiske mekanismer (eller kryptoøkonomi), som er uundværlige for sikkerheden i de fleste public blockchains.