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

آلة إيثريوم الافتراضية (EVM)

آخر تحديث للصفحة: 25 فبراير 2026

الآلة الافتراضية لإيثريوم (EVM) هي بيئة افتراضية لا مركزية تنفذ التعليمات البرمجية بشكل متسق وآمن عبر جميع عقد إيثريوم تشغّل العُقَد آلة إيثريوم الافتراضية (EVM) لتنفيذ العقود الذكية، باستخدام "الغاز" لقياس الجهد الحسابي المطلوب لـ العمليات، مما يضمن تخصيص الموارد بكفاءة وأمان الشبكة.

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

بعض الإلمام الأساسي بالمصطلحات الشائعة في علوم الكمبيوتر مثل بايت (opens in a new tab) والذاكرة (opens in a new tab) ومكدس (opens in a new tab) ضروري لفهم آلة إيثريوم الافتراضية (EVM). سيكون من المفيد أيضًا أن تكون على دراية بمفاهيم التشفير/البلوكتشين مثل دوال التجزئة (opens in a new tab) وشجرة ميركل (opens in a new tab).

من السجل إلى آلة الحالة

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

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

رسم بياني يوضح تكوين آلة إيثريوم الافتراضية (EVM) رسم بياني مقتبس من إيثريوم EVM illustrated (opens in a new tab)

دالة انتقال حالة إيثريوم

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

1Y(S, T)= S'

بوجود حالة قديمة صالحة (S) ومجموعة جديدة من المعاملات الصالحة (T)، فإن دالة انتقال الحالة لإيثريوم Y(S, T) تُنتج حالة إخراج جديدة صالحة S'

الحالة

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

المعاملات

المعاملات هي تعليمات من الحسابات موقعة بشكل مشفّر. والمعاملات على نوعين: المعاملات التي تؤدي إلى توجيه رسائل والمعاملات التي تؤدي إلى إنشاء عقود.

يؤدي إنشاء العقد إلى إنشاء حساب عقد جديد يحتوي على بايت كود العقد الذكي المترجم. وكلما وجّه حساب آخر رسالة إلى ذلك العقد، يقوم بتنفيذ البايت كود الخاص به.

تعليمات آلة إيثريوم الافتراضية (EVM)

تعمل آلة إيثريوم الافتراضية (EVM) كـآلة مكدس (opens in a new tab) بعمق 1024 عنصرًا. كل عنصر عبارة عن كلمة مكونة من 256 بت، تم اختيارها لسهولة الاستخدام مع تشفير 256 بت (مثل تجزئة Keccak-256 أو توقيعات secp256k1).

أثناء التنفيذ، تحافظ آلة إيثريوم الافتراضية (EVM) على ذاكرة مؤقتة (كمصفوفة بايت معنونة بالكلمات)، والتي لا تستمر بين المعاملات.

التخزين المؤقت

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

التخزين

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

رموز التشغيل

يُنفذ بايت كود العقد الذكي المترجم كمجموعة من أكواد التشغيل الخاصة بآلة إيثريوم الافتراضية (EVM)، والتي تؤدي عمليات المكدس القياسية مثل XOR وAND وADD وSUB وما إلى ذلك. تنفذ آلة إيثريوم الافتراضية (EVM) أيضًا عددًا من عمليات المكدس الخاصة بالبلوكتشين، مثل ADDRESS وBALANCE وBLOCKHASH وغيرها. تتضمن مجموعة أكواد التشغيل أيضًا TSTORE وTLOAD، والتي توفر الوصول إلى التخزين المؤقت.

رسم بياني يوضح أين يلزم الغاز لعمليات آلة إيثريوم الافتراضية (EVM) رسوم بيانية مقتبسة من إيثريوم EVM illustrated (opens in a new tab)

تطبيقات آلة إيثريوم الافتراضية (EVM)

يجب أن تتقيد كل عمليات التنفيذ في آلة إيثريوم الافتراضية بالمواصفات المبينة في ورقة إيثريوم الصفراء.

على مدى تاريخ إيثريوم الممتد لعشر سنوات، خضعت آلة إيثريوم الافتراضية (EVM) للعديد من المراجعات، وهناك العديد من تطبيقات آلة إيثريوم الافتراضية (EVM) بلغات برمجة مختلفة.

عملاء تنفيذ إيثريوم تتضمن تطبيقًا لآلة إيثريوم الافتراضية (EVM). بالإضافة إلى ذلك، هناك العديد من التطبيقات المستقلة، بما في ذلك:

قراءة إضافية

هل كانت هذه المقالة مفيدة؟