Wat is het double spending-probleem en hoe wordt het opgelost?

Wat is het double spending-probleem en hoe wordt het opgelost?

Wat is het double spending-probleem?

Double spending is een fundamenteel probleem binnen digitale betalingssystemen, waarbij dezelfde digitale eenheid meer dan één keer wordt uitgegeven. Bij fysiek geld is dit vrijwel onmogelijk, omdat een bankbiljet maar één keer overhandigd kan worden. Cryptocurrencies bestaan daarentegen alleen als data en kunnen in theorie worden gekopieerd of opnieuw verzonden. Zonder extra beveiliging zou iemand dezelfde crypto of token meerdere keren kunnen gebruiken.

Voorbeeld
Stel dat iemand 0,01 Bitcoin gebruikt om online iets te betalen. Tegelijkertijd verstuurt diegene nog een tweede transactie waarin exact dezelfde 0,01 Bitcoin naar een vriend wordt gestuurt. Beide transacties worden ongeveer tegelijk het netwerk in gestuurd voordat ze zijn bevestigd op de blockchain. Uiteindelijk kan maar één van deze transacties worden opgenomen in de blockchain. De andere wordt afgekeurd, omdat dezelfde Bitcoin niet twee keer kan worden uitgegeven. Als een verkoper de betaling accepteert voordat deze is opgenomen in de blockchain, kan het gebeuren dat hij het verkochte product verzendt terwijl later blijkt dat de betaling ongeldig is.

Het double spending-probleem is ontstaan in het digitale tijdperk, toen duidelijk werd dat digitale schaarste niet vanzelfsprekend is. Terwijl fysieke voorwerpen van nature schaars zijn, moest er voor cryptocurrencies ook een technische manier worden gevonden om ervoor te zorgen dat elke eenheid slechts één keer kan worden uitgegeven.


Korte samenvatting

  • Double spending is het probleem waarbij dezelfde digitale eenheid geld meer dan één keer kan worden uitgegeven.
  • Omdat digitaal geld uit data bestaat, kan het zonder extra beveiliging worden gekopieerd of opnieuw verzonden.
  • Banken voorkomen dit met centrale controle, maar bij cryptocurrencies is dat lastiger door hun decentrale karakter.
  • Blockchaintechnologie voorkomt double spending door transacties vast te leggen in blokken en gezamenlijk te controleren via consensus.
  • Hierdoor kan digitaal geld functioneren zonder centrale tussenpartij.

Waarom is double spending een probleem bij digitaal geld?

Het probleem van digitaal geld is dat het alleen uit data bestaat. Zonder extra controle is het niet te zeggen of dezelfde digitale eenheid al eerder is uitgegeven. Daarnaast kan een digitaal bestand eenvoudig gekopieerd worden en is het lastig vast te stellen welke versie "de echte" is. Als er meerdere kopieën van hetzelfde digitale geld tegelijkertijd gebruikt kunnen worden, dan verliest het geld zijn waarde en betrouwbaarheid.

Om dit te voorkomen is het essentieel, bijvoorbeeld voor online banken, dat elke betaling definitief is. Zodra er twijfel ontstaat over of geld al eerder is uitgegeven, verdwijnt het vertrouwen in het systeem. Daarom kan double spending ervoor zorgen dat digitaal geld zijn betrouwbaarheid als betaalmiddel verliest.

Banken kunnen dit probleem voorkomen, door de centrale rol waarbij banken zelf een grootboek bijhouden. Hierin wordt precies bijgehouden hoeveel saldo iedere rekening heeft. Bij elke betaling controleert de bank of er voldoende saldo beschikbaar is en past dit saldo direct na de betaling aan.

Omdat alle transacties via één centrale partij lopen, kan dezelfde hoeveelheid geld niet meerdere keren worden uitgegeven. Het financiële systeem van banken werkt volledig op basis van vertrouwen in banken en andere financiële instellingen als derde partij. Omdat cryptocurrencies zonder centrale partij werken, is het probleem net iets lastiger.

Waarom is double spending extra complex bij cryptocurrencies?

Cryptocurrencies zijn ontworpen om peer-to-peer transacties mogelijk te maken, dus zonder centrale tussenpersoon als een bank. In plaats daarvan werkt het met een gedecentraliseerd netwerk van computers (ook wel nodes genoemd). Elke node heeft een kopie van het digitale grootboek en ontvangt transacties onafhankelijk van andere nodes.

Omdat transacties tijd nodig hebben om door het netwerk te worden verspreid en gevalideerd moeten worden, ontstaat er een tijdelijk moment waarin het netwerk nog geen consensus heeft bereikt. In deze tijd kan een gebruiker meerdere conflicterende transacties versturen met dezelfde crypto. Er zijn dus extra beveiligingsmechanismen nodig zodat het netwerk weet welke transacties geldig en ongeldig zijn.

Double-spending aanvallen bij cryptocurrency

Door de decentrale structuur van blockchains kunnen kwaadwillende gebruikers aanvallen doen om misbruik te maken van het tijdsverschil tussen verzenden en ontvangen van transacties. Naast het klassieke voorbeeld zijn er ook verschillende aanvallen zoals een race attack, Finney attack en 51% attack.

Wat is een race attack?

