Die Manipulierbarkeit der Blockchain
Jeder der guten Knoten in einer Blockchain wird natürlich nicht versuchen, betrügerische Transaktionen in seinen Blöcken zu erfassen.
Daher gibt es zwei Arten von Betrug, die ein böswilliger Knoten begehen kann
Fälschung des Verlaufs einer Transaktion, um den bereits gezahlten Betrag zurückzuerhalten
Monopolisierung neuer Münzen, die in Zukunft ausgegeben werden sollen.
Da die Blockchain die längste Kette als die korrekte Kette betrachtet, kann man sich den Wettbewerb zwischen der korrekten Kette und der falschen Kette wie einen Random Walk vorstellen.
Wenn die richtige Kette einen Block lang ist, sind die guten Knoten einen Schritt voraus, und wenn die falsche Kette einen Block lang ist, sind die falschen Knoten einen Schritt voraus.
Die Wahrscheinlichkeit, dass die Länge der abtrünnigen Kette die Länge der richtigen Kette einholt und überholt, ähnelt dem Problem des Konkurses von Spielern.
Das Problem des Bankrotts von Spielern ist die Theorie, dass die Wahrscheinlichkeit, bankrott zu gehen, steigt, wenn Spieler immer wieder den gleichen Geldbetrag setzen.
Diese Theorie beweist, dass ein Spieler mit wenig Geld nicht gegen eine Organisation mit einer riesigen Geldmenge gewinnen kann.
Die Bitcoin-These beweist, dass die Wahrscheinlichkeit, dass die Länge einer illegalen Kette die Länge einer korrekten Kette zu einem beliebigen Zeitpunkt einholen kann, exponentiell kleiner wird, wenn die Länge der korrekten Kette zunimmt (wenn die Anzahl der Blöcke steigt).
Wenn P > q (die Anzahl der guten Knoten überwiegt die Anzahl der schlechten Knoten), dann wird qz exponentiell niedriger, wenn die Anzahl der Blöcke in der korrekten Kette zunimmt.
Daher müssen die abtrünnigen Knoten die Lücke zur richtigen Kette so schnell wie möglich schließen.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.
Endgültigkeit des Vorgangs
Wir werden nun erfahren, wie viel Zeit erforderlich ist, um die Wahrscheinlichkeit, dass eine Transaktion manipuliert wird, auf nahezu 0 % zu reduzieren.
Dieser Zustand, in dem die Wahrscheinlichkeit, dass eine Transaktion manipuliert wird, bei nahezu 0 % liegt, wird als Endgültigkeit bezeichnet.
Nehmen wir zum Beispiel an, dass der Absender einer Transaktion ein Schurkenknoten und der Empfänger ein guter Knoten ist.
Ziel ist es, dass der betrügerische Knoten eine gefälschte Bitcoin-Transaktion an den guten Knoten sendet und der gute Knoten dies erst nach einer gewissen Zeit bemerkt, wenn es bereits zu spät ist.
Der betrügerische Knoten beginnt gleichzeitig mit dem Senden der gefälschten Bitcoin-Transaktion, Blöcke der betrügerischen Kette zu bilden.
Der korrekte Knoten hat keine Möglichkeit zu erfahren, wie weit der abtrünnige Knoten die Abtrünnigenkette verlängert hat.
Wenn zu diesem Zeitpunkt die korrekte Kette aufgrund der Anpassung der Schwierigkeit wie üblich Blöcke bildet, folgt die Länge des Blocks, den der abtrünnige Knoten verlängern kann, der Erwartung der folgenden Poisson-Verteilung
Die Wahrscheinlichkeit, dass die abtrünnige Kette die richtige Kette einholt, ist gleich der Wahrscheinlichkeit, dass der abtrünnige Knoten die Bildung von k Blöcken an dem Punkt abgeschlossen hat, an dem jeder Knoten mit der Erzeugung einer Kette beginnt, multipliziert mit der Wahrscheinlichkeit des Einholens aus der Differenz z-k (Anzahl der mit der richtigen Kette verbundenen Blöcke - Anzahl der mit der abtrünnigen Kette verbundenen Blöcke ) auf die Aufholwahrscheinlichkeit und addiert dann das Ergebnis über alle k.
Die obige Gleichung sieht, in C-Code übersetzt, wie folgt aus
Versuchen wir, einige Zahlen auf diesen Ausdruck anzuwenden.
Wie Sie oben sehen können, nimmt die Wahrscheinlichkeit, dass eine schlechte Kette eine gute Kette einholt, mit zunehmendem z exponentiell ab.
Wie viele Blöcke braucht es eigentlich, um die Endgültigkeit zu erreichen?
Wenn wir davon ausgehen, dass der Finalitätszustand erreicht ist, wenn die Wahrscheinlichkeit, dass die falsche Kette die richtige Kette einholt, weniger als 0,1 % beträgt, dann ist die Anzahl der erforderlichen Blöcke wie folgt
Das bedeutet, dass die Wahrscheinlichkeit, dass eine betrügerische Kette die richtige Kette einholt, auf weniger als 0,1 % reduziert werden kann, wenn mindestens sechs Blöcke mit der richtigen Kette verbunden sind.
Mit anderen Worten: Wenn nach der Bildung eines neuen Blocks sechs weitere Blöcke gebildet werden, wird dieser als endgültig betrachtet.
Im Fall von Bitcoin wird die Zeit, die für die Bildung eines Blocks benötigt wird, durch die Schwierigkeit so geregelt, dass sie ungefähr alle 10 Minuten stattfindet, was bedeutet, dass die Endgültigkeit nach 10 Minuten x 6 Blöcken = 60 Minuten nach der Bildung eines neuen Blocks erreicht wird.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.