Eine Transaktion wird bestätigt, wenn 80 % der Nodes in der UNL sie akzeptieren. Woher kommt diese 80%-Zahl? Hätten es genauso gut 79 % oder 81 % sein können? Was ist mit 51 %?
Können verschiedene Knoten unterschiedliche Schwellenwerte haben (z. B. für schnellere Transaktionen) oder müssen sie alle derselben Regel folgen?
Wenn Validatoren warten würden, bis andere Validatoren einen Konsens erklärten, um selbst einen Konsens zu erklären, würde kein Validator jemals einen Konsens erklären. Sie müssen also Konsens erklären und hoffen, dass Sie Recht behalten. Meistens wirst du es sein. Andernfalls sind Sie sich der Ergebnisse später rechnerisch nicht sicher und geben diese nicht an Auftraggeber weiter.
Wenn Sie einen Schwellenwert von 75 % für die mathematische Gewissheit verwenden, wären Sie oft nicht sicher und müssten den Vorgang wiederholen. Wenn Sie einen Schwellenwert von 90 % für die mathematische Gewissheit wählen, wären Sie fast immer sicher, aber Sie würden Zeit verschwenden.
Das Video ist etwas irreführend. Tatsächlich könnte jeder Schwellenwert verwendet werden, und Sie hätten immer noch mathematische Gewissheit, wenn Sie tatsächlich einen Konsens erzielen würden. Setzt man die Schwelle jedoch zu niedrig an, hat man nur selten Gewissheit. 80 % ist der Schwellenwert, den wir für mathematische Gewissheit gewählt haben, weil es ein Kompromiss ist, der dazu führt, dass Gewissheit oft und schnell erreicht wird.
Vielleicht ist das nicht klar genug. Lass es mich anders versuchen. Wenn wir eine Transaktion als vollständig validiert melden, wollen wir uns dessen mathematisch sicher sein. Wir werden einen solchen Bericht nicht machen, bis wir es sind. Die Wahl von 80 % als Konsensschwelle ermöglicht es uns, schnell einen Konsens zu erreichen, erfordert, dass mindestens 20 % der Validatoren völlig böswillig sind, um den Konsens zu verzögern, und ermöglicht es uns (in einem späteren Schritt), fast immer mathematisch sicher zu sein, dass das Ergebnis erreicht wird .
Beachten Sie, dass fast die ganze Zeit nicht immer ist. Manchmal erreichen wir 80% und sind uns später der Ergebnisse nicht sicher. In diesem Fall warten wir, bis die nächste Konsensrunde abgeschlossen ist, und hoffen, dass wir in dieser besser abschneiden.
Angenommen, Sie haben aus irgendeinem dummen Grund Ihren Schwellenwert auf 10 % gesetzt. Sie würden denken, Sie hätten die ganze Zeit Konsens gehabt. Aber ebenso offensichtlich würde es oft keinen tatsächlichen Konsens geben. Wenn ja, könnten Sie sicher sein, dass es passiert ist (weil Sie es sehen würden ). Aber es würde oft nicht passieren, und dann müssten Validatoren neu synchronisieren und Clients würden geduldig darauf warten, dass das Netzwerk sich selbst repariert, damit ihre Transaktionen bestätigt werden können.
Ledger, die den Konsensprozess bestehen, werden immer noch durch das „Validation Gate“ aufgehalten. Sie werden den Kunden erst dann als „vollständig validiert“ gemeldet, wenn sie dieses Gate passieren.
80 % funktionierten sehr, sehr gut in der Simulation. Validatoren können diesen Schwellenwert nach Belieben ändern. Vielleicht ergibt in einer zukünftigen Netzwerktopologie ein anderer Schwellenwert bessere Leistungseigenschaften.
Es ist schwer, um 3 Uhr morgens klar zu schreiben. Vielleicht schreibe ich das um, wenn ich wacher bin.
Steven Rose
Manisch