الحد الأدنى للمواصفة الأولية، ومحلية القرار المستقبلي، والتبنّي الطوعي لنظام تنسيق الإنترنت

كيف يمكن لشبكات مستقلة أن تنسّق فيما بينها من دون إنشاء سلطة دائمة؟

ثلاث مناضد عمل تحمل وصلات زرقاء متماثلة إلى جانب تركيبات بيضاء مختلفة: قوس، ودرجات، وإطار متفرّع.

المحتويات

اتفقوا على الوصلة، واتركوا مجالًا لتصاميم مختلفة. يقترح لو هنغ (Lu Heng) قصر القواعد المشتركة على ما يتطلّبه التشغيل البيني، على أن يتّخذ المشاركون أنفسهم الخيارات اللاحقة.

الملخّص

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

في هذا النموذج، لا تحدّد المواصفة الأولية إلا القواعد الحتمية القابلة للتحقّق محليًّا، واللازمة للتفرّد والتشغيل البيني والسلامة المشتركة والأمن. وبعد المواصفة الأولية، لا تتولّى هيئة مركزية إقرار التغييرات المستقبلية. بل يتبنّاها المشاركون الذين يشغّلون الشيفرة، أو يتجاهلونها، أو يتفرّعون عنها، أو يتخلّون عنها.

عدم التبنّي ليس مخالفة. فالمشارك الذي لا يتبنّى تغييرًا لاحقًا يظلّ ضمن مجموعة التوافق القائمة التي ينتمي إليها. وإذا أصدر مشارك حالة لا تصحّ بموجب القواعد الحتمية التي يقبلها مشارك آخر، جاز لذلك المشارك الآخر تجاهل المشارك الذي أصدرها محليًّا. وتكون النتيجة اختيار التوافق، أو التفرّع، أو العزل، أو التشغيل البيني الانتقائي، لا عقوبة مؤسسية.

لا تحدّد هذه الوثيقة بروتوكولًا للنقل عبر الشبكة. بل تحدّد أفضل الممارسات الحالية لتصميم البروتوكولات والسجلات وأنظمة المعرّفات وآليات التنسيق التي يجب ألا تتحوّل إلى مؤسسات حوكمة دائمة.

1. المقدّمة

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

ويحدث ذلك عادةً في ثلاث خطوات.

أولًا، تُدرَج مسائل المستقبل في الطبقة التأسيسية قبل أن تدعو إليها ضرورة تقنية.

ثانيًا، تصبح خيارات يُفترض أن يتّخذها المشاركون الذين يشغّلون أنظمتهم بأنفسهم مرهونة باعتراف هيئة دائمة، أو بتفسيرها، أو بقراراتها بشأن الوضع.

ثالثًا، يُعامَل النشر أو التسجيل أو التوصية أو الإقرار الإجرائي بوصفه كافيًا لإنشاء التزام تشغيلي، حتى حين لا يكون المشاركون قد تبنّوا التغيير في أنظمة قيد التشغيل.

والنتيجة نظام هشّ. تتحوّل طبقة المرجع التقني إلى طبقة حوكمة. ويتحوّل حافظ السجل إلى حارس بوابة. ويتحوّل عنصر تنسيقي إلى مصدر للتحكّم المستقبلي.

تقترح هذه الوثيقة نهجًا مختلفًا في التصميم:

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

هذه المبادئ مترابطة. فالنظام الذي يفرط في التحديد منذ البداية يضمّن التحكّم المستقبلي مسبقًا في الطبقة المشتركة. والنظام الذي يُبقي طبقة اعتراف دائمة يتيح للسلطة أن تعود إلى الظهور بعد النشر التشغيلي. والنظام الذي يعامل النشر بوصفه واقعًا يحوّل التوثيق إلى أمر.

الفكرة التصميمية بسيطة: يجب أن تُحدَّد الصحة بقواعد حتمية يستطيع المشاركون التحقّق منها محليًّا. يجوز للمشارك أن يتبنّى تغييرًا لاحقًا، أو يرفضه، أو يتفرّع، أو يقطع الاتصال، أو يجري تشغيلًا بينيًّا انتقائيًّا. وأقصى ما يستطيع فعله هو إخراج نفسه من مجموعة توافق. لكنه لا يستطيع، برفضه تغييرًا، أن يعطّل التشغيل البيني لمشاركين آخرين يواصلون تشغيل شيفرات متوافقة فيما بينهم.

