Was ist der User Activated Softfork (UASF)-Vorschlag? Wie sind die Risiken im Vergleich zu Hardforks?

Die Bitcoin-Community ist voller Diskussionen über Shaolinfrys Vorschlag einer UASF zur Aktivierung von SegWit als Alternative zur Aktivierung von Version Bits. Ich habe häufige und ausführliche Diskussionen über den Vorschlag und insbesondere Fragen zu den Risiken und Vorteilen im Vergleich zu anderen Methoden der Softfork-Aktivierung und Hardforks gesehen.

  • Was beinhaltet der UASF-Vorschlag?
  • Wie sind die Risiken im Vergleich zu anderen Methoden zur Aktualisierung des Protokolls?

Antworten (2)

  • Was beinhaltet der UASF-Vorschlag?

Der UASF-Vorschlag ist eine Erweiterung von BIP9, die es Soft-Forks ermöglicht, eine obligatorische Aktivierungszeit anzugeben. Wenn Miner zu diesem Zeitpunkt noch nicht begonnen haben, Unterstützung zu signalisieren, müssen sie mit der Signalisierung beginnen. Alle Blöcke, die nach dieser Zeit keine Unterstützung für den Soft-Fork signalisieren, werden zurückgewiesen.

BIP148 ist eine Instanz des UASF-Vorschlags, der ein UASF für SegWit implementiert. Die Idee ist, dass die wirtschaftliche Mehrheit, Benutzer und Unternehmen, Software ausführen, die Miner zwingt, SegWit zu aktivieren. Wenn Miner nicht bis zum vorgeschlagenen Zeitpunkt mit der Signalisierung für SegWit beginnen, werden ihre Blöcke und die darin geschürften Bitcoins ungültig. In diesem Sinne ist es ein Hard-Fork für Miner, aber ein Soft-Fork für die meisten Full-Node-Betreiber.

Eine Soft-Fork durchläuft normalerweise den IsSuperMajorityProzess, bei dem Miner nicht beginnen, die neuen Regeln durchzusetzen, bis 95 % der letzten 1000 Blöcke die Bereitschaft zur Durchsetzung signalisieren. Dies dient normalerweise nur der Koordinierung, damit sich die Bergleute darüber einig sind, wann genau die neuen Regeln in Kraft treten. In letzter Zeit haben Miner diesen Prozess jedoch verwendet, um zu verhindern, dass die SegWit-Soft-Fork überhaupt durchgesetzt wird. Viele glauben, dass Miner nicht in der Lage sein sollten, Soft-Forks zu blockieren, also wurde die UASF geschaffen, um diese Fähigkeit von Minern zu entfernen.

  • Wie sind die Risiken im Vergleich zu anderen Methoden zur Aktualisierung des Protokolls?

Ein UASF kann zur Durchsetzung übergehen, bevor Bergleute ihre Software aktualisiert haben, um sie zu unterstützen (normalerweise wäre dies von Seiten eines Bergmanns beabsichtigt, da das Aktivierungsdatum sehr weit im Voraus gewählt würde). In diesem Fall kann dieser Miner gemäß dem Rest des aktualisierten Netzwerks ungültige Blöcke abbauen. Wenn ein großer Teil des Netzwerks seine Software aktualisiert hat, um die Signalisierung für die Soft-Fork durchzusetzen, aber ein großer Teil der Miner nicht damit einverstanden ist, für die Unterstützung der Soft-Fork zu signalisieren, kann es zu einer Kettengabelung kommen. Nicht-Mining-Knoten würden sehr langsame Blockgenerierungszeiten sehen und der Transaktionsrückstand könnte wachsen. Mining-Knoten würden Blöcke und darin enthaltene Bitcoins produzieren, die von Börsen und Benutzern nicht als gültig anerkannt werden, wodurch ihre abgebauten Bitcoins wertlos werden, wenn sie nicht aktualisiert werden.

Diese Situation würde zu einer Pattsituation zwischen wirtschaftlichen Interessengruppen und Bergleuten führen. Je länger die Pattsituation bei aktualisierten Knoten andauert, desto mehr Transaktionen bauen sich im Backlog auf, ohne dass Miner sie abbauen. Für Miner bedeutet ein Chain-Split, dass sie Bitcoins erstellen, die von Börsen und Benutzern nicht als Zahlungsmittel akzeptiert werden, was im Wesentlichen Geldverlust bedeutet. Es ist unbestimmt, welche Gruppe zuerst nachgeben und die Kette der anderen unterstützen würde, nur um den Konsens wiederherzustellen und den Transaktionsstau zu beseitigen. Benutzer und Börsen kommen aufgrund der normalen Varianz bereits mit niedrigem Transaktionsdurchsatz und hohen Blocklösungszeiten zurecht, während Miner derzeit fast 100 % ihrer Blöcke vom Netzwerk akzeptiert werden. Ich vermute also, dass die Bergleute die ersten sein würden, die nachgeben und anfangen würden, Unterstützung für die Soft-Fork zu signalisieren, die sie nicht mögen.

