Summary

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

دفتران أنيقان، ومحفظة واحدة

يشتري الوكيل في مثال المسودة أدوات لمكتب متخيّل. لا يزيد مجموع المشتريات على 200 جنيه إسترليني، ولا تتجاوز العملية الواحدة 100 جنيه. يوقّع المورّد كل طلب توقيعاً مقابلاً، ويحتاج الطلب الذي يزيد على 60 جنيهاً إلى موافقة محددة من صاحب الإذن. يسجّل المثال مشتريات بقيم 45 و80 و25 و80 جنيهاً في دفتر واحد؛ المجموع 230. يكتشف الفاحص التجاوز وغياب موافقة مطلوبة. هنا تظهر قيمة التصميم: كل عمليات الحساب موجودة أمام الفاحص.

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

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

ما الذي تُثبته الأوراق

نشر Pavel Izmaylov الإصدار 01 في 24 أكتوبر 2026. تصنفه صفحة IETF الرسمية مسودة إنترنت فردية من دون مسار عمل معتمد أو مدير مجال مسؤول. ومع ذلك تصف المسودة سجلات محددة: إذناً يوقّعه صاحب الصلاحية بمفتاح مرور، وحدوداً للإجمالي وقيمة العملية وعدد العمليات والفترات المتحركة، وإيصالاً يوقّعه الوكيل لكل فعل. يضع أمين السجل الإيصالات في شجرة ذات رؤوس موقّعة وطوابع زمنية، ويستطيع طرف ثالث فحص ما تسلّمه لاحقاً دون اتصال بالشبكة.

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

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

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

سلامة الشجرة لا تجمع الغابة

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

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

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

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

Sources