هذا هو الدرس العام نفسه الذي يتّضح في أنظمة مثل بيتكوين (Bitcoin): يفرض قواعد الإجماع من يشغّلون شيفرة التحقّق، لا مؤسسة تقف فوقهم.

2. النطاق

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

لا تعارض هذه الوثيقة القواعد المشتركة. بل تدعو إلى أن تكون القواعد المشتركة حتمية، وبالحد الأدنى، وقابلة للتحقّق محليًّا، ومقصورة على ما يحتاج إليه النظام فعلًا كي يعمل.

لا تشترط هذه الوثيقة سلسلة كتل، أو دفتر سجلات موزّعًا، أو أي تقنية بعينها. إنها تشترط خاصية تصميمية: أن يستطيع المشاركون تحديد الصحة بتطبيق المواصفة الأولية محليًّا، من دون طلب إذن أو تحديد وضع من سلطة دائمة.

3. الاصطلاحات والتعريفات

3.1. لغة المتطلبات

تُفسَّر مصطلحات المتطلبات في هذه الوثيقة، المقابلة للمصطلحات المكتوبة بالأحرف الكبيرة، وفق المعنى المحدّد في BCP 14، وتحديدًا RFC 2119 وRFC 8174.

3.2. المصطلحات

المواصفة الأولية:
مجموعة القواعد وهياكل البيانات والتنسيقات والثوابت وإجراءات التحقّق وقواعد الانتقال اللازمة لوضع النظام في التشغيل لأول مرة.

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

قاعدة التحقّق الحتمية:
قاعدة تتيح للمشارك أن يقرّر، بالحوسبة المحلية أو التحقّق المحلي، ما إذا كانت حالة أو سجل أو انتقال أو إقرار أو رسالة صحيحة بموجب مجموعة قواعد محدّدة.

الثابت العام:
خاصية يجب أن تبقى مشتركة داخل مجموعة توافق للحفاظ على التفرّد أو التشغيل البيني الأساسي أو السلامة المشتركة أو الأمن.

المشارك:
مشغّل، أو تطبيق للنظام، أو عقدة، أو شبكة، أو منظمة، أو أي طرف آخر يشغّل النظام أو يتحقّق منه أو ينشره تشغيليًّا أو يعتمد عليه.

مجموعة التوافق:
مجموعة من المشاركين تتيح لهم قواعد التحقّق التي ينفّذونها التشغيل البيني. وقد ينشئ تغيير لاحق مجموعة توافق جديدة إذا تبنّاه بعض المشاركين ولم يتبنّه آخرون.

التبنّي:
التنفيذ الفعلي والنشر التشغيلي والتحقّق والاستخدام من جانب المشاركين الذين يشغّلون النظام.

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

الرفض المحلي:
قرار المشارك محليًّا بتجاهل حالة أو رسالة أو سجل أو انتقال، أو رفضه، أو عدم إجراء تشغيل بيني معه، لكونه غير صحيح أو غير متوافق بموجب قواعد التحقّق التي يشغّلها.

التفرّع:
تباعد في قواعد التحقّق أو الممارسة التشغيلية ينشئ مجموعتي توافق أو أكثر.

العنصر التنسيقي:
وثيقة، أو قيد في سجل، أو توصية، أو ملاحظة تنفيذية، أو ملف تعريف، أو تطبيق مرجعي، أو أي عنصر آخر يساعد المشاركين على التنسيق. لا ينشئ العنصر التنسيقي واقعًا تشغيليًّا ملزمًا ما لم يتبنّه المشاركون في أنظمة قيد التشغيل.

4. عرض المشكلة

كثيرًا ما يحاول المصمّمون تقليل عدم اليقين المستقبلي بإدراج ما يزيد عن الحاجة في الطبقة التأسيسية، أو بإبقاء هيئة دائمة لتفسير مسائل المستقبل. يبدو هذا احتياطًا حكيمًا. لكنه غالبًا ما يكون خطرًا.

