Wat is Finney Attack?
Een Finney Attack is wanneer een miner stilletjes een blok voorbereidt dat munten terug naar zichzelf stuurt, en daarna een handelaar betaalt met diezelfde munten via een onbevestigde transactie. Als de handelaar de goederen overhandigt voordat er een bevestiging komt, publiceert de miner het voorbereide blok en annuleert zo de betaling. Denk eraan als het tonen van een lopende overboeking aan de kassa, waarna de bank die handeling ongedaan maakt.
Mensen denken vaak dat een Finney Attack meerderheid van het netwerk vereist. Dat is niet zo. Dat noemt men een 51% aanval, wat iets anders is. Een Finney Attack heeft alleen een enkele miner nodig die in privé een blok vindt en vervolgens een aankoop timet voordat dat blok wordt vrijgegeven.
Hoe Finney Attack werkt
Hier is de handeling, helder verteld. Een miner zet een zelfbetaling in een blok klaar, houdt het privé, en besteedt daarna dezelfde munten bij een verkoper die onbevestigde betalingen accepteert. Nadat zij met de goederen zijn vertrokken, publiceren ze het privé blok, waardoor de verkoop wordt geannuleerd.
- Voorbereiding: De aanvaller is bezig met minen, waardoor die blokken kan vinden en bepalen wat erin komt.
- Privé: Ze minen in het geheim een blok dat de munten naar zichzelf stuurt. De kans om dat blok te vinden hangt af van netwerk hashsnelheden en geluk.
- Betalen: Ze betalen een handelaar met dezelfde munten via een onbevestigde transactie aan de toonbank.
- Accepteren: Als de handelaar de goederen uitreikt voordat er een bevestiging is, zendt de aanvaller zijn privé blok uit.
- Herorganisatie: Het netwerk accepteert het privé blok, bevestigt de zelfbetaling en de betaling van de handelaar verdwijnt. De aanvaller houdt zowel de munten als de goederen.
Snel, sluw, en werkt alleen bij acceptatie van nul bevestigingen.
Waarom Finney Attack belangrijk is
Wat moet je hieruit meenemen?
- Voordeel: Het kennen van dit risico helpt je te voorkomen dat oplichters met gratis goederen wegkomen en voorkomt dat jij geld mist.
- Perspectief: Het is een gerichte vorm van dubbel uitgeven en speelt in op ongeduld bij de kassa.
- Relevantie: Je ziet het voorbijkomen bij retail crypto betalingen, persoonlijke ruilen, en marktplaatsen die onbevestigde transacties accepteren.
Voor alles wat pijn doet om te verliezen, wacht minimaal één bevestiging of gebruik een escrow of betalingen via Lightning. Nul bevestigingen zijn acceptabel voor zeer kleine aankopen, maar stel limieten in en leer personeel aan om nooit te haasten bij dat scherm met de knop bevestigen.
Belangrijkste kenmerken van Finney Attack
De kenmerkende eigenschappen zijn goed herkenbaar zodra je ze kent:
- Vooraf geladen: Een privéblok bevat een zelfbetaling voordat de winkel aankoop plaatsvindt.
- Mijner: Werkt alleen als de aanvaller een blok kan minen, niet zomaar iemand met een wallet.
- Tijdstip: Het venster is kort, tussen de verkoop en het uitzenden van dat privé blok.
- Doelwit: Handelaren of peers die onbevestigde transacties accepteren.
- Reikwijdte: Het vereist geen meerderheid van het netwerk, het is een gerichte truc.
Varianten
Gerelateerde zetten die je kunt horen, plus een veelgemaakte verwarring:
- Race: De aanvaller zendt twee conflicterende betalingen uit en hoopt dat de betaling van de handelaar eerst wint, om daarna te verliezen zodra de andere bevestigd wordt.
- Vector76: Een mix die privé blokbouw combineert met een netwerk race, vaak gericht op exchanges of grote verkopers.
- Premine: Niet hetzelfde als pre mining munten, wat verwijst naar het toewijzen van aanbod voor de lancering.
- Tooling: Sommige aanvallers automatiseren het zoals een exploit, waarbij de blokvrijgave gebeurt op het moment dat de verkoop doorgaat.
Bevestigingen bestaan met een reden. Als je een onbevestigde betaling van een volslagen onbekende accepteert, staat een Finney Attack op het menu, zeker als die persoon erg aandringt dat je nu op bevestigen drukt.
Voorbeeld
Een kleine elektronicawinkel accepteert een nul bevestiging betaling voor een laptop, de koper vertrekt, en daarna verschijnt er een privégemined blok dat de verkoop annuleert, klassiek Finney Attack scenario.
Leuk weetje
Het is vernoemd naar Hal Finney, vroege Bitcoin legende en ontvanger van de eerste transactie van Satoshi. Hij schreef over deze truc om uit te leggen waarom wachten op bevestigingen belangrijk is.
Samenvatting
Als je één ding onthoudt, onthoud dit: Finney Attack slaat alleen toe wanneer je een onbevestigde betaling vertrouwt.
