Wie wird Double-Spending von der Blockchain verhindert?

Wie verhindert die Blockchain das Double-Spending Risiko von Bitcoin?

Eines der Hauptanliegen eines jeden Entwicklers von Krypto-Währungen ist das Problem des Double-Spending zu lösen. Dies bezieht sich auf die Häufigkeit, mit der eine Einzelperson einen bestimmten Anteil dieser Krypto-Währung ausgibt, wodurch eine Diskrepanz zwischen den Ausgaben und dem verfügbaren Betrag dieser Krypto-Währung sowie der Art ihrer Verteilung entsteht.

Double-Spending ist ein Problem, das Bargeld nicht hat; wenn man für ein Sandwich mit einem 10-Euro-Schein bezahlt und diesen Schein dem Hersteller des Sandwichs übergibt, kann man sich nicht umdrehen und die gleichen 10 Euro anderweitig ausgeben. Eine Transaktion mit einer Krypto-Währung wie Bitcoin erfolgt jedoch vollständig digital. Das bedeutet, dass es möglich ist, die Transaktionsdetails zu kopieren und neu zu übertragen, so dass ein und derselbe Bitcoin mehrmals von einem einzigen Besitzer ausgegeben werden könnte. Im Folgenden wird untersucht, wie die Entwickler von Kryptowährungen sichergestellt haben, dass es nicht zu doppelten Ausgaben kommen kann.

Wichtige Keynotes:

  • Ein technisches Problem, das sich bei der Idee einer digitalen Währung stellt, ist die Möglichkeit, dass jemand das digitale Geld duplizieren und es gleichzeitig an zwei oder mehr Orten ausgeben kann.
  • Dieses Problem des „Double-Spending“ wird in blockchain-basierten Kryptowährungen wie Bitcoin durch einen Konsensmechanismus verhindert, der als Proof-of-Work (PoW) bekannt ist.
  • Dieser PoW wird von einem dezentralisierten Netzwerk von „Minern“ durchgeführt, die nicht nur die Genauigkeit der vergangenen Transaktionen in der Buchhaltung der Blockchain sicherstellen, sondern auch Doppelausgaben aufdecken und verhindern.

Die Blockchain verstehen

Die Blockchain, die einer digitalen Währung wie Bitcoin zugrunde liegt, ist allein nicht in der Lage, Double-Spending zu verhindern. Vielmehr werden alle verschiedenen Transaktionen mit der entsprechenden Kryptowährung in die Blockchain gebucht, wo sie separat geprüft und durch einen Bestätigungsprozess geschützt werden. Im Falle von Bitcoin und vielen anderen Kryptowährungen werden auf diese Weise bestätigte Transaktionen unumkehrbar; sie werden öffentlich bekannt gegeben und auf ewig aufbewahrt.

Bitcoin war die erste große digitale Währung, die das Problem des Double-Spending löste. Dies geschah durch die Implementierung dieses Bestätigungsmechanismus und die Aufrechterhaltung eines gemeinsamen, universellen Buchhaltungssystems. Auf diese Weise bewahrt die Bitcoin-Blockchain Aufzeichnungen über zeitgestempelte Transaktionen auf, die bis zur Gründung der Krypto-Währung im Jahr 2009 zurückreichen.

In den Begriffen von Bitcoin ist ein „Block“ eine Datei mit permanent aufgezeichneten Daten. Alle neueren Transaktionen werden in Blöcke geschrieben, ähnlich wie ein Transaktionsbuch an einer Börse. Die Informationen aus den Blöcken werden alle paar Minuten dem Kassenbuch hinzugefügt; alle Knoten im Netzwerk führen eine Kopie des Blockchain-Kassenbuches. Benutzer können in der Blockchain für Bitcoin blättern und Transaktionen nur in Bezug auf die Menge überprüfen. Einzelheiten über die Identität des Käufers und Verkäufers in jeder Transaktion sind durch eine hochgradige Verschlüsselung geschützt, die das Kassenbuch auch vor Manipulationen durch externe Quellen schützt. Wenn die Blockchain aktualisiert wird, werden auch alle Bitcoin-Wallets aktualisiert.

Der Umgang mit Double-Spending

Man stelle sich vor, man hat 1 BTC und versucht, diesen zweimal in zwei separaten Transaktionen auszugeben. Dies könnte man versuchen, indem man dieselbe BTC an zwei verschiedene Bitcoin-Adressen sendet. Beide Transaktionen gehen dann in den Pool der unbestätigten Transaktionen ein. Die erste Transaktion würde über den Bestätigungsmechanismus genehmigt und dann in den nachfolgenden Block verifiziert. Die zweite Transaktion würde jedoch durch den Bestätigungsmechanismus als ungültig erkannt und nicht verifiziert werden. Wenn beide Transaktionen gleichzeitig zur Bestätigung aus dem Pool gezogen werden, wird die Transaktion mit der höchsten Anzahl an Bestätigungen in die Blockchain aufgenommen, während die andere verworfen wird.

