اختيار الواجهة الخلفية

يوفّر Keychain واجهة أساسية واحدة هي SolanaSigner لجميع الواجهات الخلفية، لذا فإن الاختيار في معظم الواجهات الخلفية تشغيلي وليس معماريًا: يمكنك تغييره لاحقًا عبر الإعدادات. والاستثناء هو شكل المعاملة. فوضع Crossmint والوضع التلقائي الأصلي (native auto) في Fordefi يوقّعان ويبثّان من جهة الخادم، أما وضع Fordefi الأصلي اليدوي (native manual) فيعيد كتابة المعاملة قبل توقيعها، وبالتالي فإن الانتقال إلى أحدها أو منه يغيّر طريقة استدعائك للموقِّع. ولهذا السبب، ابدأ من متطلباتك أنت، لا من منتج بعينه. يحسم معظم الأمر سؤالان: أين يوجد المفتاح الخاص، ومن المسموح له بالموافقة على توقيع به؟

تتوفر كل واجهة خلفية، باستثناء Ledger، بجميع اللغات الأربع (Rust وTypeScript وPython وGo). أما Ledger فهي متاحة بلغة Rust فقط، خلف الميزة الاختيارية ledger.

لا توجد واجهة خلفية هي الأفضل على الإطلاق. فكل واحدة منها أنسب لمجموعة معيّنة من القيود: السحابة التي تعمل عليها بالفعل، وما إذا كنت تريد تشغيل البنية التحتية للمفاتيح بنفسك، وما ضوابط الحفظ والموافقة المطلوبة منك. يربط المخطط أدناه هذه القيود بالواجهة الخلفية المناسبة.

يغطي هذا الدليل التوقيع من جهة الخادم (الواجهة الخلفية). وعندما يوقّع المستخدمون النهائيون معاملاتهم بأنفسهم داخل المتصفح، فاستخدم محفظة عبر Wallet Standard بدلًا من ذلك. راجع التوقيع في بيئة الإنتاج.

مخطط القرار

Choosing a Keychain backend

لا تحتاج بيئة التطوير المحلية والاختبارات إلى أي من هذا: استخدم الواجهة الخلفية Memory لبناء النماذج الأولية، ثم انتقل إلى إحدى الواجهات الخلفية الإنتاجية المذكورة أعلاه عبر الإعدادات.

تتبع الأسئلة

هل توقّع لتطبيقك الخاص أم للمستخدمين النهائيين؟

إذا كنت تُنشئ محافظ يملكها المستخدمون النهائيون ويتحكمون بها (تطبيقات المستهلكين، مسارات الإعداد الأولي)، فاستخدم واجهة خلفية من نوع المحافظ المدمجة / المُدارة: Privy أو Turnkey أو CDP أو Crossmint أو Openfort. تتولى هذه الواجهات إدارة محافظ كل مستخدم والمصادقة نيابةً عنك.

أما إذا كنت توقّع بصفتك تطبيقك الخاص (جهة دافعة للرسوم، أو خزينة، أو أتمتة خلفية)، فتابع أدناه.

هل تحتاج إلى موافقة متعددة الأطراف أو حفظ مؤسسي أو ضوابط تنظيمية؟

إذا كان لا بد أن تجتاز التواقيع سياسة موافقة أو حدًّا للإنفاق أو مسار امتثال قبل إصدارها، أو كنت تحتاج إلى جهة حفظ منظَّمة تحتفظ بالمفاتيح، فاستخدم واجهة خلفية من نوع MPC / الحفظ المؤسسي: Fireblocks أو Dfns أو Para أو Utila أو Fordefi. تقوم هذه الواجهات بتجزئة المفتاح أو حفظه والتوقيع المشترك وفقًا لسياستك.

أما إذا كنت تحتاج فقط إلى مفتاح يوقّع عند الطلب، فتابع أدناه.

هل تريد الاحتفاظ بالمفتاح بنفسك أم تترك مزوِّدًا يحتفظ به؟

