In de les van vandaag gaan we het hebben over iets waar je al vaker over gehoord zult hebben. Wellicht dat je niet precies weet wat het inhoudt, maar na deze les zul je dat wel weten.
✔️ Een 51% aanval is een aanval op een blockchainnetwerk met als doel frauduleus munten te verkrijgen, de activiteiten te stoppen of hun reputatie te beschadigen.
✔️ Het vereist het bezit van meer dan 50% van de stemmacht van de validators om corrupte blokken te creëren die eerlijke deelnemers niet zouden goedkeuren.
✔️ De macht en de kosten om Bitcoin aan te vallen nemen elk jaar toe, waardoor aanvallen minder waarschijnlijk worden.
Een 51% attack is een aanval op een blockchain netwerk. De bedoeling van zo’n aanval is om op frauduleuze wijze aan coins te komen, het netwerk stil of zelfs plat te leggen, de handel te stoppen of het blockchain netwerk een slechte naam te bezorgen. Andere motieven kunnen liggen in de sfeer van de prijs te drukken of de concurrentie te verminderen.
Blockchain netwerken werken met een consensus protocol om overeenstemming te bereiken over de staat van de blockchain. Hierbij moet meer dan 50% van de validatoren die nieuwe blocks goedkeuren, in handen zijn van dezelfde persoon of pool, wil je een aanval starten. Heb je immers meer dan 50% van de stemkracht in bezit dan kun je altijd in je eigen voordeel stemmen. Zo kun je corrupte blocks maken die eerlijke validatoren nooit goed zouden keuren en kun je coins dubbel uitgeven.
Laten we Bitcoin als voorbeeld nemen. Om het Bitcoin netwerk aan te vallen heb je 51% van de rekenkracht van het netwerk nodig om het aan te vallen. De bedoeling van de aanval is om geld te verdienen, over het algemeen. Dan moet je dus weten hoeveel rekenkracht je nodig hebt en hoeveel je dat gaat kosten.
Deze kosten zijn min of meer bekend en worden vermeld op allerlei websites. De hashpower (rekenkracht) om Bitcoin aan te vallen wordt ieder jaar groter en duurder. Zelfs als je de 51% bereikt zul je waarschijnlijk nog geld erop verliezen. Daarom is een aanval op Bitcoin nogal onwaarschijnlijk. Bitcoin is een van de veiligste netwerken wat dit betreft.
Als een groep miners (pool) te dicht in de buurt komen van de 50% van de rekenkracht op een proof of work netwerk wordt meestal gevraagd of ze het wat rustiger aan willen doen of dat ze een splitsing willen overwegen. Niemand zit te wachten op een pool die de boel verpest.
De meeste coins kunnen aangevallen worden door de 51% attack. Waarom gebeurt dat dan niet constant? De reden hiervoor is dat er allerlei protocollen zijn opgesteld die werken. Als aanvaller moet je er immers met een buit vandoor kunnen gaan of iets anders bemachtigen. Waarom zou je het anders doen?
Bij heel veel proof of work netwerken, zoals Bitcoin, heb je niet alleen meer dan 50% van de rekenkracht nodig, maar moet een aanval ook wat opleveren. De meeste coins zijn zo veilig, omdat een aanval te veel kost ten opzichte van de kans om een grotere buit te bemachtigen.
Een succesvolle aanval kan wel plaatsvinden op een kleiner netwerk. Het probleem met zo’n aanval is dat de buit dan weer zo klein wordt dat dit niet uitnodigt voor een aanval. Bovendien wordt vaak de handel in een coin die wordt aangevallen opgeschort op exchanges, waardoor je de buit niet kunt verkopen. Als je dan vervolgens opeens bakken vol met coins aanbiedt op een exchange hebben ze je zo in de smiezen. Een succesvolle aanval is dan ook heel erg lastig. Het kost geld, techniek en een plan van verkoop. Gelukkig vinden de meeste mensen dit te veel werk.
Naast proof of work heb je ook proof of stake netwerken. Ook die kunnen aangevallen worden als meer dan 50% van de coins door een groep of persoon gestaket zijn, waarna ze het alleenrecht krijgen op nieuwe coins, coins dubbel kunnen uitgeven en ze malafide blocks kunnen goedkeuren.
Proof of stake werkt zo dat als je validator wilt worden en blocks wilt goedkeuren je veel coins at stake moet zetten. Als je een fout maakt bij het goedkeuren van blocks krijg je een boete, hetgeen ze slashen noemen. Bij het goedkeuren van vele foutieve blocks kunnen ze al je coins at stake innemen.
Als je de helft van alle coins in omloop moet hebben dan is dat al heel prijzig. Als je vervolgens al die coins kunt verliezen, omdat je kwaadaardig bezig bent, sta je straks met lege handen.
Proof of stake heeft dus een eenvoudig, maar zeer doeltreffend economisch principe tot zijn beschikking om een 51% aanval onrendabel te maken. Daarom zul je niet zo snel horen dat een proof of stake netwerk is aangevallen.
Over het algemeen komt het niet zo veel voor om bovenstaande redenen. Toch is het wel eens voorgekomen. Gezien het aantal coins dat er is, is de kans op een aanval erg klein, maar toch vinden er ieder jaar wel weer een paar aanvallen plaats.
Meestal gaat het om “pocket change”, bedragen onder de 100.000 euro komen het vaakst voor. Toch zijn er wel een paar grote aanvallen geweest waarbij substantiële bedragen buit zijn gemaakt.
Zo was er in 2018 een aanval op het Bitcoin Gold netwerk, waarbij 18 miljoen dollar buit werd gemaakt.
In datzelfde jaar werd Verge aangevallen, waarbij aanvallers vertrokken met 1,7 miljoen dollar.
De slimste aanval stamt wel uit 2016. Hierbij werd Krypton aangevallen, waarbij de overvallers de coins dubbel uitgaven, waarna ze de coins weer terugstuurden over het netwerk. Hierdoor leek er niks aan de hand, terwijl de aanvallers hun Krypton verkochten en er met een bergje Bitcoin vandoor gingen. Well played!
Ethereum Classic is ook al een paar keer aangevallen. Daarbij werd een keer meer dan een miljoen dollar opgehaald.
Bitcoin SV is ook al een paar keer aangevallen, waarvan drie keer in opeenvolgende maanden in 2021. Craig Wright, de chief van Bitcoin SV, is dan ook wel een type dat je graag aanvalt.
Een nadeel voor netwerken die aangevallen worden is dat de prijs van de coin vaak drastisch daalt en het vertrouwen in het netwerk daalt. Ook al worden de foutieve blocks soms opgespoord en ongeldig verklaard, toch heeft het een negatieve impact op de reputatie van zo’n coin.
Als de kans groot is dat het nog eens gebeurt gaat men vaak over op een hard fork. Hierbij wordt de oude blockchain achtergelaten voor wat hij is en gaat men vanaf een bepaald blocknummer over op een geheel nieuwe blockchain met andere regels. Dit is wel het laatste redmiddel.
Een 51% attack is iets dat altijd kan gebeuren bij elke coin. De reden dat het zo weinig gebeurt, is omdat blockchains zo slim in elkaar zitten.
Bij proof of work ligt de veiligheid in de kosten die het met zich meebrengt. Ook is de technische kennis noodzakelijk hiervoor een drempel, naast de mogelijkheid dat je de coins niet kwijt kunt.
Bij proof of stake werk je jezelf tegen als men erachter komt dat je foutieve blocks goedkeurt. Daarom achten wij proof of stake netwerken de veiligste als het aan komt op 51% attacks.