مواصفات الإجماع على إثبات ملكية الإيثريوم
لمعرفة المزيد حول إثبات الملكية والتقسيم، راجع وثائق إثبات الحصة (PoS) ووثائق التقسيم وملخص الأبحاث.
يستضيف هذا المستودع مواصفات إثبات ملكية الإيثريوم الحالية. يمكن طرح المناقشات حول مبررات التصميم والتغييرات المقترحة ومناقشتها كقضايا. يمكن إجراء تغييرات ثابتة ومتفق عليها على المواصفات من خلال طلبات السحب.
المواصفات
يمكن العثور على المواصفات الأساسية لعملاء إثبات الملكية في Ethereum في المواصفات. وتنقسم هذه إلى الميزات. يتم البحث عن الميزات وتطويرها بالتوازي، ثم يتم دمجها في ترقيات تسلسلية عندما تصبح جاهزة.
مواصفات مستقرة
تسلسل. | اسم الرمز | عصر الشوكة | المواصفات |
---|
0 | المرحلة0 | 0 | - جوهر
- سلسلة المنارة
- عقد الإيداع
- اختيار شوكة سلسلة منارة
- الإضافات
- دليل التحقق الصادق
- شبكات P2P
- ذاتية ضعيفة
|
1 | نسر | 74240 | - جوهر
- تغييرات سلسلة المنارة
- شوكة ألتير
- الإضافات
- بروتوكول مزامنة العميل الخفيف (عقدة كاملة، عميل خفيف، شبكة)
- تغييرات دليل المدقق الصادق
- شبكات P2P
|
2 | بيلاتريكس ("الدمج") | 144896 | - جوهر
- تغييرات سلسلة المنارة
- شوكة بيلاتريكس
- يتغير اختيار الشوكة
- الإضافات
- تغييرات دليل المدقق الصادق
- شبكات P2P
|
3 | كابيلا | 194048 | - جوهر
- تغييرات سلسلة المنارة
- شوكة كابيلا
- الإضافات
- تغييرات بروتوكول مزامنة العميل الخفيف (الشوكة، العقدة الكاملة، الشبكة)
- إضافات المدقق
- شبكات P2P
|
4 | دينب | 269568 | - جوهر
- تغييرات سلسلة المنارة
- شوكة دينب
- التزامات متعددة الحدود
- يتغير اختيار الشوكة
- الإضافات
- تغييرات بروتوكول مزامنة العميل الخفيف (الشوكة، العقدة الكاملة، الشبكة)
- تغييرات دليل المدقق الصادق
- شبكات P2P
|
المواصفات قيد التطوير
تسلسل. | اسم الرمز | عصر الشوكة | المواصفات |
---|
5 | إلكترا | سيتم تحديده لاحقًا | - جوهر
- تغييرات سلسلة المنارة
- شوكة اليكترا
- الإضافات
- تغييرات بروتوكول مزامنة العميل الخفيف (الشوكة والشبكات)
- تغييرات دليل المدقق الصادق
- شبكات P2P
|
المواصفات التي عفا عليها الزمن
اسم الرمز أو الموضوع | المواصفات | ملحوظات |
---|
مشاركة | | |
لعبة الحضانة | - جوهر
- الإضافات
- تغييرات دليل المدقق الصادق
| تعتمد على التقسيم |
أخذ عينات توافر البيانات | - جوهر
- الأنواع والوظائف الأساسية
- يتغير اختيار الشوكة
- الإضافات
- شبكات P2P
- عملية أخذ العينات
| - تعتمد على التقسيم
- الشرح الفني
|
يمكن العثور على المستندات المصاحبة في المواصفات وتشمل:
- مواصفات SimpleSerialize (SSZ).
- تنسيقات إثبات ميركل
- نموذج الاختبار العام
مواصفات إضافية للمنفذين العميل
يمكن العثور على مواصفات ومعايير إضافية خارج وظائف العميل المطلوبة في اتفاقيات إعادة الشراء التالية:
- واجهات برمجة تطبيقات المنارة
- واجهات برمجة تطبيقات المحرك
- مقاييس المنارة
أهداف التصميم
فيما يلي أهداف التصميم العامة لمواصفات إجماع إثبات ملكية الإيثريوم:
- لتقليل التعقيد، حتى على حساب بعض الخسائر في الكفاءة
- للبقاء على قيد الحياة من خلال أقسام الشبكة الرئيسية وعندما تصبح أجزاء كبيرة جدًا من العقد غير متصلة بالإنترنت
- لتحديد جميع المكونات بحيث تكون إما آمنة كميًا أو يمكن استبدالها بسهولة بنظيراتها الآمنة كميًا عند توفرها
- لاستخدام تقنيات التشفير والتصميم التي تسمح بمشاركة كبيرة من المدققين في إجمالي الوقت ولكل وحدة زمنية
- للسماح لجهاز كمبيوتر محمول نموذجي للمستهلك بموارد
O(C)
لمعالجة/التحقق من صحة أجزاء O(1)
(بما في ذلك أي التحقق من صحة مستوى النظام مثل سلسلة المنارة)
موارد خارجية مفيدة
- منطق التصميم
- وثيقة الإعداد للمرحلة 0
- الجمع بين ورق الشبح والكاسبر
للمساهمين المواصفات
يمكن العثور هنا على وثائق حول المكونات المختلفة المستخدمة أثناء كتابة المواصفات:
- مولدات اختبار YAML
- مواصفات بايثون القابلة للتنفيذ، مع اختبارات Py
عارض عبر الإنترنت لأحدث إصدار (أحدث فرع master
)
مواصفات إجماع الإيثريوم
اختبارات مواصفات الإجماع
تتوفر اختبارات المطابقة المبنية من مواصفات بايثون القابلة للتنفيذ في مستودع اختبارات مواصفات توافق إثبات ملكية الإيثريوم. كرات القطران المضغوطة متوفرة في الإصدارات.
التثبيت والاستخدام
يمكن استخدام مستودع المواصفات المتفق عليها عن طريق تشغيل الاختبارات محليًا أو داخل حاوية عامل إرساء.
لتشغيل الاختبارات محليًا:
- استنساخ المستودع باستخدام
git clone https://github.com/ethereum/consensus-specs.git
- قم بالتبديل إلى
cd consensus-specs
للدليل - قم بتثبيت التبعيات باستخدام:
make install_test && make preinstallation && make pyspec
- قم بإجراء الاختبارات باستخدام
make citest
لتشغيل الاختبارات داخل حاوية عامل الإرساء:
- قم بالتبديل إلى الدليل باستخدام
cd scripts
- قم بتشغيل البرنامج النصي
./build_run_docker_tests.sh
- ابحث عن النتائج في مجلد يسمى
./testResults
- ابحث عن المزيد من الطرق لتخصيص البرنامج النصي باستخدام
./build_run_docker_tests.sh --h