الانتقال إلى المحتوى

العقدة الكاملة

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

آخر تحديث

لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.

الإجابة المباشرة

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

في إيثريوم المعتمد على إثبات الحصة، تقرن العقدة الكاملة القابلة للاستخدام عميل تنفيذ بعميل إجماع. يتحقق عميل التنفيذ من المعاملات وحمولات التنفيذ، ويحافظ على حالة التنفيذ الحالية، ويعرض JSON-RPC؛ ويتحقق عميل الإجماع من عناصر الإجماع، ويطبق قاعدة اختيار الفرع، ويتتبع التبرير والنهائية. عميل المدقق اختياري، ولا يلزم إلا لاقتراح الكتل وتقديم التصديقات بواسطة مدققين ذوي حصص.

آلية العمل

  1. عرّف هدف التحقق ولقطة الشبكة: البروتوكول، وهوية السلسلة وكتلة التكوين، وجدول التفرعات، وقيمة chainId المتوقعة، وتجزئات الكتلة الحالية والنهائية، وإصدارات العملاء، ووضع المزامنة، ومصدر نقطة التحقق، ووضع التقليم، وطرائق RPC، وأفق الحالة التاريخية، ومدة التشغيل المطلوبة. لمصطلح العقدة الكاملة متطلبات خاصة بكل سلسلة.
  2. ثبّت إصدارات عملاء جرى الحصول عليها والتحقق منها بصورة مستقلة، واقرن المكونات المطلوبة. في إيثريوم الحالي، صِل عميل تنفيذ واحدا بعميل إجماع واحد عبر Engine API محلي موثق؛ ولا تضف مدققا إلا عند الرهن. افصل أدلة البيانات، ومنافذ P2P، وتعريض RPC، ومفاتيح الموقّع أو المدقق.
  3. ابدأ من مرتكز الثقة المقصود. تتحقق المزامنة الكاملة من كتلة التكوين إلى الأمام؛ أما استراتيجيات snap أو نقطة التحقق فتبدأ من حالة أحدث موثقة أو نقطة تحقق ذاتية ضعيفة، ثم تتحقق من الكتل اللاحقة. طابق كتلة التكوين، وجذر نقطة التحقق، ومعرف السلسلة، وبصمة التفرع، والرأس النهائي عبر قنوات مستقلة قبل الوثوق بقاعدة البيانات.
  4. راقب مساري العمل كليهما. تحقق من نظراء التنفيذ والإجماع، وتأخر الرأس والكتلة النهائية، وسلامة Engine API، وتطابق جذور الحالة، ومزامنة الساعة، ونمو القرص، والإدخال والإخراج، والذاكرة، ووحدة المعالجة، وأخطاء قاعدة البيانات، والاستعداد للتفرع. يجب أن تعني كلمة «متزامن» أن العملاء المطلوبين يتفقون على السلسلة المقصودة ويواصلون استيراد بيانات صالحة.
  5. طابق الاحتفاظ مع الاستعلامات. تحتفظ العقدة الكاملة المقلمة بالحالة الحالية وبما يكفي من بيانات الكتل والإيصالات واللقطات للتحقق، لكنها قد تعيد توليد استعلامات الحالة القديمة أو ترفضها. وتجسّد تهيئة الأرشيف الحالات التاريخية لاستعلامات زمنية سريعة. أما العميل الخفيف فيتحقق من مسار التزام أضيق ويطلب بيانات إضافية؛ وليس مجرد عقدة كاملة صغيرة.
  6. لا تعرض إلا أقل مساحة RPC لازمة. اربط واجهات الإدارة وEngine محليا، ووثّق العملاء، واستخدم جدار الحماية للمضيف، وحدد معدل RPC للتطبيق، وتجنب نشر طرائق debug أو trace أو الحساب أو مجمع المعاملات بلا ضوابط. اختبر الوسوم latest وsafe وfinalized، والاستدعاءات التاريخية، والسجلات، وإرسال المعاملات على العقدة المقصودة، ولا تنتقل احتياطيا إلا إلى نقاط نهاية تحققت منها مستقلا.
  7. طابق النتائج واستعد للتعافي. قارن تجزئات الكتل وجذور الحالة ونقاط التحقق النهائية مع عميل ثان أو عقدة مستقلة؛ وتدرّب على الإيقاف السليم، واللقطة والاستعادة، وإعادة بناء قاعدة البيانات، وترقية العميل، وتفعيل التفرع، واستبدال القرص، وفقدان النظراء، والتحويل الاحتياطي لـRPC. احتفظ بالسجلات والتهيئة، وافصل ناتج العقدة المتحقق منه عن ادعاءات الواجهة والأوراكل والجسر والتطبيق.

أمثلة محلولة

  • نموذج عرض النطاق. افترض أن سلسلة تنتج كتلة كل 12 seconds وأن متوسط جسم الكتلة المنزّل والبيانات الجانبية المطلوبة هو 150 kB. تعالج العقدة 86,400 / 12 = 7,200 blocks/day وتنزّل 7,200 * 150 kB = 1,080,000 kB = 1.08 GB/day بالوحدات العشرية، قبل أعباء P2P الإضافية وإعادات المحاولة وحركة الإجماع واللقطات والرفع. هذه افتراضات تخطيط وليست ثوابت مباشرة لإيثريوم.
  • هامش مساحة القرص. تبدأ عقدة مقلمة عند 1.20 TB وتنمو قاعدة بياناتها المقاسة 18 GB/month. خلال 30 months، يصبح الاستخدام المتوقع 1,200 + 18 * 30 = 1,740 GB. يتطلب احتياطي 25% فوق ذلك التوقع 1,740 * 1.25 = 2,175 GB، أي 2.175 TB بالوحدات العشرية. قد تبطل تغييرات العميل والتقليم والتفرعات هذا النموذج الخطي.
  • التوافر التشغيلي. خلال 30 days = 720 hours، تستغرق صيانة عميل التنفيذ 2 hours، ويستغرق تعطل عميل الإجماع 3 hours، ويستغرق انقطاع كهرباء مشترك 1 hour، من دون تداخل. مدة التعطل 6 hours؛ والتوافر المرصود هو (720 - 6) / 720 = 99.1666666667%. قد تكون العقدة قيد التشغيل مع كونها متأخرة أو معزولة أو على سلسلة خاطئة، لذا لا يكفي زمن تشغيل العملية وحده.
  • إعادة توليد الحالة التاريخية. لدى عميل مقلم لقطة قابلة للاستخدام عند الكتلة 18,000,000 ويحتاج إلى الحالة عند الكتلة 18,250,000. يجب عليه إعادة تنفيذ 250,000 blocks. وبمعدل مقاس قدره 500 blocks/second، يكون وقت الحساب المثالي 250,000 / 500 = 500 seconds = 8.3333333333 minutes، باستثناء قراءات الحالة والإيصالات ومعالجة إعادة التنظيم وإخفاقات ذاكرة التخزين المؤقت. تستبدل عقدة الأرشيف مساحة تخزين إضافية بوصول مباشر أسرع إلى الحالة التاريخية.

المخاطر

  • الاتصال بسلسلة أو كتلة تكوين أو جدول تفرعات أو chainId خاطئ.
  • الوثوق بنقطة تحقق مزامنة خبيثة أو قديمة أو لم تطابق بما يكفي.
  • تشغيل عميل قديم أثناء ترقية الشبكة.
  • اختلاف عميل الإجماع وعميل التنفيذ أو فقدان اتصال Engine API.
  • قبول عيب في تنفيذ عميل بيانات غير صحيحة أو رفضها أو تقديمها.
  • تعريض هيمنة عميل واحد العقدة والشبكة لإخفاقات مترابطة.
  • قلة النظراء أو عزلهم أو خبثهم أو ضعف تنوعهم.
  • إفساد انحراف الساعة مهام الإجماع أو الطوابع الزمنية أو سلوك النظراء.
  • امتلاء القرص أو بطء التخزين أو تعطل نظام الملفات أو تلف قاعدة البيانات.
  • اعتبار تشغيل العملية دليلا على مزامنة سليمة وقانونية ونهائية.
  • الخلط بين حالات الرأس والآمنة والنهائية أثناء إعادة التنظيم.
  • افتراض أن العقدة الكاملة المقلمة تجيب فورا عن كل استعلام حالة تاريخية.
  • افتراض أن عقدة الأرشيف تحفظ كل فهرس أو أثر تنفيذ أو وسم تطبيق خارج السلسلة.
  • تعريض واجهات Engine أو الإدارة أو debug أو trace أو مجمع المعاملات من دون توثيق.
  • تسريب عناوين المحافظ أو الاستعلامات أو البيانات الوصفية أو نية المعاملة عبر سجلات RPC.
  • حرمان التحميل الزائد لـRPC أو الاستعلامات غير المحدودة عملية التحقق من الكتل من الموارد.
  • إنتاج استعادة نسخة احتياطية أو لقطة بيانات قديمة أو غير متسقة داخليا.
  • فقدان مفاتيح المدقق أو الموقّع بسبب وضعها بإهمال مع خدمات العقدة.
  • اعتبار بيانات السلسلة المتحقق منها محليا دليلا على صدق واجهة أو أوراكل أو جسر.
  • تطبيق نموذج إيثريوم ذي العميلين أو التقليم أو الذاتية الضعيفة على سلسلة أخرى.

مفاهيم خاطئة شائعة

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

مواضيع ذات صلة

المصادر

التنقل

ابحث في الويكي...