Coin Brief ENDE

SIMD-0567 soll Kosten von Solanas Token-Account-Programm um 81 % senken

Das Repository der Solana Improvement Documents hat am 1. November SIMD-0567 aufgenommen, „p-ATA: CU-optimized ATA Program“. Der Status lautet Review, ein Feature zur Aktivierung ist noch nicht vergeben. Die Autoren von Anza und Ergonia schlagen vor, das Associated-Token-Account-Programm unter seiner bisherigen Adresse ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL durch eine Pinocchio-Implementierung zu ersetzen: ohne Standardbibliothek, ohne Heap-Allokation, mit Zero-Copy-Parsing von Instruktionen und Konten und minimalen Abhängigkeiten.

Begründet wird das mit der Häufigkeit. In einer geschichteten Stichprobe von 30.000 Mainnet-Blöcken kommt das ATA-Programm in 11,85 Prozent aller Transaktionen vor, in 31,3 Prozent der Nicht-Vote-Transaktionen, und verursacht 13,28 Prozent des gesamten Verbrauchs an Compute Units. Der Vorschlag misst eine nach Häufigkeit gewichtete Senkung von 81 Prozent je Instruktion: Der häufigste Fall, das idempotente Anlegen eines neuen SPL-Token-Kontos, sinkt von 22.940 auf 4.171 CU, ein idempotenter Aufruf auf ein bestehendes Konto von 3.710 auf 530. Gemessen am Anteil des Programms erwarten die Autoren netzweit rund 10 bis 11 Prozent weniger CU. Als Vorbild nennen sie p-token, das den CU-Verbrauch des Token-Programms um 93 Prozent senkte.

Der Ersatz behält Diskriminatoren, Konten, Signer-Status, Adress- und Bump-Ableitung sowie Fehlercodes bei. Neu ist eine Instruktion, CreateWithArgs, mit sieben Byte Nutzlast, in der Aufrufer Bump, Kontolänge und Rent-Sysvar als Hinweise mitgeben können; laut eigener Tabelle helfen diese Hinweise in den meisten Fällen, kosten aber bei manchen Token-2022-Anlagen etwas mehr.

SIMD-0567 soll Kosten von Solanas Token-Account-Programm um 81 % senken
SIMD-0567 soll Kosten von Solanas Token-Account-Programm um 81 % senken — Coin Brief

Was das bedeutet

Wie bei p-token wird Kapazität frei, ohne dass jemand seinen Code ändern muss: Wallets und Programme, die das ATA-Programm aufrufen, funktionieren weiter, und Blöcke gewinnen Platz zurück. Offen sind die im Status genannte Prüfung und das Feature-Gate, das den Ersatz einschalten würde.

Geschrieben von Victoria Shinder.