پرش به مطلب اصلی

مدل امنیتی

این صفحه دقیقاً مشخص می‌کند چه کسی چه چیزی را کنترل می‌کند، چه چیزی قابل ارتقاست و مرزهای اعتماد کجا هستند؛ پیش و پس از گذار غیرامانی.

فرض‌های اعتماد​

پیش از گذار (مدل امانی جمع‌آوری)​

چه کسیکنترل می‌کند
سرور API اورکاریلWALLET_ENCRYPTION_KEY و hd_wallet_seed رمزنگاری‌شده
keeper اورکاریلاختیار امضای یک‌طرفه روی همه آدرس‌های واریز
پرداخت‌کنندهکیف پول خارجی خودش
پذیرندهپیکربندی مقصد برداشت؛ بدون کنترل روی وجوه در حال انتقال

پیامد: نفوذ به OrcaRail وجوه در حال انتقال را در معرض خطر قرار می‌دهد.

پس از گذار (مدل قراردادی غیرامانی)​

چه کسیکنترل می‌کند
Safe سه از پنج (EVM)ارتقای پراکسی factory (با timelock)، بازپرداخت اضطراری، مراسم استقرار
Squads سه از پنج (سولانا)اختیار ارتقای برنامه‌های Anchor
EOA keeper اورکاریل برای هر زنجیرهکیف پول فقط برای گس؛ می‌تواند charge() عمومی را فراخوانی کند و هیچ کار دیگری نه
پرداخت‌کنندهapprove(SubscriptionHub, cap) یا Approve در SPL را امضا می‌کند؛ هر زمان می‌تواند لغوش کند
پذیرندهمقصدهای برداشت؛ امضاکننده مولتی‌سیگ BTC هر لینک

پیامد: نفوذ به OrcaRail نمی‌تواند وجوه در حال انتقال EVM/سولانا را جابه‌جا کند. بدترین حالت قطعی موقت keeper است (تأخیر در برداشت‌ها) که پشتیبان Chainlink/Gelato آن را کاهش می‌دهد.

حضانت کلید​

مولتی‌سیگ‌های استقرار​

  • Safe در EVM (Base، Ethereum، Arbitrum، Optimism، Polygon): سه از پنج. امضاکنندگان از کیف پول سخت‌افزاری استفاده می‌کنند (Ledger + HSM اختیاری). هیچ کلید امضاکننده‌ای روی سرورها نیست.
  • Squads در سولانا: سه از پنج با همان مجموعه امضاکنندگان.
  • چرخش امضاکنندگان: سالانه یا هنگام جدایی افراد؛ هر چرخش یک تراکنش مولتی‌سیگ است.
  • مراسم: هر استقرار و هر ارتقا به‌صورت یک مراسم مولتی‌سیگ اعلام‌شده اجرا می‌شود؛ PSBTهای امضاشده (برای BTC) و تراکنش‌های Safe برای حسابرسی ثبت می‌شوند.

EOAهای keeper​

  • یک EOA داغ برای هر زنجیره برای فراخوانی charge() و executor ریلی.
  • فقط گس: بدون مقصد کارمزد، بدون اختیار بازپرداخت، بدون مالکیت قرارداد.
  • مواد کلید در یک مدیر secret (Doppler / AWS Secrets Manager) نگهداری می‌شود؛ چرخش از طریق pipeline استاندارد زیرساخت ثبت می‌شود.
  • وقتی موجودی از gasPrice × gasLimit × 100 کمتر شود هشدار داده می‌شود.

کلیدهای BTC (فاز ۵)​

  • کلید پذیرنده: در اختیار پذیرنده است (افزونه مرورگر، موبایل، کیف پول سخت‌افزاری). OrcaRail هرگز مواد خصوصی را نمی‌بیند.
  • کلید پلتفرم: در اختیار یک HSM یا سرویس MPC (گزینه‌ها: Lit Protocol، Turnkey یا HSM داخلی). سرور API کلید خام را نگه نمی‌دارد.
  • PSBTهای بازپرداخت از پیش امضاشده: در حالت ذخیره با یک کلید KMS جداگانه رمزنگاری می‌شوند.

تغییرناپذیری قراردادها و سیاست ارتقا​

جزءقابل ارتقا؟تحت کنترلTimelock
PaymentLinkFactoryبله (UUPS)Safe سه از پنج۴۸ ساعت
PaymentLinkReceiver (برای هر لینک)خیر——
FeeSplitterخیر——
SubscriptionHubبله (UUPS)Safe سه از پنج۴۸ ساعت
payment_link (Anchor سولانا)بلهSquads سه از پنج(در سطح برنامه)
subscription (Anchor سولانا)بلهSquads سه از پنج(در سطح برنامه)

