EVM (جهاز إيثريوم الإفتراضي)

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

تعمل آلة إيثرنت الافتراضية (EVM) من خلال تنفيذ تعليمات منخفضة المستوى تُسمى رموز العمليات (opcodes)، والتي تُترجم من لغات برمجة عالية المستوى مثل Solidity وVyper إلى بايت كود. يُنفذ كل رمز عملية عملية ذرية محددة - عمليات حسابية، ومعالجة الذاكرة، وقراءة وكتابة البيانات، والتشفير، ومنطق التحكم في التدفق. عندما يبدأ مستخدم أو عقد معاملة تستدعي عقدًا ذكيًا، تقوم آلة إيثرنت الافتراضية بتحميل بايت كود العقد من شجرة حالة سلسلة الكتل (three) ومعالجته تعليمةً تلو الأخرى، مستهلكةً موردًا مُقننًا يُسمى "الغاز" لكل عملية. تمنع آلية قياس الغاز هذه الحلقات اللانهائية وإساءة استخدام الموارد من خلال إلزام مُرسل المعاملة بدفع تكلفة العمليات الحسابية التي تتطلبها معاملته.

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

يتجاوز تأثير آلة إيثيريوم الافتراضية (EVM) نطاق إيثيريوم نفسه بكثير. فقد أصبحت بنيتها المعيار الفعلي لتنفيذ العقود الذكية في جميع أنحاء صناعة البلوك تشين. اعتمدت شبكات رئيسية، بما في ذلك BNB Smart Chain (BSC) وPolygon وAvalanche C-Chain وArbitrum وOptimism وFantom وCronos وعشرات الشبكات الأخرى، توافق EVM، مما يسمح للمطورين بنشر نفس العقود الذكية المكتوبة بلغة Solidity عبر سلاسل متعددة بأقل قدر من التعديل. وقد أدى هذا التوافق بين السلاسل إلى إنشاء نظام بيئي ضخم من الأدوات المشتركة ومعرفة المطورين والبروتوكولات القابلة للتركيب، والتي تشكل مجتمعةً العمود الفقري لنظام التطبيقات اللامركزية (dApp).

الأصل والتاريخ

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

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

2015: انطلقت إيثيريوم في 30 يوليو مع إصدار Frontier. وبدأ تشغيل آلة إيثيريوم الافتراضية (EVM) بمجموعة أولية تضم حوالي 140 رمزًا برمجيًا، مما مكّن من تنفيذ أولى العقود الذكية على سلسلة كتل عامة. كانت العقود الأولى بسيطة - مُصدري الرموز ومحافظ التوقيعات المتعددة - لكنها أثبتت جدوى آلة إيثيريوم الافتراضية كمحرك حوسبة للأغراض العامة.

2016: كشف اختراق DAO في 17 يونيو عن ثغرة أمنية خطيرة في تصميم العقود الذكية لآلة إيثيريوم الافتراضية (EVM). تم استنزاف ما يقارب 60 مليون دولار من عملة إيثيريوم (حوالي 3.6 مليون إيثيريوم) من عقد DAO عبر استغلال ثغرة استدعاء متكرر. ورغم أن الثغرة كانت في كود العقد الذكي وليس في آلة إيثيريوم الافتراضية نفسها، إلا أن الحادثة حفزت أبحاثًا معمقة حول أنماط أمان آلة إيثيريوم الافتراضية، وأدت إلى تطوير أنماط تصميم تعتمد على التحقق من التأثيرات والتفاعلات وحماية إعادة الدخول. كما أدت التداعيات إلى الانقسام الحاد المثير للجدل في شبكة إيثيريوم، والذي قسم السلسلة إلى إيثيريوم (ETH) وإيثيريوم كلاسيك (ETC).

2017-2018: أدى ازدهار الاكتتابات الأولية للعملات الرقمية إلى انتشار واسع النطاق للعقود الذكية على منصة إيثيريوم، مما أدى إلى اختبار قدرة آلة إيثيريوم الافتراضية (EVM) على نطاق غير مسبوق. وأصبح معيار ERC-20 للرموز أكثر أنواع العقود استخدامًا، وقامت آلة إيثيريوم الافتراضية بمعالجة ملايين عمليات تحويل الرموز. وقد تسببت لعبة CryptoKitties (ديسمبر 2017) في ازدحام شديد على الشبكة، كاشفةً عن محدودية إنتاجية آلة إيثيريوم الافتراضية.