للإفراط في التحديد داخل الطبقة التأسيسية ثلاث تكاليف.

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

ثانيًا، يخلق التباسًا بين الصحة التقنية والاعتراف المؤسسي.

ثالثًا، يشجّع هيئة تتولّى حفظ السجلات أو نشر الوثائق أو جمع المشاركين على اعتبار هذه الأفعال سلطة على الواقع المستقبلي.

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

ليس الهدف التصميمي لهذه الوثيقة تحسين السلطة التقديرية للمؤسسات. بل تجنّب الحاجة إلى تلك السلطة التقديرية.

ينبغي لنظام تنسيق الإنترنت المصمَّم جيدًا أن يحدّد منذ البداية قواعد صحة حتمية قابلة للتحقّق محليًّا؛ وأن يُبقي الخيارات التي لا تتعلّق بالثوابت خارج الطبقة المشتركة؛ وألا يسمح للتغييرات اللاحقة بأن تصبح واقعًا إلا حين يتبنّاها المشاركون طوعًا في أنظمة قيد التشغيل.

5. المبدأ 1: الحد الأدنى للمواصفة الأولية

5.1. صياغة المبدأ

ينبغي أن تحدّد المواصفة الأولية الحد الأدنى فقط من القواعد المشتركة الحتمية اللازمة للتشغيل البيني الأساسي والتفرّد والسلامة المشتركة والأمن.

5.2. المتطلبات

أي تصميم يستخدم هذا المبدأ:

1. يجب أن يحدّد ثوابته العامة صراحةً.
2. يجب أن يحدّد قواعد تحقّق حتمية لكل ثابت عام.
3. يجب ألا يُدرج قاعدة في المواصفة الأولية إلا إذا كانت لازمة للحفاظ على ثابت عام منصوص عليه، أو لتمكين وضع النظام في التشغيل لأول مرة.
4. يجب أن يفصل قواعد التحقّق عن تفضيلات السياسات، والترتيبات التجارية، والأدوار المؤسسية، وطموحات الحوكمة، والحكم التقديري.
5. يجب أن يتيح للمشاركين التحقّق محليًّا من الصحة في التشغيل المعتاد، من دون سؤال أي مؤسسة أو جهة تسجيل أو لجنة أو هيئة سياسات أو أي سلطة أخرى.
6. ينبغي أن يحدّد هياكل البيانات أو التوقيعات أو الإثباتات أو قواعد انتقال الحالة أو قواعد التعارض أو غيرها من الآليات اللازمة للتحقّق المحلي.
7. ينبغي أن يحدّد آليات الإشارة إلى الامتدادات، أو تحديد الإصدارات، أو وسم التوافق، أو تمييز التفرّعات، حيث يمكن توقّع اختلافات مستقبلية.
8. يجب أن يضمن أن تكون عناصر التنسيق المطلوبة قابلة للنقل والتدقيق وإعادة الإنتاج والاستبدال.
9. ينبغي أن يفضّل الشروط الموضوعية القابلة للتحقّق آليًّا على التقدير الشخصي للجدارة.
10. يجب ألا يجعل الاعتراف المؤسسي المستقبلي المسار الوحيد الذي يمكن عبره معرفة حالة صحيحة أو تسجيلها أو استخدامها.

5.3. الآثار على التصميم

الحد الأدنى للمواصفة الأولية لا يعني مواصفة غامضة. بل يعني التحديد الدقيق لما يجب وحده أن يكون مشتركًا.

لا يزال النظام يحتاج إلى قدر كافٍ من البنية المشتركة لكي يعمل. ويتمثّل الانضباط هنا في التمييز بين:

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

على التصميم الذي يعجز عن بيان ثوابته العامة وقواعد تحقّقه الحتمية بوضوح أن يفترض أنه حدّد قدرًا أكبر مما ينبغي من السلطة التقديرية، وقدرًا أقل مما ينبغي من المضمون القابل للتحقّق.

6. المبدأ 2: محلية القرار المستقبلي

6.1. صياغة المبدأ

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

