Ich bewahre eine alte Kassenzettelrolle aus dem Laden meines Vaters in Sialkot auf. Jeder Eintrag liegt sauber übereinander, einer nach dem anderen, und es wird nichts je gelöscht, sobald es gedruckt ist. So sah das Bild für UTXO-Systeme aus: Notizen stapeln sich chronologisch, und sie bleiben einfach dort. Das Lesen von Phoenix hat diese Annahme ein Stück weit verändert.

Phoenix nutzt zwar eine UTXO-Struktur, nennt sie aber Notizen. Diese sind in einem Merkle-Baum gespeichert, statt in einem flachen Ledger. Wenn du eine Notiz ausgibst, löschst du sie nicht—du erzeugst stattdessen einen Nullifier. Das ist ein Wert, der aus dem geheimen Schlüssel der Notiz abgeleitet wird und beweist, dass sie ausgegeben wurde, ohne offenzulegen, welche Notiz in dem gesamten Baum es war. Das Netzwerk verfolgt lediglich die Liste der verwendeten Nullifier. Die Notizen bleiben physisch für immer im Baum erhalten und werden mit jeder Transaktion größer—egal, ob sie ausgegeben wurde oder nicht.

Dieser Punkt ist es, der meine Sicht darauf tatsächlich neu gerahmt hat. Die Privatsphäre entsteht nicht dadurch, dass Transaktionen off-chain versteckt werden, sondern dadurch, dass jede Notiz nach Auftauchen eines Nullifiers für jede andere unbenutzte Notiz ununterscheidbar wird. Niemand, einschließlich Validatoren, kann auf den Baum zeigen und sagen, welches konkrete Blatt gerade ausgegeben wurde. Eigentum und Saldo werden vollständig durch einen Zero-Knowledge-Beweis nachgewiesen. Das Netzwerk verifiziert also Mathematik, statt sichtbare Beträge zu prüfen.

Was das Whitepaper mir nicht sagt, ist, wie sich die Größe des Baums auf die Zeit zur Erzeugung von Beweisen auswirkt, wenn die Anzahl der Notizen über Jahre von Mainnet-Aktivität wächst. Das ist eine echte Skalierungsfrage, die ich anhand des Quellenmaterials nicht beantworten kann.

Der eigentliche Test für DUSK ist, ob Phoenix schnell bleibt, sobald der Notizenbaum wirklich groß wird.

Weiß jemand, wie groß der Phoenix-Notizenbaum aktuell im Dusk-Mainnet ist?
@Dusk #dusk $DUSK