إذا كان ينبغي لمزوِّد سحابي أن يحتفظ بالمفتاح في بنية تحتية مدعومة بالأجهزة، وكانت سياسة IAM لديك تتحكم في من يمكنه التوقيع، فاستخدم KMS الخاص بتلك السحابة:

  • إذا كنت تعمل على AWS ← AWS KMS
  • إذا كنت تعمل على GCP ← GCP KMS

وإذا كنت تريد تشغيل البنية التحتية للمفاتيح بنفسك، أو كنت تعمل في بيئة متعددة السحابات أو محلية (on-prem)، فاستخدم HashiCorp Vault. أنت من يشغّله ويدققه؛ ويبقى المفتاح داخل محرك Transit ويوقّع عند الطلب.

نماذج الحضانة

تنقسم الواجهات الخلفية إلى ستة نماذج للحفظ. ويقودك المخطط أعلاه إلى أحدها.

  • الحفظ الذاتي (داخل العملية): يحتفظ تطبيقك بالمفتاح الخاص الخام. مناسب للتطوير، لكنه غير مناسب للإنتاج. الواجهة الخلفية: Memory.
  • الحفظ الذاتي (محفظة أجهزة): لا يغادر المفتاح جهاز Ledger أبدًا، ويؤكد شخص ما كل توقيع على شاشته. مناسب للتوقيع التفاعلي من قِبل المشغّل، وليس للخدمات التي تعمل دون إشراف. يعمل بلغة Rust فقط، وهو اختياري، وغير مشمول بالتدقيق. الواجهة الخلفية: Ledger.
  • إدارة المفاتيح ذاتيًا: أنت من يشغّل البنية التحتية للمفاتيح؛ ويبقى المفتاح داخلها ويوقّع عند الطلب. الواجهة الخلفية: HashiCorp Vault.
  • KMS / HSM السحابي: يخزّن المزوّد السحابي المفتاح في بنية تحتية مدعومة بالأجهزة؛ ولا يغادر المفتاح الخدمة أبدًا، وتتحكم سياسة IAM لديك في من يمكنه التوقيع. الواجهات الخلفية: AWS KMS وGCP KMS.
  • MPC والحفظ المؤسسي: يُجزَّأ المفتاح أو يُحفظ لدى مزوِّد يشارك في التوقيع وفقًا لسياستك (الموافقات، الحدود). الواجهات الخلفية: Fireblocks وDfns وPara وUtila وFordefi.
  • المحافظ المدمجة والمُدارة: يدير المزوِّد المحافظ نيابةً عنك، غالبًا لتأهيل المستخدمين النهائيين. الواجهات الخلفية: Privy وTurnkey وCDP و Crossmint وOpenfort.

مقارنة الواجهات الخلفية

