Netzwerk mit Bitcoin Code sehr zufrieden

Transaktionen im gleichen Block gelten als gleichzeitig erfolgt und Transaktionen, die noch nicht in einem Block enthalten sind, als unbestätigt. Jeder Knoten kann Transaktionen zu einem Block zusammenfassen und als Vorschlag für den nächsten Block an das Netzwerk senden. Da jeder Knoten einen neuen Block vorschlagen kann, wie vereinbart das System, welcher Block der nächste sein soll?

Bitcoin Code hat keine Probleme

Um der Blockkette hinzugefügt zu werden, muss jeder Block die Antwort auf ein komplexes mathematisches Problem enthalten, das mit einer irreversiblen kryptographischen Hash-Funktion erstellt wurde. Die einzige Möglichkeit ist Bitcoin Code richtig zu  ein solches mathematisches Problem zu lösen, besteht darin, Zufallszahlen zu erraten, die zusammen mit dem vorherigen Blockinhalt ein definiertes Ergebnis erzeugen. Es könnte etwa ein Jahr dauern, bis ein typischer Computer die richtige Zahl erraten und das mathematische Problem gelöst hat. Aufgrund der großen Anzahl von Computern im Netzwerk, die Zahlen erraten, wird jedoch im Durchschnitt alle 10 Minuten ein Block gelöst. Der Knoten, der das mathematische Problem löst, erhält das Recht, den nächsten Block in der Kette zu platzieren und an das Netzwerk zu senden.

Und was, wenn zwei Knoten das Problem gleichzeitig lösen und ihre Blöcke gleichzeitig an das Netzwerk senden? In diesem Fall werden beide Blöcke gesendet und jeder Knoten baut auf dem Block auf, den er zuerst empfangen hat. Das Blockchain-System erfordert jedoch, dass jeder Knoten sofort auf der längsten verfügbaren Blockkette aufbaut. Wenn es also Unklarheiten darüber gibt, welcher der letzte Block ist, sobald der nächste Block gelöst ist, wird jeder Knoten die längste Kette als einzige Option übernehmen.

Abb.7 – Ende der Mehrdeutigkeitslogik der Kette
Aufgrund der geringen Wahrscheinlichkeit, Blöcke gleichzeitig zu lösen, ist es fast unmöglich, dass mehrere Blöcke gleichzeitig immer wieder gelöst werden, so dass sich die gesamte Blockkette schnell zu einer einzigen Blockkette stabilisiert, der jeder Knoten zustimmt.

Eine Meinungsverschiedenheit darüber, welcher Block das Ende des Kettenstreifens darstellt, eröffnet wieder das Potenzial für Betrug. Wenn sich eine Transaktion in einem Block befindet, der zu einem kürzeren Schwanz gehört (wie Block B in Abb. 7), wird diese Transaktion, zusammen mit allen anderen in ihrem Block, zu den unbestätigten Transaktionen zurückkehren.

Transaktionen im Bitcoin-Blockchain-System werden durch einen mathematischen Wettlauf geschützt: Jeder Angreifer konkurriert mit dem gesamten Netzwerk.
Lassen Sie uns sehen, wie Mary diese Mehrdeutigkeit am Ende der Kette nutzen konnte, um einen doppelten Angriff durchzuführen. Mary schickt Geld an John, John liefert das Produkt an Mary. Da Knoten immer den längeren Schwanz als bestätigte Transaktionen übernehmen, wenn Mary einen längeren Schwanz erzeugen könnte, der eine umgekehrte Transaktion mit den gleichen Eingangsreferenzen enthält, wäre John sowohl aus seinem Geld als auch aus seinem Produkt heraus.