NachrichtenKryptoZcash-Upgrade sperrt Sprout-Münzen bei Block 3.543.405 – selbst mit den richtigen Schlüsseln

Zcash-Upgrade sperrt Sprout-Münzen bei Block 3.543.405 – selbst mit den richtigen Schlüsseln

Autor: Coindoo·

Wichtige Erkenntnisse

  • •Die Aktivierung des NU7-Upgrades bei Block 3.543.405 beendet das Ausgeben aus Sprout, da keines der danach gültigen Transaktionsformate – Version 5 und Version 6 – den Pool unterstützt.
  • •Sprout-Inhaber sind auf Drittanbieter-Wiederherstellungstools wie die von Sovright entwickelte App Argos angewiesen, da das eingestellte zcashd die letzte gepflegte Software war, die Sprout-Transaktionen erstellen konnte.
  • •Die Wiederherstellungsgeschwindigkeit hängt vom Backup ab: Wallet-Dateien mit ausgebaren Note-Daten lassen sich in Sekunden sweeplen, während bloße Schlüssel Ketten-Scans von rund 26 GB erfordern, die Stunden dauern.
  • •Zurückgebliebene Sprout-Mittel werden nicht verbrannt und bleiben innerhalb der ausgegebenen Zcash-Gesamtmenge; ZIP 2003 stellt fest, dass Sprout-Ausgaben möglicherweise nie zurückkehren.
  • •Die Bestätigung einer Sprout-Übertragung sollte von NU7-fähiger Node-Software wie Zebra 7.0.0 stammen, da veraltete Nodes online bleiben und einer Pre-NU7-Kette folgen können.
Zcash-Upgrade sperrt Sprout-Münzen bei Block 3.543.405 – selbst mit den richtigen Schlüsseln

Rund 12.226 ZEC befanden sich am Donnerstagmorgen noch im Sprout-Shielded-Pool von Zcash, nach etwa 22.263 eine Woche zuvor, laut ZecStats-Zahlen, auf die CoinDesks Bericht verweist. Der Großteil dieses Abflusses geschah am Sonntag, als etwa 9.094 ZEC den Pool verließen. Beim von CoinDesk verwendeten Preis von 1.300 US-Dollar pro Münze sind die verbliebenen Bestände rund 16 Millionen US-Dollar wert.

Die Frist ist Block 3.543.405 – die auf Mainnet in ZIP 259, der Bereitstellungsspezifikation für das NU7-Netzwerk-Upgrade, festgelegte Aktivierungshöhe, die auch in der Veröffentlichungsmitteilung der Zcash Foundation zu Zebra 7.0.0 genannt wird. CoinDesk berichtete, Blockchair zeigte die Kette am Donnerstag um 05:24 UTC bei Block 3.542.391, was beim aktuellen 75-Sekunden-Blockziel die Aktivierung nahe 02:30 UTC am Freitag bedeutete. Miner bestimmen das tatsächliche Tempo, sodass diese Schätzung in beide Richtungen abweichen kann. Der Zeitpunkt ist daher eine Konsens-Gültigkeitsgrenze und keine garantierte Servicefrist: Ausschlaggebend ist das Mining des Blocks, während Wallets und Verwahrstellen eigene betriebliche Fristen ansetzen können.

Zwei Fehler, die in einer Wallet gleich aussehen

Die Regel hinter der Frist reicht über Sprout hinaus. ZIP 2003 verbietet jede Transaktion der Version 4 ab NU7, und ZIP 259 stellt klar, dass dies auch transparente und Sapling-Zahlungen umfasst. Sprout wird erfasst, weil keines der verbleibenden Formate es unterstützt: Version 5, eingeführt mit NU5, und Version 6, eingeführt mit NU6.3.

Eine Wallet, die sich weigert zu senden, kann daher vor einem von zwei Problemen stehen – und nur eines davon überlebt die Aktivierung:

Münzen noch in Sprout. Was bricht: das einzige Transaktionsformat, das sie ausgeben kann, wird ungültig. Nach dem Block: kein unterstütztes Ersatzformat vorhanden. Das Fenster schließt bei Block 3.543.405.

Transparente oder Sapling-ZEC in einer veralteten Wallet. Was bricht: die Software erstellt Zahlungen der Version 4, die das Netzwerk zurückweist. Nach dem Block: Der Bestand bleibt ausgebbar, und Software, die Version 5 oder 6 erstellt, kann die Zahlung neu anlegen – ein erneutes Signieren der alten funktioniert nicht. Das Fenster bleibt mit aktualisierter Software offen.