2019-2020: شهد صيف عام 2020 ازدهارًا في مجال التمويل اللامركزي، حيث برزت بروتوكولات مثل Uniswap وAave وCompound، مما دفع آلة إيثرنت الافتراضية (EVM) إلى التعامل مع تفاعلات العقود المتعددة المعقدة بشكل متزايد. وارتفعت رسوم الغاز إلى مئات من الجيغاوي، وأصبح تحسين رسوم الغاز في آلة إيثرنت الافتراضية مهارة أساسية لمطوري لغة Solidity.

2021-2022: شهدت سلاسل الكتل المتوافقة مع آلة إيثيريوم الافتراضية (EVM) رواجًا هائلًا. فقد أطلقت كل من BSC وPolygon وAvalanche وFantom وArbitrum بيئات تنفيذ متوافقة مع EVM، مما مكّن المطورين من نقل تطبيقات إيثيريوم اللامركزية (dApps) بأقل جهد ممكن. وأصبح مصطلح "متوافق مع EVM" شرطًا تسويقيًا أساسيًا لسلاسل الكتل الجديدة من الطبقة الأولى والثانية.

2022-2024: لم يُغيّر دمج إيثيريوم مع آلية إثبات الحصة (سبتمبر 2022) بنية آلة إيثيريوم الافتراضية (EVM) نفسها، بل عدّل طبقة الإجماع التي تدعمها. وتكثّفت الأبحاث حول بنى EVM البديلة، مع مقترحات لتحديث تنسيق كائنات EVM (EOF) ومناقشات حول الانتقال المحتمل إلى بيئات تنفيذ تعتمد على eWASM أو RISC-V. وقدّم تحديث Dencun (مارس 2024) معاملات EIP-4844 الثنائية الكبيرة، موسّعًا بذلك إمكانيات توفير البيانات في EVM لعمليات التجميع.

بعبارات بسيطة

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

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

تُشبه آلة إيثيريوم الافتراضية (EVM) مترجمًا عالميًا للعقود الذكية. يكتب المطور الكود بلغة سهلة القراءة (Solidity)، ثم تُترجمه آلة إيثيريوم الافتراضية إلى تعليمات الآلة (الرمز البايتي)، وبعد ذلك تتحدث جميع عُقد إيثيريوم بهذه اللغة نفسها. لهذا السبب، يمكن تشغيل عقد كُتب مرة واحدة على إيثيريوم، وبوليغون، وبي إس سي، وأربيتروم دون الحاجة إلى إعادة كتابته.

تخيل خدمة ضمان موثقة، يعمل بها روبوت نزيه تمامًا. تُزوّد ​​الروبوت بقواعد محددة ("لا يُفرج عن هذا المال إلا بعد توقيع الطرفين")، ويلتزم بها الروبوت بدقة متناهية - لا رشاوى، لا أخطاء، لا توقف. آلة إيثرنت الافتراضية (EVM) هي ذلك الروبوت، والقواعد هي شفرة العقد الذكي.

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

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

الميزات التقنية الرئيسية

بنية قائمة على المكدس

  • تستخدم آلة إيثرنت الافتراضية (EVM) مكدسًا يعمل بنظام الإدخال الأخير والإخراج الأول (LIFO) بعمق أقصى يبلغ 1,024 عنصرًا
  • يبلغ عرض كل عنصر من عناصر المكدس 256 بت (32 بايت)، وهو ما يتوافق مع حجم الكلمة الأصلي لشبكة إيثيريوم.
  • تقوم العمليات الحسابية والمنطقية بإخراج المعاملات من المكدس وإعادة النتائج إليه.
  • يُبسط التصميم القائم على المكدس عملية التحقق الرسمي ويحافظ على حجم التنفيذ صغيرًا
  • بخلاف الآلات الافتراضية القائمة على السجلات (مثل LLVM)، تتجنب بنية المكدس تعقيد تخصيص السجلات

مجموعة تعليمات رمز العملية

  • تُعرّف آلة إيثرنت الافتراضية (EVM) ما يقارب 140 رمزًا تشغيليًا مُصنّفة ضمن فئات: العمليات الحسابية، والمقارنة، والعمليات الثنائية، والتجزئة، وعمليات البيئة، وعمليات الكتل، وعمليات المكدس/الذاكرة/التخزين، وعمليات التسجيل، وعمليات النظام، وعمليات الدفع/النسخ/التبديل.
  • تتضمن رموز العمليات الرئيسية ما يلي: ADD, MUL, SLOAD, SSTORE, CALL, DELEGATECALL, CREATE, CREATE2, SELFDESTRUCT, LOG0-LOG4و REVERT
  • لكل رمز تشغيل تكلفة غاز ثابتة أو ديناميكية محددة في الورقة الصفراء، ويتم تحديثها من خلال EIPs (على سبيل المثال، EIP-2929 زيادة تكاليف الوصول إلى التخزين البارد).
  • استخدم DELEGATECALL يُمكّن رمز العملية نمط الوكيل، وهو أساسي للعقود الذكية القابلة للتحديث

