Wer fremde Reserven bezahlt, kann nicht immer einfach gehen
Dass ein Konto Gebühren und Reserven eines anderen bezahlt, klingt nach einer Komfortfunktion. Ein Bericht zu einer Schwachstelle, den die Entwickler des XRP Ledger am 21. September veröffentlicht haben, zeigt, dass es auch ein Entwurfsproblem ohne perfekte Lösung ist.
Die Funktion heißt XLS-68, Sponsored Fees and Reserves, und kommt mit dem Amendment Sponsor, das im Mainnet nicht aktiv ist. Sie erlaubt einem Sponsor, die XRP-Reserve zu übernehmen, die jedes Ledger-Objekt - eine Trustline, ein Angebot, ein Token-Bestand - normalerweise verlangt, sodass Endnutzer ohne eigene XRP handeln können. Der Bericht nennt Kris Dangerfield und Andrew Spencer, die beim Testen im Devnet fanden, dass ein Sponsor die Übernahme für ein Objekt beenden konnte, ohne dass geprüft wurde, ob der Eigentümer die Reserve decken kann. Die Reserve verschwand, das Objekt blieb, und das Kapital des Sponsors kam zur Wiederverwendung zurück. Im Test entstanden so 30 dauerhafte, ungedeckte Objekte für je etwa 20 Drops. Gelder waren nicht in Gefahr, die Korrektur kam mit xrpld 3.4.0 am 17. September.

Das Trilemma
Der Bericht nennt die zugrunde liegende Spannung das "Reserve Exit Trilemma". Drei Eigenschaften sind wünschenswert: Jede Seite kann eine Übernahme jederzeit beenden; die Reserve jedes Ledger-Objekts ist immer von jemandem gedeckt; und gesponserte Nutzer kommen ohne XRP aus. Alle drei zugleich gibt es nicht. Kann der Sponsor frei gehen und besitzt der Nutzer nichts, existiert für einen Moment ein Objekt ohne Reserve - genau das nutzte der Fehler aus.
Die Entwickler haben den freien Ausstieg aufgegeben. Ein Sponsor kann die Reservenübernahme jetzt nur beenden, wenn der Nutzer die Reserve selbst deckt, ein anderer Sponsor die Pflicht übernimmt oder das Objekt beziehungsweise Konto gelöscht wird. Die Entscheidung stimmten sie mit ersten Kunden und Pilotprojekten ab und stellten fest, dass Stellars CAP-33, dessen Entwurf für gesponserte Reserven, eine gleichwertige Einschränkung vorsieht.
Warum das über einen Ledger hinaus zählt
Reserven gibt es, damit Zustand etwas kostet und niemand einen Ledger gratis mit Objekten füllen kann. Jeder Mechanismus, bei dem Dritte diese Kosten tragen, muss entscheiden, wer sie trägt, wenn der Dritte geht - und "niemand" öffnet wieder den Angriff, den Reserven verhindern sollten. Die ehrliche Antwort ist eine Bindung: Ein Sponsor bleibt verpflichtet, bis jemand anderes das Objekt tragen kann.
Für Institutionen, die auf Sponsoring bauen - der Bericht merkt an, dass regulierte Unternehmen oft keine Kryptowerte direkt halten dürfen -, ist diese Bindung eine echte Vertragsbedingung, kein Randfall. Sie gehört eingepreist und in die Vereinbarungen mit den gesponserten Nutzern geschrieben. Die Entwickler wollen später womöglich Mechanismen prüfen, die die Bindung lockern, etwa Karenzzeiten oder Reserve-Versicherungspools, ohne Zeitplan; bis dahin heißt Sponsern: Bleiben.