Von privaten Swaps zu dauerhaften Positionen

Shadow Accounts erweitern den STRK20-Rollout, über den The Defiant im Juni berichtete. Diese erste Phase brachte abgeschirmte Token-Guthaben, private Transfers und Swaps auf Starknet, ein Ethereum-Layer-2. STRK20 stellt Token, die in seinen Privacy Pool eingezahlt wurden, als verschlüsselte Notizen dar. Zero-Knowledge-Proofs validieren dabei private Transaktionen.

Der Unterschied besteht darin, dass eine DeFi-Position dauerhaft einem Eigentümer zugeordnet ist. Bei der bisherigen Lösung mit einem Hilfsvertrag wird eine gemeinsame Adresse verwendet, um einen Vorgang abzuschließen und dessen Erlöse innerhalb einer Transaktion zurückzugeben. Ein Shadow Account gibt dem Protokoll stattdessen einen stabilen pseudonymen Aufrufer, der über mehrere Transaktionen hinweg Guthaben und Positionen halten kann, wie aus dem starknet.js-Leitfaden hervorgeht.

Apps übermitteln gewöhnliche Vertragsaufrufe über `shadow_account_invoke`. Die Wallet verwaltet den privaten Zustand, die Erzeugung von Proofs und die Übermittlung von Transaktionen; die App erhält nicht den Viewing Key des Nutzers. Der Shadow Account selbst verfügt über keine Signaturschlüssel und kann nur über den ShadowAccountAnonymizer-Vertrag betrieben werden.

Dadurch entfällt der Offenlegungsmechanismus von STRK20 nicht. In der Dokumentation zu Viewing Keys heißt es, dass ein Prüfer, der im Rahmen eines rechtmäßigen Verfahrens handelt, den verschlüsselten Viewing Key eines Nutzers wiederherstellen und dessen Verlauf entschlüsseln kann.

Die Wallet-Unterstützung ist weiterhin wichtig

Entwickler können das veröffentlichte starknet.js 10.8.0 verwenden, das Wallet API 0.10.4 enthält, benötigen aber weiterhin eine verbundene Wallet, die die Shadow-spezifischen Methoden unterstützt. Der Integrationsleitfaden empfiehlt die stabile Version 10.8.0.

Ready und Xverse unterstützen laut starknet.js-Leitfaden die umfassendere STRK20-Wallet-API, aber in der Einführungsdokumentation ist nicht angegeben, welche Versionen Shadow Accounts unterstützen. Die Wallet-API-Dokumentation weist Entwickler an, die Wallet-Funktionen zu erkennen, bevor sie eine Aktion anbieten.