كيف يعمل تنفيذ EVM

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

نظام قياس الغاز

  • تُستخدم الغازات كوحدة لقياس الجهد الحسابي، حيث يتم تسعير كل رمز عملية بما يتناسب مع استهلاكه للموارد.
  • عمليات بسيطة مثل ADD تكلفة الغاز 3، بينما يكتب التخزين (SSTORE) تكلف من 5,000 إلى 20,000 وحدة غاز، وذلك حسب ما إذا كان يتم ضبط الفتحة من الصفر أو تعديلها
  • تبلغ تكلفة المعاملة الأساسية 21,000 وحدة غاز، مع تكاليف إضافية لبيانات الاتصال (4 وحدات غاز لكل بايت صفري، و16 وحدة غاز لكل بايت غير صفري).
  • أدخلت EIP-1559 (تحديث لندن، أغسطس 2021) رسومًا أساسية تُحرق بالإضافة إلى رسوم أولوية اختيارية (إكرامية) لمنشئ الكتلة
  • يحد حد الغاز للكتل (حوالي 30 مليون اعتبارًا من عام 2024) من إجمالي الحساب لكل كتلة، مما يحد فعليًا من إنتاجية EVM

نموذج الذاكرة والتخزين

  • المكدس: مكدس متقلب، مكون من 1024 عنصرًا، يعمل بنظام LIFO، لإجراء العمليات الحسابية المتوسطة - مجاني الاستخدام ولكنه محدود العمق
  • الذاكرة: ذاكرة خطية متطايرة، قابلة للعنونة بالبايت، تتوسع حسب الحاجة – وتستهلك غازًا يتناسب مع مربع الحجم المخصص.
  • التخزين: مخزن قيم مفتاحية دائم بحجم 256 بت مرتبط بكل عنوان عقد - وهو المورد الأكثر تكلفة (20,000 وحدة غاز لكتابة خانة جديدة)
  • بيانات الاستدعاء: بيانات إدخال للقراءة فقط مرتبطة بالمعاملة - أرخص من الذاكرة والتخزين، وتستخدم لمعلمات الدالة

إيجابيات - سلبيات