تغییرات معنایی ناسازگار به‌صورت نسخه جدید (V2) منتشر و مهاجرت داده می‌شوند، نه اینکه درجا ارتقا یابند. timelock چهل‌وهشت ساعته روی پراکسی‌ها به جامعه فرصت می‌دهد پیشنهادهای ارتقا را آن‌چین ببیند و واکنش نشان دهد.

وضعیت حسابرسی​

  • حسابرسی اصلی قراردادهای اولیه EVM (PaymentLinkFactory، PaymentLinkReceiver، FeeSplitter، SubscriptionHub) پیش از راه‌اندازی روی mainnet شبکه Base. فهرست کوتاه شرکت‌ها از میان Spearbit / Trail of Bits / Zellic.
  • حسابرسی سولانا برای هر دو برنامه Anchor پیش از راه‌اندازی روی mainnet سولانا. شرکت‌ها از میان OtterSec / Neodyme.
  • بازبینی رقابتی یا bug bounty در کنار حسابرسی اصلی.
  • گزارش‌های حسابرسی به‌صورت عمومی منتشر و از مرجع قراردادها لینک می‌شوند.
  • حسابرسی‌های تکمیلی برای تغییرات مهم بعدی (مثلاً منطق کارمزد جدید یا استانداردهای توکن جدید).

واکنش به رخداد​

  • کشیک چرخشی از طریق PagerDuty برای قطعی keeper، تأخیر ایندکسر و موجودی EOA keeper.
  • کنترل توقف: factoryها و SubscriptionHub تابع pause() دارند که مولتی‌سیگ می‌تواند فراخوانی کند؛ گیرنده‌های هر لینک قابل توقف نیستند (برد اعتمادی برای پرداخت‌کنندگان).
  • Bug bounty: برنامه عمومی با محدوده قراردادها و منطق ایندکسر؛ پرداخت‌ها از خزانه پلتفرم.
  • افشا: برای رخدادهای مهم ظرف ۳۰ روز گزارش پس از رخداد با امضای امضاکنندگان مولتی‌سیگ منتشر می‌شود.

نکات برجسته مدل تهدید​

تهدیدراهکار
برداشت دوباره به‌خاطر reorg در SubscriptionHubناوردای یکنوای lastChargedAt
ERC-20 غیراستاندارد به سبک USDTSafeERC20 در همه جا؛ تست‌های ناوردا
توکن‌های دارای کارمزد هنگام انتقالفهرست مجاز توکن‌ها تحت کنترل مولتی‌سیگ
خرابکاری در پیش‌استقرار CREATE2 (کسی پیش از استقرار وجه بفرستد)deployAndPay در factory خودتوان (idempotent) است؛ موجودی منتظر در آدرس پیش‌بینی‌شده همچنان از طریق استقرار به رهبری factory قابل بازیابی است
نفوذ به keeperEOA فقط برای گس؛ بدون اختیار روی قراردادها
نفوذ به یکی از امضاکنندگان مولتی‌سیگآستانه سه از پنج؛ فقط سخت‌افزاری؛ چرخش سالانه
لغو delegate سولانا در میانه اشتراکcharge() رویداد ChargeSkipped(DelegateRevoked) را منتشر می‌کند؛ ایمیل + وبهوک استاندارد
گم شدن کلید BTC پذیرندهگزینه کلید پشتیبان هنگام ثبت‌نام؛ بازیابی با مراسم مولتی‌سیگ مستند شده است
قطعی ایندکسرAlchemy به‌عنوان اصلی + RPC عمومی پشتیبان؛ تطبیق ساعتی
تمام شدن سهمیه سیاست paymasterهشدار در ۷۰٪ سهمیه؛ keeper به‌عنوان پشتیبان گس را خودش می‌پردازد

شفافیت حضانت​

پس از فاز ۷ می‌توانیم با استناد به واقعیت بگوییم:

  • OrcaRail هیچ ماده seed مربوط به EVM نگه نمی‌دارد.
  • OrcaRail هیچ ماده seed مربوط به سولانا نگه نمی‌دارد.
  • OrcaRail یک کلید امضای سمت پلتفرم برای بیت‌کوین نگه می‌دارد؛ این کلید به‌تنهایی نمی‌تواند وجوه را جابه‌جا کند و به امضای همزمان پذیرنده نیاز دارد.

این وضعیت در به‌روزرسانی شرایط خدمات همراه با فاز ۷ منعکس می‌شود.

همچنین ببینید​