المؤلف: فيتاليك بوتيرين، ethresear؛ إعداد: Songxue، Golden Finance
والفرق الرئيسي بين Ethereum ومعظم أنظمة إثبات الحصة (النهائية) الأخرى هو أن Ethereum يحاول دعم عدد كبير جدًا من الأنظمة. كائنات أداة التحقق من الصحة: لدينا حاليًا 895000 كائن أداة التحقق من الصحة، ويظهر تحليل قانون Zipf البسيط أن هذا يتوافق مع عشرات الآلاف من كائنات أداة التحقق من كونها أشخاصًا/كيانات فريدة. والغرض من ذلك هو دعم اللامركزية وحتى السماح للأفراد العاديين بالمشاركة في التوقيع المساحي دون مطالبة كل شخص بالتخلي عن وكالته وإعطاء السيطرة على أحد مجموعات التوقيع المساحي القليلة.
ومع ذلك، يتطلب هذا النهج من سلسلة إيثريوم معالجة عدد كبير من التوقيعات لكل فتحة (حوالي 28000 اليوم؛ 1790000 بعد SSF)، وهو حمل مرتفع جدًا. يتطلب دعم هذه الحمولة تضحيات فنية كبيرة:
يتطلب هذا إثباتًا معقدًا لآليات النشر، بما في ذلك تقسيم البراهين عبر شبكات فرعية متعددة، ويجب تحسين عمليات توقيع BLS بشكل فائق للتحقق من تلك التوقيعات، والمزيد.
ليس لدينا بديل واضح يتسم بالكفاءة والمقاومة الكمومية.
تصبح إصلاحات التحديد المتشعب مثل دمج العرض أكثر تعقيدًا لأنه لا يمكن استخراج التوقيعات الفردية.
من الصعب معرفة توقيعات SNARK بسبب عددها الكبير. تحتاج هيليوس إلى العمل على توقيع إضافي مخصص، يسمى توقيع لجنة المزامنة.
يعمل على زيادة الحد الأدنى الآمن للفاصل الزمني من خلال طلب ثلاث فترات زمنية فرعية في فترة زمنية بدلاً من اثنتين.
قد يبدو نظام تجميع التوقيع معقولاً للوهلة الأولى، لكنه في الواقع يخلق تعقيدًا منهجيًا يتخلل كل جانب.
والأكثر من ذلك، أنها لا تحقق غرضها. لا يزال الحد الأدنى لمتطلبات التوقيع المساحي هو 32 ETH، وهو أمر بعيد المنال بالنسبة للكثيرين. من خلال التحليل المنطقي فقط، على المدى الطويل، يبدو من غير المجدي لنظام يقوم الجميع بتسجيل الدخول فيه توفير الستاكينغ للأشخاص العاديين: إذا كان لدى إيثريوم 500 مليون مستخدم، و10٪ منهم يتعهدون، فهذا يعني أن هناك 100 مليون مستخدم. التوقيعات لكل فتحة. في مصطلحات نظرية المعلومات، تتطلب عمليات قطع المعالجة في هذا التصميم ما لا يقل عن 12.5 ميجابايت من المساحة الحرة للبيانات لكل فتحة، وهو ما يعادل تقريبًا هدف تقسيم البيانات بالكامل (!!!). ربما يكون ذلك ممكنًا، ولكن اشتراط الاعتماد على عينات توفر البيانات سيأتي مع زيادة كبيرة في التعقيد - حتى لو كان ذلك يمثل حوالي 0.6% فقط من سكان العالم، وهذا لا يبدأ حتى في الدخول في المشكلات الحسابية للتحقق الكثير من التوقيعات.
لذا، بدلًا من الاعتماد على مصممي التشفير لإنشاء رصاصات سحرية (أو دروع سحرية للجسم) لتمكين عدد متزايد باستمرار من التوقيعات في كل فترة زمنية، أقترح أن نجري تحولًا فلسفيًا: من السماح اذهب لمثل هذه التوقعات لتبدأ. سيؤدي هذا إلى توسيع مساحة تصميم PoS بشكل كبير والسماح بالكثير من التبسيط الفني، مما يجعله أكثر أمانًا من خلال السماح لشركة Helios بالتسلل مباشرة إلى إجماع Ethereum، ومن خلال إنشاء مخططات توقيع مملة طويلة الأمد مثل Winternitz، كما يمكن أن يكون من الممكن أيضًا حل مشكلة المقاومة الكمومية.
لماذا لا يتم "مجرد استخدام اللجنة"؟
تستخدم العديد من سلاسل الكتل غير المرتبطة بـ Ethereum والتي تواجه هذه المشكلة بالضبط منهجًا قائمًا على اللجنة فيما يتعلق بالأمن. في كل فترة زمنية، يقومون بشكل عشوائي بتحديد عدد N من أدوات التحقق (على سبيل المثال، N يساوي تقريبًا 1000)، وتكون أدوات التحقق هذه مسؤولة عن إكمال تلك الفترة الزمنية. ومن الجدير بالذكر سبب فشل هذا النهج: فهو يفتقر إلى المساءلة.
ولفهم السبب، افترض حدوث هجوم بنسبة 51%. قد يكون هذا هجومًا عكسيًا نهائيًا أو هجومًا على الرقابة. لشن هجوم، لا يزال يتعين على الممثل الاقتصادي الذي يسيطر على غالبية الحصة الموافقة على تنفيذ الهجوم، أي تشغيل البرنامج الذي يشارك في الهجوم، جنبًا إلى جنب مع جميع المدققين الذين يتم انتخابهم في النهاية لعضوية اللجنة. وتضمن رياضيات أخذ العينات العشوائية ذلك. ومع ذلك، فإن العقوبة التي يتحملونها لمثل هذا الهجوم صغيرة لأن معظم المصادقين الذين يوافقون على الهجوم ينتهي بهم الأمر إلى عدم رؤيتهم لأنهم لم يتم انتخابهم لعضوية اللجنة.
في الوقت الحالي، اتخذ إيثريوم الاتجاه المعاكس. في حالة حدوث هجوم بنسبة 51%، سيتم حذف أغلبية مجموعة المدققين المهاجمين بالكامل من حصتهم. وتبلغ التكلفة الحالية للهجوم حوالي 9 ملايين إيثريوم (حوالي 20 مليار دولار)، وهذا يفترض أن مزامنة الشبكة قد تم تعطيلها بطريقة تزيد من فائدة المهاجم.
أعتقد أن هذه تكلفة باهظة، وتكلفة مرتفعة للغاية، ويمكننا تقديم بعض التضحيات في هذه القضية. حتى لو كانت تكلفة الهجوم 1-2 مليون إيثريوم، فهي كافية تمامًا. بالإضافة إلى ذلك، تكمن مخاطر المركزية الرئيسية الموجودة حاليًا في Ethereum في مكان مختلف تمامًا: إذا تم تقليل الحد الأدنى لمبلغ الحصة إلى ما يقرب من الصفر، على نطاق واسع لن يكون الفرق في قوة مجموعة التوقيع كبيرًا جدًا.
ولهذا السبب أدعو إلى حل معتدل: في أداة التحقق فإنه يجعل بعض التضحيات في المساءلة ولكنها لا تزال تحافظ على المبلغ الإجمالي لـ ETH القابل للتخفيض مرتفعًا جدًا، وفي المقابل يمنحنا معظم فوائد مجموعة أدوات التحقق الأصغر.
كيف سيبدو 8192 توقيعًا لكل فترة زمنية ضمن SSF؟
بافتراض وجود بروتوكول إجماع تقليدي من جولتين (على غرار ما يستخدمه Tendermint، وما سيستخدمه SSF حتمًا)، يتطلب كل مدقق مشارك توقيعين في كل فترة زمنية. وعلينا أن نلتف حول هذا الواقع. أرى ثلاث طرق رئيسية يمكننا من خلالها القيام بذلك.
الطريقة الأولى: المشاركة بكل شيء في مجموعات التوقيع المساحي اللامركزية
لدى بايثون مقولة أساسية للغاية:< / p>
يجب أن تكون هناك طريقة واحدة واضحة للقيام بذلك - ويفضل أن تكون واحدة فقط.
فيما يتعلق بمسألة مساواة الرهان، تنتهك Ethereum حاليًا هذه القاعدة لأننا ننفذ استراتيجيتين مختلفتين في نفس الوقت لتحقيق هذا الهدف:(i) الستاكينغ الفردي على نطاق صغير، و(ii) مجموعات الستاكينغ اللامركزية باستخدام تقنية التحقق من الصحة الموزعة (DVT). للأسباب المذكورة أعلاه، (1) يمكن دعم مجموعة فرعية فقط من أصحاب المصلحة الفرديين؛ سيكون هناك دائمًا العديد من الأشخاص الذين يكون الحد الأدنى للإيداع لديهم كبيرًا جدًا. ومع ذلك، تدفع إيثريوم تكلفة عبئًا فنيًا مرتفعًا للغاية لدعم (i).
أحد الحلول الممكنة هو التخلي عن (i) والبدء بكل شيء ( ب). يمكننا زيادة الحد الأدنى لمبلغ التعهد إلى 4096 إيثريوم ووضع حد أقصى إجمالي يبلغ 4096 مدققًا (حوالي 16.7 مليون إيثريوم). من المتوقع أن ينضم أصحاب المصلحة الصغار إلى مجمع DVT: إما عن طريق توفير الأموال أو أن يصبحوا مشغلي العقد. ولمنع إساءة استخدام المهاجمين، يجب أن يكون دور مشغل العقدة مقيدًا بالسمعة بطريقة ما، وسوف تتنافس المجموعات مع بعضها البعض من خلال تقديم خيارات مختلفة في هذا الصدد. التمويل سيكون غير مسموح به.
يمكننا أن نجعل الرهان الجماعي في هذا النموذج أكثر "تسامحًا" عن طريق الحد من العقوبات، على سبيل المثال. إلى 1/8 من إجمالي التعهد المقدم. سيؤدي هذا إلى تقليل الثقة في مشغلي العقد، على الرغم من أن الأمر يستحق التعامل بحذر بسبب المشكلات الموضحة هنا.
الطريقة الثانية: التعهد على مستويين
نقوم بإنشاء مستويين من المراهنين: طبقة "ثقيلة"، تتطلب 4096 ETH، للمشاركة في وضع اللمسات النهائية، وطبقة "خفيفة"، مع عدم وجود حد أدنى لمتطلبات الرهان (ولا يوجد تأخير في الإيداع والسحب وخطر عدم حدوث تخفيضات)، مما يضيف طبقة أخرى من الأمان. لكي تصبح الكتلة نهائية، تحتاج الطبقة الثقيلة إلى الانتهاء منها وتحتاج الطبقة الخفيفة إلى >= 50% من مدققي الضوء عبر الإنترنت للشهادة على ذلك.
هذا التباين مفيد لمقاومة الرقابة ومقاومة الهجوم، لأنه لكي ينجح الهجوم، يجب إتلاف الطبقات الثقيلة والخفيفة. إذا فسدت طبقة واحدة ولم تفسد طبقة أخرى، ستتوقف السلسلة؛ وإذا فسدت طبقة ثقيلة، يمكن معاقبتها.
من المزايا الأخرى لهذا النهج أن الطبقة الخفيفة يمكن أن تشتمل على ETH التي تُستخدم أيضًا كضمان داخل التطبيق. العيب الرئيسي هو أنه يجعل الرهان أقل مساواة من خلال إنشاء فجوة بين أصحاب المصلحة الصغيرة والكبيرة.
الطريقة الثالثة: التناوب للمشاركة (أي اللجنة ولكن المسؤولة)
نحن نتبع نهجًا مشابهًا لتصميم اللجنة الفائقة المقترح هنا: لكل فتحة، نختار 4096 من أدوات التحقق النشطة حاليًا، ويتم تعديل المجموعة بعناية لضمان أننا تبقى آمنة.
ومع ذلك، قمنا بإجراء بعض اختيارات المعلمات المختلفة من أجل تحقيق "أقصى قدر من الربح" ضمن هذا الإطار. على وجه الخصوص، نحن نسمح للمدققين بالمشاركة بأرصدة عالية بشكل تعسفي، وإذا كان المدقق يمتلك أكثر من مبلغ معين من ETH (والتي يجب أن تكون عائمة)، فإنهم يشاركون في اللجنة في كل فترة. إذا كان المدقق لديه N&M ETH، فسيكون لديه احتمال N/M ليكون عضوًا في اللجنة في أي فترة زمنية محددة.
هناك أداة مثيرة للاهتمام لدينا هنا وهي فصل "الوزن" لأغراض التحفيز عن "الوزن" لأغراض الإجماع: يجب أن تكون المكافأة لكل مدقق داخل اللجنة هي نفسها (على الأقل بالنسبة لـ ≥M مدققو ETH) للحفاظ على متوسط المكافأة متناسبًا. لا يزال بإمكاننا إجراء إحصاء إجماعي للمدققين في اللجنة، مرجحًا بواسطة ETH. وهذا يضمن أن كسر النتيجة النهائية يتطلب مبلغًا من ETH يساوي أكثر من ثلث إجمالي مبلغ ETH في اللجنة.
سيحسب تحليل قانون Zipf مقدار ETH على النحو التالي:
- < p>في كل مستوى تربيعي من إجمالي الرصيد، يتناسب عدد المدققين عكسيًا مع مستوى الرصيد هذا، وسيكون إجمالي رصيد هؤلاء المدققين هو نفسه.
لذلك، سيكون لدى اللجنة كمية متساوية من ETH المشاركة من كل مستوى رصيد باستثناء المستويات الأعلى من الحاجز M (المصادقون موجودون دائمًا في اللجنة).
لذلك، لدينا مستوى Log2 (M) في كل مدقق K عند المستوى أعلاه، ومستوى K+K/2+...=2K للتحقق فوق By. وبالتالي، K=4096/Log2(M)+2.
سيحتوي أكبر مدقق على M*k ETH. يمكننا العمل بشكل عكسي: إذا كان أكبر مدقق لديه 2^18=262144 ETH، فهذا يعني (تقريبًا) M = 1024 وk = 256.
إجمالي مبلغ ETH الذي تم التعهد به هو:
إجمالي حقوق ملكية أفضل 512 مصادقًا (2^18*1+2^17*2+ … +2^10*2^8=2359296)
أضف الرهان الأصغر لأخذ العينات العشوائية (2^8*(2^9+2^8+2^7...) وهو تقريبًا يساوي 2^ 8*2^10=2^18)
لقد حصلنا على إجمالي 2,621,440 ETH، أو كانت تكلفة الهجوم حوالي 900 ألف ETH.
العيب الرئيسي لهذا النهج هو أنه يقدم المزيد من التعقيد داخل البروتوكول لتحقيق أمان الإجماع بطريقة تسمح لنا بالاستمرار في تحقيق أمان الإجماع عندما تتغير اللجنة. طريقة لاختيار المدققين بشكل عشوائي.
تتمثل الميزة الرئيسية في أنها تحتفظ بشكل مميز من الستاكينغ المستقل، وتحتفظ بنظام واحد، بل وتسمح بتخفيض الحد الأدنى لمبلغ الحصة إلى مستويات منخفضة جدًا (على سبيل المثال 1 ETH).
الملخص
إذا قررنا ذلك بعد بروتوكول SSF، فإننا نريد الالتزام بما يلي: 8192 توقيعًا، مما سيجعل حياة المنفذين الفنيين أسهل، وكذلك بناة البنية التحتية الداعمة مثل العملاء الخفيفين. يصبح من الأسهل على أي شخص تشغيل عميل إجماعي، ويمكن للمستخدمين وعشاق الستاكينغ وغيرهم العمل على الفور على هذا الافتراض. لم يعد الحمل المستقبلي لبروتوكول إيثريوم مجهولاً: يمكن تحسينه في المستقبل عبر الهارد فورك، ولكن فقط إذا كان المطورون مقتنعين بأن التكنولوجيا قد تحسنت بما يكفي لتكون قادرة على التعامل مع المزيد نفس سهولة التوقيعات لكل فترة زمنية.
سوف يحدد باقي العمل أيًا من الأساليب الثلاثة المذكورة أعلاه نريد اتباعه، أو ربما نهجًا مختلفًا تمامًا. سيكون سؤالاً حول ما هي المقايضات التي نشعر بالارتياح تجاهها، وخاصة كيف نحل المشكلات المعنية، مثل الرهان على السيولة، والتي ربما يمكن حلها بشكل منفصل عن المشكلات الفنية التي أصبحت أسهل الآن. ص>