المزاياعيوب
إمكانية النقل عبر السلاسل: يمكن نشر العقود الذكية المكتوبة لـ EVM على عشرات السلاسل المتوافقة مع EVM (BSC، Polygon، Avalanche، Arbitrum، Optimism) بأقل قدر من التغييراتقيود الأداء: يحدّ كلٌّ من بنية المكدس ونموذج التنفيذ التسلسلي من معدل نقل البيانات إلى ما يقارب 15-30 معاملة في الثانية على شبكة إيثيريوم الرئيسية.
نظام بيئي ضخم للمطورين: تُعدّ لغة Solidity لغة العقود الذكية الأكثر شهرة على نطاق واسع، مع أدوات واسعة النطاق (Hardhat، Foundry، Remix، OpenZeppelin) وموارد للمطورينارتفاع تكاليف الغاز: قد تكلف العمليات المعقدة على شبكة إيثيريوم الرئيسية مئات الدولارات كرسوم غاز خلال فترات ذروة الازدحام، مما يحرم المستخدمين الصغار من استخدامها.
أمان مُجرَّب في المعارك: بعد ما يقرب من عقد من الاستخدام الإنتاجي مع تأمين مليارات الدولارات، أثبتت المواصفات الأساسية لـ EVM قوةً ملحوظةً ضد الاختراقات المباشرة.زيادة حجم الكلمة 256 بت: يُعد حجم الكلمة الأصلي البالغ 256 بت مفرطًا بالنسبة لمعظم العمليات، مما يؤدي إلى إهدار الموارد على الحشو وزيادة تكاليف الغاز للحسابات البسيطة.
التنفيذ الحتمي: يضمن نتائج متطابقة عبر جميع العقد، مما يتيح التحقق والتوافق دون الحاجة إلى تنسيق مركزي.نموذج حسابي محدود: لا يوجد دعم أصلي للحسابات ذات الفاصلة العائمة، أو التوازي، أو الوصول إلى البيانات خارج السلسلة، مما يتطلب حلولًا بديلة للعديد من حالات الاستخدام الواقعية.
المواصفات الرسمية: توفر الورقة الصفراء لغافين وود مواصفات رياضية دقيقة، مما يتيح تطبيقات مستقلة متعددة (Geth، Nethermind، Besu، Erigon) تعمل معًا بشكل مثاليعدم قابلية تغيير العقود الذكية: بمجرد نشرها، لا يمكن تغيير رمز البايت - تصبح الأخطاء دائمة ما لم يتم استخدام أنماط الوكيل (التي تضيف تعقيدًا ومخاطر).
قابلية تركيب غنية: تسمح واجهة EVM القياسية للعقود بالتفاعل مع بعضها البعض بسلاسة، مما يتيح قابلية تركيب "ليغو المال" في التمويل اللامركزيتضخم التخزين: ينمو تخزين الحالة الدائمة بشكل غير محدود. متطلبات تخزين العقدة للعقد الكاملة القياسية أقل بسبب عملية التقليم، ولكن عقد الأرشيف المتخصصة (التي تخزن سجل الحالة الكامل) قد تتطلب مساحة تخزين تتجاوز 1 تيرابايت.
إمكانية الترقية من خلال مقترحات تحسين إيثيريوم: يمكن تحديث مجموعة رموز العمليات وجدول الغاز من خلال مقترحات تحسين إيثيريوم، مما يسمح لآلة إيثيريوم الافتراضية بالتطور دون الإخلال بالعقود الحالية.سطح ثغرة إعادة الدخول: إن قدرة رمز CALL على نقل التنفيذ إلى عقود خارجية تخلق فئة من أخطاء إعادة الدخول التي لا تزال أكثر طرق الاستغلال شيوعًا

خدمات إدارة المخاطر

مخاطر ثغرات العقود الذكية

  • تُنفذ آلة إيثرنت الافتراضية (EVM) التعليمات البرمجية المعيبة بأمانة - وقد أدت هجمات إعادة الدخول، وتجاوزات الأعداد الصحيحة (قبل Solidity 0.8)، وأخطاء التحكم في الوصول إلى خسائر بمليارات الدولارات
  • إجراءات التخفيف: إلزام الشركات بإجراء عمليات تدقيق احترافية من شركات مثل Trail of Bits أو OpenZeppelin أو Certik قبل إطلاق الشبكة الرئيسية؛ استخدام أدوات التحقق الرسمية مثل Certora وK Framework
  • قم بتطبيق نمط التحقق والتأثير والتفاعلات، واستخدم خاصية ReentrancyGuard من OpenZeppelin لجميع الاستدعاءات الخارجية.

مخاطر تقلب أسعار الغاز

  • يمكن أن يؤدي الازدحام المفاجئ في الشبكة إلى ارتفاع أسعار الغاز من 10 جيجاوي إلى أكثر من 500 جيجاوي، مما يجعل التفاعلات التعاقدية باهظة التكلفة بشكل لا يصدق.
  • الحلول: تطبيق أنظمة تحديد أسعار الغاز ومعايير الحد الأقصى لسعر الغاز في واجهات التطبيقات اللامركزية؛ استخدام حلول الطبقة الثانية (Arbitrum، Optimism، Base) للعمليات الحساسة للتكلفة
  • ضع في اعتبارك معاملات EIP-4844 blob لعمليات التجميع ذات البيانات الكثيفة

مخاطر التوافق بين السلاسل

  • قد تُطبّق السلاسل المتوافقة مع EVM اختلافات طفيفة في سلوك رمز العملية، أو توافر التجميع المسبق، أو جدولة الغاز.
  • إجراءات التخفيف: اختبار العقود على شبكة الاختبار الخاصة بكل سلسلة مستهدفة؛ توخي الحذر عند استخدام رموز العمليات الخاصة بالسلسلة مثل CHAINID و BASEFEE; الحفاظ على تكوينات النشر لكل سلسلة

تضخم الدولة ومخاطر الاستدامة

  • كل عملية نشر للعقد وكتابة للتخزين تزيد بشكل دائم من الحالة العامة، مما يرفع متطلبات الأجهزة للعقد الكاملة
  • التخفيف: تقليل استخدام التخزين من خلال تعبئة البيانات بكفاءة (قيم متعددة لكل خانة 32 بايت)؛ دعم البحث في إيثيريوم عديم الحالة ومقترحات انتهاء صلاحية الحالة (EIP-4444).