Ein Miner kann jedoch einen Block produzieren, der Unterstützung für eine Soft-Fork signalisiert, ohne die neuen Regeln, die durch die Soft-Fork auferlegt werden, tatsächlich durchzusetzen. Dies kann den fehlenden Konsens vorübergehend kaschieren, solange die produzierten Blöcke alle Regeln der neuen Soft-Fork befolgen. Sobald ein Block produziert wird, der die neuen Soft-Fork-Regeln nicht erfüllt, aber nach den alten Pre-Soft-Fork-Regeln noch gültig ist, würde es zu einem Chain Split mit der gleichen Stand-Off-Dynamik kommen, die zuvor erwähnt wurde.

UASFs verlassen sich auch darauf, einen großen Teil des Netzwerks, insbesondere große Wirtschaftsakteure wie Börsen, zur Aufrüstung zu bewegen. Wenn dies nicht geschieht und die Bergleute nicht selbst beginnen, Unterstützung für die neue Soft-Fork zu signalisieren, riskiert die Minderheit der Knoten, die ein Upgrade durchgeführt haben, eine Gabelung auf ihre eigene Kette ohne Bergleute darauf. Dies kann zu Ausfällen einiger Bitcoin-Dienste führen, aber da die Masse der Nodes und Miner die wachsende Kette unterstützt, gäbe es zumindest einen Konsens darüber, welche Kette gültig ist. Aktualisierte Benutzer müssten ihre Software herabstufen, um zum Konsens mit der Hauptkette zurückzukehren. In diesem Fall schlägt die UASF fehl.


Aber wer entscheidet, ob ein Soft-Fork genug Konsens hat, um eine obligatorische Aktivierungszeit zu rechtfertigen? Shaolinfry hat folgendes zu diesem Thema zu sagen:

In meinem Text wird implizit davon ausgegangen, dass die Entscheidung, einen Soft Fork einzusetzen (unabhängig von der Aktivierungsmethode), auf einer vernünftigen Erwartung basiert, dass Benutzer die neue Funktion nutzen werden. Die Hashrate-Signalisierung ist keine Abstimmung, sondern ein Koordinationsauslöser. Soft Forks sind abwärtskompatibel und Opt-in; Solange sie gut geschrieben und frei von Fehlern sind, sollten Benutzer ihnen gegenüber im schlimmsten Fall agnostisch sein, da sie die Wahl haben, ob sie die neue Funktion sicher verwenden oder nicht, ohne andere daran zu hindern, sich an der Funktion zu erfreuen. Eine umstrittene oder unvernünftige Soft Fork würde nicht an Boden gewinnen und ich glaube, es wäre ziemlich selbstverständlich. [ Quelle ]

UASFs könnten also verwendet werden, um zu versuchen, umstrittene oder potenziell schädliche Updates zu erzwingen, aber das Erzwingen der UASF-Aktivierungszeit würde ein Upgrade des Großteils des Netzwerks erfordern, sodass dies als relativ kleiner Risikofaktor angesehen werden kann.


Kurz gesagt, UASFs sind riskanter, können aber als notwendig erachtet werden, wenn Bergleute sich weigern, Soft-Forks zu unterstützen, die die Unterstützung der wirtschaftlichen Mehrheit haben.

Insgesamt gute Antwort. Ich glaube nicht, dass eine UASF für Miner mit einer Hard Fork vergleichbar ist. Ein Hard-Fork ist eine Lockerung des Regelsatzes, während ein Soft-Fork eine Verschärfung des Regelsatzes darstellt - dies gilt auch in Fällen wie dem UASF-Flaggentag, der zu einer Aufspaltung führen kann.
Es ist vielleicht keine Hard-Fork im technischsten Sinne, aber es ist eine nicht abwärtskompatible Änderung, bei der alle Miner ihre Software aktualisieren müssen, sonst kommt es zu einem Chain-Split, was ziemlich ähnlich ist.
Es ist abwärtskompatibel für alle Nicht-Mining-Knoten, die sich gegen ein Upgrade entscheiden.

Ich würde (in eckigen Klammern) die obige Antwort von StephenM wie folgt verfeinern:

„Für [UASF] aktualisierte Nodes gilt: Je länger die Pattsituation andauert, desto mehr Transaktionen sammeln sich im Backlog an, ohne dass Miner sie abbauen.

Für Miner bedeutet ein Chain-Split, dass sie Bitcoins erstellen, die ausgetauscht und von Benutzern [NUR AUF AKTUALISIERTEN KNOTEN] nicht als Zahlung akzeptiert werden, was im Wesentlichen Geldverlust bedeutet. Es ist unbestimmt, welche Gruppe zuerst nachgeben und die Kette der anderen unterstützen würde, nur um den Konsens wiederherzustellen und den Transaktionsstau aufzulösen."