Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Jedes Raydium-Programm hat mindestens eine privilegierte Rolle — einen Schlüssel, der das Programm aktualisieren, neue Konfigurationen erstellen oder Protokollgebühren abheben kann. Die Minimierung dessen, was diese Rollen tun können (und deren Absicherung hinter Multisigs mit Verzögerungen), ist die primäre Verteidigung gegen einen kompromittierten Admin. Diese Seite katalogisiert die Rollen und wie sie in der Praxis gesichert sind.

Rollen nach Programm

AMM v4

CPMM

Die Erfassung von Creator-Gebühren führt keine privilegierte Rolle ein. CollectCreatorFeePermissionless akzeptiert jeden Zahler, beschränkt den Empfänger-Besitzer auf PoolState.pool_creator und beschränkt beide Ziele auf die kanonischen ATAs dieses Erstellers. Ein Aufrufer kann fehlende ATAs finanzieren und die Erfassung auslösen, kann aber die Gebühren nicht umleiten.

CLMM

Das Erstellen zusätzlicher Pools für ein Paar unter einer seed_index-abgeleiteten Adresse (CreateCustomizablePoolV2) erfordert keine Rolle. Vor dem Upgrade 2026-10-22 war eine Permission PDA erforderlich, die von einem dedizierten permission_pda_admin-Schlüssel ausgestellt wurde; diese Rolle, das Permission-Konto und seine zwei Admin-Anweisungen wurden entfernt. Der limit_order_admin ist eine bewusst enge operative Rolle. Sie existiert, damit ein Off-Chain-Keeper gefüllte Orders sammeln kann, ohne dass der Besitzer der Order online sein muss. Der Keeper-Schlüssel ist heiß (lebt auf der Keeper-VM) und wird unabhängig von den obigen Multisigs rotiert. Konkret ist die Keeper-Autorität begrenzt auf:
  • SettleLimitOrder — die gefüllte Ausgabe einer Order zum Besitzer’s ATA zum Limit-Preis der Order pushen.
  • CloseLimitOrder — ein vollständig abgewickeltes Order-Konto schließen, um Miete zurückzufordern (Miete geht an den Order-Besitzer).
Sie kann OpenLimitOrder, IncreaseLimitOrder, DecreaseLimitOrder nicht aufrufen, kein Pool-Feld mutieren oder für eine andere Anweisung signieren — diese Überprüfungen werden on-chain durch die Seed- und has_one-Constraints in der Accounts-Struktur der Anweisung erzwungen. Ein kompromittierter Keeper kann im schlimmsten Fall nicht verfügbar sein (Orders bleiben geparkt, bis der Besitzer sie selbst abwickelt) oder legitim füllbare Orders außer der Reihe abwickeln/schließen; er kann Benutzergelder nicht wohin verschieben, als wohin der Besitzer sie bereits autorisiert hat.

Farm v6

Einzelne Farms haben keinen Protokoll-Admin — jede Farm wird nur von ihrem Ersteller kontrolliert, und die Befugnisse des Erstellers sind begrenzt (können Benutzer-Stakes nicht beschlagnahmen, können Staking-Mint nicht ändern).

LaunchLab

Die Plattform-Admin-Allowlist ist selbstbeschränkend: Sie begrenzt, welche GlobalConfig-Konten Launches unter dieser Plattform verwenden dürfen. Sie gewährt keine Autorität über andere Plattformen oder bestehende Launch-Gelder. Kanonische delegierte Autoritätsadressen befinden sich in reference/program-addresses.

Programm-Upgrade-Autorität

Raydium-Programme verwenden den Standard-Solana-BPF Loader v3-Upgrade-Mechanismus. Die Upgrade-Autorität für alle Programme ist das 3/4 Squads Multisig. Warum 3/4: Genug Unterzeichner, dass ein einzelner Kompromiss unzureichend ist; wenig genug, dass die Koordination eines legitimen Upgrades machbar ist. Die vier Autoritäten sind unabhängig, luftgekoppelte Cold-Device-Unterzeichner, die von Core-Team-Mitgliedern gehalten werden. Sequenzielles Signieren verhindert parallele Genehmigungen auf derselben Transaktion; Transaktionen haben ein festes Ablauf-Fenster. Multisig-Operationen werden regelmäßig in Partnerschaft mit Solanas STRIDE-Programm (Asymmetric Research) überprüft.

