آلة Ethereum الافتراضية، أو EVM، هي آلة حالة موزعة تسمح للمستخدمين بتخصيص تنفيذ التعليمات البرمجية لمعالجة المعاملة. وهذا يسمح للمستخدمين بتحديد شروط إنفاق معقدة وتفاعلات المستخدم التي لم يكن من الممكن أن تتم في شبكة دفع بسيطة. آلة EVM هي التي تمكن وتنفذ العقود الذكية على Ethereum، وتتم صيانتها بواسطة عقد Ethereum.
تحتفظ كل عقدة من عقد الإيثريوم بنسختها الخاصة من EVM، ويتم تحديد الحالة الرسمية أو "الصحيحة" لـ EVM بشكل عام من خلال إجماع الأغلبية بين العقد. يحتفظ هذا البناء بالطبيعة اللامركزية لسلاسل الكتل بينما يفتح الباب أمام أنشطة أكثر تعقيدًا على السلسلة من المعاملات البسيطة بين الأقران.
على الرغم من أن EVM ليست الآلية الوحيدة التي يمكنها إنشاء بلوك تشين قابلة للبرمجة، إلا أنها سيطرت على عالم العقود الذكية منذ بدايتها. عند إطلاق Ethereum، تم إنشاء لغة العقود الذكية Solidity لتوفير لغة أكثر قابلية للقراءة والتدقيق للمطورين لكتابة عقود EVM. إن عدم استخدام لغة على مستوى أعلى مثل Solidity سيجبر المطورين على بناء العقود يدويًا من البايت كود، وهو أكثر عرضة للأخطاء وأكثر صعوبة في التدقيق. وعلى الرغم من إنشاء عدد كبير من الأدوات والمترجمات الجديدة المستخدمة للتفاعل مع EVM، لا تزال Solidity هي اللغة الأكثر استخدامًا لكتابة عقود EVM.
ماذا يعني التوافق مع EVM؟
على الرغم من أن Ethereum كانت أول بلوك تشين تقدّم EVM، إلا أنه توجد الآن العديد من سلاسل الكتل الأخرى التي تستخدم آلة Ethereum الافتراضية (VM) لتوفير دعم العقود الذكية.
تُعتبر VM الخاص بسلسلة البلوك تشين متوافقة مع EVM إذا كانت تحتوي على نفس الأوبكودات (opcodes) الموجودة في EVM. وإذا أمكن تنفيذ جميع أوبكودات EVM، فيمكن أيضًا استخدام أي لغة تستخدم أوبكودات EVM فقط لإنشاء عقود ذكية والتفاعل مع أي بلوك تشين أخرى متوافقة مع EVM.
عمليًا، يعني ذلك أنه يمكن نشر التطبيقات نفسها على أي سلسلة متوافقة مع EVM، دون تعديل مفرط (أو في كثير من الأحيان أي تعديل) في مسار التنفيذ أو الكود. تستخدم بعض سلاسل EVM المتوافقة، مثل Quai Network، عدة آلات EVM مترابطة تعمل معًا في الوقت نفسه لتقديم تفاعلات عقود وتعديلات على الحالة بتكلفة أقل.
ومن المثير للاهتمام أنه لا يلزم أن تكون البلوك تشين متوافقة مع EVM لكي تكون متوافقة مع Solidity. تُعد VM التي تدعم مجموعة تعليمات EVM كاملة دون تعديل متوافقة مع EVM، لكن VM غير متوافقة مع EVM قد تظل قابلة للاستهداف من خلال Solidity. فعلى سبيل المثال، يمكن لآلة افتراضية (Virtual Machine) مبنية على Web Assembly (WASM) أن تكون متوافقة مع Solidity طالما أنها توفر آلية لتجميع Solidity إلى بايت كود (bytecode) الخاص بالآلة الافتراضية الجديدة. ويمكن ملاحظة الفرق بين التوافق مع EVM وعدم التوافق معه في البايت كود — يمكن نسخ بايت كود العقود الخام ولصقه بين سلاسل متوافقة مع EVM واستخدامه، بينما لن يمكن استخدام نفس الكود على سلسلة غير متوافقة مع EVM.
تتضمن بعض البدائل عن EVM كلاً من LLVM (المستخدمة لتجميع كود سولانا إلى بايت كود سولانا) وIELE (المستخدمة بواسطة Cardano)، وقد تطورت مجتمعات مطورين ناشئة حولها، لكنها ما زالت أقل بكثير من حيث الشعبية مقارنةً بـ EVM.
ما هي مزايا أن تكون متوافقًا مع EVM؟
تحتفظ سلاسل البلوك تشين المتوافقة مع EVM وطبقات L2 بأكبر مجتمعات من المطورين والمستخدمين النشطين. وبسبب الشعبية القائمة لـ EVM وتنوع مجموعة الأوبكودات الخاصة به، فإن الغالبية العظمى من العقود الذكية والتطبيقات اللامركزية تتم كتابتها ونشرها على سلسلة متوافقة مع EVM.
مع هذا المجتمع القوي من المطورين، تم توثيق عملية التطوير لـ EVM وصقلها بدرجة كبيرة من خلال مجموعة موزعة ومتنوع جدًا من الأفراد. فقد أرست سنوات طويلة من التطبيقات الناجحة (وغير الناجحة) لـ EVM أساسًا لبيئة مطورين آمنة ومفهومة جيدًا.
قد تكون اللغات المستخدمة للتطوير على EVM معقدة، لكنها تعوض هذا التعقيد بقدرتها على تلبية ما يقرب من أي طلب يمكن تخيله بفضل خاصية اكتمال تورنغ (turing-completeness) لدى EVM. ومع ذلك، فإن آلات تورنغ-كاملة تقدّم مخاطر الحلقات اللانهائية، ويمكن تجنب ذلك عبر تدقيق شامل وفحص كود العقود الذكية.
أكثر ما يميز EVM هو مجتمعه ووثائقه. فهناك آلاف الموارد، بما في ذلك الخبرة العملية لمطوري Solidity، متاحة لروّاد البناء للاستفادة منها.
على الرغم من أن التوافق مع EVM يتمتع بالعديد من المزايا، إلا أن هناك بعض نقاط الضعف في EVM مثل تعقيده وتسعير الغاز (gas pricing). وباعتبارها أول انطلاقة في عالم العقود الذكية داخل البلوك تشين، تعطي EVM الأولوية للوظائف على البساطة. ففي حين أن لغات مثل Solidity معروفة بأنها معقدة، فإن الأدوات التي تم بناؤها لدعم مطوري EVM في السنوات الأخيرة قد حسّنت بشكل كبير بيئة التطوير وتجربة المطور، مع الحفاظ على الوظائف الكاملة لـ EVM القابلة لتحقيق اكتمال تورنغ.
لدى EVM أيضًا مشكلات قائمة فيما يتعلق بتسعير الغاز، وبالتحديد فيما يتعلق بإيجار الحالة (state rent) الذي يختنق به الشبكة:
"الشيء الذي يعاني منه Ethereum حقًا هو أنه لا يملك إيجار حالة. لذلك تضخم حجم الحالة إلى درجة أنهم أصبحوا مقيدين بشدة بعمليات الإدخال/الإخراج. لذلك فالأمر ليس بالضرورة مشكلة جوهرية في EVM، بل هو حمل كميات كبيرة من الحالة وعدم وجود آلية دفع لها. لم يدفعوا شيئًا باعتباره امتدادًا خارجيًا (externality) بشكل واضح. طريقة حلنا هي — تمامًا كما أن تجزئة الحالة (sharding state) تسمح بانتشار أكثر كفاءة للمعاملات، فهي أيضًا تسمح بحجم حالة أصغر في أي سياق. والشيء الآخر الذي نفعله هو إضافة إيجار حالة، حتى نتمكن من الحد من تضخم (bloat) الحالة، مما سيمكننا من معالجة عدد أكبر بكثير من المعاملات."
-د. ك، المؤسس المشارك لشبكة Quai Network
ما هي بعض أشهر رموز EVM؟
أشهر رمز يستخدم آلة Ethereum الافتراضية (Ethereum Virtual Machine) هو، ربما دون مفاجأة، Ethereum. وباعتبارها أول بروتوكول يدعم قدرات العقود الذكية بأي شكل، فقد حققت Ethereum ميزة السبق (first-mover advantage) قوية، ورسخت نفسها كمنصة الخيار الأول لـ DeFi وNFTs وأكثر. ومع ذلك، فقد دفعت الرسوم المرتفعة التي تتعرض لها Ethereum غالبًا خلال فترات الطلب المرتفع المستخدمين إلى البحث عن بروتوكولات بديلة تقدم أمانًا وتحقق لامركزية ووظائف مماثلة لـ Ethereum دون التكلفة العالية للاستخدام.
كما توجد العديد من المشاريع الأخرى مثل BSC وTron وEOS التي تقدم توافقًا منخفض الرسوم مع EVM مقابل تكلفة تتمثل في اللامركزية و/أو الأمان. ومع ذلك، لم يستطع أي من هذه المشاريع الحفاظ على رسوم منخفضة مع الاحتفاظ بلامركزية وأمان ووظائف مماثلة لـ Ethereum.
في المقابل، فإن Quai Network هي شبكة قبل الإطلاق الرئيسي (pre-Mainnet) لسلاسل بلوك تشين تستخدم التعدين المدمج والتجزئة (sharding) لتقديم وظائف EVM بتكلفة منخفضة، دون تقديم أي تنازلات بشأن اللامركزية أو الأمان. ومن خلال استخدام العديد من سلاسل البلوك تشين المتشابكة التي تنتج كتلًا بشكل غير متزامن، يعمل كل منها على EVM مستقل، تقوم Quai Network بموازنة كلٍّ من اللامركزية والعقود الذكية إلى مستويات غير مسبوقة.
الخلاصة
تأطير EVM باعتبارها أول طريقة لتنفيذ العقود الذكية على بلوك تشين، وقد ازدهرت خلال العقد الماضي مع انفجار في نشاط التطوير والأدوات. ومع ذلك، وعلى الرغم من هذا الحاجز الكبير، توجد العديد من التحسينات التي يمكن إجراؤها على EVM والتي لديها القدرة على تعزيز الحوافز وتحسين الوضع الحالي للعقود الذكية.
انضم إلينا لبناء بلوك تشين أفضل.
الموقع الإلكتروني
Discord
Twitter
YouTube
Reddit
LinkedIn
وثائق المطورين
نحن نوظّف!
شبكة Quai Network هي شبكة بلوك تشين مفتوحة المصدر لإثبات العمل تستخدم قدرات التعدين المدمج لزيادة الإنتاجية والأمان. سيتمتع مستخدمو Quai Network بأزمنة معاملات سريعة دون المساس باللامركزية والأمان. وسيحصل القائمون بالتعدين على فرص تعدين تنافسية عبر العديد من شبكات البلوك تشين ضمن الشبكة.
بإمكانها التعامل مع آلاف المعاملات في الثانية، فإن Quai Network هي حل لإثبات العمل وقابلية التوسع، وهي على وشك أن تصبح جاهزة لإصدار الشبكة الرئيسية (Mainnet).
إخلاء مسؤولية
إن الآراء والأفكار والبيانات التي يتم مشاركتها في هذا التحديث تُقدَّم مع افتراضات ومخاطر وعدم يقين عديدة، وهي قابلة للتغيير مع مرور الوقت. توجد عوامل مخاطر متعددة، بما في ذلك ما يتعلق بسلاسل الكتل (blockchain) والأنظمة التشفيرية والتقنيات عمومًا، فضلاً عن أعمال Quai وتشغيلها ونتائج عملياتها، والتي قد تؤدي إلى عدم تحقق النتائج أو التطورات المتوقعة، أو حتى إذا تحققت بدرجة كبيرة، إلى عدم تحقيق أي من الفوائد المتوقعة أو جميعها. نحتفظ بالحق في تغيير الخطط والتوقعات والنيات المذكورة هنا بشكل منفرد وكامل أو جزئي في أي وقت ولأي سبب، وفقًا لتقديرنا المطلق وبحريتنا الكاملة، ولا نتحمل أي التزام بتحديث أي تصريح مستقبلي أو مراجعته علنًا، سواء نتيجة لمعلومات جديدة أو تطورات مستقبلية أو غير ذلك.
إن وجهات النظر والآراء والبيانات الواردة في هذا التحديث هي آراء كاتب فردي وليست آراء أي مؤسسة أو جامعة أو كيان قانوني يعمل ضمن اختصاص The United States أو ما وراءه. لا توجد أي علاقة بين وجهات النظر والآراء والبيانات وبين أي جهة ربحية أو غير ربحية، ولا سيما الجامعات والمؤسسات والمنظمات والوكالات الأخرى الموجودة داخل الولايات المتحدة. أي تصور بوجود ارتباط من هذا النوع هو أمر عرضي بحت، وسيتم تصحيحه فورًا إذا تم إطلاعنا عليه من قِبل القارئ.