6.2. المتطلبات

أي تصميم يستخدم هذا المبدأ:

1. يجب ألا يشترط حصول المشاركين على إذن من مؤسسة قائمة، أو جهة تسجيل، أو لجنة، أو مجلس، أو هيئة سياسات، أو أي سلطة أخرى، لاتّخاذ خيارات لا تغيّر قواعد التحقّق الحتمية لمجموعة التوافق التي يشاركون فيها.
2. يجب ألا ينشئ هيئة دائمة يكون اعترافها المسار الوحيد الذي يمكن عبره أن يصبح تغيير لاحق واقعًا تشغيليًّا.
3. يجب أن يميّز الصحة بموجب المواصفة الأولية عن التوافق مع تغيير اختياري لاحق.
4. يجب ألا يعامل عدم تبنّي تغيير لاحق بوصفه عدم صحة.
5. يجب أن يتيح للمشاركين البقاء في مجموعة توافق قائمة حين لا يتبنّون تغييرًا لاحقًا.
6. يجب أن يتيح للمشاركين الانضمام إلى مجموعة توافق جديدة بتبنّي قواعد تحقّق جديدة أو ملفات تعريف تشغيلية جديدة.
7. يجب أن يتيح للمشاركين الرفض المحلي للحالات أو السجلات أو الانتقالات أو الرسائل غير الصحيحة أو غير المتوافقة بموجب قواعد التحقّق التي يشغّلونها.
8. يجب ألا يخوّل أي مؤسسة أو جهة تسجيل أو لجنة أو هيئة سياسات أو أي طرف آخر إعلان عدم صحة مشارك لمجرد أنه رفض تغييرًا لاحقًا.
9. ينبغي أن يبيّن التفرّعات أو الإصدارات أو ملفات التعريف أو مجموعات التوافق صراحةً، كي يعرف المشاركون أي قواعد يشغّلون، ومع أي مشاركين آخرين يستطيعون إجراء تشغيل بيني.
10. ينبغي أن يتجنّب أي تصميم يستطيع فيه حافظ السجل القائم منع مشاركين مستوفين لشروط الصحة في ما عدا ذلك من مواصلة التشغيل البيني.

6.3. الآثار على التصميم

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

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

لا يُقرّ التغيير المستقبلي مركزيًّا. بل يتبنّاه المشاركون الذين يشغّلون الشيفرة، أو يتجاهلونه، أو يتفرّعون عنه، أو يتخلّون عنه.

يجوز للمشارك الذي يرفض تغييرًا أن يبقى خارج مجموعة التوافق التي ينشئها ذلك التغيير. ويجوز له أن يقطع اتصاله بالآخرين. أو أن يواصل العمل ضمن مجموعة توافق أقدم. أو أن يتفرّع. أو أن يجري تشغيلًا بينيًّا انتقائيًّا. لكنه لا يستطيع تعطيل التشغيل البيني للمشاركين الآخرين الذين يواصلون تشغيل قواعد متوافقة فيما بينهم.

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

7. المبدأ 3: التبنّي الطوعي

7.1. صياغة المبدأ

ينبغي أن تصبح التغييرات في نظام تنسيق الإنترنت واقعًا تشغيليًّا من خلال التنفيذ والتحقّق والنشر التشغيلي والتبنّي من جانب المشاركين، لا بمجرد النشر أو الإعلان.

7.2. المتطلبات

أي تصميم يستخدم هذا المبدأ:

