تخطي إلى المحتوى الرئيسي

انعدام الحالة، وانتهاء صلاحية الحالة، وانتهاء صلاحية السجل

تعديل الصفحة (opens in a new tab)

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

اليوم، تعد متطلبات مساحة القرص العالية العائق الرئيسي الذي يمنع الوصول الشامل إلى العقد. ويرجع ذلك أساسًا إلى الحاجة إلى تخزين أجزاء كبيرة من بيانات حالة إيثيريوم. تحتوي بيانات الحالة هذه على معلومات بالغة الأهمية مطلوبة لمعالجة الكتل والمعاملات الجديدة بشكل صحيح. في وقت كتابة هذا التقرير، يوصى باستخدام محرك أقراص ذو حالة صلبة سريع بسعة 2TB SSD لتشغيل عقدة إيثيريوم كاملة. بالنسبة للعقدة التي لا تقوم بتقليم أي بيانات قديمة، تنمو متطلبات التخزين بمعدل حوالي 14GB/week، وتقترب عقد الأرشيف التي تخزن جميع البيانات منذ كتلة التكوين من 12 TB (في وقت كتابة هذا التقرير، في فبراير 2023).

يمكن استخدام محركات أقراص صلبة أرخص لتخزين البيانات القديمة ولكنها بطيئة جدًا في مواكبة الكتل الواردة. إن الحفاظ على نماذج التخزين الحالية للعملاء مع جعل البيانات أرخص وأسهل في التخزين هو مجرد حل مؤقت وجزئي للمشكلة لأن نمو حالة إيثيريوم 'غير محدود'، مما يعني أن متطلبات التخزين لا يمكن إلا أن تزداد، وسيتعين على التحسينات التكنولوجية دائمًا مواكبة النمو المستمر للحالة. بدلاً من ذلك، يجب على العملاء إيجاد طرق جديدة للتحقق من الكتل والمعاملات التي لا تعتمد على البحث عن البيانات من قواعد البيانات المحلية.

تقليل التخزين للعقد

هناك عدة طرق لتقليل كمية البيانات التي يجب على كل عقدة تخزينها، ويتطلب كل منها تحديث بروتوكول إيثيريوم الأساسي بدرجات متفاوتة:

  • انتهاء صلاحية السجل: تمكين العقد من التخلص من بيانات الحالة الأقدم من عدد معين من الكتل، ولكنه لا يغير كيفية تعامل عملاء إيثيريوم مع بيانات الحالة.
  • انتهاء صلاحية الحالة: السماح لبيانات الحالة التي لا يتم استخدامها بشكل متكرر بأن تصبح غير نشطة. يمكن للعملاء تجاهل البيانات غير النشطة حتى يتم إحياؤها.
  • انعدام الحالة الضعيف: يحتاج منتجو الكتل فقط إلى الوصول إلى بيانات الحالة الكاملة، ويمكن للعقد الأخرى التحقق من الكتل دون الحاجة إلى قاعدة بيانات حالة محلية.
  • انعدام الحالة القوي: لا تحتاج أي عقد إلى الوصول إلى بيانات الحالة الكاملة.

انتهاء صلاحية البيانات

انتهاء صلاحية السجل

يشير انتهاء صلاحية السجل إلى قيام العملاء بتقليم البيانات القديمة التي من غير المرجح أن يحتاجوا إليها، بحيث يقومون بتخزين كمية صغيرة فقط من البيانات التاريخية، وإسقاط البيانات القديمة عند وصول بيانات جديدة. هناك سببان لحاجة العملاء إلى البيانات التاريخية: المزامنة وتلبية طلبات البيانات. في الأصل، كان على العملاء المزامنة من كتلة التكوين، والتحقق من صحة كل كتلة متتالية وصولاً إلى رأس السلسلة. اليوم، يستخدم العملاء "نقاط فحص ذاتية ضعيفة" لتمهيد طريقهم إلى رأس السلسلة. نقاط الفحص هذه هي نقاط بداية موثوقة، مثل وجود كتلة تكوين قريبة من الوقت الحاضر بدلاً من البداية الفعلية لإيثيريوم. هذا يعني أنه يمكن للعملاء إسقاط جميع المعلومات السابقة لأحدث نقطة فحص ذاتية ضعيفة دون فقدان القدرة على المزامنة إلى رأس السلسلة. يلبي العملاء حاليًا الطلبات (التي تصل عبر JSON-RPC) للبيانات التاريخية عن طريق جلبها من قواعد بياناتهم المحلية. ومع ذلك، مع انتهاء صلاحية السجل، لن يكون هذا ممكنًا إذا تم تقليم البيانات المطلوبة. تلبية هذه البيانات التاريخية هو المكان الذي يتطلب بعض الحلول المبتكرة.