الصلة الثقافية

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

لقد أدت لغة البرمجة Solidity، التي تُترجم إلى بايت كود EVM، إلى ظهور فئة مهنية كاملة من "مطوري Solidity" الذين يتقاضون رواتب عالية في قطاع التكنولوجيا. وقد درّبت معسكرات التدريب، والدورات الجامعية، والمنصات الإلكترونية مثل CryptoZombies أعدادًا كبيرة من المطورين خصيصًا لتطوير البرمجيات باستخدام EVM.

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

في أوساط المطورين، أصبح التمييز بين "التكافؤ مع EVM" و"التوافق مع EVM" أمرًا بالغ الأهمية. تسعى مشاريع مثل OP Stack التابعة لـ Optimism إلى تحقيق التكافؤ الكامل (سلوك متطابق لرمز العملية)، بينما تكتفي مشاريع أخرى بالتوافق (نفس كود Solidity يُجمَّع ويُنشر، ولكن مع اختلافات طفيفة في السلوك). هذا التمييز بالغ الأهمية للأمان وقابلية التركيب، وأصبح معيارًا أساسيًا لتقييم قرارات البنية التحتية.

أمثلة من العالم الحقيقي

نشر Uniswap متعدد السلاسل

السيناريو: احتاجت منصة Uniswap، وهي أكبر بورصة لامركزية من حيث الحجم، إلى التوسع خارج شبكة Ethereum الرئيسية لخدمة المستخدمين الذين لا يستطيعون تحمل تكاليف رسوم الغاز المرتفعة.

التنفيذ: نظراً لأن العقود الذكية لـ Uniswap كُتبت بلغة Solidity لشبكة EVM، فقد تم نشر البروتوكول على سلاسل Polygon وArbitrum وOptimism وBSC وBase وAvalanche وCelo مع الحد الأدنى من التعديلات على العقود. وتعمل نفس آلية AMM الأساسية (صيغة المنتج الثابتة) بشكل متطابق على جميع السلاسل المتوافقة مع EVM.

النتيجة: تعالج منصة Uniswap حجم تداول يومي كبير عبر سلاسل EVM متعددة. يدفع المستخدمون على منصتي Arbitrum وPolygon عادةً أجزاءً من السنت لكل عملية تبديل مقارنةً بعدة دولارات على شبكة Ethereum الرئيسية أثناء الازدحام، بينما يظل نموذج أمان البروتوكول متطابقًا بشكل أساسي في جميع عمليات النشر.

اختراق DAO وإعادة دخول EVM

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

التنفيذ: قام المهاجم بتصميم عقد خبيث، عند استلام عملة الإيثيريوم عبر آلة إيثيريوم الافتراضية. CALL كان رمز العملية يستدعي فورًا وظيفة السحب الخاصة بمنظمة DAO. نفّذت آلة إيثيريوم الافتراضية (EVM) كل استدعاء متكرر بدقة، مما أدى إلى سحب ما يقارب 3.6 مليون إيثيريوم (حوالي 60 مليون دولار في ذلك الوقت).

النتيجة: نفّذ مجتمع إيثيريوم عملية انقسام حاد مثيرة للجدل لعكس عملية السرقة، مما أدى إلى إنشاء إيثيريوم (ETH) وإيثيريوم كلاسيك (ETC). وأصبحت هذه الحادثة دراسة حالة أساسية لأمن آلة إيثيريوم الافتراضية (EVM)، مما أدى إلى تطوير آليات الحماية من إعادة الدخول، ونمط التحقق والتأثير والتفاعل، وممارسات التدقيق التفصيلية التي تُشكّل جوهر هذا القطاع اليوم.

Aave on Arbitrum عبر معادلة EVM

السيناريو: سعت Aave، وهي بروتوكول إقراض رائد في مجال التمويل اللامركزي (DeFi) مع قيمة إجمالية كبيرة مقفلة، إلى النشر على Arbitrum لتقديم خدمات الإقراض والاقتراض بتكلفة أقل للمستخدمين.