الواجهة الخلفيةنموذج الحضانةالأنسب لـملاحظات
Memoryحضانة ذاتية (داخل العملية)التطوير المحلي، الاختبارات، CIمفتاح خام داخل العملية؛ لا تستخدمه في بيئة الإنتاج
Ledgerالحفظ الذاتي (محفظة أجهزة)التوقيع التفاعلي من قِبل المشغّل عبر أدوات RustRust فقط، ميزة ledger اختيارية، غير مدقَّقة؛ يتم تأكيد كل توقيع على الجهاز
HashiCorp Vaultإدارة مفاتيح ذاتية الاستضافةالفرق التي تدير بنيتها التحتية للمفاتيحمحرك Transit؛ تتولى تشغيله ومراجعته بنفسك
AWS KMSKMS سحابي / HSMالواجهات الخلفية العاملة على AWSالمفتاح لا يغادر KMS أبدًا؛ يتحكم IAM في التوقيع
GCP KMSKMS سحابي / HSMالواجهات الخلفية العاملة على GCPالمفتاح لا يغادر KMS أبدًا؛ يتحكم IAM في التوقيع
Fireblocksحضانة MPC / مؤسسيةالخزائن والبورصات والحضانة المنظَّمةمحرك السياسات وسير عمل الموافقات
Dfnsبنية تحتية لمحافظ MPCالمحافظ البرمجية ذات ضوابط السياساتتوقيع Ed25519
Paraمحافظ MPCالتطبيقات التي تريد محافظ مدعومة بـ MPCمفتاح API + معرّف المحفظة
Utilaحضانة MPC + موقِّع مشتركمحافظ سولانا المُدارة عبر UtilasignMessage غير مدعوم؛ تقوم ببث المعاملة بنفسك
Fordefiحضانة MPC / مؤسسيةحضانة مؤسسية مع ضوابط السياساتالصندوق الأسود: أنت من يرسل. التلقائي الأصلي: تعيد Fordefi الكتابة وترسل. اليدوي الأصلي: تعيد Fordefi الكتابة وأنت ترسل النتيجة
Privyمحافظ مضمَّنةتطبيقات المستهلكين لإدخال المستخدمين إلى المحافظمحافظ مضمَّنة يديرها التطبيق
Turnkeyإدارة مفاتيح غير حضانيةالتوقيع البرمجي المقيَّد بالسياساتإدارة مفاتيح غير حضانية
CDPمحفظة مُدارة (Coinbase)التطبيقات على منصة Coinbase للمطورينsignMessage يقبل حمولات UTF-8 فقط
Crossmintمحافظ مُدارةالأسواق وتطبيقات المحافظ المُدارةللإرسال فقط: يبثّ من جهة الخادم، وقد يعيد الكتابة لرعاية رسوم الغاز؛ signMessage غير مدعوم
Openfortمحافظ خلفية مضمَّنةالمحافظ من جانب الخادممفاتيح مخزَّنة في TEE

شكل القدرات

إلى جانب الحفظ، لكل واجهة خلفية شكل معاملة واحد، وهو الذي يحدد كيف تستدعي الموقِّع:

  • التوقيع: يوقّع المزوِّد البايتات التي أنشأتها وأنت تبثّها. أغلب الواجهات الخلفية، بما فيها Ledger ووضع الصندوق الأسود في Fordefi.
  • إعادة الكتابة والتوقيع: يعيد المزوِّد كتابة المعاملة ثم يوقّعها دون بثّها. تابع من المعاملة التي يعيدها. وضع Fordefi الأصلي اليدوي.
  • التوقيع والبثّ: يوقّع المزوِّد ويبثّ من جهة الخادم، لذا فإن حدوث فشل لا يعني أن شيئًا لم يصل إلى الشبكة. Crossmint ووضع Fordefi الأصلي التلقائي.

يسرد جدول قدرات الموقِّعين في ملف README الخاص بكل لغة شكل كل واجهة خلفية؛ ويشرح نموذج الأمان ما الذي يضمنه كل شكل.

سيناريوهات المؤسسات

غالبًا ما يحتاج التطبيق الواحد إلى أكثر من واحدة من هذه في آن واحد. وبما أن الواجهة مشتركة، يمكنك تشغيل واجهة خلفية مختلفة لكل دور دون تغيير مواضع الاستدعاء، ما دامت الواجهات الخلفية تشترك في شكل القدرات نفسه.

  • عمليات الخزينة — فصل موقّع "ساخن" تشغيلي عن موقّع خزينة "بارد". دعم الخزينة بحضانة MPC أو HSM سحابي، واشتراط سياسات موافقة قبل التوقيعات عالية القيمة.
  • سير عمل الموافقة — تفرض خلفيات MPC والحضانة (مثل Fireblocks) موافقة متعددة الأطراف قبل إنتاج التوقيع.
  • الامتثال والتدقيق — يُصدر KMS السحابي (AWS/GCP) وVault سجلات تدقيق للتوقيع؛ وتضيف الجهات الوصائية المؤسسية تطبيق السياسات وإعداد التقارير.
  • البيئات الخاضعة للتنظيم — الاحتفاظ بمواد المفاتيح في HSM أو KMS أو جهة وصاية مؤسسية حتى لا تلمس المفاتيح الخام تطبيقك أبدًا.

راجع أفضل ممارسات الإنتاج للتشغيل الآمن لهذه الخلفيات.

Is this page helpful?