أحد الخيارات هو أن يطلب العملاء البيانات التاريخية من النظراء باستخدام حل مثل بورتال نيتوورك. بورتال نيتوورك هي شبكة من نظير إلى نظير قيد التطوير لتلبية البيانات التاريخية حيث تقوم كل عقدة بتخزين جزء صغير من سجل إيثيريوم بحيث يكون السجل بأكمله موزعًا عبر الشبكة. يتم تلبية الطلبات من خلال البحث عن النظراء الذين يخزنون البيانات ذات الصلة وطلبها منهم. بدلاً من ذلك، نظرًا لأن التطبيقات هي التي تتطلب عمومًا الوصول إلى البيانات التاريخية، فقد تصبح مسؤوليتها تخزينها. قد يكون هناك أيضًا عدد كافٍ من الجهات الفاعلة الإيثارية في مساحة إيثيريوم التي ترغب في الحفاظ على الأرشيفات التاريخية. يمكن أن تكون منظمة مستقلة لامركزية (DAO) يتم إنشاؤها لإدارة تخزين البيانات التاريخية، أو من الناحية المثالية ستكون مزيجًا من كل هذه الخيارات. يمكن لهؤلاء المزودين تقديم البيانات بعدة طرق، مثل التورنت، أو FTP، أو فايل كوين، أو IPFS.

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

لا يزال EIP-4444 غير جاهز للإطلاق بعد، ولكنه قيد المناقشة النشطة. ومن المثير للاهتمام أن التحديات المتعلقة بـ EIP-4444 ليست تقنية بقدر ما هي في الغالب إدارة مجتمعية. من أجل إطلاق هذا، يجب أن يكون هناك قبول مجتمعي لا يشمل الاتفاق فحسب، بل يشمل أيضًا التزامات بتخزين وتقديم البيانات التاريخية من كيانات جديرة بالثقة.

لا يغير هذا التحديث بشكل أساسي كيفية تعامل عقد إيثيريوم مع بيانات الحالة، بل يغير فقط كيفية الوصول إلى البيانات التاريخية.

انتهاء صلاحية الحالة

يشير انتهاء صلاحية الحالة إلى إزالة الحالة من العقد الفردية إذا لم يتم الوصول إليها مؤخرًا. هناك عدة طرق يمكن من خلالها تنفيذ ذلك، بما في ذلك:

  • الانتهاء بالإيجار: فرض "إيجار" على الحسابات وإنهائها عندما يصل إيجارها إلى الصفر
  • الانتهاء بالوقت: جعل الحسابات غير نشطة إذا لم تكن هناك قراءة/كتابة لذلك الحساب لفترة من الوقت

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

الطريقة التي سيعمل بها هذا هي على الأرجح وجود شجرة حالة لفترات زمنية محددة (ربما حوالي سنة واحدة). كلما بدأت فترة جديدة، تبدأ أيضًا شجرة حالة جديدة تمامًا. يمكن تعديل شجرة الحالة الحالية فقط، وجميع الأشجار الأخرى غير قابلة للتغيير. يُتوقع من عقد إيثيريوم الاحتفاظ بشجرة الحالة الحالية والشجرة الأحدث التي تليها فقط. يتطلب هذا طريقة لختم عنوان زمنيًا بالفترة التي يوجد فيها. هناك عدة طرق ممكنة (opens in a new tab) للقيام بذلك، ولكن الخيار الرائد يتطلب إطالة العناوين (opens in a new tab) لاستيعاب المعلومات الإضافية مع الفائدة الإضافية المتمثلة في أن العناوين الأطول أكثر أمانًا بكثير. يُطلق على عنصر خارطة الطريق الذي يقوم بذلك اسم تمديد مساحة العنوان (opens in a new tab).

على غرار انتهاء صلاحية السجل، في ظل انتهاء صلاحية الحالة، تتم إزالة مسؤولية تخزين بيانات الحالة القديمة من المستخدمين الأفراد ودفعها إلى كيانات أخرى مثل المزودين المركزيين، أو أعضاء المجتمع الإيثاريين، أو حلول لامركزية أكثر مستقبلية مثل بورتال نيتوورك.

لا يزال انتهاء صلاحية الحالة في مرحلة البحث ولم يصبح جاهزًا للإطلاق بعد. قد يحدث انتهاء صلاحية الحالة في وقت لاحق عن العملاء عديمي الحالة وانتهاء صلاحية السجل لأن هذه التحديثات تجعل أحجام الحالة الكبيرة قابلة للإدارة بسهولة لغالبية المدققين.

انعدام الحالة