1. يجب ألا يعامل النشر أو التسجيل أو التوصية أو الإقرار في اجتماع أو الإقرار الإجرائي بوصفه كافيًا لإنشاء التزام تشغيلي على الجميع.
2. يجب أن يتيح نشر القواعد أو الامتدادات أو ملفات التعريف أو الإجراءات الجديدة تشغيليًّا على نحو تدريجي، من جانب المشاركين الذين يختارون تشغيلها.
3. يجب أن يتيح للمشاركين رفض تغيير لاحق من دون اكتساب وضع غير صحيح، ما دامت انتقالات حالاتهم تستوفي قواعد التحقّق الحتمية لمجموعة التوافق الخاصة بهم.
4. يجب أن يتيح للمشاركين مواصلة استخدام مجموعة توافق أقدم حيث تسمح المواصفة الأولية بهذه الاستمرارية.
5. يجب أن يتيح للمشاركين الذين يشغّلون مجموعة توافق واحدة رفض الحالة الواردة من مجموعة توافق أخرى أو تجاهلها محليًّا حيث تكون القواعد غير متوافقة.
6. ينبغي أن يحدّد مسارات تبنّي التغييرات الكبرى، بما يشمل الإشارة إلى الإصدارات، ووسم التوافق، وإرشادات الانتقال، ومتجهات الاختبار.
7. ينبغي أن يحدّد مسارات رفض التغييرات الكبرى، بما يشمل كيفية مواصلة المشاركين غير المتبنّين التشغيل، والتعريف بمجموعة توافقهم، وتجنّب التشغيل البيني الملتبس.
8. يجب أن يضمن إمكان الانسحاب من عناصر التنسيق المطلوبة، أو نقلها، أو إنشاء مرايا لها، أو إعادة تنفيذها، أو استبدالها، من دون كلفة انتقال يستحيل تحمّلها.
9. ينبغي أن يجعل السجلات والقيود والتوصيات وعناصر التنسيق تصف الواقع المتبنّى، بدلًا من أن تعلن إيجاد واقع مستقبلي لم يُتبنَّ.
10. يجب أن يتجنّب تصميم نظام يكون فيه الاعتراف المسبق من هيئة قائمة السبيل الوحيد لكي يصبح التغيير واقعًا.

7.3. الآثار على التصميم

التبنّي الطوعي هو الاختبار التشغيلي لمدى فائدة التغيير، وإمكان تحمّله، وتوافقه مع النشر التشغيلي الفعلي.

المقترح ليس واقعًا. والتوصية ليست واقعًا. وتحديث السجل ليس واقعًا. والوثيقة ليست واقعًا. يظهر الواقع حين ينفّذ المشاركون التغيير، ويتحقّقون منه، وينشرونه تشغيليًّا، ويعتمدون عليه.

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

لا يلغي هذا عمليات وضع المعايير، أو السجلات، أو التوثيق، أو المراجعة. بل يحدّ من دعوى سلطتها. يجوز لها أن تساعد المشاركين على التنسيق. وأن تنشر مواد مرجعية. وأن تصف التبنّي. وأن توصي. لكن لا يجوز لها، بمجرد الإعلان، أن تجعل واقعًا مستقبليًّا لم يُتبنَّ ملزمًا لمشاركين لا يشغّلونه.

8. العلاقة بين المبادئ الثلاثة

تدعم المبادئ الثلاثة بعضها بعضًا، ولا تكون فعّالة إذا عُزل أحدها عن البقية.

يضمن الحد الأدنى للمواصفة الأولية أن تحتوي الطبقة المشتركة قواعد تحقّق حتمية، لا سلطة تقديرية.

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

ويضمن التبنّي الطوعي أن يصمد التغيير اللاحق أمام امتحان التنفيذ والاستخدام.

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

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

وتنتج المبادئ مجتمعةً نظامًا تكون فيه الطبقة المشتركة رقيقة، والصحة قابلة للتحقّق محليًّا، والتغيير المستقبلي طوعيًّا، ولا يحتاج فيه التشغيل المعتاد إلى مؤسسة دائمة تقرّره.

9. نمط التصميم الموصى به

9.1. الطبقة المشتركة الحتمية

ينبغي أن تقتصر الطبقة المشتركة على:

– دلالات ثابتة للمعرّفات؛
– قواعد صحة حتمية؛
– قواعد فضّ التعارض اللازمة للحفاظ على التفرّد؛
– متطلبات التشغيل البيني على مستوى النقل عبر الشبكة أو على مستوى البروتوكول؛
– ثوابت أمنية مشتركة؛
– آليات إثبات التحكّم، حيث تلزم؛
– تنسيقات سجلات قابلة للنقل والتدقيق، حيث تلزم السجلات؛
– الإشارة إلى الامتدادات والتعريف بمجموعة التوافق.

