Double-Spend und Race Angriffe bei Kryptowährungen
Bitcoin wird weltweit immer beliebter und definiert die Art und Weise, wie Nutzer mit Geld umgehen, neu. Es ist die weltweit erste voll funktionsfähige Kryptowährung. Doch schon vor Bitcoin gab es Versuche, ein nachhaltiges digitales Geldsystem zu schaffen. Aber all diese Versuche scheiterten, weil Transaktionen kopiert und zweimal ausgegeben werden können – Double-Spend und Race-Attacken.
Was ist eine Double-Spend Attacke?
Der Double Spend Angriff ist die erfolgreiche Verwendung der gleichen Mittel zweimal. Bitcoin ist gegen einen Doppelausgaben-Angriff geschützt, da jede Transaktion, die der Blockkette hinzugefügt wird, überprüft wird und der Großteil der in dieser Transaktion enthaltenen Gelder nicht vorher ausgegeben werden kann.
Doppelte Ausgaben sind ein potenzieller Fehler in einem digitalen Cash-System, bei dem ein und derselbe digitale Token mehr als einmal ausgegeben werden kann. Dies ist möglich, weil ein digitaler Token aus einer digitalen Datei besteht, die dupliziert oder verfälscht werden kann. Wie bei Falschgeld führt eine solche doppelte Ausgabe zu einer Inflation, indem sie einen neuen Betrag an betrügerischer Währung schafft, der bisher nicht existierte. Dies entwertet die Währung im Vergleich zu anderen Geldeinheiten und mindert das Vertrauen der Benutzer sowie den Umlauf und die Beibehaltung der Währung. Grundlegende kryptographische Techniken zur Vermeidung von Doppelausgaben bei gleichzeitiger Wahrung der Anonymität in einer Transaktion sind Blindsignaturen und insbesondere in Offline-Systemen die geheime Aufteilung.
Wie Bitcoin Double-Spend verhindert
Double Spending ist das Ergebnis von Mehrfachausgaben. Bitcoin-Nutzer schützen sich vor Double-Spend, indem sie auf Bestätigungen warten, wenn sie Zahlungen über die Blockkette erhalten, die Transaktionen werden mit steigender Anzahl der Bestätigungen irreversibler. Andere elektronische Systeme verhindern Double-Spend, indem sie eine maßgebende Quelle haben, die den Geschäftsregeln für die Autorisierung jeder Transaktion folgt. Bitcoin verwendet ein dezentrales System, bei dem ein Konsens zwischen den Knoten, die dem gleichen Protokoll und Arbeitsnachweis folgen, durch eine zentrale Behörde ersetzt wird.
Dies bedeutet, dass Bitcoin spezielle Eigenschaften hat, die von zentralen Systemen nicht geteilt werden. Wenn Nutzer den privaten Schlüssel eines Bitcoins geheim halten und die Transaktion genügend Bestätigungen hat, dann kann ihnen niemand den Bitcoin wegnehmen, egal aus welchem Grund, egal wie gut die Entschuldigung ist, egal was passiert.
Race Attack – wenn unbestätigte Transaktionen akzeptiert werden
Händler , die eine Zahlung sofort akzeptieren, wenn sie „0/unbestätigt“ sehen, sind der Stornierung der Transaktion ausgesetzt – eine Race Attack. Ein Race-Betrugsversuch könnte so funktionieren, dass der Betrüger eine widersprüchliche Transaktion, welche den Coin für sich selbst ausgibt, an den Rest des Netzwerks sendet. Händler können Vorkehrungen treffen (z.B. eingehende Verbindungen deaktivieren, nur mit gut verbundenen Knoten verbinden), um das Risiko einer RaceAttack zu verringern, aber das Race-Risiko kann nicht ausgeschlossen werden. Daher müssen die Kosten/Nutzen des Risikos bei der Annahme der Zahlung auf 0/unbestätigt berücksichtigt werden, wenn es keinen Rückgriff gegen den Angreifer gibt.
Erfolgreiche Attacken in der Praxis
Im November 2013 wurde festgestellt, dass der GHash.io-Minenpool offenbar wiederholt Zahlungsbetrug gegen BetCoin Dice, eine Glücksspielseite, begangen hat. Würfelseiten verwenden eine Transaktion pro Wette und warten nicht auf Bestätigungen. GHash.io behauptete, sie hätten einen abtrünnigen Mitarbeiter gefunden, der die doppelten Ausgaben getätigt hatte. Es wurden jedoch keine Beweise dafür vorgelegt. Trotzdem schien es ihrem Marktanteil nicht viel zu schaden: Die meisten Miner haben wahrscheinlich nie von dem Vorfall gehört.
Update:
- Coinbase gab am 05.01.2019 bekannt das Ethereum Classic (ETH) einer 51% Attacke und Double Spending zum Opfer gefallen ist. Zum Artikel