العُقد وRPC والبنية التحتية لـ Web3 | Nodes, RPC & Web3 Infrastructure

🎓 TheCrypTechAI Learn

تعلّم ببساطة، خطوة بخطوة

معلومة واضحة، ثم خطوة جديدة.

🎓 Learn Web3 والبلوكتشين العقود الذكية والبنية التحتية لـ Web3
الدرس 5 من 6

العُقد وRPC والبنية التحتية لـ Web3

تقدم المسار 83%

عندما تفتح محفظة كريبتو أو تستخدم تطبيقًا لامركزيًا، لا يتصل التطبيق بالبلوكتشين بطريقة سحرية. خلف الواجهة توجد البنية التحتية لـ Web3 التي تشمل العُقد Blockchain Nodes وواجهات RPC التي تسمح للتطبيقات بقراءة بيانات الشبكة وإرسال المعاملات إليها.

شرح العُقد وRPC والبنية التحتية لـ Web3 وكيف تتصل المحافظ والتطبيقات اللامركزية بشبكات البلوكتشين

ما هي Blockchain Node؟

العُقدة Node هي جهاز أو برنامج يشغّل برنامج الشبكة ويتصل بعُقد أخرى داخل البلوكتشين.

حسب نوع العقدة والشبكة، يمكنها الاحتفاظ ببيانات البلوكتشين والتحقق من المعلومات واستقبال المعاملات ونشرها والمشاركة في تشغيل الشبكة.

وجود عدد كبير من العُقد المستقلة يساعد على جعل بيانات الشبكة متاحة دون الاعتماد على خادم مركزي واحد.

ما هو RPC؟

RPC اختصار لـ Remote Procedure Call، وهي طريقة تسمح للتطبيق بإرسال طلب إلى نظام آخر لتنفيذ عملية أو إعادة بيانات.

في Web3 تستخدم المحافظ وdApps واجهات RPC للتواصل مع عُقد البلوكتشين.

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

ما الفرق بين Node وRPC؟

يمكن تبسيط الفرق كالتالي:

Node: البرنامج المتصل فعليًا بشبكة البلوكتشين ويحتفظ بالبيانات ويتعامل مع الشبكة حسب نوع العقدة.

RPC: الواجهة أو طريقة الاتصال التي تسمح للمحفظة أو التطبيق بطلب معلومات أو إرسال معاملات إلى العقدة.

إذًا RPC ليست بلوكتشين جديدة، بل وسيلة اتصال مع البنية التحتية للشبكة.

كيف تتصل المحفظة بالبلوكتشين؟

عندما تعرض المحفظة رصيدك، فهي تحتاج إلى الحصول على هذه المعلومة من الشبكة.

يمكن تبسيط المسار إلى:

Wallet / dApp → RPC Request → RPC Provider → Blockchain Node → Blockchain Network

ثم تعود النتيجة في الاتجاه العكسي:

Blockchain Data → Node → RPC Response → Wallet / dApp

مثال: التحقق من الرصيد

عندما تفتح محفظتك، يمكن أن ترسل طلب RPC للحصول على رصيد عنوان معين.

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

في شبكات Ethereum يمكن استخدام طلبات مثل eth_getBalance للحصول على رصيد ETH لعنوان معين.

مثال: قراءة عقد ذكي

يمكن للتطبيق استخدام RPC لقراءة بيانات من عقد ذكي دون تغيير حالة البلوكتشين.

على سبيل المثال، قد يحتاج dApp إلى قراءة قيمة مخزنة داخل عقد أو الاستعلام عن نتيجة وظيفة للقراءة فقط.

في Ethereum تُستخدم طرق مثل eth_call لتنفيذ بعض عمليات القراءة دون إنشاء معاملة تغير حالة الشبكة.

ماذا يحدث عند إرسال معاملة؟

عندما توقع معاملة باستخدام محفظتك، يتم إنشاء المعاملة وتوقيعها باستخدام المفتاح الخاص داخل المحفظة.

بعد ذلك يمكن إرسال المعاملة الموقعة عبر RPC إلى عقدة متصلة بالشبكة، والتي تقوم بنشرها إلى شبكة البلوكتشين لمعالجتها.

إحدى طرق RPC المستخدمة لهذا الغرض على Ethereum هي eth_sendRawTransaction.

هل مزود RPC يمتلك مفتاحك الخاص؟

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

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

ولهذا يجب عدم إدخال Private Key أو Seed Phrase في أي موقع أو خدمة RPC تطلبهما منك.

