Aktivierung von SegWit v1

Der segregierte Witness Soft Fork vom August 2017 enthielt ein Versionierungsfeld, das eine zukünftige Inkrementierung ermöglichen würde. Anthony Towns hat kürzlich einen frühen Entwurf des Vorschlags für das SegWit v1-Upgrade auf der Mailingliste veröffentlicht .

  • Obwohl der Teufel natürlich im Detail steckt, welche Aktivierungsmethoden stehen für zukünftige Softforks zur Verfügung?

  • Was sind die unterschiedlichen Upgrade-Mechanismen für die Änderungen der Hauptversion [v1 - v16] und der Nebenversion [v1.0 - v1.127]?

  • Wie wird der Soft Fork unter Berücksichtigung des offenkundigen ASIC Boost mit Versionsbits signalisiert?

  • Wie wird die Konsensänderung durchgesetzt?

  • Ist die v1-Änderung so "umstritten" und zeitaufwändig wie v0?

  • Was sind die Aufgaben von Node-Betreibern und Minern?

Vielen Dank im Voraus für die Antwort!

Es gibt nicht einmal einen Vorschlag. Eine Diskussion über die Aktivierung und all ihre Auswirkungen ist etwas, das geführt werden muss, nachdem eine ausgearbeitete Idee, Implementierung und eine klare Zustimmung der Community vorliegt. Man könnte die Frage allgemein formulieren als „Welche Aktivierungsmethoden gibt es für zukünftige Softforks?“, aber niemand kann diese Frage für etwas beantworten, das es nicht gibt.

Antworten (1)

Auch wenn der Teufel natürlich im Detail steckt, wie könnte ein solcher Upgrade-Prozess aussehen? und Was sind die unterschiedlichen Upgrade-Mechanismen für die Änderungen der Hauptversion [v1 - v16] und der Nebenversion [v1.0 - v1.127]?

Wie Pieter Wuille in den Kommentaren erwähnte: „Es gibt nicht einmal einen Vorschlag. Die Diskussion über die Aktivierung und all ihre Auswirkungen ist etwas, das geführt werden muss, nachdem eine ausgearbeitete Idee, Implementierung und eine klare Zustimmung der Community vorliegt. Sie könnte die Frage allgemein formulieren als "Welche Aktivierungsmethoden gibt es für zukünftige Softforks?", aber niemand kann diese Frage für etwas beantworten, das es nicht gibt."

Wie wird die Soft Fork signalisiert?

Anfänglich wurden Soft Forks mit der Blockversionsnummer signalisiert, aber aufgrund seiner vielen Einschränkungen wird BIP-9 (lesen Sie die vollständige Dokumentation hier ) verwendet. In BIP-9 wird die Blockversionsnummer als Bitfeld statt als Ganzzahl interpretiert (wir haben derzeit 29 Bits, wo wir dies signalisieren können). BIP-9 legt auch eine maximale Zeit für die Signalisierung und Aktivierung fest. Auf diese Weise müssen Miner nicht ewig signalisieren. Wenn ein Angebot nicht innerhalb des TIMEOUT-Zeitraums (im Angebot definiert) aktiviert wird, gilt das Angebot als abgelehnt. Der Vorschlag kann erneut zur Signalisierung mit einem anderen Bit eingereicht werden, wodurch die Aktivierungsperiode erneuert wird.

Wie wird die Konsensänderung durchgesetzt?

BIP-9 zählt die Aktivierungssignale in ganzen Intervallen basierend auf der Schwierigkeits-Retarget-Periode von 2016-Blöcken. Wenn für jede Retargeting-Periode die Summe der Blöcke, die für ein Angebot signalisieren, 95 % (1916 von 2016) überschreitet, wird das Angebot eine Retargeting-Periode später aktiviert. Vorschläge beginnen im Zustand DEFINIERT, sobald ihre Parameter in der Bitcoin-Software bekannt (definiert) sind. Für Blöcke mit Median Time Past (MTP) nach der Startzeit wechselt der Vorschlagsstatus zu STARTED. Wenn der Voting-Schwellenwert innerhalb einer Retargeting-Periode überschritten wird und die Zeitüberschreitung nicht überschritten wurde, geht der Vorschlagsstatus auf LOCKED_IN über. Eine Retargeting-Periode später wird das Angebot AKTIV. Angebote bleiben dauerhaft im Status ACTIVE, sobald sie diesen Status erreicht haben. Wenn die Zeitüberschreitung abläuft, bevor die Abstimmungsschwelle erreicht wurde, Der Status des Angebots ändert sich in FAILED, was auf ein abgelehntes Angebot hinweist. FAILED-Vorschläge bleiben dauerhaft in diesem Zustand. Unten ist ein Diagramm aus dem Buch Mastering Bitcoin.BIP-9 Zustandsübergangsdiagramm

Ist die v1-Änderung so "umstritten" und zeitaufwändig wie v0?

Auch hier gibt es noch nicht einmal einen richtigen Vorschlag.

Was sind die Aufgaben von Node-Betreibern und Minern?

Miner geben ihr Stimmrecht über die verschiedenen Vorschläge ab, indem sie den Block mit dem bestimmten Bit in der Blockversionsnummer abbauen. Vollständige Knoten entscheiden, ob sie diese Blöcke als gültig behandeln möchten oder nicht und ob sie diese Blöcke an das gesamte Netzwerk weitergeben sollen.