Dubbele uitgaven kunnen elk vertrouwen in een cryptocurrency aantasten, en daarom is er zoveel moeite gedaan om ervoor te zorgen dat dit soort fraude niet gebeurt.
Transacties met cryptocurrency zijn veilig en betrouwbaar dankzij blockchain-technologie. Zoals bij de meeste innovatieve systemen, heeft de blockchain kwetsbaarheden die kunnen worden misbruikt, wat kan leiden tot dubbele uitgaven. Maar wat is dubbel uitgeven en hoe wordt het voorkomen?
Wat is dubbel uitgeven?
Dubbele uitgaven doen zich voor wanneer een enkele entiteit hetzelfde cryptocurrency-token meer dan eens uitgeeft. Dit wordt veroorzaakt door een fout in digitale valuta waardoor ze gemakkelijk reproduceerbaar zijn.
De informatie op het blockchain-netwerk kan tijdens transacties worden gewijzigd, mits aan bepaalde voorwaarden wordt voldaan. Wanneer aan deze voorwaarden is voldaan, wordt de gewijzigde blokken van transacties kan de blockchain betreden, waardoor de dader eerder uitgegeven crypto-tokens opnieuw kan verwerven.
Om beter te begrijpen hoe dit gebeurt, volgt hier een vereenvoudigde procesbeschrijving. Wanneer een transactie wordt uitgevoerd op een blockchain-netwerk, bijvoorbeeld Bitcoin, creëert het een blok dat de transactiegegevens, de gegevens van het vorige blok en een tijdstempel bevat. Het blok heeft een versleutelde code die een hash wordt genoemd.
De mensen die Bitcoin minen op het Bitcoin-netwerk verifieer vervolgens de transactie via een proof-of-work consensusalgoritme, sluit het blok en maak een nieuw blok aan. Het nieuwe blok bevat de tijdstempel, de hash van het vorige blok en de nieuwe transactiegegevens. Daarna ontvangt de zegevierende mijnwerker blokbeloningen (BTC) voor het verifiëren van de hasj.
Om dubbele uitgaven met succes uit te voeren, moet de dader een geheim blok ontginnen dat sneller gaat dan het maken van het eigenlijke blok. Om dit te doen, moet de dader het geheime blok vóór het nieuwe blok introduceren, zodat het netwerk, misleid door te denken dat het de nieuwste set van het groeiende blok is, voegt het nepblok toe aan het steeds groter wordende blok ketting. De dader kan dan de eerder gebruikte cryptomunten terugvorderen.
Hoewel dubbele uitgaven een bekend fenomeen zijn in de crypto-ruimte, is er geen gedocumenteerd geval. Dat komt omdat het verifiëren van transacties een complex proces is dat een enorme rekenkracht vereist. Het vervalsen of dupliceren van een blok is intens, omdat daders elke andere mijnwerker op de blockchain voor moeten werken.
Waarom is dubbel uitgeven een probleem?
Dubbele uitgaven zijn een belediging voor de veiligheid van het blockchain-netwerk. Het gebeurt wanneer er een exploiteerbare zwakte is.
Bovendien wordt verondersteld dat het blockchain-netwerk veilig en betrouwbaar is. Als dubbele uitgaven plaatsvinden op een cryptocurrency-netwerk, creëert dit wantrouwen voor dat cryptosysteem, waardoor investeerders worden ontmoedigd. En uiteindelijk zal de waarde van het token dalen.
Bovendien is dubbel uitgeven digitale diefstal. De hacker wint terwijl iemand anders op het netwerk, meestal een handelaar, verliest. De dader behoudt het eigendom van de goederen van de handelaar en het cryptotoken.
Voorbeelden van dubbele uitgavenaanvallen
Er zijn verschillende vormen van aanvallen met dubbele uitgaven die cybercriminelen gebruiken. Hier zijn er een aantal:
51% aanval
De 51%-aanval is de meest besproken vorm van dubbele uitgaven. Het treedt op wanneer een mijnwerker (of een groep mijnwerkers) de meerderheid (meer dan 50%) van de rekenkracht controleert die transacties op het netwerk valideert.
Wanneer dit gebeurt, kunnen ze transacties dicteren, nieuwe blokken maken, reeds uitgegeven crypto terugvorderen en crypto-tokens toekennen. Dat geeft hen de mogelijkheid om digitale munten dubbel uit te geven.
De 51%-aanval komt minder vaak voor in meer gevestigde cryptocurrencies, zoals Bitcoin. Dit komt door het enorme aantal miners op het netwerk en de moeilijkheid hashen. Cryptocurrencies met kleinere netwerken, zoals nieuwe of gevorkte netwerken, kunnen echter gevaar lopen.
In 2014 overtrof GHash.io, een mijnpool die actief was van 2013 tot 2016, kort 51% van de rekenkracht van Bitcoin op Bitcoin. Deze ontwikkeling leidde tot grote zorgen over de veiligheid van het netwerk. Vervolgens heeft Gnash.io vrijwillig zijn rekenkracht beperkt tot 39,99% om het vertrouwen in het netwerk te herstellen.
Finney-aanval
Dit type aanval met dubbele uitgaven werd populair en vernoemd naar Hal Finney. Bij een Finney-aanval heeft een hacker niet 51% van de hashkracht nodig. Om succesvol te zijn, moet een handelaar een niet-geverifieerde transactie accepteren van de hacker, die een mijnwerker is.
De hacker genereert een blok waarin hij zichzelf crypto-tokens toekent door een transactie te initiëren van adres X naar adres Y (beide van hem) zonder deze naar het netwerk te verzenden. Hij gaat verder met het uitvoeren van een andere betaling met dezelfde crypto-tokens van adres X naar adres Z, dat toebehoort aan een handelaar.
Als de handelaar de onbevestigde transacties accepteert zonder verificatie van de blockchain, geeft de hacker het blok vrij dat zijn initiële transactie bevat. Het netwerk maakt de transactie met de handelaar ongeldig nadat de handelaar goederen of diensten aan de hacker heeft vrijgegeven. Dat stelt de hacker in staat om dubbel uit te geven.
Race aanval
Deze aanval is gemakkelijker uit te voeren dan de 51%- en Finney-aanvallen. Bij een race-aanval bestaat er een "race" tussen twee transacties.
De hacker gebruikt verschillende machines om hetzelfde token naar twee verkopers te sturen. Als de handelaar goederen of diensten verzendt voordat de transactie is bevestigd, zal hij ontdekken dat de transactie niet is geaccepteerd tijdens het mijnproces.
Hoe Blockchain dubbele uitgaven voorkomt
Blockchains beschermen tegen dubbele uitgaven consensus algoritmen, zoals:
Bewijs van werk (PoW)
Proof-of-work is een zeer competitief proces dat enorm veel energie vereist. In dit consensusmechanisme gebruiken mijnwerkers complexe computers om de hash van transactieblokken te raden.
Een hash is een versleutelde, unieke 64-cijferige hexadecimale code die elke transactie bezit. Dit proces verbruikt rekenkracht om de authenticiteit van een transactie te bewijzen.
Zodra de transactie is geverifieerd, voegt de succesvolle mijnwerker de transactie toe aan de gedecentraliseerd digitaal grootboek. Aan het einde van het proces ontvangt de succesvolle miner blokbeloningen in het native digitale token.
Bitcoin, Bitcoin Cash, Litecoin, Monero en Dogecoin zijn populaire cryptocurrencies die dit consensusalgoritme gebruiken.
Proof-of-Stake (PoS)
In Proof-of-Stake verifiëren de deelnemers op het cryptonetwerk bloktransacties en worden ze validators genoemd. Validators bieden sommige van hun crypto-tokens aan (of "stake") in een slim contract om het recht te verdienen om transacties te verifiëren voordat ze aan de groeiende blockchain worden toegevoegd.
Het netwerk selecteert een eerlijke validator op basis van hun inzettokens en uitzetduur. Eenmaal geselecteerd, verifieert de winnaar de transactie, die de andere validators bevestigen.
Net als PoW, validators ontvangen ook een beloning in de vorm van inkomsten na authenticatie van nieuwe transacties. Als het netwerk een validator oneerlijk vindt, verliezen ze een deel of al hun ingezette tokens als straf.
Dit proces is sneller en vereist minder rekenkracht en energie dan PoW. Daarom kunnen deelnemers aan de blockchain efficiënt optreden als validators.
Ethereum 2.0, Cardano, Tezos en Solana gebruiken allemaal PoS.
Gedelegeerd Proof-of-Stake (DPoS)
Dit type PoS-consensusalgoritme verplicht gebruikers op de blockchain om hun digitale tokens te gebruiken om eerlijk te stemmen validators die "afgevaardigden" worden genoemd. Eén afgevaardigde wordt willekeurig gekozen om nieuwe transacties te valideren en toe te voegen aan de blokketen.
Na betaling verdeelt de afgevaardigde de blokbeloningen onder de gebruikers die op hen hebben gestemd.
Cryptocurrencies die het DPoS-algoritme gebruiken, zijn EOS, Ark, Tron en Lisk.
Nog geen zaak, maar dubbele uitgaven zijn mogelijk
Hoewel er geen bevestigde gevallen zijn, kan de opkomst van nieuwe en gevorkte crypto's en recente technologische vooruitgang leiden tot dubbele uitgavenverrassingen. Daarom moet u uzelf beschermen door transacties uit te voeren op beveiligde cryptocurrency-blockchains. En wacht in de regel tot mijnwerkers transacties bevestigen voordat u uw tokens, goederen of diensten vrijgeeft.