ينبغي ألا تحتوي الطبقة المشتركة:

– قواعد نماذج الأعمال؛
– قواعد التسعير؛
– التفضيلات السياسية الإقليمية؛
– أيديولوجيا للأهلية لا صلة لها بالثوابت التقنية؛
– سلطات إنفاذ تقديرية؛
– تقييمات ذاتية للجدارة؛
– توسيع المهمة المؤسسية؛
– أي قاعدة وظيفتها الأساسية الحفاظ على سلطة هيئة قائمة.

9.2. مجال قرارات المشغّل

ينبغي أن تبقى الأمور التالية خارج الطبقة المشتركة، ما لم تغيّر مباشرةً ثابتًا عامًّا منصوصًا عليه:

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

يجوز للمشاركين تبنّي خيارات مختلفة في هذه المجالات. وقد تُنتج هذه الخيارات مجموعات توافق، أو علاقات تجارية، أو ترتيبات تناظر شبكي، أو مجتمعات تشغيلية مختلفة. وهي لا تُنشئ عدم صحة إلا إذا خالفت قواعد التحقّق الحتمية في مجموعة توافق.

9.3. دورة التبنّي

حيثما أمكن، يكون الترتيب المفضّل للتغيير الجوهري في النظام كما يلي:

1. مقترح؛
2. تنفيذ؛
3. متجهات اختبار أو طريقة تحقّق حتمية؛
4. نشر تشغيلي محدود من جانب مشاركين راغبين؛
5. رصد الآثار على التشغيل البيني والأمن؛
6. وسم مجموعة التوافق؛
7. توثيق أو توصية يصفان الواقع المتبنّى.

ينبغي أن يأتي العنصر التنسيقي بعد التبنّي، بدلًا من محاولة استباقه.

9.4. الانسحاب والتفرّع وقابلية النقل

ينبغي للتصميم المطابق أن يعامل الانسحاب والتفرّع وقابلية النقل بوصفها متطلبات تصميم عادية، لا حالات فشل.

ينبغي أن يحدّد النظام كيف يستطيع المشارك:

– مواصلة العمل ضمن مجموعة توافق أقدم؛
– تبنّي مجموعة توافق أحدث؛
– التفرّع إلى مجموعة توافق مختلفة؛
– نقل السجلات أو المعرّفات أو الإثباتات أو الحالة التشغيلية؛
– التحقّق من صحة السجلات من دون الاعتماد على حافظ السجل القائم؛
– إجراء تشغيل بيني انتقائي حيث يسمح التوافق.

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

10. قابلية التطبيق والحدود

ينطبق نمط التصميم هذا على نحو خاص حيث:

– يكون النظام متعدّد الأطراف ومتعدّد الولايات القانونية؛
– يكون النشر التشغيلي المستقل مهمًّا؛
– يُراد لطبقة التنسيق أن تبقى رقيقة؛
– يكون الاختلاف المستقبلي مرجّحًا، لكن يتعذّر توقّعه بالتفصيل؛
– يؤدّي الارتهان إلى مخاطر حوكمة؛
– يمكن جعل الصحة حتمية أو قابلة للتحقّق محليًّا.

وقد يكون أقل قابلية للتطبيق المباشر حيث:

– تكون المعمارية المقصودة نطاقًا إداريًّا واحدًا؛
– يتطلّب الترابط الوثيق في الزمن الحقيقي سلوكًا موحّدًا في جميع الأوقات؛
– تتطلّب اعتبارات سلامة الأرواح توحيدًا فوريًّا على مستوى النظام كله؛
– يتعذّر التحقّق من الصحة محليًّا بأي آلية عملية.

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

11. ما لا تهدف إليه الوثيقة

هذه الوثيقة لا:

– تحظر كل تنسيق؛
– تحظر كل السجلات المشتركة؛
– تشترط تقنية سلسلة الكتل أو دفتر السجلات الموزّع؛
– تضمن الإجماع؛
– تضمن الحياد السياسي؛
– تشترط أن يتبنّى جميع المشاركين كل تغيير لاحق؛
– تعامل رفض التبنّي بوصفه عدم صحة؛
– تضفي الشرعية على سلوك محلي غير متوافق مع الادّعاء بأنه متوافق؛
– تلغي الحاجة إلى قواعد مشتركة حاسمة للأمن.

