المفهوم
رمز L402 (macaroon:preimage) عبارة عن سلسلة نصية قابلة للنقل — بمجرد الدفع، يمكن تمريرها إلى أي وكيل فرعي يحتاج إلى الوصول إلى نفس المورد. يحتفظ المنسق بالمحفظة؛ بينما يتلقى الوكلاء الفرعيون الرمز فقط.
تنتهي صلاحية الرموز بعد ساعة واحدة. لا يمكن استخدام كل preimage إلا مرة واحدة لكل خادم (حماية من إعادة التشغيل). بالنسبة للوكلاء الفرعيين المتوازيين الذين يصلون إلى نفس نقطة النهاية، يحتاج كل منهم إلى دفعة خاصة به.
متى تشارك رمزاً مقابل الدفع بشكل مستقل
هناك نمطان للتفويض، لكل منهما مقايضات مختلفة: مشاركة الرمز تعمل عندما يصل الوكلاء الفرعيون إلى نفس نقطة النهاية بشكل متسلسل. يدفع المنسق مرة واحدة، ويستخرج قيمة رأسAuthorization، ويمررها كسلسلة نصية. يستدعي الوكلاء الفرعيون نقطة النهاية بهذا الرأس مباشرةً — دون الحاجة إلى محفظة. يُقلل هذا التكلفة (دفعة واحدة) لكنه غير آمن للوصول المتزامن — لا يمكن إلا لوكيل واحد الاحتفاظ بـ preimage معين، والخوادم ترفض الطلبات المعادة.
الدفع المستقل (كل وكيل فرعي لديه L402Client خاص به يشارك محفظة المنسق) يعمل للـوصول المتوازي أو المتزامن. يدفع كل وكيل فاتورته الخاصة ويخزن رمزه الخاص مؤقتاً. يكلف هذا sats أكثر لكنه أبسط في التفكير وآمن عند أي مستوى من التزامن.
قاعدة عامة: إذا كان وكلاؤك الفرعيون يتفرعون بشكل متوازٍ، فامنح كل منهم L402Client خاصاً به. إذا كانوا يعملون بشكل متسلسل ويصلون إلى نفس نقطة النهاية، فشارك سلسلة الرمز.
اعتبارات الأمان
- لا تمرر أبداً بيانات اعتماد المحفظة إلى الوكلاء الفرعيين. مرر سلسلة الرمز فقط (
L402 <macaroon>:<preimage>). يمكن للرمز استدعاء نقطة نهاية واحدة لمدة تصل إلى ساعة واحدة — أما المفتاح الخاص فيمكنه تفريغ المحفظة. - الرموز للاستخدام مرة واحدة لكل خادم. بعد الطلب الأول المقبول، يسجل الخادم تجزئة preimage. يعيد الطلب الثاني بنفس preimage الاستجابة 402. هذا يمنع هجمات إعادة التشغيل لكنه يعني أنك لا تستطيع مشاركة رمز واحد بين وكيلين فرعيين متزامنين يصلان إلى نفس الخادم.
- التحكم في الميزانية يكون على مستوى المحفظة. اضبط
budgetSatsعلىL402Clientالخاص بالمنسق لتحديد إجمالي الإنفاق عبر جميع الوكلاء الفرعيين الذين يشاركون تلك المحفظة. انظر التحكم في الميزانية.
TypeScript — المنسق يدفع، والوكيل الفرعي يستخدم الرمز
Python — المنسق يدفع، والوكيل الفرعي يستخدم الرمز
نمط متعدد الوكلاء: دفعة واحدة، قراءات متوازية
إذا كان عدة وكلاء فرعيين يحتاجون إلى نفس المورد بشكل متزامن، فإن أوضح نمط هو أن يدفع كل وكيل فرعي بشكل مستقل باستخدامL402Client خاص به مع محفظة مشتركة:
خصائص الأمان
| الخاصية | كيف تعمل اليوم |
|---|---|
| عزل المحفظة | يتلقى الوكلاء الفرعيون سلسلة الرمز، وليس المفاتيح الخاصة أبداً |
| مقيد بالوقت | تنتهي صلاحية Macaroons بعد ساعة واحدة |
| آمن من إعادة التشغيل | لا يمكن قبول كل preimage إلا مرة واحدة من قبل الخادم |
| التحكم في الميزانية | اضبط budgetSats على L402Client الخاص بالمنسق |