كيف تعمل عمليات السحب في إيثيريوم؟
كيف تعمل عمليات سحب التخزين في إيثيريوم بعد ترقية شانغهاي/كابيلا، بما في ذلك العملية الفنية، وقائمة انتظار السحب، وما يحتاج المخزنون إلى معرفته حول الوصول إلى إيثر (ETH) المخزن الخاص بهم.
Date published: 30 مارس 2023
شرح مقدم من فاينماتيكس يغطي كيف تعمل عمليات سحب التخزين في إيثيريوم بعد ترقية شانغهاي/كابيلا (Shanghai/Capella)، بما في ذلك آليات السحب الجزئي والكامل، والمفاهيم الخاطئة الشائعة، والآثار المترتبة على نظام التخزين البيئي.
هذا النص هو نسخة يسهل الوصول إليها من النص الأصلي للفيديو (opens in a new tab) الذي نشرته فاينماتيكس. تم تعديله قليلاً لتسهيل القراءة.
سلسلة المنارة (0:31)
مع اقتراب ترقية شانغهاي/كابيلا (Shanghai/Capella) بسرعة، هناك الكثير من النقاش حول عمليات سحب التخزين في إيثيريوم وما يعنيه ذلك لنظام إيثيريوم البيئي ككل.
دعونا نبدأ بفهم كيف وصلنا إلى هنا ولماذا لم يتم تمكين عمليات سحب التخزين عندما انتقلت إيثيريوم من إثبات العمل (PoW) إلى إثبات الحصة (PoS).
حدث الانتقال إلى إثبات الحصة (PoS) عبر خطوات متعددة لتقليل عدد التغييرات الكبيرة التي تحدث في نفس الوقت. كان هذا النهج ضروريًا، خاصة بالنسبة لشبكة راسخة تقوم بتسوية تريليونات الدولارات من القيمة سنويًا. كانت أهم الخطوات هي: إطلاق سلسلة المنارة، والدمج.
أدى إطلاق سلسلة المنارة في عام 2020 إلى إرساء الأساس للانتقال من خلال إنشاء طبقة إجماع منفصلة تعتمد على إثبات الحصة (PoS)، تعمل جنبًا إلى جنب مع سلسلة إثبات العمل (PoW) الخاصة بإيثيريوم. سمح إطلاق سلسلة المنارة مبكرًا بتراكم ما يكفي من ETH لتأمين الشبكة قبل تسوية المعاملات ذات القيمة الحقيقية. كما سمح باختبار نموذج إجماع إثبات الحصة (PoS) الجديد لفترة ممتدة مع وجود أموال حقيقية كحصة تخزين.
التزم المشاركون الأوائل في الشبكة بملايين من ETH لتأمين شبكة إثبات الحصة (PoS) الخاصة بإيثيريوم على الرغم من معرفتهم بأنهم لن يتمكنوا من سحب ETH الخاص بهم إلا في وقت لاحق.
الخطوة الكبيرة التالية، الدمج، وحدت طبقة الإجماع القائمة على إثبات الحصة (PoS) مع طبقة التنفيذ. سمح هذا أخيرًا بالابتعاد عن إثبات العمل (PoW) والحفاظ على سلسلة أساسية واحدة فقط — إيثيريوم — مؤمنة الآن بملايين من ETH المخزنة. كان الدمج إلى حد بعيد أكبر تغيير حدث على الإطلاق في إيثيريوم. نظرًا لطبيعة الترقية، كان يجب أن تحدث دون أي توقف.
لتقليل المخاطر، تم تقليص نطاق الدمج، ولم يتم تضمين أي ميزات أخرى — خارج التبديل من إثبات العمل (PoW) إلى إثبات الحصة (PoS) — كجزء من الترقية. أكبر "اقتطاع" كان يجب القيام به أثر على عمليات السحب، والتي أصبحت محور ترقية شانغهاي/كابيلا (Shanghai/Capella) القادمة.
عمليات السحب (2:09)
عمليات سحب التخزين، كما يوحي الاسم، ستسمح للمخزنين بسحب ETH المقفل الخاص بهم. هناك نوعان من عمليات السحب: "جزئي" و"كامل".
يحدث السحب الجزئي عندما يقوم المُدَقِّق بسحب مكافآته المتراكمة — الرصيد الإضافي علاوة على الحد الأقصى للرصيد الفعال البالغ 32 ETH. يمكن أيضًا الإشارة إلى السحب الجزئي باسم "دفع المكافأة" أو "دفع الرصيد الزائد".
يحدث السحب الكامل عندما يكمل المُدَقِّق عملية الخروج ويتم سحب الرصيد بالكامل. يحدث هذا فقط عندما يخرج المُدَقِّق من النظام إما طواعية أو عن طريق إزالته قسرًا في عملية تسمى "الاقتطاع".
بمجرد تمكينها، سيتم توزيع عمليات سحب التخزين تلقائيًا كل بضعة أيام. بالإضافة إلى ذلك، تبدأ عملية السحب على طبقة الإجماع، لذلك لا يلزم دفع أي رسوم معاملة في أي من الخطوات.
من أجل البدء في سحب مكافآت التخزين الخاصة بهم، سيتعين على المُدَقِّق تقديم عنوان السحب الخاص به مرة واحدة فقط. نظرًا لأن عمليات السحب تؤثر على كل من طبقة الإجماع وطبقة التنفيذ في إيثيريوم، يجب تحديث كلا الجزأين من الشبكة. "شانغهاي" هو اسم ترقية طبقة التنفيذ التي تحتوي على عمليات السحب، والمحددة في EIP-4895. "كابيلا" هو اسم ترقية طبقة الإجماع المقابلة، والتي يتم تنشيطها في نفس الوقت. يشار أحيانًا إلى هاتين الترقيتين معًا باسم "شابيلا".
الآليات (3:40)
في نظام إيثيريوم البيئي، كل مُدَقِّق لديه رقم مؤشر مقابل. بالإضافة إلى ذلك، لديهم أيضًا نوعان من بيانات اعتماد السحب، يتم تعريفهما إما كـ 0x00 أو 0x01.
يشير 0x00 إلى أن مُدَقِّقًا معينًا ليس لديه عنوان سحب مرتبط. تُشتق بيانات الاعتماد هذه كتجزئة للمفتاح العام BLS مع استبدال البايت الأول الخاص به ببايت صفري — ومن هنا جاء الاسم.
يعني 0x01 أن المُدَقِّق قدم عنوان السحب الخاص به. يتم تمثيل بيانات اعتماد السحب هذه كـ 0x01 متبوعة بـ 11 بايت من الأصفار، ثم عنوان إيثيريوم المختار.
من أجل تمكين عمليات السحب، سيحتاج المُدَقِّقون الذين لديهم بيانات اعتماد 0x00 إلى توقيع رسالة "BLSToExecutionChange". سيكون هذا ممكنًا بعد ترقية كابيلا.
بمجرد تمكين عمليات السحب، سيقوم المُدَقِّق الذي يقترح كتلة بالمسح الخطي عبر مؤشرات المُدَقِّقين للعثور على أول 16 مُدَقِّقًا لديهم بيانات اعتماد 0x01 والذين إما:
- لديهم رصيد يتجاوز 32 ETH (مكافآت المُدَقِّق المتراكمة)
- "قابلون للسحب" (خرجوا بالكامل من مجموعة المُدَقِّقين)
يتوقف البحث الخطي إما بعد العثور على 16 مُدَقِّقًا يطابقون هذه المعايير أو بعد 16,384 تكرارًا. تتذكر الخوارزمية المؤشر الذي توقف عنده البحث، بحيث يمكن للمُدَقِّق التالي الذي يقترح كتلة الاستئناف من ذلك المؤشر. بعد الوصول إلى المؤشر الأخير، تبدأ الخوارزمية من البداية — المؤشر 0.
تشبيه جيد سيكون ساعة تناظرية حيث يشير العقرب إلى الساعة، ويتقدم في اتجاه واحد، ولا يتخطى أي ساعات، ويلتف في النهاية إلى البداية مرة أخرى بعد الوصول إلى الرقم الأخير.
بعد اكتمال المسح، يقوم المُدَقِّق بإنشاء قائمة بعمليات السحب ليتم تضمينها في حمولة التنفيذ الخاصة به. يحتوي كل عنصر في القائمة على:
- WithdrawalIndex — مؤشر يتزايد بشكل رتيب، يبدأ من 0، ويزداد بمقدار 1 لكل عملية سحب لتحديد كل عملية سحب بشكل فريد
- ValidatorIndex — مؤشر المُدَقِّق الذي يتم سحب رصيده
- ExecutionAddress — عنوان ETH على طبقة التنفيذ حيث يجب إرسال السحب
- Amount — المبلغ، بوحدة Gwei، الذي سيتم إرساله إلى عنوان التنفيذ
عند بناء أو معالجة كتلة، يقوم عملاء طبقة التنفيذ بتطبيق عمليات السحب هذه في نهاية الكتلة. لا تتنافس معالجة عمليات السحب مع معاملات المستخدمين على مساحة الكتلة. مع معالجة حد أقصى يبلغ 16 عملية سحب لكل كتلة، يجب أن يكون هناك حد أقصى يبلغ 115,200 عملية سحب تتم معالجتها يوميًا، بافتراض عدم تفويت أي فترات زمنية (slots).
تصميم عمليات السحب بسيط ولكنه قوي للغاية.
مفاهيم خاطئة (6:30)
ينص المفهوم الخاطئ الأول على أنه عند معالجة عمليات السحب، هناك فرق بين السحب "الكامل" و"الجزئي" من حيث الأولوية أو الترتيب. تحدث كل من عمليات السحب الكاملة والجزئية عندما يصل المسح الخطي عبر مجموعة المُدَقِّقين إلى مؤشر المُدَقِّق. الفرق الوحيد هو أنه في حالة عمليات السحب الكاملة، يجب أن يغادر المُدَقِّق قائمة انتظار الخروج ويصل إلى "حقبة قابلة للسحب" قبل أن يتمكن المسح الخطي من التقاطه.
مفهوم خاطئ آخر هو أن المستخدمين سيفقدون مكافآتهم إذا لم يقدموا عنوان سحب. هذا ليس صحيحًا — في حال نسي المُدَقِّق تقديم عنوان سحب، فلن يتم إرسال مكافآت ETH الخاصة به إلى الفراغ بمجرد تمكين عمليات السحب. بدلاً من ذلك، سيتخطى المسح المُدَقِّقين الذين لم يقدموا عناوين السحب الخاصة بهم.
من المهم أن تتذكر أنه لا يمكن تغيير عنوان السحب ويتم تعيينه مرة واحدة فقط. يجب أن يكون المخزنون حذرين للغاية عند إعداد عنوان السحب، والتأكد من أن لديهم ملكية كاملة للعنوان المقدم.
هناك أيضًا تكهنات بأن المخزنين سيسحبون الكثير من ETH من نظام إيثيريوم البيئي بمجرد تمكين عمليات السحب، مع افتراض النسخة الأقوى من هذه الحجة أن ذلك سيزعزع استقرار آلية الإجماع القائمة على إثبات الحصة (PoS). على الرغم من أننا لا نستطيع التنبؤ بالكامل بمقدار ETH الذي سيتم سحبه بمرور الوقت، إلا أن هناك بعض الحجج المضادة المهمة:
أولاً، معظم المخزنين هم من أوائل المتبنين لإيثيريوم الذين كانوا شجعانًا بما يكفي للتخزين عندما كان لا يزال من غير المؤكد متى سيتم تمكين عمليات السحب. أعرب العديد من المخزنين عن رغبتهم في مواصلة التخزين لدعم الشبكة ومواصلة كسب المكافآت المقومة بـ ETH.
ثانيًا، لضمان بقاء آلية الإجماع القائمة على إثبات الحصة (PoS) والمجموعة النشطة من المُدَقِّقين مستقرة، نفذت إيثيريوم قائمة انتظار سحب لجميع المُدَقِّقين الراغبين في الخروج. تحد هذه القائمة من عدد المُدَقِّقين الذين يمكنهم مغادرة النظام البيئي في وقت واحد.
سيقوم مسح السحب الأول بسحب الكثير من المكافآت المتراكمة — بشكل أساسي منذ بداية سلسلة المنارة. ومع ذلك، ستعالج عمليات المسح اللاحقة كمية أصغر بكثير من ETH.
الآثار المترتبة (8:39)
سيؤدي تمكين عمليات السحب إلى إنشاء تدفق تخزين مفتوح ثنائي الاتجاه. حاليًا، تدفق التخزين أحادي الاتجاه — يمكن لـ ETH أن يتدفق فقط إلى الشبكة ولا يخرج منها أبدًا. ومن المثير للاهتمام أن تمكين عمليات السحب قد يحفز المزيد من الأشخاص على التخزين، حيث سيعرفون أنه يمكنهم دائمًا سحب ETH الخاص بهم إذا لزم الأمر لشيء آخر.
سيتمكن المخزنون الذين لا يديرون مُدَقِّقيهم الخاصين ويقومون بالتخزين مع مزود تخزين مركزي من تغيير مزودهم إلى مزود آخر. يمكنهم سحب الأموال من مزود يقدم معدل تخزين أقل إلى مزود يقدم معدلًا أفضل، أو الانتقال من مزود مركزي إلى مزود لامركزي، أو حتى تشغيل مُدَقِّقهم الخاص.
ستؤثر عمليات السحب أيضًا على مشتقات التخزين السائل مثل Lido وRocket Pool وغيرها. كان لرموز التخزين السائل (LST) مثل stETH أو rETH تاريخ في فقدان ربطها مؤقتًا بسعر ETH أثناء اضطرابات السوق. ومع ذلك، مع تدفق التخزين ثنائي الاتجاه، سيتم الموازنة السريعة لأي تباين كبير في ربطها.
استحوذ المتبنون الأوائل في التخزين السائل والتخزين المركزي على الغالبية العظمى من السوق حيث لم يكن لديهم الكثير من المنافسة. ومع ذلك، يمكن أن تشهد الحصة السوقية لهؤلاء اللاعبين الحاليين تغييرًا كبيرًا بمجرد تمكين عمليات السحب، خاصة إذا لم يقدموا معدلًا تنافسيًا. ستفيد القدرة على التحول بحرية بين مزودي التخزين سوق تخزين ETH.
ملخص (10:01)
يعد تمكين عمليات سحب التخزين أحد أكثر الترقيات المنتظرة في إيثيريوم. سيكون من المهم للغاية التأكد من تنفيذ هذا التغيير بسلاسة. من أجل المساعدة في الاختبار، سيكون لدى المُدَقِّقين العديد من شبكات التطوير (devnets) وشبكات الاختبار (testnets) المتاحة لتشغيل العملية وتسوية أي مشكلات محتملة قبل البث المباشر على الشبكة الرئيسية.
تعد عمليات السحب تحسينًا آخر يخطو بإيثيريوم خطوة أخرى نحو بناء مستقبل مستدام وآمن ولامركزي. من المتوقع أن تتم ترقية شابيلا في النصف الأول من عام 2023.
في وقت تصوير هذا الفيديو، تراكم في سلسلة المنارة أكثر من 17 مليون ETH عبر أكثر من 530,000 مُدَقِّق. يبلغ متوسط رصيد المُدَقِّق أعلى بقليل من 34 ETH، مما يعني أكثر من مليون ETH في المكافآت المتراكمة. سيكون من المثير للاهتمام أن نرى كيف ستؤثر عمليات السحب على هذه الأرقام.