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

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

آلة إيثيريوم الافتراضية (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.

A diagram showing the make up of the EVM مخطط مقتبس من آلة إيثيريوم الافتراضية المصورة (opens in a new tab)

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

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

Y(S, T)= S'

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

الحالة

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

المعاملات

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

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

تعليمات EVM

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

أثناء التنفيذ، تحتفظ EVM بـ ذاكرة عابرة (كمصفوفة بايتات معنونة بالكلمات)، والتي لا تستمر بين المعاملات.

التخزين العابر

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

التخزين

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

رموز التشغيل

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

A diagram showing where gas is needed for EVM operations مخططات مقتبسة من آلة إيثيريوم الافتراضية المصورة (opens in a new tab)

تطبيقات EVM

يجب أن تلتزم جميع تطبيقات EVM بالمواصفات الموضحة في الورقة الصفراء لإيثيريوم.

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

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

قراءة إضافية

برامج تعليمية: آلة إيثيريوم الافتراضية (EVM) / رموز التشغيل على إيثيريوم