Damit ist das Problem des Double-Spending zwar effektiv gelöst, aber es ist nicht ohne Probleme. Zum Beispiel hätte der beabsichtigte Empfänger der zweiten (fehlgeschlagenen) Transaktion keinen Anteil an der fehlgeschlagenen Transaktion selbst, und dennoch würde diese Person nicht die Bitcoin erhalten, die er oder sie erwartet hatte. Viele Händler warten auf mindestens 6 Bestätigungen einer Transaktion (was bedeutet, dass nach der fraglichen Transaktion 6 aufeinander folgende Transaktionsblöcke in die Blockchain aufgenommen wurden). Zu diesem Zeitpunkt kann der Händler sicher davon ausgehen, dass die Transaktion gültig ist.

Es gibt noch andere Schwachstellen in diesem System, die Angriffe mit Double-Spending ermöglichen könnten. Wenn ein Angreifer beispielsweise irgendwie in der Lage ist, mindestens 51% der Verfügungsgewalt über das Netzwerk zu kontrollieren, kann er doppelte Ausgaben tätigen. Wenn ein Angreifer irgendwie in der Lage wäre, die Kontrolle über diese große Rechenleistung zu erlangen, könnte er Transaktionen rückgängig machen und eine separate, private Blockchain schaffen. Das schnelle Wachstum von Bitcoin hat jedoch dafür gesorgt, dass diese Art von Angriffen praktisch unmöglich ist.

Proof of Work & Mining erklärt

Nun wird es ein wenig technischer. Die Art und Weise, wie Benutzer in der Praxis Manipulationen wie den Versuch Double-Spending zu erkennen, ist durch Hashes, lange Zahlenfolgen, die als Arbeitsnachweis (Proof of Work, PoW) dienen. Wenn man einen bestimmten Datensatz durch eine Hash-Funktion (Bitcoin verwendet SHA-256) laufen lässt, wird immer nur ein Hash erzeugt. Aufgrund des „Lawineneffekts“ führt jedoch selbst eine winzige Änderung an irgendeinem Teil der Originaldaten zu einem völlig unerkennbaren Hash. Unabhängig von der Größe des Originaldatensatzes hat der von einer bestimmten Funktion erzeugte Hash die gleiche Länge. Der Hash ist eine Einwegfunktion: Er kann nicht dazu verwendet werden, die Originaldaten zu erhalten, sondern nur dazu, zu überprüfen, ob die Daten, die den Hash erzeugt haben, mit den Originaldaten übereinstimmen.

Die Generierung eines beliebigen Hashes für einen Satz von Bitcoin-Transaktionen wäre für einen modernen Computer trivial, so dass das Bitcoin-Netzwerk einen bestimmten „Schwierigkeitsgrad“ festlegt, um den Prozess in „Arbeit“ zu verwandeln. Diese Einstellung wird so angepasst, dass etwa alle 10 Minuten ein neuer Block „abgebaut“ wird, der der Blockchain durch die Erzeugung eines gültigen Hashes hinzugefügt wird. Die Einstellung des Schwierigkeitsgrads wird durch Festlegung eines „Ziels“ für den Hash erreicht: je niedriger das Ziel, desto kleiner ist der Satz gültiger Hashes und desto schwieriger ist es, einen zu erzeugen. In der Praxis bedeutet dies einen Hash, der mit einer langen Reihe von Nullen beginnt: Der Hash für Block #429818 lautet beispielsweise 00000000000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d.

Dieser Block enthält 2.012 Transaktionen mit etwas mehr als 1.000 Bitcoin sowie den Header des vorherigen Blocks. Wenn ein Benutzer einen Transaktionsbetrag um 0,0001 Bitcoin änderte, wäre der daraus resultierende Hash nicht erkennbar, und das Netzwerk würde den Betrug zurückweisen.

Da ein gegebener Datensatz nur einen Hash erzeugen kann, wie stellen die Miner sicher, dass sie einen Hash unterhalb des Ziels erzeugen? Sie ändern die Eingabe, indem sie eine ganze Zahl hinzufügen, die Nonce genannt wird („number used once“). Sobald ein gültiger Hash gefunden wird, wird er an das Netzwerk gesendet, und der Block wird der Blockchain hinzugefügt.

Das Mining ist ein kompetitiver Prozess, aber er ist eher eine Lotterie als ein Wettrennen. Im Durchschnitt wird alle zehn Minuten jemand einen akzeptablen Arbeitsnachweis erbringen, aber wer es sein wird, kann man nur vermuten. Die Miner schließen sich zusammen, um ihre Chancen auf den Abbau von Blöcken zu erhöhen, was Transaktionsgebühren und – für eine begrenzte Zeit – eine Belohnung in Form von neu geschaffenen Bitcoin generiert.

Durch den Proof-of-Work ist es äußerst schwierig, irgendeinen Aspekt der Blockchain zu verändern, da eine solche Veränderung den Neuabbau aller nachfolgenden Blöcke erfordern würde. Außerdem ist es für einen Benutzer oder eine Gruppe von Benutzern schwierig, die Rechenleistung des Netzwerks zu monopolisieren, da die Maschinen und die Leistung, die zur Vervollständigung der Hash-Funktionen erforderlich sind, teuer sind.

Video Tipp

Carsten Hack

Als Blockchain Enthusiast und Finanzfachmann beschäftige ich mich mit Kryptowährungen seit einer Zeit, zu welcher der Bitcoin noch 600 Euro wert war. Im Laufe der Jahre habe ich viel über die Technik und das Umfeld gelernt und möchte dieses Wissen durch Satoshi-Sushi weitergeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.