12. الاعتبارات الأمنية

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

لذلك يجب على المصمّمين الذين يطبّقون هذه الوثيقة تحديد الثوابت الأمنية صراحةً. وعلى وجه الخصوص:

– يجب أن تكون متطلبات المصادقة والتخويل اللازمة للصحة المشتركة حتمية وقابلة للتحقّق محليًّا؛
– يجب أن يتجنّب التفاوض على الإصدارات والتعامل مع الامتدادات خفضًا صامتًا للمستوى حيث يتأثّر الأمن؛
– يجب تحليل مسارات الرفض والتفرّع والاستبدال من حيث مخاطر إساءة الاستخدام وحجب الخدمة؛
– ينبغي أن تكون وسوم التوافق واضحة بما يكفي لمنع التشغيل البيني العرضي بين مجموعات قواعد غير متوافقة؛
– يجب ألا يُسمح للاختلاف المحلي بأن يدّعي زورًا التوافق مع مجموعة قواعد لا يستوفيها.

وجود استثناءات أمنية لا يبرّر طبقة إذن عامة. إنه لا يبرّر سوى قواعد أمنية حتمية لازمة للحفاظ على الثوابت العامة المنصوص عليها.

13. اعتبارات IANA

لا تتطلّب هذه الوثيقة أي إجراءات من IANA.

14. المراجع

14.1. المراجع المعيارية

– RFC 2119 — Bradner, S.، الكلمات المفتاحية المستخدمة في وثائق RFC للدلالة على مستويات المتطلبات، BCP 14، RFC 2119.
– RFC 8174 — Leiba, B.، التباس الأحرف الكبيرة والصغيرة في الكلمات المفتاحية في RFC 2119، BCP 14، RFC 8174.

14.2. المراجع الاسترشادية

– RFC 6709 — Carpenter, B. وB. Aboba، اعتبارات تصميم امتدادات البروتوكولات، RFC 6709.
– RFC 7282 — Resnick, P.، عن التوافق والهمهمة في IETF، RFC 7282.

الملحق A. قائمة التحقّق من التصميم

ينبغي للتصميم الذي يدّعي المطابقة لهذه الوثيقة أن يستطيع الإجابة بوضوح عن الأسئلة التالية:

1. ما الثوابت العامة؟
2. ما قواعد التحقّق الحتمية التي تحافظ على تلك الثوابت العامة؟
3. ما القواعد في المواصفة الأولية الضرورية حصرًا لوضع النظام في التشغيل لأول مرة؟
4. ما مسائل المستقبل التي تُركت عمدًا خارج الطبقة المشتركة؟
5. ما الخيارات المستقبلية التي يستطيع المشاركون اتّخاذها من دون تغيير مجموعة التوافق التي ينتمون إليها؟
6. كيف يتبنّى المشارك تغييرًا لاحقًا؟
7. كيف يرفض المشارك تغييرًا لاحقًا من دون إسناد وضع غير صحيح إليه؟
8. كيف تُوسَم مجموعات التوافق أو تُكتشَف؟
9. كيف يعمل الرفض المحلي حين تكون الحالة غير صحيحة أو غير متوافقة بموجب القواعد التي يشغّلها المشارك؟
10. ما مسار التفرّع؟
11. ما مسار النقل؟
12. ما مسار الانسحاب من أي عنصر تنسيقي مطلوب؟
13. هل يستطيع المشاركون التحقّق من الصحة في التشغيل المعتاد من دون الاعتماد على حافظ السجل القائم؟
14. هل تصف السجلات وعناصر التنسيق الواقع المتبنّى، أم تحاول إعلان إيجاد واقع مستقبلي لم يُتبنَّ؟
15. هل قلّص النظام عدد القرارات المضمّنة في الطبقة المشتركة إلى الحد الأدنى؟
16. هل تجنّب النظام أي سلطة دائمة تحدّد الوضع المعتاد للمشاركين؟

عنوان المؤلف

H. Lu