Upgrade-Autorität entfernen

Raydium hat die Upgrade-Autorität für kein Programm auf null gesetzt. Das Protokoll arbeitet nach dem Prinzip, dass Programme aktualisierbar sein müssen (um Bugs zu beheben, Erweiterungen wie Token-2022 hinzuzufügen, Integrationsdrift zu beheben). Kompromiss: Benutzer vertrauen darauf, dass das 3/4 Multisig nur gut überprüfte Upgrades bereitstellt. Kein Raydium-Programm ist derzeit eingefroren oder langsam genug, um als unveränderliche Alternative behandelt zu werden — AMM v4, historisch das statischste davon, wurde selbst am 2026-07-22 erneut bereitgestellt. Der zuletzt bereitgestellte Slot für jedes Programm ist öffentlich; lesen Sie ihn, bevor Sie davon ausgehen, dass einer von ihnen untätig ist: (Aus dem ProgramData-Konto jedes Programms; solana program show <PROGRAM_ID> meldet denselben Slot.)

AmmConfig-Autorität

Jede neue AmmConfig-Erstellung ist genehmigungspflichtig — das 3/5 Treasury Multisig autorisiert neue Gebührenstufen und Tick-Abstände. Bestehende Pools referenzieren ihre AmmConfig nach PDA; die Gebührenstufe des Pools ist das, was die AmmConfig sagt. Können Admins eine bestehende AmmConfig ändern? Ja, technisch. updateAmmConfig kann vom Admin aufgerufen werden. In der Praxis werden Änderungen an bereitgestellten AmmConfigs vermieden, da dies die Wirtschaftlichkeit aller Pools, die diese Config verwenden, stillschweigend ändert. Die Protokollrichtlinie besteht darin, eine neue AmmConfig für jede Änderung zu erstellen und zu migrieren. Können Admins Protokollgebühren über Config stehlen? Nein — die AmmConfig enthält Gebührenparameter, aber nicht den Protokollgebühren-Empfänger; das ist eine separate unveränderliche Adresse pro Pool.

Protokollgebühren-Anspruch

Ein Teil der Swap-Gebühren (typischerweise 3–12 bps von 25 bps Swap-Gebühr, je nach Config) sammelt sich in einem Protokollgebühren-Vault an. Das Multisig kann diese angesammelten Gebühren abheben. Benutzer sehen ihre LP-Balance dadurch nie ändern — es ist der vorab zugewiesene Anteil des Protokolls, nicht LP-Geld.

Farm-Ersteller-Autorität

Farms v6 geben dem Ersteller die Befugnis zu:
  • Den Reward-Vault finanzieren (mehr Token hinzufügen).
  • Den Zeitplan verlängern (Endzeit später verschieben).
  • Nach Endzeit withdrawReward aufrufen, um ungenutztes Vault-Guthaben zurückzufordern.
Farm-Ersteller können nicht:
  • Gestaktes Benutzer-LP abheben.
  • Den Staking-Mint ändern.
  • Emissionsraten rückwirkend ändern (nur vorwärts via setRewards).
  • Benutzer-Harvests einfrieren.
Ein böswilliger Farm-Ersteller kann im schlimmsten Fall den Vault unterfinanzieren, sodass die Farm austrocknet; der Benutzer-Haupteinsatz ist immer sicher.

Squads Multisig-Konfiguration