التنفيذ: حقق تحديث Nitro من Arbitrum تكافؤًا شبه كامل مع EVM، مما يعني إمكانية نشر نظام Aave المعقد متعدد العقود (بما في ذلك القروض السريعة، ومنطق سعر الفائدة المتغير/الثابت، ووحدات الحوكمة) دون تعديل. يعمل نفس كود Solidity المصدري، المُجمَّع إلى نفس بايت كود EVM، على بيئة تنفيذ التجميع التفاؤلي من Arbitrum.

النتيجة: أصبح تطبيق Aave على شبكة Arbitrum أحد أكبر تطبيقات التمويل اللامركزي (DeFi) على أي طبقة ثانية، مع انخفاض تكاليف الغاز بنسبة تتراوح بين 90 و95% تقريبًا مقارنةً بشبكة Ethereum الرئيسية. وقد أظهر هذا التطبيق السلس قوة تكافؤ آلة Ethereum الافتراضية (EVM) في عمليات نقل البروتوكولات المعقدة.

حروب رسوم تعدين الرموز غير القابلة للاستبدال

السيناريو: خلال عمليات إطلاق NFT البارزة مثل عملية سك عملة Otherside من Yuga Labs (30 أبريل 2022)، حاول آلاف المستخدمين في وقت واحد تنفيذ معاملات EVM لسك NFTs، مما أدى إلى منافسة شديدة على رسوم الغاز.

التنفيذ: قام المستخدمون بتحديد أسعار غاز مرتفعة بشكل متزايد لضمان تضمين معاملات سك العملات الخاصة بهم في الكتلة التالية، حيث أشارت بعض التقارير إلى أن تكاليف الغاز وصلت إلى ما يقارب 2-2.5 إيثيريوم لكل عملية سك في ذروة الطلب. وقد عالجت آلة إيثيريوم الافتراضية (EVM) كل طلب سك عملات بالتسلسل داخل كل كتلة، حيث قام بناة الكتل بترتيب المعاملات حسب سعر الغاز.

النتيجة: أنفقت منصة Otherside أكثر من 150 مليون دولار أمريكي على رسوم معاملات ETH خلال 24 ساعة تقريبًا (تتراوح التقديرات من مصادر متعددة بين 150 و176 مليون دولار أمريكي)، مما يُظهر متانة آلة ETH الافتراضية (EVM) في ظل الأحمال القصوى، بالإضافة إلى محدودية إنتاجيتها الأساسية. وقد ساهم هذا الحدث في تسريع اعتماد حلول الطبقة الثانية القائمة على EVM لإطلاق رموز NFT مستقبلًا.

جدول المقارنة

الميزاتإي في إم (إيثيريوم)سولانا VM (SVM)كوزموازم (الكون)نقل الجهاز الظاهري (Aptos/Sui)
معماركلمة 256 بت قائمة على المكدسبايت كود قائم على السجلات، BPFقائم على WebAssemblyقائم على السجلات، وموجه نحو الموارد
اللغة الأساسيةالصلابة، فايبرالصدأ، جRustتحرك
نموذج التنفيذمتسلسل لكل كتلةموازٍ (مستوى سطح البحر)متسلسل لكل كتلةمتوازٍ (متمركز حول الكائن)
نموذج الغاز/الرسومسعر الغاز الأساسي + رسوم الأولويةوحدات الحوسبة + رسوم الأولويةغاز بأسعار قابلة للتخصيصوحدات الغاز مع خصومات التخزين
تبني السلاسل المتعددةأكثر من 50 سلسلة (BSC، Polygon، Arbitrum، إلخ).ظهور سلاسل متوافقة مع SVMسلاسل متصلة بـ IBC (50+)محدود (أبتوس، سوي، موفمنت)
النظام البيئي للمطورالأكبر (Hardhat، Foundry، OpenZeppelin)النمو (إطار عمل أساسي)متوسط ​​(أدوات CosmWasm)ناشئ (مثبت الحركة)
التحقق الرسميمواصفات الورقة الصفراء؛ K-EVMأدوات رسمية محدودةمتوسط ​​(يخضع لفحوصات CosmWasm)مُثبت الحركة (مدمج)

