---
title: "بنية العقدة"
description: "مقدمة حول كيفية تنظيم عقد إيثيريوم."
lang: ar
---

تتكون عقدة إيثيريوم من عميلين: [عميل التنفيذ](/developers/docs/nodes-and-clients/#execution-clients) و[عميل إجماع](/developers/docs/nodes-and-clients/#consensus-clients). لكي تقترح العقدة كتلة جديدة، يجب عليها أيضًا تشغيل [عميل مُدَقِّق](#validators).

عندما كانت إيثيريوم تستخدم [إثبات العمل (PoW)](/developers/docs/consensus-mechanisms/pow/)، كان عميل التنفيذ كافيًا لتشغيل عقدة إيثيريوم كاملة. ومع ذلك، منذ تنفيذ [إثبات الحصة (PoS)](/developers/docs/consensus-mechanisms/pos/)، يجب استخدام عميل التنفيذ جنبًا إلى جنب مع برنامج آخر يسمى [عميل إجماع](/developers/docs/nodes-and-clients/#consensus-clients).

يوضح المخطط أدناه العلاقة بين عميلي إيثيريوم. يتصل العميلان بشبكات نظير إلى نظير (<span dir="ltr">P2P</span>) الخاصة بهما. هناك حاجة إلى شبكات <span dir="ltr">P2P</span> منفصلة لأن عملاء التنفيذ ينشرون المعاملات عبر شبكة <span dir="ltr">P2P</span> الخاصة بهم، مما يمكنهم من إدارة مجمع المعاملات المحلي الخاص بهم، بينما ينشر عملاء الإجماع الكتل عبر شبكة <span dir="ltr">P2P</span> الخاصة بهم، مما يتيح الإجماع ونمو السلسلة.

![Diagram of Ethereum node architecture showing execution and consensus layers](node-architecture-text-background.png)

_هناك عدة خيارات لعميل التنفيذ بما في ذلك إريغون، ونيذرميند، وبيسو_.

لكي تعمل بنية العميلين هذه، يجب على عملاء الإجماع تمرير حزم من المعاملات إلى عميل التنفيذ. ينفذ عميل التنفيذ المعاملات محليًا للتحقق من أن المعاملات لا تنتهك أيًا من قواعد إيثيريوم وأن التحديث المقترح لحالة إيثيريوم صحيح. عندما يتم اختيار عقدة لتكون منتجًا للكتلة، يطلب مثيل عميل الإجماع الخاص بها حزمًا من المعاملات من عميل التنفيذ لتضمينها في الكتلة الجديدة وتنفيذها لتحديث الحالة العالمية. يقود عميل الإجماع عميل التنفيذ عبر اتصال <span dir="ltr">RPC</span> محلي باستخدام [<span dir="ltr">Engine API</span>](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).

## ماذا يفعل عميل التنفيذ؟ {#execution-client}

عميل التنفيذ مسؤول عن التحقق من صحة المعاملات، والتعامل معها، ونشرها، إلى جانب إدارة الحالة ودعم آلة إيثيريوم الافتراضية ([<span dir="ltr">EVM</span>](/developers/docs/evm/)). وهو **ليس** مسؤولاً عن بناء الكتل، أو نشر الكتل، أو التعامل مع منطق الإجماع. هذه الأمور من اختصاص عميل الإجماع.

ينشئ عميل التنفيذ حمولات التنفيذ - قائمة المعاملات، وشجرة الحالة المحدثة، والبيانات الأخرى المتعلقة بالتنفيذ. يقوم عملاء الإجماع بتضمين حمولة التنفيذ في كل كتلة. عميل التنفيذ مسؤول أيضًا عن إعادة تنفيذ المعاملات في الكتل الجديدة للتأكد من صحتها. يتم تنفيذ المعاملات على الكمبيوتر المدمج لعميل التنفيذ، والمعروف باسم [آلة إيثيريوم الافتراضية (<span dir="ltr">EVM</span>)](/developers/docs/evm).

يقدم عميل التنفيذ أيضًا واجهة مستخدم لإيثيريوم من خلال [طرق <span dir="ltr">RPC</span>](/developers/docs/apis/json-rpc) التي تمكن المستخدمين من الاستعلام عن سلسلة كتل إيثيريوم، وإرسال المعاملات، ونشر العقود الذكية. من الشائع أن يتم التعامل مع استدعاءات <span dir="ltr">RPC</span> بواسطة مكتبة مثل [<span dir="ltr">Web3js</span>](https://docs.web3js.org/)، أو [<span dir="ltr">Web3py</span>](https://web3py.readthedocs.io/en/v5/)، أو بواسطة واجهة مستخدم مثل محفظة المتصفح.

باختصار، عميل التنفيذ هو:

- بوابة مستخدم إلى إيثيريوم
- موطن لآلة إيثيريوم الافتراضية، وحالة إيثيريوم، ومجمع المعاملات.

## ماذا يفعل عميل الإجماع؟ {#consensus-client}

يتعامل عميل الإجماع مع كل المنطق الذي يمكن العقدة من البقاء في حالة المزامنة مع شبكة إيثيريوم. يتضمن ذلك تلقي الكتل من النظراء وتشغيل خوارزمية اختيار التفرع لضمان اتباع العقدة دائمًا للسلسلة ذات التراكم الأكبر من الإثباتات (المرجحة بالأرصدة الفعالة للمُدَقِّقين). على غرار عميل التنفيذ، يمتلك عملاء الإجماع شبكة <span dir="ltr">P2P</span> الخاصة بهم والتي يشاركون من خلالها الكتل والإثباتات.

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

## المُدَقِّقون {#validators}

التخزين وتشغيل برنامج المُدَقِّق يجعل العقدة مؤهلة ليتم اختيارها لاقتراح كتلة جديدة. يمكن لمشغلي العقد إضافة مُدَقِّق إلى عملاء الإجماع الخاصين بهم عن طريق إيداع <span dir="ltr">32 ETH</span> في عقد الإيداع. يأتي عميل المُدَقِّق مدمجًا مع عميل الإجماع ويمكن إضافته إلى العقدة في أي وقت. يتعامل المُدَقِّق مع الإثباتات ومقترحات الكتل. كما أنه يمكن العقدة من تجميع المكافآت أو فقدان <span dir="ltr">ETH</span> عبر العقوبات أو الاقتطاع.

[المزيد حول التخزين](/staking/).

## مقارنة بين مكونات العقدة {#node-comparison}

| عميل التنفيذ | عميل الإجماع | المُدَقِّق |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| ينشر المعاملات عبر شبكة <span dir="ltr">P2P</span> الخاصة به | ينشر الكتل والإثباتات عبر شبكة <span dir="ltr">P2P</span> الخاصة به | يقترح الكتل |
| ينفذ/يعيد تنفيذ المعاملات | يشغل خوارزمية اختيار التفرع | يجمع المكافآت/العقوبات |
| يتحقق من تغييرات الحالة الواردة | يتتبع رأس السلسلة | يقوم بالإثباتات |
| يدير أشجار الحالة والإيصالات | يدير حالة بيكون (تحتوي على معلومات الإجماع والتنفيذ) | يتطلب تخزين <span dir="ltr">32 ETH</span> |
| ينشئ حمولة التنفيذ | يتتبع العشوائية المتراكمة في <span dir="ltr">RANDAO</span> (خوارزمية توفر عشوائية يمكن التحقق منها لاختيار المُدَقِّق وعمليات الإجماع الأخرى) | يمكن أن يتعرض للاقتطاع |
| يعرض <span dir="ltr">JSON-RPC API</span> للتفاعل مع إيثيريوم | يتتبع التبرير والنهائية | |

## قراءة إضافية {#further-reading}

- [إثبات الحصة (<span dir="ltr">PoS</span>)](/developers/docs/consensus-mechanisms/pos)
- [اقتراح الكتلة](/developers/docs/consensus-mechanisms/pos/block-proposal)
- [مكافآت وعقوبات المُدَقِّق](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)