Krijn Soeteman

Krijn Soeteman (2022)

Gepubliceerd op 07-07-2022

51 -procentsaanval

betekenis & definitie

Een meerderheidsaanval of'majority attack' op het netwerk door het expres forken van de betreffende blockchain, waardoor een aanvaller een eigen double spend-transactie of een denial-of-service-aanval (dos) kan uitvoeren of (ongewenste) transacties kan weren.

In blockchainnetwerken waar de langste keten de waarheid is zoals bij bitcoin, kan een transactie ongedaan gemaakt worden door een zogenaamde 51-procentsaanval uit te voeren. De langste keten is, over het algemeen, eigenlijk de zwaarste keten waar het meeste werk in is uitgevoerd door de miners. De aanvaller moet met een groep miners 51 procent of meer van de totale hashing power in het netwerk weten te controleren. De miners hoeven niet te weten dat ze onderdeel zijn van een aanval.

Belangrijk: dit kan alleen bij eigen transacties waarvan de aanvaller de geheime sleutel heeft waarmee de betreffende transactie is ondertekend. Bij het weren van transacties worden juist bepaalde transacties uit de mempool niet in een blok gestopt, waardoor deze transacties uiteindelijk niet of later uitgevoerd zullen worden.

De aanvaller voert een transactie uit en ontvangt hier iets voor terug dat niet teruggedraaid kan worden, bijvoorbeeld een fysiek product waar niet voor betaald wordt of een andere munt op een exchange. In de bestaande blockchain staat nu dat de eigenaar van die geheime sleutel (behorende bij dat publiek zichtbare adres) geen munten meer heeft. Hij heeft nu wel andere valuta of producten gekregen voor zijn munten. Op de heimelijk geminede blockchain heeft de aanvaller een double-spending-transactie uitgevoerd door vanaf dezelfde outputs (utxo) een betaling naar een eigen adres te doen of door te forken voordat de transactie ooit wordt uitgevoerd, waardoor er nooit een transactie was in de geforkte keten.

Als de aanvaller een langere keten weet te maken dan de publieke blockchain, dan kan hij deze langere keten zichtbaar maken en zo is zijn langste keten de waarheid geworden. In zijn blockchain is de betaling om de munten om te wisselen naar een andere valuta nooit uitgevoerd en dus heeft hij nu én de andere valuta/producten én de eigen muntjes.1

Dit is vrijwel onmogelijk in een netwerk met de grootte als dat van bitcoin of ethereum, maar bij kleine muntjes (lees: weinig rekenkracht in het netwerk) kan dit makkelijk voorkomen. Het gaat dan om munten die gebruikmaken van Proof of Work.

Afhankelijk van de grootte van de transactie is het advies: wacht enkele blokken af voordat je een betaling als werkelijk uitgevoerd bestempelt. Zo is het moeilijker voor een aanvaller om de publieke keten nog in te kunnen halen met zijn >50% rekenkracht of hashrate.