يعد انعدام الحالة تسمية خاطئة بعض الشيء لأنه لا يعني القضاء على مفهوم "الحالة"، ولكنه ينطوي على تغييرات في كيفية تعامل عقد إيثيريوم مع بيانات الحالة. يأتي انعدام الحالة نفسه في شكلين: انعدام الحالة الضعيف وانعدام الحالة القوي. يُمكّن انعدام الحالة الضعيف معظم العقد من أن تصبح عديمة الحالة من خلال وضع مسؤولية تخزين الحالة على عدد قليل منها. يزيل انعدام الحالة القوي تمامًا الحاجة إلى أي عقدة لتخزين بيانات الحالة الكاملة. يقدم كل من انعدام الحالة الضعيف والقوي الفوائد التالية للمدققين العاديين:

  • مزامنة شبه فورية
  • القدرة على التحقق من الكتل خارج الترتيب
  • قدرة العقد على العمل بمتطلبات أجهزة منخفضة جدًا (على سبيل المثال، على الهواتف)
  • يمكن تشغيل العقد على محركات أقراص صلبة رخيصة لأنه لا توجد حاجة لقراءة/كتابة على القرص
  • متوافق مع التحديثات المستقبلية لعلم التشفير في إيثيريوم

انعدام الحالة الضعيف

ينطوي انعدام الحالة الضعيف على تغييرات في الطريقة التي تتحقق بها عقد إيثيريوم من تغييرات الحالة، ولكنه لا يقضي تمامًا على الحاجة إلى تخزين الحالة في جميع العقد على الشبكة. بدلاً من ذلك، يضع انعدام الحالة الضعيف مسؤولية تخزين الحالة على مقترحي الكتل، بينما تتحقق جميع العقد الأخرى على الشبكة من الكتل دون تخزين بيانات الحالة الكاملة.

في انعدام الحالة الضعيف، يتطلب اقتراح الكتل الوصول إلى بيانات الحالة الكاملة ولكن التحقق من الكتل لا يتطلب أي بيانات حالة

لكي يحدث هذا، يجب أن تكون أشجار فيركل قد تم تنفيذها بالفعل في عملاء إيثيريوم. أشجار فيركل هي بنية بيانات بديلة لتخزين بيانات حالة إيثيريوم تسمح بتمرير "شواهد" صغيرة وثابتة الحجم للبيانات بين النظراء واستخدامها للتحقق من الكتل بدلاً من التحقق من الكتل مقابل قواعد البيانات المحلية. مطلوب أيضًا فصل المقترح عن الباني (PBS) لأن هذا يسمح لبناة الكتل بأن يكونوا عقدًا متخصصة بأجهزة أكثر قوة، وهم الذين يحتاجون إلى الوصول إلى بيانات الحالة الكاملة.

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

اقرأ المزيد في ملاحظات دانكراد (opens in a new tab)

يستخدم مقترحو الكتل بيانات الحالة لإنشاء "شواهد" - وهي الحد الأدنى من مجموعة البيانات التي تثبت قيم الحالة التي يتم تغييرها بواسطة المعاملات في الكتلة. لا يحتفظ المدققون الآخرون بالحالة، بل يقومون فقط بتخزين جذر الحالة (تجزئة للحالة بأكملها). يتلقون كتلة وشاهدًا ويستخدمونهما لتحديث جذر الحالة الخاص بهم. هذا يجعل عقدة التحقق خفيفة الوزن للغاية.

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

تعد zkEVM للتحقق من طبقة 1 (L1) تقنية تكميلية يمكن أن تزيد من تعزيز التحقق عديم الحالة. بدلاً من مجرد التحقق من الشواهد، يمكن للمدققين التحقق من إثبات المعرفة الصفرية بأن الكتلة بأكملها قد تم تنفيذها بشكل صحيح - مما يوفر يقينًا تشفيريًا دون إعادة تنفيذ المعاملات.

انعدام الحالة القوي

يزيل انعدام الحالة القوي الحاجة إلى أي عقدة لتخزين بيانات الحالة. بدلاً من ذلك، يتم إرسال المعاملات مع شواهد يمكن تجميعها بواسطة منتجي الكتل. يكون منتجو الكتل مسؤولين بعد ذلك عن تخزين تلك الحالة المطلوبة فقط لإنشاء شواهد للحسابات ذات الصلة. تنتقل المسؤولية عن الحالة بالكامل تقريبًا إلى المستخدمين، حيث يرسلون شواهد و'قوائم وصول' للإعلان عن الحسابات ومفاتيح التخزين التي يتفاعلون معها. من شأن هذا أن يتيح عقدًا خفيفة الوزن للغاية، ولكن هناك مقايضات بما في ذلك جعل التعامل مع العقود الذكية أكثر صعوبة.

تم التحقيق في انعدام الحالة القوي من قبل الباحثين ولكن لا يُتوقع حاليًا أن يكون جزءًا من خارطة طريق إيثيريوم - فمن المرجح أن يكون انعدام الحالة الضعيف كافيًا لاحتياجات توسع إيثيريوم.

التقدم الحالي

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

قراءة إضافية

آخر تحديث للصفحة: 6 يونيو 2026