Bij een race attack verstuurt een aanvaller vrijwel gelijktijdig meerdere transacties vanuit dezelfde wallet naar verschillende ontvangers om bijvoorbeeld een product af te nemen, terwijl er onvoldoende saldo is om al deze transacties te dekken. Ontvangers die deze onbevestigde transacties accepteren, kunnen de producten al verzenden voordat het netwerk de transacties heeft gevalideerd. Uiteindelijk wordt er maar één van deze transacties goedgekeurd en opgenomen in de blockchain en worden de andere afgekeurd.

Wat is een Finney attack?

Een Finney attack is een geavanceerde vorm van double spending en vereist een grote miningcapaciteit. De aanvaller moet eerst zelf een geldig blok minen, maar deelt het blok nog niet meteen met het netwerk. In dat blok zit een transactie waarmee de aanvaller zijn eigen coins uitgeeft. Terwijl het netwerk hier nog niets van weet, gebruikt de aanvaller dezelfde coins om een betaling te doen bij een verkoper die deze onbevestigde transacties accepteert. Als die betaling is gedaan, dan publiceert de aanvaller dit geminede blok, waardoor de betaling aan de verkoper ongeldig wordt. Deze aanval is vernoemd naar Hal Finney, een van de eerste Bitcoin-ontwikkelaars, die deze aanvalsvorm theoretisch beschreef om de risico's van onbevestigde transacties te laten zien.

Wat is een 51% attack?

Bij een 51% attack controleert een groep aanvallers meer dan de helft van de totale rekenkracht van het netwerk. Omdat zij dan de meerderheid hebben, kunnen zij bepalen welke blokken worden geaccepteerd en zelfs transacties herschrijven. In grote netwerken zoals Bitcoin is dit in de praktijk extreem moeilijk en kostbaar, maar theoretisch blijft het mogelijk.

Hoe voorkomt blockchain double spending?

Consensusmechanismen zoals Proof-of-Work (PoW) en Proof-of-Stake (PoS) zorgen ervoor dat het netwerk gezamenlijk overeenstemming bereikt over welke transacties geldig zijn. Daarmee lost blockchaintechnologie het double spending-probleem op zonder centrale beheerder. Alle transacties worden vastgelegd in een openbaar en gedistribueerd grootboek. Transacties zijn gebundeld in blokken, waarbij elk blok cryptografisch is verbonden met het vorige blok. Hierdoor ontstaat er een keten, oftewel de blockchain, die praktisch onveranderbaar is. Om transacties te manipuleren zou een aanvaller enorme hoeveelheden rekenkracht en kapitaal moeten inzetten, waardoor zulke aanvallen economisch onaantrekkelijk worden.

Een belangrijke bescherming tegen double spending is ook het wachten op meerdere bevestigingen. Een bevestiging vindt plaats wanneer een transactie wordt opgenomen in een gemined blok. Hoe meer blokken er bovenop dat blok worden toegevoegd, hoe kleiner de kans dat de transactie nog kan worden teruggedraaid. Bij Bitcoin is het gebruikelijk om twee tot zes bevestigingen af te wachten voordat een betaling als definitief wordt beschouwd. Dit mechanisme beschermt ook tegen tijdelijke splitsingen van de blockchain, doordat het netwerk automatisch kiest voor de langste keten als hoofdchain.

Waarom is double spending zo belangrijk?

Het oplossen van het double spending-probleem is essentieel voor het functioneren van cryptocurrency. Zonder een betrouwbare manier om dubbele uitgaven te voorkomen, kan digitaal geld geen waarde behouden en niet functioneren als betaalmiddel.

Blockchaintechnologie zorgt ervoor dat digitale transacties door een netwerk worden gecontroleerd in plaats van door één centrale partij. Het voorkomen van double spending is daarbij essentieel, omdat zonder die bescherming digitaal geld niet betrouwbaar zou zijn.

Conclusie

Double spending vormt een van de grootste uitdagingen bij digitaal geld en is een belangrijk verschil tussen traditionele financiële systemen en cryptocurrencies. Waar banken vertrouwen afdwingen via centrale controle, gebruikt blockchaintechnologie een gedecentraliseerd netwerk om dubbele uitgaven te voorkomen. Door consensusmechanismen, blokken en bevestigingen wordt vastgesteld welke transacties geldig zijn. Zonder deze oplossing zou cryptocurrency niet betrouwbaar kunnen functioneren als betaalmiddel. Het voorkomen van double spending is daarom een essentiële bouwsteen van blockchaintechnologie.

Over Finst

Finst is een van de toonaangevende cryptocurrency-aanbieders in Nederland en biedt een eersteklas investeringsplatform samen met institutionele veiligheidsnormen en ultra-lage handelskosten. Finst wordt geleid door het ex-core team van DEGIRO en is geautoriseerd als aanbieder van cryptoactivadiensten door de Autoriteit Financiële Markten (AFM). Finst biedt een volledig pakket aan crypto-diensten, waaronder handel, bewaring, fiat on/off ramp en staking voor zowel particuliere als institutionele beleggers.

Het cryptoplatform dat je geweldig gaat vinden

We zijn hier om je de tools, inspiratie en ondersteuning te geven die je nodig hebt om een betere investeerder te worden.