Raydium betreibt zwei separate Squads Multisigs für unterschiedliche Risikoflächen. Beide können on-chain über die Squads Protocol UI inspiziert werden. Operative Eigenschaften des Upgrade Multisigs:
  • 24-Stunden-Timelock auf jede Transaktion. Ein heute genehmigtes Upgrade wird frühestens 24 Stunden später ausgeführt, was Benutzern Zeit zum Reagieren gibt.
  • Luftgekoppeltes Cold-Device-Signieren. Cold Devices haben physisch entfernte Netzwerkkarten; sie verbinden sich nur mit einer Hardware-Wallet und lesen Transaktionsdaten via QR-Code von einem separaten Hot Device.
  • Sequenzielles Signieren. Erst nachdem ein Cold Device eine Transaktion generiert und signiert hat, kann das nächste Cold Device seinen Signierungsprozess beginnen — verhindert widersprüchliche oder parallele Signaturen auf derselben Transaktion.
  • Transaktionsablauf. Jede Transaktion hat ein festes Ablauf-Fenster, sodass alte Transaktionen automatisch ungültig werden.
  • TOTP + Physical-Key-Erzwingung auf den Hot Devices, die für Transaktionsinitiierung und On-Chain-Broadcast verwendet werden.
  • Öffentliche Transaktionswarteschlange. Jeder kann ausstehende Upgrades auf der Squads UI überwachen.
Das Treasury Multisig hat keinen Timelock — sein Umfang ist enger und Routine-Ops (Erstellen von AmmConfigs, Erfassen von Gebühren) müssen am selben Tag landen. Das Treasury Multisig hält auch die begrenzte Programm-Admin-Autorität, die in den obigen Pro-Programm-Tabellen aufgeführt ist; dies ist eine vorübergehende Regelung und wird regelmäßig mit den Sicherheitspartnern des Projekts überprüft.

Überprüfung der Autorität On-Chain

Die einfachste Möglichkeit, die aktuelle Upgrade-Autorität eines Programms zu überprüfen:
Die Ausgabe enthält:
Falls Authority nicht die erwartete Squads-Multisig-Adresse ist, stimmt etwas nicht. Raydium veröffentlicht die erwarteten Autoritätsadressen unter reference/program-addresses. Für AmmConfig- / Pool-Admin-Rollen rufen Sie das On-Chain-Konto ab und dekodieren Sie es:
AmmConfig hat kein admin-Feld — der Programm-Admin ist ein öffentlicher Schlüssel, der in das Programm kompiliert ist (crate::admin::ID), und die pro-Konfiguration operativen Autoritäten sind protocolOwner / fundOwner. Die BPF-Upgrade-Autorität ist eine separate, auf Loader-Ebene liegende Angelegenheit; lesen Sie sie mit solana program show.

Historische Autoritätswechsel

Überlegungen auf Benutzerseite

Was sollten Sie als Benutzer / LP / Integrator tun?
  1. Überprüfen Sie die Upgrade-Autorität vor großen Zuweisungen. Bestätigen Sie, dass sie der dokumentierten Multisig entspricht.
  2. Überwachen Sie die Multisig-Aktivität. Die Squads UI zeigt ausstehende Transaktionen an; ein geplantes Upgrade gibt Ihnen 24 Stunden Zeit, um Ihre Position abzubauen, falls Sie mit der Änderung nicht einverstanden sind.
  3. Time-Lock-bewusste Rückzugsstrategien. Falls Sie einen Auto-Compounder betreiben, stellen Sie sicher, dass Ihr Rückzugspfad keine Instruktion erfordert, die gerade geändert wird.
  4. Nehmen Sie nicht an, dass Programme unveränderlich sind. Jedes Raydium-Programm kann aktualisiert werden; planen Sie entsprechend.

Fallstricke für Integratoren

1. Caching von Autoritätsadressen

Falls Sie die Upgrade-Autorität oder die Admin-Multisig-Adresse in Ihrem Code hardcodieren und diese später rotiert wird, schlägt Ihre Überprüfung fehl. Rufen Sie reference/program-addresses zur Laufzeit ab oder aktualisieren Sie regelmäßig.

2. Annahme, dass AmmConfigs stabil sind

Eine neue AmmConfig kann jederzeit erstellt werden. Ihr Aggregator / Router sollte die vollständige Konfigurationsliste regelmäßig neu abrufen (stündlich ist ausreichend).

3. Farm-Creator-Griefing-Vektoren

Falls Sie in einen Farm mit niedriger Reputation einzahlen, könnte der Creator den Farm vorzeitig beenden und den Reward-Vault zurückfordern (vorausgesetzt, kein Benutzer hat bereits gestaked). Sobald Benutzer gestaked haben, werden anteilige Ansprüche vom Programm durchgesetzt; die Rückforderung erhält nur den Überschuss nach rationalem Ende.

Verweise

Quellen: