Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
すべてのRaydiumプログラムには、少なくとも1つの特権ロール(プログラムをアップグレードしたり、新しい設定を作成したり、プロトコル手数料を引き出したりできるキー)があります。これらのロールが実行できることを最小限に抑え、遅延を伴うマルチシグの背後に置くことが、管理者の侵害に対する主要な防御です。このページでは、ロールとそれらが実際にどのように保護されているかをカタログ化しています。

プログラム別のロール

AMM v4

CPMM

クリエーター手数料の収集は特権ロールを導入しません。CollectCreatorFeePermissionlessは任意のペイヤーを受け入れ、受取人オーナーをPoolState.pool_creatorに制限し、両方の宛先をそのクリエーターの正規ATAに制限します。呼び出し元は不足しているATAに資金を提供し、スイープをトリガーできますが、手数料をリダイレクトすることはできません。

CLMM

seed_index派生アドレスでペアの追加プールを作成する(CreateCustomizablePoolV2)にはロールは不要です。2026-10-22アップグレード前は、専用のpermission_pda_adminキーによって発行されたPermission PDAが必要でした。そのロール、Permissionアカウント、およびその2つの管理者命令は削除されました。 limit_order_adminは意図的に狭い運用ロールです。これは、オフチェーンキーパーが注文の所有者がオンラインである必要なく、満たされた注文をスイープできるようにするために存在します。キーパーキーはホット(キーパーVM上に存在)で、上記のマルチシグとは独立して回転します。具体的には、キーパー権限は以下に限定されます:
  • SettleLimitOrder — 注文の満たされた出力を所有者の ATAに注文の指値で押し出します。
  • CloseLimitOrder — 完全に決済された注文のアカウントをクローズしてレントを回収します(レントは注文所有者に行きます)。
OpenLimitOrder、IncreaseLimitOrder、DecreaseLimitOrderを呼び出したり、プールフィールドを変更したり、他の命令に署名したりすることはできません。これらのチェックはオンチェーンで、命令のAccounts構造体のシードとhas_one制約によって強制されます。侵害されたキーパーは最悪の場合、利用不可(注文は所有者が自分で決済するまでパーク状態のまま)であるか、正当に満たされた注文を順序外で決済・クローズできます。所有者がすでに認可した場所以外のユーザー資金を移動することはできません。

Farm v6

個別のファームにはプロトコル管理者がいません。各ファームのクリエーターは自分のファームのみを制御し、クリエーターの権限は制限されています(ユーザーステークを没収できない、ステーキングミントを変更できない)。

LaunchLab

プラットフォーム管理者の許可リストは自己制限的です。そのプラットフォーム下のローンチが使用できるGlobalConfigアカウントを制限します。他のプラットフォームまたは既存のローンチ資金に対する権限を付与しません。正規の委譲権限アドレスはreference/program-addressesに存在します。

プログラムアップグレード権限

Raydiumのプログラムは標準的なSolana BPF Loader v3アップグレードメカニズムを使用します。すべてのプログラムのアップグレード権限は3/4 Squadsマルチシグです。 なぜ3/4か:単一の侵害が不十分なほど十分な署名者、正当なアップグレードの調整が扱いやすいほど十分に少ない署名者。4つの権限は独立した、コアチームメンバーが保有するエアギャップコールドデバイス署名者です。順序付き署名は同じトランザクションの並列承認を防ぎます。トランザクションは固定の有効期限ウィンドウを持ちます。マルチシグ操作は**Solanaの STRIDE Program(Asymmetric Research)**とのパートナーシップで定期的にレビューされます。

アップグレード権限の削除

Raydiumはどのプログラムのアップグレード権限もnullに設定していません。プロトコルは、プログラムがアップグレード可能である必要があるという原則の下で動作します(バグを修正し、Token-2022のような拡張機能を追加し、統合ドリフトを修正するため)。トレードオフ:ユーザーは3/4マルチシグが十分にレビューされたアップグレードのみをデプロイすることを信頼します。 Raydiumプログラムは現在、不変の代替案として扱われるほど凍結または低速移動していません。歴史的に最も静的なAMM v4でさえ、2026-07-22に再デプロイされました。すべてのプログラムの最後にデプロイされたスロットは公開されています。それらのいずれかが休止状態であると仮定する前に読んでください: (各プログラムのProgramDataアカウントから、solana program show <PROGRAM_ID>は同じスロットを報告します。)

AmmConfig権限

新しいAmmConfig作成はそれぞれ許可されています。3/5 treasuryマルチシグが新しい手数料ティアとティック間隔を認可します。既存のプールはPDAでAmmConfigを参照します。プールの手数料ティアはAmmConfigが言うことです。 管理者は既存のAmmConfigを変更できますか? はい、技術的には可能です。updateAmmConfigは管理者が呼び出すことができます。実際には、デプロイされたAmmConfigの変更は避けられます。なぜなら、そのコンフィグを使用するすべてのプールの経済学を静かに変更するからです。プロトコルポリシーは、変更のために新しいAmmConfigを作成し、移行することです。 管理者はコンフィグ経由でプロトコル手数料を盗むことができますか? いいえ。AmmConfigには手数料パラメータが含まれていますが、プロトコル手数料受取人は含まれていません。それはプールごとの別の不変アドレスです。

