أعلن منشئ Ethereum ، فيتاليك بوتيرين، عن الخطوة التالية للشبكة، والتي تتمثل في التخلص من الوزن الزائد. يسميها "التطهير".
في التدوينة الخامسة من سلسلته، وضع فيتاليك خطة صارمة للقضاء على تضخم البلوكتشين، والقضاء على الميزات الزائدة عن الحاجة، وتبسيط البروتوكول. شبكة Ethereum مليئة بالمعاملات القديمة والميزات القديمة المعقدة.
الإصلاح؟ يريد Vitalik التخلص من بيانات التاريخ والحالة، وتبسيط ميزات البروتوكول، وتسهيل تشغيل العقد. يعد هذا القرار العدواني بمثابة استجابة للنمو السريع للبيانات في Ethereum .
في الوقت الحالي، تتطلب عقدة Ethereum الكاملة ما يزيد عن 1.1 تيرابايت من مساحة التخزين لعميل التنفيذ فقط، مع المزيد من البيانات المتفق عليها.
مع تراكم المعاملات والحسابات، يجب أن ينمو التخزين، مما يؤدي إلى اختناقات. بدون تغييرات، قد يصبح Ethereum بطيئًا، حيث يواجه العملاء الجدد أوقات مزامنة طويلة للغاية لمجرد تحديث السلسلة.
انتهاء التاريخ: تقلص حمل ذاكرة Ethereum
بدلاً من أن تحتفظ كل عقدة بكل معاملة تم تسجيلها على الإطلاق، يقترح فيتاليك أن تحتفظ العقد بالبيانات الحديثة فقط. يتم توزيع الكتل التاريخية والمعاملات القديمة والإيصالات عبر العقد في أجزاء صغيرة.
بالنسبة إلى Vitalik، يجب أن تعمل بيانات السجل كشبكة تورنت، حيث تقوم العقد بتخزين أجزاء من البيانات، مما يضمن توفر البيانات دون أن تحتوي عقدة واحدة على كل شيء. وقال: "نحن نتحدث عن مئات الجيجابايت من الكتل القديمة التي تتراكم كل عام".
تم بالفعل تعديل النموذج الحالي، الذي يحتوي على عقد تحتوي على جميع البيانات. يتم تخزين كتل الإجماع، الحيوية لإثبات الملكية، لمدة ستة أشهر، في حين تختفي الكتل الكبيرة لبيانات المعاملات بعد 18 يومًا.
يقترح اقتراح Vitalik الجديد، EIP-4444، وضع حد أقصى للتخزين لمدة عام واحد على الكتل والإيصالات التاريخية. هدفه النهائي؟ شبكة موزعة حيث تقوم كل عقدة بتخزين جزء صغير فقط من التاريخ، باستخدام إثباتات Merkle وترميز المحو لضمان الدقة.
لن يؤدي تخزين السجل الموزع هذا إلى تقليل موثوقية بيانات Ethereum . يدعي Vitalik أنه من خلال زيادة عدد العقد، ستتضاعف نسخ البيانات عبر الشبكة، مما يجعل كل جزء من التاريخ مدعومًا بشكل جيد.
سيضيف تشفير المحو المرونة، على غرار التقنية التي تساعد على بقاء النقاط الكبيرة متاحة لأخذ عينات البيانات. يشير Vitalik أيضًا إلى شبكة البوابة وأساليب نظير إلى نظير كحلول ممكنة، مما يسمح Ethereum بإدارة انتشار بياناته دون الاعتماد على التخزين المركزي.
انتهاء صلاحية الحالة: الحد من دوام البيانات
وبعيداً عن التاريخ، تشتمل حملة التطهير التي قام بها فيتاليك على وحش أكثر تعقيداً: "انتهاء الولاية". على عكس التاريخ، من الصعب انتهاء صلاحية بيانات الحالة (أشياء مثل أرصدة الحسابات والأرقام غير المسجلة وتخزين trac الذكية). بمجرد إنشائه، يظل كائن الحالة (مثل حساب مع ETH أو فتحة تخزين trac ) في متناول أي معاملة.
ومع كل كائن، تنمو بيانات Ethereum . لاحتواء ذلك، يقترح Vitalik انتهاء matic التلقائي، وتقليص البيانات التي لم يتم التطرق إليها مؤخرًا. الحيلة هي الموازنة بين انتهاء صلاحية الحالة ودوام Ethereum .
وهو يعتقد أن المستخدمين يجب أن يكونوا قادرين على "الاختفاء لمدة خمس سنوات، والعودة، مع الاستمرار في الوصول إلى أموالهم". يحتاج هذا النظام إلى الكفاءة، فلا توجد حسابات إضافية أو نماذج معقدة للمطورين.
جربت Ethereum أفكارًا مختلفة مثل "إيجار بلوكتشين"، الذي يفرض على المستخدمين الاحتفاظ ببياناتهم على قيد الحياة، و"التجديد"، الذي حاول إعادة ضبط بلوكتشين لتقليل البيانات. لم أقلع.
مقترحان جديدان يستهدفان انتفاخ الدولة أولاً، هناك "انتهاء جزئي للحالة". ستقوم الشبكة بتقسيم البيانات إلى أجزاء، وتخزين الأجزاء الحديثة فقط مع الحفاظ على "بذرة" (أجزاء صغيرة من البيانات غير النشطة) لإثبات الوجود.
إذا تم حذف جزء ما، فيمكن للمستخدمين إحيائه من خلال إثبات البيانات السابقة. يستخدم مقترح تصميم Vitalik، EIP-7736، أشجار Verkle ونموذج "الجذع والأوراق" لتجميع البيانات. تتم إزالة أي بيانات لم يتم المساس بها لمدة ستة أشهر، تاركين وراءهم فقط كعب روتين يمكن استعادته عند الحاجة.
الفكرة الثانية هي انتهاء الصلاحية المستند إلى فترة العنوان، والذي يقسم كائنات الحالة حسب الوقت. يحتوي كل حساب على "فترة عنوان"، ويتم تخزين البيانات من الفترتين الأخيرتين فقط.
إذا أراد شخص ما بيانات قديمة، فسوف يقدم دليل Merkle لاستعادتها. سيتطلب هذا الإعداد المستند إلى الفترة تغيير تنسيقات العناوين، وتوسيع التنسيق الحالي ذو الـ 20 بايت ليشمل أرقام الإصدارات والنقاط.
يقترح Vitalik أيضًا trac مساحة العنوان للحفاظ على التوافق. سيصبح التحدي بعد ذلك هو التأكد من فهم المستخدمين لنظام هذه الفترة والثقة بهم دون التضحية بوعد Ethereum الأساسي بالتوفر.
تنظيف الميزات: تقليص تعقيد كود Ethereum
المرحلة الأخيرة من عملية التطهير تصل إلى تعقيد البروتوكول. يقول فيتاليك: "كل ميزة جديدة تجعل استخدام Ethereum أكثر صعوبة، ولكن إزالة أي شيء يعد بمثابة كابوس". المثال الأكثر شهرة هو SELFDESTRUCT، وهو كود تشغيل يسمح للمستخدمين بحذف تخزين trac .
في الأصل، كانت تسمح بمسح الدولة طوعيًا، لكنها غير مستخدمة في الغالب وتخاطر بهجمات رفض الخدمة. أدى الانقسام الصلب Dencun الخاص بـ Ethereum إلى إضعاف كود التشغيل، ويخطط Vitalik لإزالته بالكامل قريبًا.
تشمل الميزات المتضخمة الأخرى أنواع المعاملات القديمة، وتنسيقات البيانات الزائدة عن الحاجة، وإعداد بروتوكول النهاية المختلطة. هذه المراوغات تجعل عملية التطوير مربكة وتجعل ترقية Ethereum أكثر صعوبة.
تتضمن قائمة تنظيف Vitalik أيضًا نقل تنسيقات البيانات من RLP إلى SSZ، وتبسيط قواعد الغاز لإدارة موارد الكتلة بشكل أفضل، وإزالة التجميعات المسبقة غير المستخدمة مثل RIPEMD160، وMODEXP، وBLAKE. كما أنه يدعم نقل Ethereum إلى نموذج العميل عديم الجنسية، والذي من شأنه أن يلغي أعباء التخزين لمعظم العقد.
ستتطلب بعض هذه التغييرات trac الحساب، مما يسمح للمستخدمين بالتعامل مع أنواع المعاملات القديمة من خلال "رمز EVM للحساب الافتراضي". يقول فيتاليك إن هذا سيؤدي إلى تبسيط آلة Ethereum الافتراضية (EVM) مع تقليل حجم الكود. على المدى الطويل، يمكن لـ EVM نفسه الحصول على ترقية.
ويوضح أن مطوري Ethereum يفكرون في نموذج تنفيذ جديد مثل RISC-V أو كايرو، أو ربما استخدام تنسيق كائن EVM (EOF) لتوحيد قواعد التعليمات البرمجية.
تغير EOF قواعد الغاز وتحظر تعليمات معينة للسماح بالترقيات المعيارية، مما يعزز قابلية التوسع في Ethereum . يقال إن هذا التنسيق سيسمح للمطورين بإجراء تحسينات تدريجية، مما يساعد في نهاية المطاف Ethereum على البقاء ضعيفًا.
لكن فيتاليك أعطى خيارًا آخر. يقول : "إن إستراتيجية تبسيط Ethereum الأكثر جذرية هي الحفاظ على البروتوكول كما هو، ولكن مع نقل أجزاء كبيرة منه من كونها ميزات بروتوكول إلى كونها رمز trac ."