الشروط ذات الصلة

  • Solidity – لغة البرمجة عالية المستوى الأكثر استخدامًا لكتابة العقود الذكية لآلة EVM، وتتميز بالكتابة الثابتة والوراثة ومكتبة قياسية واسعة النطاق.
  • الغاز (الإيثيريوم) – وحدة الجهد الحسابي المطلوبة لتنفيذ العمليات على EVM، والتي يدفعها مرسلو المعاملات لتعويض المدققين عن معالجة معاملاتهم.
  • العقد الذكي – برامج ذاتية التنفيذ مخزنة على سلسلة الكتل ويتم تشغيلها بواسطة EVM، وتحتوي على منطق الأعمال للتطبيقات اللامركزية.
  • بايت كود - رمز الآلة منخفض المستوى الذي يتم تجميعه من Solidity أو Vyper والذي يقوم EVM بتنفيذه مباشرة، ويتكون من تسلسلات من رموز العمليات ووسائطها.
  • سلسلة متوافقة مع EVM - أي سلسلة كتل تقوم بتنفيذ مواصفات EVM، مما يسمح بنشر وتنفيذ العقود الذكية Solidity دون تعديل.
  • تجميع الطبقة 2 – توسيع نطاق الحلول مثل Arbitrum و Optimism التي تنفذ معاملات EVM خارج السلسلة وترسل إثباتات مضغوطة أو بيانات مرة أخرى إلى Ethereum من أجل الأمان.
  • ورقة صفراء Ethereum – المواصفات الرياضية الرسمية لـ Gavin Wood لـ EVM، والتي تحدد كل رمز تشغيل، وتكلفة الغاز، وقاعدة انتقال الحالة.
  • ABI (واجهة التطبيق الثنائية) - تنسيق التشفير القياسي لاستدعاء وظائف العقد الذكي EVM وفك تشفير قيم الإرجاع الخاصة بها، مما يتيح قابلية التشغيل البيني بين العقود والواجهات الأمامية.
  • EIP-1559 – اقتراح تحسين إيثيريوم الذي أصلح سوق رسوم الغاز لـ EVM من خلال تقديم رسوم أساسية محروقة وآلية إكرامية اختيارية ذات أولوية.
  • عقد الوكالة – نمط تصميم يستخدم رمز DELEGATECALL الخاص بـ EVM لإنشاء عقود ذكية قابلة للتحديث عن طريق فصل التخزين عن المنطق.
  • رموز العمليات - مجموعة التعليمات الأساسية لـ EVM، حيث يقوم كل منها بتنفيذ عملية ذرية واحدة مثل الجمع أو الوصول إلى التخزين أو استدعاء العقد.
  • شجرة الحالة - بنية بيانات Merkle Patricia Trie التي تخزن الحالة العامة (أرصدة الحسابات، وتخزين العقود، ورمز البايت) التي يتم الوصول إليها بواسطة EVM أثناء التنفيذ.

الأسئلة الشائعة

س: ماذا يعني مصطلح "متوافق مع EVM" ولماذا هو مهم؟ ج: تعني عبارة "متوافق مع EVM" أن سلسلة الكتل تُطبّق نفس مواصفات الآلة الافتراضية المستخدمة في إيثيريوم، مما يسمح بنشر العقود الذكية المكتوبة بلغة Solidity دون تعديل. وهذا أمر بالغ الأهمية لأنه يمنح السلاسل الجديدة وصولاً فورياً إلى النظام البيئي الضخم لإيثيريوم من أدوات المطورين (Hardhat، Foundry، Remix)، ومكتبات العقود المُدققة (OpenZeppelin)، وقواعد بيانات التطبيقات اللامركزية الحالية. سلاسل مثل BSC، وPolygon، وAvalanche C-Chain، وArbitrum، وOptimism جميعها متوافقة مع EVM، ولهذا السبب يمكن تشغيل نفس البروتوكولات (Uniswap، وAave، وSushiSwap) عليها جميعاً.

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

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

س: ما الفرق بين وحدة EVM ومعالج الكمبيوتر العادي؟ ج: على عكس وحدة المعالجة المركزية الفعلية، فإن آلة إيثرنت الافتراضية (EVM) هي آلة افتراضية - برنامج يحاكي جهاز كمبيوتر. تشمل الاختلافات الرئيسية ما يلي: (1) آلة إيثرنت الافتراضية حتمية تمامًا، أي أنها تُنتج مخرجات متطابقة على كل جهاز، بينما قد تُظهر وحدات المعالجة المركزية الفعلية سلوكيات غير حتمية؛ (2) تفرض آلة إيثرنت الافتراضية رسومًا على كل عملية عبر الغاز، بينما تُعالج وحدات المعالجة المركزية التعليمات بسرعة الأجهزة؛ (3) تمتلك آلة إيثرنت الافتراضية تخزينًا دائمًا لسلسلة الكتل، بينما ذاكرة وحدة المعالجة المركزية متطايرة؛ (4) تعمل آلة إيثرنت الافتراضية بشكل متطابق على آلاف العُقد في وقت واحد، بينما تعمل وحدة المعالجة المركزية على جهاز واحد. تخيلها كجهاز كمبيوتر بطيء ومكلف عمدًا، مُصمم لتحقيق إجماع عالمي لا مركزي بدلًا من التركيز على الأداء.

