In dieser Artikelserie werden wir euch schrittweise die grundlegenden Informationen für ein fundiertes Krypto-Wissen liefern.
Was ist die Hashrate und wofür wird sie gebraucht?
Eine Hashfunktion ist grob gesagt eine mathematische Funktion, welche nur in eine Richtung einfach gelöst werden kann, in die andere Richtung aber bisher noch nicht gelöst werden konnte.
Sie macht im Grunde nichts anderes, als einem Eingabewert einen Ausgabewert (meist mit fest definierter Länge) zuzuordnen.
Deutlicher wird das Ganze an einem Bild:
In diesem Bild kann man erkennen, dass jeder Eingabe (egal wie lang das Wort ist) ein Wert mit vordefinierter Länge, hier eine dreistellige Zahl, zugeordnet wird. Wichtig ist zu verstehen, dass es zwar relativ einfach ist, die Ausgabe aus einer bestimmten Eingabe zu errechnen, dies jedoch umgekehrt nicht möglich ist. Es gibt bislang keine Umkehrfunktion, in die man die “123” eingeben könnte und welche “CryptoTicker” als Ausgabe liefert. Bei Kryptowährungen wie z. B. dem Bitcoin kommen sogenannte “kryptologische Hashfunktionen” zum Einsatz, die voraussetzen, dass jede Eingabe auch nur genau einen bestimmten Ausgangswert annimmt. Eine Kollision wie im folgenden Bild, bei dem zwei unterschiedliche Eingaben die gleiche Ausgabe erhalten ist bei kryptologischen (auch: krypto-grafischen) Hashfunktionen noch nicht gefunden worden, obwohl bereits enormer Aufwand betrieben wurde um diese Kollision bewusst zu erzeugen. **
Eine Hashfunktion sollte also sowohl kollisionssicher, relativ einfach zu berechnen und nur in eine Richtung ausführbar sein.
Bitcoin und andere “Proof-of-Work”-Kryptowährungen machen sich Hashfunktionen zunutze, indem beim sogenannten Mining immer ein bestimmter Hashwert gefunden werden muss, der kleiner als ein vorgegebener Wert (Mining-Difficulty) ist. Wer zuerst einen gültigen Hashwert findet, darf schlussendlich einen neuen Block an die Blockchain hängen. Da die Funktion eine Einwegfunktion ist und man somit nicht einfach einen kleineren Wert als Ausgabe annehmen kann um diesen zurückzurechnen, bleibt den Minern nichts anderes übrig, als ständig neue Eingaben in die Hashfunktion einzuspeisen und zu hoffen, dass eine gültige Ausgabe, also ein gültiger sogenannter Hashwert, dabei herauskommt. Das muss natürlich nicht manuell geschehen, das Durchprobieren verschiedener Eingaben übernimmt natürlich der Computer beziehungsweise speziell dafür hergestellte Hardware, sogenannte ASIC’s. Die Anzahl der Hashwerte, die vom Computer oder ASIC überprüft werden nennt man Hashrate.
** Streng genommen wird es bei einer unendlichen Anzahl an erlaubten Input-Parametern und einer endlichen Anzahl an Output-Möglichkeiten theoretisch zu unendlich vielen Kollisionen kommen. Da es aber bisher noch niemanden gelungen ist, bewusst auch nur eine einzige Kollision zu erzeugen, werden die Hashfunktionen als “gut genug” betrachtet. Mehr Informationen für Kryptonerds findet ihr hier.
Was ist Double-Spending?
Das Double-Spending beschreibt grundsätzlich nur einen betrügerischen Prozess in einem digitalen Geldsystem. Auf Deutsch bedeutet Double-Spending so viel wie “Doppelt Ausgeben“. Es wird also eine bestimmte Währung doppelt ausgegeben. Bei dem traditionellen Hartgeld ist Double-Spending nicht praktikabel, da erstens: die heutigen Banknoten mit Sicherheitsmerkmalen wie Wasserzeichen usw. gegen eine illegale Vervielfältigung geschützt sind, und man zweitens einen Geldschein bzw. ein Geldstück nicht an zwei verschiedenen Stellen ausgeben kann. Denn wird ein Geldstück an einer Supermarktkasse zum Bezahlen benutzt, kann es nicht auch noch im selben Moment an einer anderen Supermarktkasse zum Zahlen verwenden.
Bei digitalen Währungen sieht das Ganze anders aus, bei Banküberweisungen oder ähnlichen Zahlungsinstrumenten gibt es zentrale Instanzen wie die eigene Bank, die darauf aufpassen, dass man sein Kontoguthaben nicht mehrmals ausgibt.
Wie aber sieht das ganze bei Kryptowährungen aus?
Da die meisten Kryptowährungen dezentral sind, gibt es diese Kontrollinstanzen wie Banken nicht mehr. Auch wenn man Coins nicht kopieren kann, ist es in dezentralen Systemen prinzipiell möglich Coins doppelt zu versenden. Nehmen wir an ich habe einen Bitcoin auf meinem Wallet, um einen Double-Spend Versuch zu starten müsste ich mit diesem Bitcoin zeitgleich mindestens zwei Transaktionen signieren und an verschiedene Bitcoin-Adressen senden. Nachdem ich die Transaktion an unterschiedliche Knotenpunkte (Nodes) des Bitcoin-Netzwerks gesendet habe, verifizieren sie diese und meine zwei Transaktionen kommen in den Mempool (Pool der bereits von Nodes verifizierten, aber noch unbestätigten Transaktionen) der Miner, welche meine Transaktionen validieren und in einen Block verpacken sollen.
Ein Miner weiß aber nicht, ob ein anderer Miner gerade auch meine Transaktion bearbeitet. Um eine Transaktion in einen Block einzufügen, muss der Miner sie mehrmals auf ihre Korrektheit überprüfen, diese einzelnen Überprüfungen werden als Confirmations (Bestätigungen) bezeichnet. Wenn die Miner also meine unterschiedlichen Transaktionen zeitgleich überprüfen, kann es passieren, dass bei den ersten Überprüfungen noch nicht auffällt, dass ich versuche meinen einen Bitcoin doppelt auszugeben, und beide Transaktionen bestätigt werden. Die Wahrscheinlichkeit, dass dieses Ereignis einer zeitgleichen Überprüfung, also auch der Validierung beider Transaktionen, öfter als sechs Mal stattfindet, liegt bei 0,1 %.
Deshalb wird Zahlungsempfängern empfohlen, immer mindestens sechs Confirmations abzuwarten, bis sie einge Gegenleistung dafür erbringen. Wie oft eine Transaktion schon bestätigt wurde, kann jeder der die TransaktionsID (oft TXID abgekürzt) hat, auf diversen Blockchain-Explorer Webseiten live verfolgen. So kann es kommen, dass der Zahlungsempfänger nur eine oder zwei Bestätigungen abwartet, um mir die Echtheit meiner Zahlung abzunehmen. Um dann erst bei dem Fehlschlagen der nächsten Confirmation zu merken, dass er Opfer meiner Double-Spending Attack wurde und er meine Coins nicht erhalten wird.
51 % Double-Spend Attacke auf Bitcoin-Gold
Als Beispiel für eine tatsächlich geschehene Double-Spend Attacke kann man die 51 % auf Bitcoin Gold nehmen. Eine 51 % bedeutet, dass ein Angreifer über mehr als 51 % der Miningpower verfügt und somit die Blockchain manipulieren kann. Da bei Technologien, wie der von Bitcoin, neue Blöcke immer an die längste Kette von Blöcken angehängt werden, kann er mithilfe seiner überlegenen Hashpower versuchen, im Verborgenen diese längste Kette selbst zu stellen, dass neue Blocks an seine Chain angehängt werden. So kann Blocks ungeschehen machen oder die Blocks von anderen Minern als ungültig erklären, um den Blockreward selbst einzustreichen.
Im Fall der 51 % Attacke auf Bitcoin Gold war es so, dass der Angreifer Unmengen an Bitcoin Gold auf verschiedenen Exchanges verkauft hat, um diese Transaktionen nach dem erfolgreichen Verkauf als ungültig zu erklären, und somit einen Double-Spend durchführen konnte. Das gelang ihm, weil er anschließend eine Version der Bitcoin Gold Blockchain kreierte, bei der die Transaktionen zu den Börsen niemals stattfanden. Somit erhielt er den Erlös des Bitcoin Gold Verkaufs von den Börsen und behielt aber gleichzeitig auch noch seine Bitcoin Gold. Der Schaden dieser 51 % Attacke und des Double-Spendings belief sich Gerüchten nach auf ca. 18 Millionen Dollar.
Kryptowährungen kannst du auf Binance*, Coinbase* oder eToro* kaufen. Hier geht es zu unserem ->Starterkit.
Verpass keine wichtigen Nachrichten mehr!
Folge uns auf Twitter, Instagram, Facebook, Steemit und tritt unserem Telegram News Kanal oder Newsletter bei.
Du würdest diesen Artikel gerne kommentieren? Dann tritt einfach unserer Telegram Diskussions-Gruppe bei.
*Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du über diesen Link etwas kaufst, bekommen wir eine Provision vom Händler. Der Preis verändert sich dabei für dich nicht.