ما هي أشهر طلبات RPC؟

تستخدم تطبيقات Web3 العديد من طلبات RPC، مثل:

eth_getBalance: قراءة رصيد عنوان.

eth_call: قراءة أو محاكاة استدعاء عقد ذكي دون إنشاء معاملة على الشبكة.

eth_estimateGas: تقدير كمية Gas اللازمة لتنفيذ معاملة.

eth_sendRawTransaction: إرسال معاملة موقعة إلى الشبكة.

eth_blockNumber: معرفة رقم أحدث Block تعرفه العقدة.

ما أنواع Blockchain Nodes؟

تختلف أنواع العُقد حسب الشبكة والبرنامج المستخدم، لكن يمكن أن تقابل مصطلحات مثل:

Full Node: تحتفظ بالبيانات اللازمة للتحقق من حالة الشبكة وفق قواعد البروتوكول.

Archive Node: تحتفظ بالإضافة إلى ذلك ببيانات تاريخية موسعة لحالات سابقة، ولذلك تحتاج عادةً إلى مساحة تخزين أكبر.

Light Client: يعتمد على كمية أقل من البيانات ويستخدم آليات تسمح له بالحصول على المعلومات والتحقق منها دون تخزين كل بيانات العقدة الكاملة.

ما هو RPC Provider؟

تشغيل وصيانة عقد Blockchain خاصة بكل تطبيق قد يتطلب موارد تقنية وبنية تحتية مستمرة.

لذلك توجد خدمات RPC Providers تشغّل البنية التحتية وتوفر للمطورين والمحافظ نقاط اتصال RPC جاهزة.

بهذا يستطيع التطبيق إرسال الطلبات إلى مزود RPC بدل تشغيل وإدارة جميع العُقد بنفسه.

ما مخاطر الاعتماد على مزود RPC واحد؟

رغم أن البلوكتشين نفسه قد يكون لامركزيًا، يمكن أن يعتمد تطبيق معين على مزود RPC واحد.

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

كما أن استخدام مزود خارجي يمكن أن يضيف اعتبارات مرتبطة بالخصوصية والاعتماد على طرف ثالث.

لذلك قد تستخدم بعض التطبيقات أكثر من مزود أو توفر آليات احتياطية لتقليل الاعتماد على نقطة واحدة.

إضافة RPC يدويًا إلى المحفظة

بعض المحافظ تسمح بإضافة شبكة أو RPC Endpoint يدويًا.

عند القيام بذلك يجب الحصول على بيانات الشبكة من مصدر رسمي والتأكد من RPC URL وChain ID وبقية إعدادات الشبكة.

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

كيف تستخدم بنية Web3 بأمان أكبر؟

استخدم بيانات RPC المنشورة في المصادر الرسمية للشبكة أو مزودي البنية التحتية المعروفين، ولا تشارك Seed Phrase أو Private Key مع أي خدمة.

قبل ربط محفظتك بموقع Web3 غير معروف، يمكنك استخدام

Suspicious Link Checker من TheCrypTechAI

كإحدى خطوات التحقق الأولية من الرابط.

وإذا كنت تبحث عن أنواع المحافظ المختلفة واستخداماتها، يمكنك الاطلاع على

Crypto Wallet Finder
.

مصدر إضافي

للتعمق أكثر في العُقد وبرامج تشغيل Ethereum، يمكنك قراءة

دليل Ethereum الرسمي حول Nodes and Clients
.

الخلاصة

البنية التحتية لـ Web3 هي الطبقة التقنية التي تجعل المحافظ والتطبيقات قادرة على التواصل مع شبكات البلوكتشين.

تذكر الفرق الأساسي:

Node = برنامج متصل بشبكة البلوكتشين ويتعامل مع بياناتها.

RPC = واجهة اتصال تسمح للتطبيقات بطلب البيانات وإرسال المعاملات إلى العُقد.

والتدفق المبسط هو:

Wallet / dApp → RPC → Node → Blockchain

ثم تعود بيانات الشبكة إلى التطبيق عبر المسار نفسه.

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

🧠

اختبر فهمك

سؤالان سريعان لتثبيت أهم ما تعلمته.

السؤال 1 من 2
ما الفرق الأساسي بين Blockchain Node وRPC؟
السؤال 2 من 2
ماذا يحدث عادةً عندما ترسل محفظة معاملة موقعة عبر RPC؟