Warum Beweise?
Ein Indexer scannt die Blockchain ZCash und erstellt ein Namensregister. Aber warum sollte jemand darauf vertrauen? Was wäre, wenn es:
- Erstellt eine Registrierung, die nie in der Kette stattgefunden hat?
- Erhebt die falsche Gebühr?
- Einen Namen zweimal registrieren?
- Manipulationen am Registrierungsstatus?
ZK-Beweise beseitigen diese Fragen. Jeder Nachweis ist ein kryptografisches Zertifikat, das belegt, dass die Registrierung korrekt durchgeführt wurde. Jeder kann den Beweis unabhängig überprüfen.
Was jeder Beweis bestätigt
Der ZCash Prover verwendet SP1 – eine virtuelle RISC-V-Zero-Knowledge-Maschine. Für jede Transaktion mit der Domäne führt der Prüfer die folgenden Prüfungen innerhalb der zkVM durch:
- Namensgültigkeit – 1-64 Zeichen, Kleinbuchstaben alphanumerisch + Bindestriche
- Ausreichende Gebühr – die Transaktion hat ausreichend ZEC für die Namenslänge bezahlt
- Integrität des Protokollbefehls – alle Bedingungen des Protokolls sind erfüllt
- Ed25519-Signatur – die Signatur über
memo commandist gültig - Merkle-Baumeinfügung – der Name existierte noch nicht und der neue Statusstamm ist korrekt
Wenn eine Prüfung fehlschlägt, kann der Nachweis nicht erstellt werden.
Öffentliche Ausgaben
Jeder Beweis legt drei Werte fest, die dauerhaft an ihn gebunden sind:
| Ausgabe | Beschreibung |
|---|---|
old_root | Merkle-Baumwurzel vor dieser Registrierung |
new_root | Merkle-Baumwurzel nach dieser Registrierung |
end_block_height | Der neueste ZCash-Block des Registrierungsbatches |
Die block_height heften den Beweis an einen bestimmten ZCash-Block (wie einen Prüfpunkt). Jeder kann Transaktionen auf einem ZCash-Knoten nachschlagen und die Übereinstimmung von Memo und Wert bestätigen.