Im Voraus vorbereitete Zahlungen erfordern eine eigene Prüfung. ZIP 259 warnt, dass auch Transaktionen der Version 5 und 6 über die Aktivierung hinweg nicht automatisch gültig sind, da ihre Signaturen an eine Konsens-Branch-ID gebunden sind. Eine vor dem Upgrade gespeicherte oder offline signierte Zahlung kann scheitern, wenn sie in einen Block nach der Frist gelangt – unabhängig vom Format.

Custodial-Bestände liegen bei der haltenden Plattform. Die Mitteilung der Zcash Foundation richtet die Versions-4-Regel direkt an Wallets, Börsen und andere Dienste, die Transaktionen im Namen ihrer Nutzer erstellen.

Das Wiederherstellungsmaterial bestimmt das Tempo

Für Sprout-Inhaber ist die größere Schwierigkeit, Software zu finden, die die Übertragung noch erstellen kann. ZIP 2003 weist darauf hin, dass die Einstellung von zcashd, kurz vor NU6.3, die einzige gepflegte Software mit Sprout-Wallet-Funktionalität entfernt hat. Die Konsensregeln akzeptieren Sprout-Ausgaben bis zur Aktivierung, doch Inhaber bleiben auf Drittanbieter-Wiederherstellungstools angewiesen.

Zuerst müssen die Münzen identifiziert werden. Die Adressdokumentation von Zcash führt Sprout-Shielded-Adressen mit dem Präfix zc und Sapling-Adressen mit zs. Das Präfix zeigt, zu welchem Pool eine Adresse gehört – nicht, ob dort noch ein Bestand liegt.

Das Backup entscheidet mehr als die Adresse. Zcashs Backup-Anleitung behandelt veraltete Shielded-Schlüssel getrennt vom Seed hinter Sapling-Adressen. Der Entwickler der Wiederherstellungs-App Argos ergänzt in seiner Dokumentation zwei Details: Ein ZecWallet-Lite-Seed kann die Sprout-Schlüssel, die diese Wallet unabhängig erzeugt hat, nicht rekonstruieren, und eine zcashd-wallet.dat besitzt keinen Master-Seed, da ihre Schlüssel einzeln gespeichert werden – nur die im File enthaltenen Schlüssel lassen sich daraus wiederherstellen.

Was das Backup enthält, bestimmt auch die Dauer der Rettung. Laut den Release-Hinweisen zu Argos 1.2.0 kann eine Wallet-Datei, die bereits ausgebare Sprout-Note-Daten speichert, ohne Scan in Sekunden gesweept werden. Schlüssel ohne diese Note-Daten, etwa eigenständige Spending Keys oder ohne Rescan in zcashd importierte Schlüssel, erfordern einen Scan, der versucht, jede Shielded-Transaktion in der Kettengeschichte zu entschlüsseln, da kein Index für Sprout-Adressen existiert. Die Website des Entwicklers beziffert einen Bare-Key-Sprout-Scan auf dem Mainnet mit rund 26 GB Datentransfer und warnt, dass Scans Stunden dauern. Bei einer in Stunden gemessenen Frist kann dieser Unterschied entscheiden, ob eine Übertragung überhaupt möglich ist.

Auch das Ziel ist festgelegt. Sprout-Wert kann nur in den Sapling-Pool bewegt werden, daher verlangen die Release-Hinweise eine zs1-Adresse oder eine Unified Address mit Sapling-Receiver. Die Weiterführung der Mittel zu Orchard ist eine separate Transaktion, die der Inhaber danach vornimmt.

Prüfung eines Rettungstools unter Zeitdruck

Argos ist eine Desktop-App von Sovright, entwickelt, nachdem ZecWallet Lite nicht mehr gepflegt wurde. Die Website des Entwicklers sagt, die App sei von Least Authority unabhängig geprüft worden, verarbeite Seeds und Schlüssel lokal und verbinde sich nur zum Lesen öffentlicher Blockdaten und zum Senden des finalen Sweeps mit dem Internet. Für große Bestände empfiehlt der Entwickler einen fabrikneuen Computer, da ein Werksreset Firmware-Schadsoftware auf einem lange genutzten Gerät nicht entfernt.

