مفهوم «الإجماع» في سلاسل الكُتل‏

📚 4 min read X this post
صورة شائعة لكنها غير دقيقة لمفهوم «الإجماع» في سلاسل الكُتل
صورة شائعة لكنها غير دقيقة لمفهوم «الإجماع» في سلاسل الكُتل

هذه ترجمة عربية لمقالة بابلو روزي بعنوان «Vocabulaire : consensus».‏ مع بعض التصرفات اللغوية والتوضيحات لتيسير الفهم بالعربية.

في النقاشات المتعلقة بتقنية سلسلة الكُتل (Blockchain)، نسمع كثيرًا مصطلح «الإجماع». فعلى سبيل المثال، يمكن أن نقرأ عبارات مثل: «سلسلة الكُتل هيسجل موزّع (أي توجد نسخة من السجل موجودة عند كل المشاركين في الشبكة)، يُسجِّل المعاملات التي يحصل حولها إجماع على الشبكة».

ولكن، ماذا نعني هنا بمصطلح «الإجماع»؟

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

فعلى سبيل المثال، نقول إن قرارًا ما «اتُّخذ بالإجماع» إذا لم يعترض عليه أحد.

ولكي يكون الأمر أكثر وضوحًا، فإن مفهوم الاتفاق هنا يعني:

  • «أنا موافق، هذا ما أريده، وهو ما ينسجم مع قناعاتي» (إجماع قوي)
  • أو: «لا أعترض، وأراه مقبولًا» (إجماع ضعيف)

في علم الحاسوب، يُطلَق مصطلح الإجماع على اتفاق مجموعة من الآلات على قيمة واحدة. فالأمر هنا لم يَعُد مرتبطًا بقرار سياسي أو بموافقة أخلاقية على قرارٍ ما (القيمة التي يجب اختيارها)، بل يقتصر ببساطة على أن تصل جميع الآلات إلى القيمة نفسها، أيًّا كانت تلك القيمة 1.

الهدف إذًا هو أن تُحسَم المسألة في وقت محدود، بحيث تتخذ جميع الآلات القرار نفسه حول قيمة واحدة. ومن الناحية التقنية، يمكن لآلة واحدة أن تقوم بدور «الديكتاتور»، فتختار القيمة وتُبلّغها مباشرة إلى باقي الآلات2.

وللتوضيح أكثر، فإن مفهوم الاتفاق هنا يعني ببساطة: «حسنًا، فهمت، سنفعل الأمر على هذا النحو».

ومن الواضح أن المفهوم في علم الحاسوب يختلف تمامًا عن معناه في اللغة المتداولة (إذ لا مجال هنا حتى للحديث عن إجماع ضعيف).

هناك أسلوبان رئيسيان لتحقيق الإجماع في سلاسل الكُتل.

في الأسلوب الأول، وهو المعتمد على «إثبات العمل (Proof of Work)»، تفرض سلاسل الكُتل قيودًا مسبقة على قيم الإجماع الممكنة. ويستلزم ذلك تنفيذ عدد كبير من العمليات الحسابية العشوائية لإيجاد حل، أي كتلة صحيحة (Valid Block).

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

أما في سلاسل الكُتل التي تعتمد «إثبات الحصّة (Proof of Stake)»، فيُختار المشارك الذي سيقترح الكتلة الجديدة بطريقة عشوائية تشبه القرعة.

لكن هذه القرعة ليست متساوية للجميع، إذ تمنح فرصة أكبر لمن يملك حصّة أكبر — مثل العملات المشفّرة أو رموز (tokens) أو غيرها من الأصول الرقمية (stake) التي يشترط البروتوكول رهنها للمشاركة — وتزداد هذه الفرصة كلما كانت الحصّة مودعة منذ فترة أطول.

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

نلاحظ في كلتا الحالتين أن خوارزمية الإجماع تعتمد بشكل مباشر على أن تكون سلسلة الكُتل ذات قيمة مالية.

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

في نظام «إثبات الحصّة»: لا تنجح الفكرة إلا إذا كانت الحصّة (Stake) لها قيمة مالية حقيقية. لأن المشارك إذا تصرّف بسوء نية أو فقدت الشبكة مصداقيتها، فسيتكبّد خسارة مالية من حصّته.

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

إذًا، لا يتعلق الأمر في الحالتين باختيار «ديكتاتور» عشوائي للجولة فحسب، بل إننا نعلم أن القرار الذي سيتخذه هذا «الديكتاتور» ويفرضه على الشبكة هو قرار يمنح فيه المكافأة لنفسه — وهو خيار لم يكن ليوافق أي مشارك آخر عليه.

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

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

وللإنصاف، لا يحدث ذلك بالضرورة عن سوء نيّة، بل في الغالب بسبب سوء فهم لمعنى «الإجماع» في سلاسل الكُتل. ومع ذلك، فإن هذا لا يُحسّن من النتيجة.

وعلى كل حال، رأيت ضرورة توضيح معنى «الإجماع» عند الحديث عن سلاسل الكُتل.

الهوامش

  1. هناك رغم ذلك بعض القيود؛ فمثلًا، يجب أن تكون القيمة قد اقتُرِحت من قِبل إحدى الآلات المشاركة على الأقل، لكن ليس بالضرورة من قِبل الأغلبية!

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

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

blockchain cryptocurrency web3