プロトコル手数料請求

スワップ手数料の一部(通常、設定に応じて25 bpsスワップ手数料の3~12 bps)がプロトコル手数料ボルトに発生します。マルチシグはこれらの発生した手数料を引き出すことができます。ユーザーはこれからLP残高の変化を見ることはありません。これはプロトコルの事前割り当てシェアであり、LPマネーではありません。

ファームクリエーター権限

Farms v6はクリエーターに以下の権限を与えます:
  • リワードボルトに資金を提供(トークンを追加)。
  • スケジュールを延長(終了時刻を後に押す)。
  • 終了時刻後にwithdrawRewardを呼び出して、未使用のボルト残高を回収。
ファームクリエーターはできません:
  • ステークされたユーザーLPを引き出す。
  • ステーキングミントを変更する。
  • 排出率を遡及的に変更する(setRewards経由の前向きのみ)。
  • ユーザーハーベストをフリーズする。
悪意のあるファームクリエーターは最悪の場合、ボルトの資金不足でファームが枯渇する可能性があります。ユーザーのプリンシパルステークは常に安全です。

Squadsマルチシグ設定

Raydiumは異なるリスク表面のために2つの別々のSquadsマルチシグを運用しています。どちらもSquads Protocol UIを介してオンチェーンで検査できます。 アップグレードマルチシグの運用プロパティ:
  • 24時間タイムロック任意のトランザクション上。今日承認されたアップグレードは24時間以前に実行されず、ユーザーが対応する時間を与えます。
  • エアギャップコールドデバイス署名。 コールドデバイスはネットワークカードが物理的に削除されています。ハードウェアウォレットにのみ接続し、別のホットデバイスからQRコード経由でトランザクションデータを読み取ります。
  • 順序付き署名。 1つのコールドデバイスがトランザクションを生成して署名した後にのみ、次のコールドデバイスが署名プロセスを開始できます。同じトランザクションの競合または並列署名を防ぎます。
  • トランザクション有効期限。 すべてのトランザクションは固定の有効期限ウィンドウを持つため、古いトランザクションは自動的に無効になります。
  • TOTP +物理キー強制トランザクション開始とオンチェーン放送に使用されるホットデバイス上。
  • 公開トランザクションキュー。 誰でもSquads UIで保留中のアップグレードを監視できます。
Treasury マルチシグにはタイムロックがありません。そのスコープはより狭く、ルーチン操作(AmmConfigの作成、手数料のスイープ)は同日に着地する必要があります。Treasury マルチシグはまた、上記のプログラムごとのテーブルにリストされている限定的なプログラム管理者権限を保有しています。これは暫定的な取り決めであり、プロジェクトのセキュリティパートナーと定期的にレビューされます。

オンチェーンでの権限確認

プログラムの現在のアップグレード権限を確認する最も簡単な方法:
出力には以下が含まれます:
Authority が期待される Squads マルチシグアドレスでない場合、何か問題があります。Raydium は期待される権限アドレスを reference/program-addresses で公開しています。 AmmConfig / プール管理者ロールについては、オンチェーンアカウントをフェッチしてデコードします:
AmmConfig には admin フィールドがありません。プログラム管理者は、プログラムにコンパイルされた公開鍵(crate::admin::ID)であり、設定ごとの運用権限は protocolOwner / fundOwner です。BPF アップグレード権限はローダーレベルの別の関心事です。solana program show で読み取ります。

権限変更の履歴

ユーザー側の考慮事項

ユーザー / LP / インテグレーターとしてあなたが行うべきことは何ですか?
  1. 大規模な配置前にアップグレード権限を確認します。 ドキュメント化されたマルチシグと一致することを確認してください。
  2. マルチシグアクティビティを監視します。 Squads UI は保留中のトランザクションを表示します。スケジュール済みのアップグレードは、変更に同意しない場合に巻き戻す 24 時間を与えます。
  3. タイムロック対応の償却戦略。 オートコンパウンダーを実行している場合、変更されている命令を必要としない巻き戻しパスがあることを確認してください。
  4. プログラムの不変性を想定しないでください。 すべての Raydium プログラムはアップグレード可能です。それに対応してください。

インテグレーターの落とし穴

1. 権限アドレスのキャッシング

アップグレード権限または管理マルチシグアドレスをコードにハードコードし、後で回転した場合、検証が失敗します。実行時に reference/program-addresses からフェッチするか、定期的に更新してください。

2. AmmConfigs が安定していると想定する

新しい AmmConfig はいつでも作成できます。アグリゲーター / ルーターは、定期的に(1 時間ごとで問題ありません)完全な設定リストを再フェッチする必要があります。

3. ファーム作成者の悪用ベクトル

低い評判のファームに預ける場合、作成者はファームを早期に終了し、報酬ボルトを回収できます(ユーザーがまだステークしていないと仮定)。ユーザーがステークすると、按分エンタイトルメントはプログラムによって強制されます。回収は合理的な終了後の余剰のみを取得します。

ポインター

出典: