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

عقدة إيثيريوم الأرشيفية

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

المتطلبات الأساسية

يجب أن تفهم مفهوم عقدة إيثيريوم، وبنيتها، واستراتيجيات المزامنة، وممارسات تشغيلها واستخدامها.

ما هي العقدة الأرشيفية

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

  • أرصدة الحسابات والأرقام الخاصة (nonces)
  • كود العقد والتخزين
  • البيانات المتعلقة بالإجماع، على سبيل المثال، عقد وديعة التخزين

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

يمكنك تخيل الحالة كلقطة (snapshot) لحظية للشبكة عند كتلة معينة والأرشيف كإعادة تشغيل للتاريخ.

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

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

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

حالات الاستخدام

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

الفائدة الرئيسية لأرشيف الحالة هي الوصول السريع إلى الاستعلامات حول الحالات التاريخية. على سبيل المثال، ستعيد العقدة الأرشيفية النتائج على الفور مثل:

  • ما هو رصيد ETH للحساب 0x1337... عند الكتلة 15537393؟
  • ما هو رصيد الرمز المميز 0x في العقد 0x عند الكتلة 1920000؟

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

  • مقدمو الخدمات مثل مستكشفي الكتل
  • الباحثون
  • محللو الأمن
  • مطورو التطبيقات اللامركزية (dapps)
  • التدقيق والامتثال

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

التطبيقات والاستخدام

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

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

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

الأجهزة

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

يجب أن تتناسب جميع البيانات في وحدة تخزين واحدة، لذلك يجب دمج الأقراص، على سبيل المثال، باستخدام RAID0 (opens in a new tab) أو LVM. قد يكون من المفيد أيضًا التفكير في استخدام ZFS (opens in a new tab) لأنه يدعم "النسخ عند الكتابة" (Copy-on-write) مما يضمن كتابة البيانات بشكل صحيح على القرص دون أي أخطاء منخفضة المستوى.

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

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

قراءة إضافية