س: هل يمكن تحديث أو إصلاح العقود الذكية لآلة إي في إم بعد النشر؟ ج: بشكل مباشر، لا – رمز بايت EVM غير قابل للتغيير بمجرد نشره. مع ذلك، يسمح نمط الوكيل (باستخدام رمز DELEGATECALL) للمطورين بإنشاء عقود قابلة للتحديث. يخزن عقد الوكيل الحالة ويفوض التنفيذ إلى عقد تنفيذي يحتوي على المنطق. للتحديث، ينشر المطورون عقد تنفيذي جديد ويحدثون الوكيل ليشير إليه. يُستخدم هذا النمط في معظم بروتوكولات التمويل اللامركزي الرئيسية، ولكنه يُدخل مخاطر تتعلق بالحوكمة والمركزية (إذ يمكن لمن يتحكم في تحديث الوكيل تغيير سلوك العقد). تُعد الوكلاء الشفافة (EIP-1967) ووكلاء UUPS من أكثر التطبيقات شيوعًا.

س: ما الفرق بين تكافؤ EVM وتوافق EVM؟ ج: تعني توافقية EVM أن السلسلة قادرة على تشغيل العقود الذكية المكتوبة بلغة Solidity، ولكن قد توجد اختلافات طفيفة في سلوك التعليمات البرمجية، وتكاليف الغاز، أو توفر الترجمة المسبقة. أما تكافؤ EVM فيعني أن السلسلة تُنفذ مواصفات EVM بشكل مطابق، تعليمات برمجية متطابقة، بحيث تعمل حتى التعليمات البرمجية منخفضة المستوى وأدوات تصحيح الأخطاء تمامًا كما تعمل على إيثيريوم. يهدف كل من تحديث Bedrock لـ Optimism وArbitrum Nitro إلى تحقيق تكافؤ EVM، بينما تُعد السلاسل الأقدم مثل BSC متوافقة مع EVM ولكنها ليست مكافئة تمامًا. يُعد التكافؤ مهمًا للعقود المعقدة التي تعتمد على تكاليف غاز محددة أو سلوكيات تعليمات برمجية معينة.

س: هل سيتم استبدال جهاز EVM في نهاية المطاف؟ ج: توجد مقترحات وأبحاث جارية حول تقنيات بديلة لآلة إيثيريوم الافتراضية (EVM)، بما في ذلك eWASM (WebAssembly بنكهة إيثيريوم)، وRISC-V، ومسار ترقية EOF (تنسيق كائنات EVM). مع ذلك، يواجه استبدال آلة إيثيريوم الافتراضية تحديًا هائلًا في التوافق مع الإصدارات السابقة، إذ تُنشر مليارات الدولارات من العقود الذكية باستخدام بايت كود EVM، ويجب على أي بديل إما دعم العقود الحالية أو توفير مسار انتقال سلس. يُعدّ تطوير سلسلة EOF التطور الأقرب ترجيحًا، حيث يُحدّث تنسيق بايت كود EVM مع الحفاظ على التوافق. أما الاستبدال الكامل، إن حدث، فمن المرجح أن يستغرق سنوات، وسيحتاج إلى التعايش مع آلة إيثيريوم الافتراضية الحالية لفترة انتقالية طويلة.

مصادر

  • ورقة إيثيريوم الصفراء (غافن وود) – https://ethereum.github.io/yellowpaper/paper.pdf
  • مؤسسة إيثيريوم: آلة إيثيريوم الافتراضية
  • مرجع رموز عمليات EVM
  • مقترحات تحسين الإيثريوم (EIPs)
  • أمان العقود الذكية من OpenZeppelin
  • مؤسسة إيثيريوم: رسوم الغاز والرسوم الأخرى
  • توثيق الصلابة
  • إنفستوبيديا: آلة إيثيريوم الافتراضية
  • كوين ديسك: كيف غيّر اختراق DAO شبكة إيثيريوم والعملات الرقمية
  • فك التشفير: رسوم الغاز لـ Otherside NFT Mint – https://decrypt.co/99219/otherside-nft-mint-burned-more-157m-ethereum

أحدث الموارد والمدونات