Vor dem Sweep:

  • Der Download. macOS- und Windows-Builds sind code-signiert. Jedes GitHub-Release enthält eine SHA256SUMS-Datei und eine Build-Attestierung, prüfbar mit gh attestation verify <file> --repo sovright/argos.
  • Die Aufteilung. Die Sweep-Prüfung enthält eine optionale Spende an Sovright mit Standardwert 10 %. Beide Beträge erscheinen vor der Bestätigung – den Wert also bewusst setzen.
  • Der Kanal. Der Entwickler sagt, sein Support werde nie nach einem Seed, Wallet-File, Passwort-Satz oder Schlüssel fragen. Eine solche Anfrage auf jeder Plattform ist ein Betrugsversuch.

Sobald ein Sweep bestätigt ist, rät der Entwickler, das alte Wiederherstellungsmaterial auszumustern, da Schadsoftware auf dem Wiederherstellungsgerät es möglicherweise erfasst hat. Die ursprüngliche Wallet-Datei sollte aufbewahrt werden, bis jeder von ihr abgedeckte Pool geleert ist.

Nur ein aktualisierter Node kann die Übertragung bestätigen

Eine signierte, gesendete Sprout-Übertragung zählt erst, wenn sie in einen Block vor der Aktivierungshöhe aufgenommen wird. Auch wo die Bestätigung abgelesen wird, ist entscheidend. ZIP 259 verzichtet auf die übliche Anforderung, dass alte Node-Software vor einem Upgrade abläuft, und warnt, dass nicht unterstützte Nodes online bleiben und einem Pre-NU7-Zweig folgen können. Die Mitteilung der Zcash Foundation sagt, Nodes ohne Upgrade würden einer anderen Kette folgen. Ein Inhaber, der einen veralteten Node prüft, könnte eine Übertragung sehen, die das aktualisierte Netzwerk nicht erkennt – die Bestätigung sollte daher von NU7-fähiger Software wie Zebra 7.0.0 stammen, dem ersten stabilen Zebra-Release mit NU7-Mainnet-Unterstützung.

Der Ausstieg ist zudem öffentlich. Der Datenschutzbereich von ZIP 2003 weist darauf hin, dass aus Sprout abfließender Wert den sichtbaren Pool-Saldo verändert und eine kurze Ausstiegsphase Timing und markante Beträge leichter bestimmten Inhabern zuordenbar macht. Mit nur etwa 40 ZEC Bewegung am Mittwoch hat ein späterer Abzug kaum umgebenden Verkehr, in dem er sich verbergen könnte.

Die zurückgebliebenen Münzen bleiben in den Büchern

ZIP 2003, verfasst von Daira-Emma Hopwood, zieht Sprout-Mittel nicht zurück und verbrennt sie nicht. Der Pool-Saldo bei Aktivierung bleibt innerhalb der ausgegebenen Zcash-Gesamtmenge, auch für die Berechnungen des Network Sustainability Mechanism in ZIP 237. Zcashs Mengenrechnung zählt also weiterhin Münzen mit, die sich derzeit nicht bewegen lassen.

Der Vorschlag lässt eine theoretische Rückkehr offen – entweder durch erneute Zulassung von Transaktionen der Version 4 oder durch eine weitere Rückhol-Einrichtung, sollte die Community dies für sinnvoll halten. Er stellt aber auch fest, dass Sprout-Ausgaben möglicherweise nie zurückkehren.

Die Begründung für die Akzeptanz dieser Kosten stützt sich auf die Node-Sicherheit. ZIP 2003 weist darauf hin, dass Sprout seit dem Sapling-Upgrade Saplings Groth16-Beweissystem und die BLS12-381-Kurven teilt. Sein JoinSplit-Schaltkreis und seine Handhabung von Nullifiern und Note-Commitments belasten weiterhin den Code, der neue Transaktionen annimmt, auch als Denial-of-Service-Angriffsfläche. Da Sprout kaum noch genutzt wird, haben Node-Implementierungen wenig Grund, diesen Pfad zu optimieren. Wie der Umfang des Upgrades festgelegt wurde, ist in Coindoos Bericht über die NU7-Abstimmung der Münzhalter beschrieben.

Die Kosten treffen eine kleine Gruppe: Inhaber, deren Sprout-Schlüssel in unverprüften oder verlorenen Backups liegen. Der öffentliche Pool-Saldo kann die beiden Fälle nicht unterscheiden. Die Zahl, die die Geschichte abschließt, ist der Sprout-Pool-Wert in den ZecStats-Daten, sobald Block 3.543.405 gemined ist – sie zeigt, wie viel ZEC das Upgrade zurückgelassen hat. Ein späteres ZIP mit einer Rückhol-Einrichtung wäre das einzige Zeichen, dass der Zugriff zurückkehren könnte.

Quelle: Coindoo