Wie implementiert Bitcoin Cash den Wiederholungsschutz?

Bitcoin Cash sagt, dass sie einen Wiederholungsschutz für ihren Fork bieten. Wie funktioniert dieser Replay-Schutz?

Antworten (1)

Bitcoin Cash (alias Bitcoin ABC, auch bekannt als UAHF) bietet zwei Methoden des Wiederholungsschutzes, die beide optional sind. Wenn Sie keine Transaktionen erstellen, die diese Funktionen verwenden, sind Ihre Transaktionen anfällig für Wiederholungen.

Das erste Verfahren ist ein neu definierter Sighashing-Algorithmus , der grundsätzlich derselbe ist wie der durch BIP 143 spezifizierte. Dieser Sighashing-Algorithmus wird nur verwendet, wenn das Sighashing-Flag Bit 6 gesetzt hat. Diese Transaktionen wären in der Nicht-UAHF-Kette ungültig, da der andere Sighashing-Algorithmus zu ungültigen Transaktionen führt. Dies bedeutet, dass Sie, um dies zu verwenden, zuerst Transaktionen auf der UAHF-Kette und dann auf der Nicht-UAHF-Kette als zweites tätigen müssen.

Die zweite Methode verwendet eine OP_RETURN-Ausgabe, die die exakte Zeichenfolge enthält:

Bitcoin: A Peer-to-Peer Electronic Cash System

als die Daten des OP_RETURN. Jede Transaktion, die diese Zeichenfolge enthält, wird von UAHF-Knoten bis Block 530.000 als ungültig betrachtet. Das bedeutet, dass Sie vor Block 530.000 Ihre Münzen aufteilen können, indem Sie zuerst mit dem OP_RETURN-Ausgang Transaktionen auf der Nicht-UAHF-Kette durchführen und dann als zweites Transaktionen auf der UAHF-Kette durchführen.

Update: Die Bitcoin Cash-Spezifikation erfordert jetzt, dass alle Transaktionen den neu definierten Sighashing-Algorithmus verwenden, wie für die erste Methode erklärt. Dies bedeutet, dass es jetzt einen Zwei-Wege-Transaktionswiedergabeschutz gibt; Transaktionen, die auf der Bitcoin-ABC-Kette getätigt werden, sind auf der Nicht-ABC-Kette ungültig und umgekehrt.

2 Fragen: Bedeutet der UPDATE -Teil Ihrer Antwort, dass der Wiedergabeschutz nicht mehr aktiviert ist? und zweitens: Sie scheinen sehr theoretisch zu sprechen (in Bezug auf die Spezifikation), aber respektieren die Implementierungen ab sofort diese Spezifikation?
1. Der Replay-Schutz ist jetzt obligatorisch und wird von BCC-Wallets und -Knoten durchgesetzt. 2. BCC-Wallets haben all dies wahrscheinlich jetzt implementiert, seit sie sich vom Bitcoin-Netzwerk abgespalten haben. Als dies geschrieben wurde, waren viele BCC-Geldbörsen weder vollständig noch ihre Spezifikation vollständig.
Mit anderen Worten, der Wiedergabeschutz ist kein Opt-in mehr, oder?
Ja, der Wiedergabeschutz ist kein Opt-in. Obwohl sie das OP_RETURN-Ding aus irgendeinem Grund immer noch behalten haben.
Ok, zwei weitere Fragen: Nach dieser Logik ist es auch kein Opt-out, oder? Und last but not least: gilt die magische Zahl 530.000 noch? AFAIU, der erste exklusive (oder divergierende, sagen wir) Block von BitCash ist 478.559, müssen wir also warten, bis wir diesen automatischen Wiederholungsschutz verwenden?
Nein, es ist auch kein Opt-out. Der Replay-Schutz mit dem Seufzer-Ding ist Pflicht. Die Wartezeit von 530.000 Blöcken steht in keinem Zusammenhang mit diesem obligatorischen Wiedergabeschutz. Das galt nur für das Opt-in mit OP_RETURN
@AndrewChow Nur die Bestätigung von "Obligatorisch" impliziert, dass das Protokoll diese ablehnen wird, oder ist es nur eine "Empfehlung"? Manchmal werden die beiden Begriffe in Spezifikationen gemischt.
Es ist zwingend erforderlich, dass jede Transaktion, die den neu definierten Sighashing-Algorithmus nicht verwendet, als ungültig betrachtet und abgelehnt wird. Alle Transaktionen müssen diesen Sighashing-Algorithmus verwenden.