يستغرق الأمر حوالي 15 دقيقة حتى تصبح كتلة إيثيريوم نهائية. ومع ذلك، يمكننا جعل آلية الإجماع في إيثيريوم تتحقق من الكتل بكفاءة أكبر وتقليل وقت الوصول إلى النهائية بشكل كبير. بدلاً من الانتظار لمدة خمسة عشر دقيقة، يمكن اقتراح الكتل وجعلها نهائية في نفس الخانة. يُعرف هذا المفهوم باسم نهائية الخانة الواحدة (SSF).
ما هي النهائية؟
في آلية الإجماع القائمة على إثبات الحصة (PoS) في إيثيريوم، تشير النهائية إلى الضمان بأنه لا يمكن تغيير كتلة أو إزالتها من سلسلة الكتل دون حرق ما لا يقل عن 33% من إجمالي ETH المخزن كحصة. هذا هو الأمان "الكريبتو-اقتصادي" لأن الثقة تأتي من التكلفة العالية للغاية المرتبطة بتغيير ترتيب أو محتوى السلسلة والتي من شأنها أن تمنع أي فاعل اقتصادي عقلاني من محاولة ذلك.
لماذا نهدف إلى نهائية أسرع؟
لقد تبين أن الوقت الحالي للوصول إلى النهائية طويل جداً. لا يرغب معظم المستخدمين في الانتظار لمدة 15 دقيقة للوصول إلى النهائية، ومن غير المريح للتطبيقات والمنصات التي قد ترغب في قدرة معالجة عالية للمعاملات أن تضطر إلى الانتظار كل هذا الوقت للتأكد من أن معاملاتها دائمة. كما أن وجود تأخير بين اقتراح الكتلة وجعلها نهائية يخلق فرصة لإعادة تنظيم قصيرة يمكن للمهاجم استخدامها لفرض رقابة على كتل معينة أو استخراج القيمة القابلة للاستخراج من قبل المُعَدِّن (MEV). الآلية التي تتعامل مع ترقية الكتل على مراحل معقدة للغاية أيضاً وقد تم تصحيحها عدة مرات لسد الثغرات الأمنية، مما يجعلها واحدة من أجزاء قاعدة كود إيثيريوم حيث من المرجح أن تظهر أخطاء دقيقة. يمكن القضاء على كل هذه المشكلات عن طريق تقليل وقت الوصول إلى النهائية إلى خانة واحدة.
مقايضة اللامركزية / الوقت / العبء الإضافي
ضمان النهائية ليس خاصية فورية لكتلة جديدة؛ بل يستغرق الأمر وقتاً حتى تصبح الكتلة الجديدة نهائية. والسبب في ذلك هو أن المُدَقِّقين الذين يمثلون ما لا يقل عن 2/3 من إجمالي ETH المخزن كحصة على الشبكة يجب أن يصوتوا للكتلة ("يصدقوا عليها") حتى تُعتبر نهائية. يجب على كل عقدة تدقيق على الشبكة معالجة التصديقات من العقد الأخرى من أجل معرفة ما إذا كانت الكتلة قد حققت عتبة 2/3 أم لا.
كلما قصر الوقت المسموح به للوصول إلى النهائية، زادت قوة الحوسبة المطلوبة في كل عقدة لأن معالجة التصديق يجب أن تتم بشكل أسرع. أيضاً، كلما زاد عدد عقد التدقيق الموجودة على الشبكة، زاد عدد التصديقات التي يجب معالجتها لكل كتلة، مما يضيف أيضاً إلى قوة المعالجة المطلوبة. وكلما زادت قوة المعالجة المطلوبة، قل عدد الأشخاص الذين يمكنهم المشاركة لأن هناك حاجة إلى أجهزة أكثر تكلفة لتشغيل كل عقدة تدقيق. تؤدي زيادة الوقت بين الكتل إلى تقليل قوة الحوسبة المطلوبة في كل عقدة ولكنها تطيل أيضاً وقت الوصول إلى النهائية، لأن التصديقات تتم معالجتها بشكل أبطأ.
لذلك، هناك مقايضة بين العبء الإضافي (قوة الحوسبة)، واللامركزية (عدد العقد التي يمكنها المشاركة في تدقيق السلسلة) ووقت الوصول إلى النهائية. يوازن النظام المثالي بين الحد الأدنى من قوة الحوسبة، والحد الأقصى من اللامركزية، والحد الأدنى من وقت الوصول إلى النهائية.
وازنت آلية الإجماع الحالية في إيثيريوم بين هذه المعلمات الثلاث من خلال:
- تحديد الحد الأدنى لحصة التخزين عند 32 ETH. يضع هذا حداً أقصى لعدد تصديقات المُدَقِّقين التي يجب معالجتها بواسطة العقد الفردية، وبالتالي حداً أقصى للمتطلبات الحسابية لكل عقدة.
- تحديد وقت الوصول إلى النهائية عند حوالي 15 دقيقة. يمنح هذا وقتاً كافياً للمُدَقِّقين الذين يعملون على أجهزة كمبيوتر منزلية عادية لمعالجة التصديقات لكل كتلة بأمان.
مع تصميم الآلية الحالية، من أجل تقليل وقت الوصول إلى النهائية، من الضروري تقليل عدد المُدَقِّقين على الشبكة أو زيادة متطلبات الأجهزة لكل عقدة. ومع ذلك، هناك تحسينات يمكن إجراؤها على طريقة معالجة التصديقات والتي يمكن أن تسمح باحتساب المزيد من التصديقات دون الإضافة إلى العبء الإضافي في كل عقدة. ستسمح المعالجة الأكثر كفاءة بتحديد النهائية داخل خانة واحدة، بدلاً من حقبتين.
طرق الوصول إلى نهائية الخانة الواحدة (SSF)
تجمع آلية الإجماع الحالية التصديقات من مُدَقِّقين متعددين، يُعرفون باسم اللجان، لتقليل عدد الرسائل التي يجب على كل مُدَقِّق معالجتها لتدقيق كتلة. يتمتع كل مُدَقِّق بفرصة التصديق في كل حقبة (32 خانة) ولكن في كل خانة، تقوم مجموعة فرعية فقط من المُدَقِّقين، تُعرف باسم "اللجنة"، بالتصديق. يفعلون ذلك عن طريق الانقسام إلى شبكات فرعية يتم فيها اختيار عدد قليل من المُدَقِّقين ليكونوا "مُجَمِّعين". يجمع كل من هؤلاء المُجَمِّعين جميع التوقيعات التي يرونها من المُدَقِّقين الآخرين في شبكتهم الفرعية في توقيع مجمع واحد. يمرر المُجَمِّع الذي يتضمن أكبر عدد من المساهمات الفردية توقيعه المجمع إلى مقترح الكتلة، الذي يدرجه في الكتلة جنباً إلى جنب مع التوقيع المجمع من اللجان الأخرى.
توفر هذه العملية سعة كافية لكل مُدَقِّق للتصويت في كل حقبة، لأن 32 slots * 64 committees * 256 validators per committee = 524,288 validators per epoch. في وقت كتابة هذا التقرير (فبراير 2023) كان هناك حوالي 513,000 مُدَقِّق نشط.
في هذا المخطط، لا يمكن لكل مُدَقِّق التصويت على كتلة إلا من خلال توزيع تصديقاتهم عبر الحقبة بأكملها. ومع ذلك، هناك طرق محتملة لتحسين الآلية بحيث تتاح لكل مُدَقِّق فرصة التصديق في كل خانة.
منذ تصميم آلية الإجماع في إيثيريوم، وُجد أن مخطط تجميع التوقيعات (BLS) أكثر قابلية للتوسع بكثير مما كان يُعتقد في البداية، في حين تحسنت أيضاً قدرة العملاء على معالجة التوقيعات والتحقق منها. اتضح أن معالجة التصديقات من عدد هائل من المُدَقِّقين ممكنة بالفعل داخل خانة واحدة. على سبيل المثال، مع مليون مُدَقِّق يصوت كل منهم مرتين في كل خانة، وتعديل أوقات الخانة لتكون 16 ثانية، سيُطلب من العقد التحقق من التوقيعات بمعدل لا يقل عن 125,000 تجميع في الثانية من أجل معالجة جميع التصديقات البالغ عددها مليون تصديق داخل الخانة. في الواقع، يستغرق الكمبيوتر العادي حوالي 500 نانوثانية لإجراء تحقق واحد من التوقيع، مما يعني أنه يمكن إجراء 125,000 تحقق في حوالي 62.5 ms - وهو أقل بكثير من عتبة الثانية الواحدة.
يمكن تحقيق المزيد من مكاسب الكفاءة من خلال إنشاء لجان فائقة تتكون، على سبيل المثال، من 125,000 مُدَقِّق يتم اختيارهم عشوائياً لكل خانة. يحق لهؤلاء المُدَقِّقين فقط التصويت على كتلة، وبالتالي فإن هذه المجموعة الفرعية فقط من المُدَقِّقين هي التي تقرر ما إذا كانت الكتلة نهائية. ما إذا كانت هذه فكرة جيدة أم لا يعود إلى مدى التكلفة التي يفضل المجتمع أن يكون عليها الهجوم الناجح على إيثيريوم. وذلك لأنه بدلاً من اشتراط 2/3 من إجمالي الإيثر المخزن كحصة، يمكن للمهاجم جعل كتلة غير نزيهة نهائية باستخدام 2/3 من الإيثر المخزن كحصة في تلك اللجنة الفائقة. لا يزال هذا مجالاً نشطاً للبحث، ولكن يبدو من المعقول أنه بالنسبة لمجموعة مُدَقِّقين كبيرة بما يكفي لاشتراط لجان فائقة في المقام الأول، فإن تكلفة مهاجمة إحدى هذه اللجان الفرعية ستكون مرتفعة للغاية (على سبيل المثال، ستكون تكلفة الهجوم المقومة بـ ETH هي 2/3 * 125,000 * 32 = ~2.6 million ETH). يمكن تعديل تكلفة الهجوم عن طريق زيادة حجم مجموعة المُدَقِّقين (على سبيل المثال، ضبط حجم المُدَقِّق بحيث تساوي تكلفة الهجوم مليون إيثر، 4 ملايين إيثر، 10 ملايين إيثر، إلخ). يبدو أن استطلاعات الرأي الأولية (opens in a new tab) للمجتمع تشير إلى أن 1-2 مليون إيثر هي تكلفة هجوم مقبولة، مما يعني حوالي 65,536 - 97,152 مُدَقِّقاً لكل لجنة فائقة.
ومع ذلك، فإن التحقق ليس هو عنق الزجاجة الحقيقي - بل إن تجميع التوقيعات هو ما يمثل تحدياً حقيقياً لعقد المُدَقِّقين. لتوسيع نطاق تجميع التوقيعات، سيتطلب الأمر على الأرجح زيادة عدد المُدَقِّقين في كل شبكة فرعية، أو زيادة عدد الشبكات الفرعية، أو إضافة طبقات إضافية من التجميع (أي تنفيذ لجان من اللجان). قد يكون جزء من الحل هو السماح لمُجَمِّعين متخصصين - على غرار الطريقة التي سيتم بها الاستعانة بمصادر خارجية لبناء الكتل وإنشاء التزامات لبيانات التجميع لبناة كتل متخصصين في ظل فصل المقترح عن الباني (PBS) وتجزئة دانك.
ما هو دور قاعدة اختيار التفرع في نهائية الخانة الواحدة (SSF)؟
تعتمد آلية الإجماع اليوم على اقتران وثيق بين أداة النهائية (الخوارزمية التي تحدد ما إذا كان 2/3 من المُدَقِّقين قد صدقوا على سلسلة معينة) وقاعدة اختيار التفرع (الخوارزمية التي تقرر أي سلسلة هي الصحيحة عندما تكون هناك خيارات متعددة). تأخذ خوارزمية اختيار التفرع في الاعتبار الكتل منذ آخر كتلة نهائية فقط. في ظل نهائية الخانة الواحدة (SSF)، لن تكون هناك أي كتل لتأخذها قاعدة اختيار التفرع في الاعتبار، لأن النهائية تحدث في نفس الخانة التي يتم فيها اقتراح الكتلة. هذا يعني أنه في ظل نهائية الخانة الواحدة (SSF)، ستكون إما خوارزمية اختيار التفرع أو أداة النهائية نشطة في أي وقت. ستقوم أداة النهائية بجعل الكتل نهائية حيث يكون 2/3 من المُدَقِّقين متصلين بالإنترنت ويصدقون بصدق. إذا لم تتمكن الكتلة من تجاوز عتبة 2/3، فستتدخل قاعدة اختيار التفرع لتحديد السلسلة التي يجب اتباعها. يخلق هذا أيضاً فرصة للحفاظ على آلية تسرب الخمول التي تستعيد سلسلة حيث يصبح > 1/3 من المُدَقِّقين غير متصلين بالإنترنت، وإن كان ذلك مع بعض الفروق الدقيقة الإضافية.
القضايا المعلقة
تكمن المشكلة في توسيع نطاق التجميع عن طريق زيادة عدد المُدَقِّقين لكل شبكة فرعية في أنه يؤدي إلى حمل أكبر على شبكة نظير إلى نظير. وتكمن المشكلة في إضافة طبقات من التجميعات في أنها معقدة للغاية من الناحية الهندسية وتضيف زمن انتقال (أي قد يستغرق الأمر وقتاً أطول حتى يسمع مقترح الكتلة من جميع مُجَمِّعي الشبكة الفرعية). كما أنه ليس من الواضح كيفية التعامل مع السيناريو الذي يوجد فيه عدد من المُدَقِّقين النشطين على الشبكة أكثر مما يمكن معالجته بشكل عملي في كل خانة، حتى مع تجميع توقيع BLS. أحد الحلول المحتملة هو أنه نظراً لأن جميع المُدَقِّقين يصدقون في كل خانة ولا توجد لجان في ظل نهائية الخانة الواحدة (SSF)، يمكن إزالة الحد الأقصى البالغ 32 ETH على الرصيد الفعال بالكامل، مما يعني أن المشغلين الذين يديرون مُدَقِّقين متعددين يمكنهم دمج حصة التخزين الخاصة بهم وتشغيل عدد أقل، مما يقلل من عدد الرسائل التي يجب على عقد التدقيق معالجتها لحساب مجموعة المُدَقِّقين بأكملها. يعتمد هذا على موافقة كبار أصحاب حصص التخزين على دمج مُدَقِّقيهم. من الممكن أيضاً فرض حد أقصى ثابت على عدد المُدَقِّقين أو كمية ETH المخزنة كحصة في أي وقت. ومع ذلك، يتطلب هذا بعض الآليات لتحديد المُدَقِّقين المسموح لهم بالمشاركة ومن غير المسموح لهم، وهو ما قد يؤدي إلى خلق تأثيرات ثانوية غير مرغوب فيها.
التقدم الحالي
نهائية الخانة الواحدة (SSF) في مرحلة البحث. من غير المتوقع إطلاقها لعدة سنوات، ومن المحتمل أن يكون ذلك بعد ترقيات جوهرية أخرى مثل أشجار فيركل وتجزئة دانك.