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

بورتال نيتوورك

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

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

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

المزيد عن العقد والعملاء

لماذا نحتاج إلى بورتال نيتوورك

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

تشغل هذه النسخة المحلية من سلسلة الكتل وبيانات الحالة والإيصالات المرتبطة بها مساحة كبيرة على القرص الصلب للعقدة. على سبيل المثال، يُوصى بقرص صلب بسعة 2TB لتشغيل عقدة باستخدام جو إيثريوم (Geth) (opens in a new tab) مقترنة بعميل إجماع. باستخدام المزامنة السريعة (snap sync)، التي تخزن فقط بيانات السلسلة من مجموعة كتل حديثة نسبيًا، يشغل Geth عادةً حوالي 650GB من مساحة القرص ولكنه ينمو بمعدل 14GB/week تقريبًا (يمكنك تقليم العقدة للعودة إلى 650GB بشكل دوري).

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

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

كيف يعمل بورتال نيتوورك؟

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

devP2P and libP2P

يمكن للعقد أيضًا تقديم بيانات محددة من خلال واجهة برمجة تطبيقات JSON-RPC (JSON-RPC API)، وهي الطريقة التي تتبادل بها التطبيقات والمحافظ المعلومات مع عقد إيثيريوم. ومع ذلك، لا يُعد أي من هذه البروتوكولات مثاليًا لتقديم البيانات للعملاء الخفيفين.

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

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

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

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

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

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

الهدف هو السماح لشبكة لامركزية من عملاء بورتال الخفيفين بما يلي:

  • تتبع رأس السلسلة
  • مزامنة بيانات السلسلة الحديثة والتاريخية
  • استرداد بيانات الحالة
  • بث المعاملات
  • تنفيذ المعاملات باستخدام آلة إيثيريوم الافتراضية (EVM)

فوائد تصميم الشبكة هذا هي:

  • تقليل الاعتماد على المزودين المركزيين
  • تقليل استخدام النطاق الترددي للإنترنت
  • تقليل المزامنة أو إلغاؤها تمامًا
  • إمكانية الوصول للأجهزة ذات الموارد المحدودة (<1 GB RAM، <100 MB disk space، 1 CPU)

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

شبكات بورتال

عميل منارة خفيف (Beacon light client)شبكة الحالةنشر المعاملاتشبكة السجلمؤشر المعاملات الأساسي
سلسلة منارة خفيفةتخزين الحسابات والعقودمجمع ذاكرة خفيف (mempool)الترويساتTxHash > Hash, Index
بيانات البروتوكولأجسام الكتل
الإيصالات

تنوع العملاء افتراضيًا

اتخذ مطورو بورتال نيتوورك أيضًا خيار التصميم لبناء أربعة عملاء منفصلين لـ بورتال نيتوورك منذ اليوم الأول.

عملاء بورتال نيتوورك هم:

يعزز وجود تطبيقات عملاء مستقلة متعددة من مرونة ولامركزية شبكة إيثيريوم.

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

قراءة إضافية