EVM (إثيريوم الافتراضية) هي جوهر إثيريوم، مسؤولة عن تشغيل العقود الذكية ومعالجة المعاملات.
تستخدم الآلات الافتراضية عادةً لتخيل الحواسيب الحقيقية، من خلال برنامج إدارة الآلات الافتراضية أو من خلال مثيل كامل لنظام التشغيل. يجب أن توفر تجريدًا برمجيًا للعتاد الفعلي، واستدعاءات النظام، وميزات النواة الأخرى.
EVM تعمل في مجال أكثر محدودية: إنها مجرد محرك حسابي يوفر تجريدًا للحساب والتخزين، مشابه لمواصفات Java Virtual Machine (JVM). من منظور عالٍ، تم تصميم JVM لتوفير بيئة تشغيل غير مرتبطة بنظام التشغيل المضيف أو الأجهزة الأساسية، مما يحقق التوافق عبر الأنظمة. وبالمثل، تقوم EVM بتنفيذ مجموعة تعليمات البايت الخاصة بها، والتي يتم عادةً تجميعها بواسطة Solidity.
EVM هو آلة حالة شبه كاملة لتورينغ، "شبه" لأن جميع خطوات التنفيذ ستستهلك موارد غاز محدودة، لذا فإن تنفيذ أي عقد ذكي معين سيكون محدودًا بعدد معين من خطوات الحساب، مما يتجنب إمكانية حدوث حلقات لا نهائية خلال عملية التنفيذ، وبالتالي يمنع توقف منصة إثيريوم بأكملها.
لا تحتوي EVM على وظيفة الجدولة، حيث يقوم نموذج تنفيذ إيثريوم بسحب المعاملات من الكتل، وتكون EVM مسؤولة عن تنفيذها بالتتابع. خلال عملية التنفيذ، يتم تعديل حالة العالم الأخيرة، وعند الانتهاء من تنفيذ معاملة، يتم إجراء تجميع الحالة، للوصول إلى حالة العالم الأخيرة بعد إكمال الكتلة. يعتمد تنفيذ الكتلة التالية بشكل صارم على حالة العالم بعد تنفيذ الكتلة السابقة، لذلك فإن عملية تنفيذ معاملات إيثريوم الخطية لا يمكن تحسينها بشكل جيد لتنفيذ متوازي.
من هذه الناحية، يحدد بروتوكول إثيريوم تنفيذ المعاملات بالترتيب. على الرغم من أن التنفيذ بالترتيب يضمن أن المعاملات والعقود الذكية يمكن تنفيذها بترتيب محدد، مما يضمن الأمان، إلا أنه قد يؤدي إلى ازدحام الشبكة وتأخير في حالات الحمل العالي، وهذا هو السبب وراء وجود اختناقات كبيرة في أداء إثيريوم، مما يتطلب توسيع Layer2 Rollup.
الطريق الموازي لـ Layer1 عالي الأداء
تقوم معظم Layer1 عالية الأداء بتصميم حلولها المحسّنة بناءً على عيب عدم قدرة إيثريوم على المعالجة المتوازية، هنا نتحدث فقط عن تحسين الطبقة التنفيذية، أي الآلة الافتراضية والتنفيذ المتوازي.
آلة افتراضية
تم تصميم EVM كآلة افتراضية 256 بت، بهدف جعل معالجة خوارزمية تجزئة إيثريوم أكثر سهولة، حيث ستنتج مخرجات 256 بت بوضوح. ومع ذلك، تحتاج أجهزة الكمبيوتر التي تقوم بتشغيل EVM إلى تحويل بايتات 256 بت إلى الهيكل المحلي لتنفيذ العقود الذكية، مما يجعل النظام بأكمله غير فعال وغير عملي. لذلك، من حيث اختيار الآلات الافتراضية، تفضل Layer1 عالية الأداء استخدام آلات افتراضية تعتمد على WASM أو bytecode eBPF أو bytecode Move بدلاً من EVM.
WASM هو تنسيق بايت كود صغير الحجم وسريع التحميل وقابل للنقل ويعتمد على آلية أمان مبنية على الصناديق الرملية، حيث يمكن للمطورين كتابة العقود الذكية باستخدام لغات برمجة متعددة، ثم تجميعها إلى بايت كود WASM وتنفيذها. لقد تم اعتماد WASM كمعيار من قبل العديد من مشاريع البلوكتشين، بما في ذلك EOS و Dfinity و Polkadot و Cosmos و Near، كما أن إثيريوم ستدمج WASM في المستقبل، مما يضمن أن تكون طبقة التنفيذ في إثيريوم أكثر كفاءة وبساطة، مما يجعلها مناسبة كمنصة حوسبة لامركزية بالكامل.
eBPF هو تطور لـ BPF (Berkeley Packet Filter، فلتر حزم بيركلي)، والذي كان في الأصل مصممًا لتصفية حزم البيانات الشبكية بكفاءة، ثم تطور ليصبح eBPF، الذي يوفر مجموعة تعليمات أكثر ثراءً، مما يسمح بالتدخل الديناميكي في نواة نظام التشغيل وتعديل سلوكها دون الحاجة لتغيير الشيفرة المصدرية. لاحقًا، خرجت هذه التقنية من النواة، وتطورت إلى وقت تشغيل eBPF في وضع المستخدم، والذي يتمتع بأداء عالٍ وأمان وقابلية للنقل. يتم تجميع جميع العقود الذكية التي تُنفذ على أحد سلاسل الكتل إلى SBF (مبني على eBPF) بايت كود وتعمل على شبكتها.
Move هي لغة برمجة جديدة للعقود الذكية، تركز على المرونة والأمان وقابلية التحقق. تم تصميم لغة Move لمعالجة قضايا الأمان في الأصول والمعاملات، مما يجعل الأصول والمعاملات قابلة للتعريف والتحكم بدقة. يُعتبر محقق بايت كود Move أداة تحليل ثابتة، تقوم بتحليل بايت كود Move وتحديد ما إذا كانت تتوافق مع القواعد المطلوبة للأمان من حيث النوع والذاكرة والموارد، دون الحاجة إلى تنفيذ ذلك على مستوى العقود الذكية وفحصه في وقت التشغيل. بعض سلاسل الكتل الناشئة ورثت Move أو كتبت عقودها الذكية من خلال نسخة مخصصة من Move.
التنفيذ المتوازي
تنفيذ المعاملات المتوازية في البلوكشين يعني معالجة المعاملات غير المرتبطة في نفس الوقت. يمكن اعتبار المعاملات غير المرتبطة كأحداث لا تؤثر على بعضها البعض. على سبيل المثال، إذا كان شخصان يتداولان الرموز على منصتين مختلفتين، يمكن معالجة معاملاتهما في الوقت نفسه. ومع ذلك، إذا كانا يتداولان على نفس المنصة، فقد تحتاج المعاملات إلى تنفيذها بترتيب محدد.
التحدي الرئيسي لتنفيذ التوازي هو تحديد أي المعاملات غير ذات صلة وأيها مستقلة، تعتمد معظم Layer1 عالية الأداء على طريقتين: طريقة الوصول إلى الحالة ونموذج التوازي المتفائل.
تتطلب طريقة الوصول إلى الحالة معرفة مسبقة بأي جزء من حالة البلوكشين يمكن لكل معاملة الوصول إليه، وبالتالي تحليل المعاملات المستقلة. تمثل الحلول بعض سلاسل الكتل العامة الناشئة.
في بعض سلاسل الكتل العامة، يكون البرنامج (العقد الذكي) بلا حالة، لأنه لا يمكنه الوصول (قراءة أو كتابة) إلى أي حالة موجودة طوال عملية المعاملة. للوصول إلى حالة أو الحفاظ عليها، يحتاج البرنامج إلى استخدام حساب. يجب أن تحدد كل معاملة أي حسابات سيتم الوصول إليها خلال تنفيذ المعاملة، بحيث يمكن لوقت معالجة المعاملة جدولة تنفيذ المعاملات المتداخلة بشكل متوازي، مع ضمان اتساق البيانات.
في بعض تنفيذات Move، تعتبر كل عقدة ذكية وحدة، تتكون من تعريفات الوظائف والهياكل. يتم تنفيذ الهياكل داخل الوظائف ويمكن تمريرها إلى وحدات أخرى من خلال استدعاء الوظائف. تُخزَّن هياكل الكائنات في وقت التشغيل ككائنات، وهناك ثلاثة أنواع مختلفة من الكائنات، وهي كائنات المالك، كائنات المشاركة، وكائنات غير القابلة للتغيير. استراتيجية التوازي مشابهة لما ذُكر سابقًا، ويحتاج المعاملات أيضًا إلى تحديد الكائنات التي يتم تنفيذ العمليات عليها.
نموذج الازدواج المتفائل يعمل تحت فرضية أن جميع المعاملات مستقلة، ويقوم فقط بالتحقق من صحة هذه الفرضية بأثر رجعي وإجراء التعديلات اللازمة عند الحاجة. تمثل الحلول بعض سلاسل الكتل العامة الناشئة.
تستخدم بعض سلاسل الكتل طريقة Block-STM (ذاكرة المعاملات البرمجية في الكتل) لتطبيق التنفيذ المتوازي المتفائل. في Block-STM، يتم إعداد المعاملات أولاً داخل الكتلة وفقًا لترتيب معين، ثم يتم تقسيمها بين خيوط المعالجة المختلفة للتنفيذ المتزامن. أثناء معالجة هذه المعاملات، يتتبع النظام مواقع الذاكرة التي تم تغييرها بواسطة كل معاملة. بعد كل جولة معالجة، يتحقق النظام من جميع نتائج المعاملات. إذا اكتشف أن معاملة معينة قد تسببت في تغيير موقع ذاكرة تم تغييره بواسطة معاملات سابقة، فإنه يمسح نتائجها ويعيد تشغيلها مرة أخرى. تستمر هذه العملية حتى يتم معالجة كل معاملة داخل الكتلة.
EVM المتوازي
تم ذكر EVM المتوازي (Parallel EVM) في عام 2021، حيث كان يشير حينها إلى EVM الذي يدعم المعالجة المتزامنة لعدة معاملات، بهدف تحسين أداء وكفاءة EVM الحالي. تشمل الحلول المقترحة بعض سلاسل الكتل العامة التي تعتمد على Block-STM لتنفيذ EVM المتوازي.
لكن في نهاية عام 2023، أشار بعض خبراء الصناعة بشكل متزامن عند استشراف اتجاهات عام 2024 إلى EVM المتوازي، مما أشعل موجة من اعتماد تقنية التنفيذ المتوازي في Layer1 المتوافقة مع EVM، بما في ذلك بعض المشاريع الناشئة.
في الوقت الحاضر، تتنافس بعض الحلول المتوافقة مع EVM، وLayer2 Rollup لـإثيريوم SVM (آلة افتراضية سولانا)، وLayer2 Rollup لـإثيريوم Move VM، وLayer1 الطبقة التنفيذية المودولية، حيث جميعها تحمل علامة EVM المتوازية، مما يثير الدهشة.
أعتقد أن الأنواع الثلاثة الوحيدة التي يمكن تعريفها كـ EVM متوازي هي كما يلي:
ترقية التنفيذ المتوازي لطبقة 1 المتوافقة مع EVM التي لا تستخدم تقنية التنفيذ المتوازي، مثل بعض سلاسل الكتل العامة الرائدة؛
استخدام تقنية التنفيذ المتوازي لـ EVM المتوافقة مع Layer1، مثل بعض المشاريع الناشئة؛
حلول متوافقة مع EVM غير متوافقة مع Layer1 تستخدم تقنية التنفيذ المتوازي، مثل بعض مشاريع عبر السلاسل.
بعض سلاسل الكتل الرئيسية المعروفة كأكثر سلاسل Layer1 توافقًا مع EVM لا تحتاج إلى مزيد من الحديث، هنا سأقدم لمحة بسيطة عن بعض المشاريع الناشئة وحلول跨链.
بعض سلاسل الكتل الناشئة تستخدم آلية PoS وهي متوافقة مع EVM Layer1 عالية الأداء، وتهدف إلى تعزيز القابلية للتوسع وسرعة المعاملات بشكل كبير من خلال التنفيذ المتوازي. تسمح بتنفيذ المعاملات بشكل متوازي داخل الكتلة لزيادة الكفاءة. تُستخدم عادةً نموذج التنفيذ المتفائل، حيث يتم البدء في تنفيذ معاملات جديدة قبل الانتهاء من تنفيذ الخطوة السابقة. لمواجهة النتائج غير الصحيحة، يتم تتبع المدخلات/المخرجات وإعادة تنفيذ المعاملات غير المتسقة. يمكن لمحلل الشيفرة الثابتة توقع العلاقات، وتجنب التوازي غير الفعال، والعودة إلى الوضع البسيط عندما تكون هناك عدم يقين. يزيد هذا التنفيذ المتوازي من القدرة الاستيعابية، بينما يقلل من احتمال فشل المعاملات.
بعض حلول السلاسل المتقاطعة هي حلول مطورة لتنفيذ معاملات EVM على سلاسل عامة أخرى. في الواقع، هو عقد ذكي يتضمن مفسر EVM يتم تجميعه إلى بايت كود محدد. تم تنفيذ مجموعة من نماذج معاملات إثيريوم ونموذج الحسابات داخليًا، حيث يحتاج المستخدمون فقط إلى دفع رسوم GAS الخاصة بـ EVM لإرسال المعاملات. يتم دفع الرسوم على الشبكة الأصلية بواسطة الوكيل. بعض السلاسل العامة تلزم المعاملات بتقديم قائمة الحسابات، وتعتبر المعاملات المغلفة استثناءً، لذا تشمل مسؤوليات الوكيل إنشاء هذه القائمة، بينما يحصل أيضًا على القدرة على تنفيذ المعاملات الأصلية بشكل متوازي.
هنا أضيف نقطة، هناك مشاريع أخرى عبر السلسلة تشبه استخدام EVM كعقد ذكي لتحقيق توافق EVM، من الناحية النظرية يمكن استخدام هذه الخطة على بعض سلاسل الكتل الناشئة لتحقيق توافق EVM غير المتداخل، وهناك مشاريع تعمل على هذا. بعض المشاريع هي إطار عمل معياري، يُستخدم لبناء ونشر البنية التحتية والتطبيقات وسلاسل الكتل القائمة على Move في أي بيئة موزعة. بعض هذه الوحدات يمكن أن تحول رموز EVM التشغيلية بسلاسة إلى رموز Move التشغيلية، مما يعني أن مشاريع Solidity يمكن أن تستفيد من أداء Move ومزايا الأمان، دون الحاجة إلى سطر واحد من كود Move.
تسمح توافقية EVM للمطورين بنقل تطبيقاتهم على إثيريوم إلى الشبكة بسهولة دون الحاجة إلى إجراء تعديلات واسعة النطاق، وهي اتجاه جيد لبناء نظام بيئي لبلوكتشين الناشئة.
ملخص
لقد أصبحت تقنية التوازي في البلوكتشين موضوعًا شائعًا، حيث تعود السردية لتظهر بين الحين والآخر، لكن التركيز الحالي يتمثل بشكل رئيسي في تحسين وتقليد نموذج التنفيذ المتفائل الذي تمثله آلية Block-STM لبعض سلاسل الكتل العامة، دون تحقيق اختراقات جوهرية، مما يجعل الحماس صعب الاستمرار.
تتطلع المستقبل، سيكون هناك المزيد من المشاريع الجديدة الناشئة من Layer1 التي ستنضم إلى المنافسة على EVM المتوازية، بينما ستقوم بعض Layer1 القديمة أيضًا بتنفيذ ترقية EVM المتوازية أو حلول متوافقة مع EVM، في اتجاهين مختلفين ولكنهم يحققون نفس الهدف، وستظهر المزيد من السرديات الجديدة المتعلقة بتحسين الأداء.
ومع ذلك، مقارنةً بسرد EVM عالي الأداء، أود أن أرى blockchain تتفتح بأشكال متنوعة، وظهور سرد مثل WASM و SVM و Move VM.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
تسجيلات الإعجاب 10
أعجبني
10
7
مشاركة
تعليق
0/400
MEVEye
· منذ 14 س
كل شيء يعتمد على الغاز لاستخراج المحفظة، ادفع للاستمتاع بالعذاب
شاهد النسخة الأصليةرد0
AirdropHunter
· منذ 14 س
أين يمكن الحصول على هذا الغاز؟
شاهد النسخة الأصليةرد0
ChainSpy
· منذ 14 س
اللعب بالبلوكتشين دون النظر إلى المؤشرات، بل التركيز على الشفرة والابتكار
شاهد النسخة الأصليةرد0
LucidSleepwalker
· منذ 14 س
فتح الغاز وانتهى الأمر
شاهد النسخة الأصليةرد0
DisillusiionOracle
· منذ 14 س
ما زلنا نتحدث عن JVM بينما تكاليف الغاز تأكل الناس.
التوازي في EVM: التطور التكنولوجي من Layer1 عالي الأداء إلى حلول متوافقة مع EVM
EVM: إثيريوم الأساسية
EVM (إثيريوم الافتراضية) هي جوهر إثيريوم، مسؤولة عن تشغيل العقود الذكية ومعالجة المعاملات.
تستخدم الآلات الافتراضية عادةً لتخيل الحواسيب الحقيقية، من خلال برنامج إدارة الآلات الافتراضية أو من خلال مثيل كامل لنظام التشغيل. يجب أن توفر تجريدًا برمجيًا للعتاد الفعلي، واستدعاءات النظام، وميزات النواة الأخرى.
EVM تعمل في مجال أكثر محدودية: إنها مجرد محرك حسابي يوفر تجريدًا للحساب والتخزين، مشابه لمواصفات Java Virtual Machine (JVM). من منظور عالٍ، تم تصميم JVM لتوفير بيئة تشغيل غير مرتبطة بنظام التشغيل المضيف أو الأجهزة الأساسية، مما يحقق التوافق عبر الأنظمة. وبالمثل، تقوم EVM بتنفيذ مجموعة تعليمات البايت الخاصة بها، والتي يتم عادةً تجميعها بواسطة Solidity.
EVM هو آلة حالة شبه كاملة لتورينغ، "شبه" لأن جميع خطوات التنفيذ ستستهلك موارد غاز محدودة، لذا فإن تنفيذ أي عقد ذكي معين سيكون محدودًا بعدد معين من خطوات الحساب، مما يتجنب إمكانية حدوث حلقات لا نهائية خلال عملية التنفيذ، وبالتالي يمنع توقف منصة إثيريوم بأكملها.
لا تحتوي EVM على وظيفة الجدولة، حيث يقوم نموذج تنفيذ إيثريوم بسحب المعاملات من الكتل، وتكون EVM مسؤولة عن تنفيذها بالتتابع. خلال عملية التنفيذ، يتم تعديل حالة العالم الأخيرة، وعند الانتهاء من تنفيذ معاملة، يتم إجراء تجميع الحالة، للوصول إلى حالة العالم الأخيرة بعد إكمال الكتلة. يعتمد تنفيذ الكتلة التالية بشكل صارم على حالة العالم بعد تنفيذ الكتلة السابقة، لذلك فإن عملية تنفيذ معاملات إيثريوم الخطية لا يمكن تحسينها بشكل جيد لتنفيذ متوازي.
من هذه الناحية، يحدد بروتوكول إثيريوم تنفيذ المعاملات بالترتيب. على الرغم من أن التنفيذ بالترتيب يضمن أن المعاملات والعقود الذكية يمكن تنفيذها بترتيب محدد، مما يضمن الأمان، إلا أنه قد يؤدي إلى ازدحام الشبكة وتأخير في حالات الحمل العالي، وهذا هو السبب وراء وجود اختناقات كبيرة في أداء إثيريوم، مما يتطلب توسيع Layer2 Rollup.
الطريق الموازي لـ Layer1 عالي الأداء
تقوم معظم Layer1 عالية الأداء بتصميم حلولها المحسّنة بناءً على عيب عدم قدرة إيثريوم على المعالجة المتوازية، هنا نتحدث فقط عن تحسين الطبقة التنفيذية، أي الآلة الافتراضية والتنفيذ المتوازي.
آلة افتراضية
تم تصميم EVM كآلة افتراضية 256 بت، بهدف جعل معالجة خوارزمية تجزئة إيثريوم أكثر سهولة، حيث ستنتج مخرجات 256 بت بوضوح. ومع ذلك، تحتاج أجهزة الكمبيوتر التي تقوم بتشغيل EVM إلى تحويل بايتات 256 بت إلى الهيكل المحلي لتنفيذ العقود الذكية، مما يجعل النظام بأكمله غير فعال وغير عملي. لذلك، من حيث اختيار الآلات الافتراضية، تفضل Layer1 عالية الأداء استخدام آلات افتراضية تعتمد على WASM أو bytecode eBPF أو bytecode Move بدلاً من EVM.
WASM هو تنسيق بايت كود صغير الحجم وسريع التحميل وقابل للنقل ويعتمد على آلية أمان مبنية على الصناديق الرملية، حيث يمكن للمطورين كتابة العقود الذكية باستخدام لغات برمجة متعددة، ثم تجميعها إلى بايت كود WASM وتنفيذها. لقد تم اعتماد WASM كمعيار من قبل العديد من مشاريع البلوكتشين، بما في ذلك EOS و Dfinity و Polkadot و Cosmos و Near، كما أن إثيريوم ستدمج WASM في المستقبل، مما يضمن أن تكون طبقة التنفيذ في إثيريوم أكثر كفاءة وبساطة، مما يجعلها مناسبة كمنصة حوسبة لامركزية بالكامل.
eBPF هو تطور لـ BPF (Berkeley Packet Filter، فلتر حزم بيركلي)، والذي كان في الأصل مصممًا لتصفية حزم البيانات الشبكية بكفاءة، ثم تطور ليصبح eBPF، الذي يوفر مجموعة تعليمات أكثر ثراءً، مما يسمح بالتدخل الديناميكي في نواة نظام التشغيل وتعديل سلوكها دون الحاجة لتغيير الشيفرة المصدرية. لاحقًا، خرجت هذه التقنية من النواة، وتطورت إلى وقت تشغيل eBPF في وضع المستخدم، والذي يتمتع بأداء عالٍ وأمان وقابلية للنقل. يتم تجميع جميع العقود الذكية التي تُنفذ على أحد سلاسل الكتل إلى SBF (مبني على eBPF) بايت كود وتعمل على شبكتها.
Move هي لغة برمجة جديدة للعقود الذكية، تركز على المرونة والأمان وقابلية التحقق. تم تصميم لغة Move لمعالجة قضايا الأمان في الأصول والمعاملات، مما يجعل الأصول والمعاملات قابلة للتعريف والتحكم بدقة. يُعتبر محقق بايت كود Move أداة تحليل ثابتة، تقوم بتحليل بايت كود Move وتحديد ما إذا كانت تتوافق مع القواعد المطلوبة للأمان من حيث النوع والذاكرة والموارد، دون الحاجة إلى تنفيذ ذلك على مستوى العقود الذكية وفحصه في وقت التشغيل. بعض سلاسل الكتل الناشئة ورثت Move أو كتبت عقودها الذكية من خلال نسخة مخصصة من Move.
التنفيذ المتوازي
تنفيذ المعاملات المتوازية في البلوكشين يعني معالجة المعاملات غير المرتبطة في نفس الوقت. يمكن اعتبار المعاملات غير المرتبطة كأحداث لا تؤثر على بعضها البعض. على سبيل المثال، إذا كان شخصان يتداولان الرموز على منصتين مختلفتين، يمكن معالجة معاملاتهما في الوقت نفسه. ومع ذلك، إذا كانا يتداولان على نفس المنصة، فقد تحتاج المعاملات إلى تنفيذها بترتيب محدد.
التحدي الرئيسي لتنفيذ التوازي هو تحديد أي المعاملات غير ذات صلة وأيها مستقلة، تعتمد معظم Layer1 عالية الأداء على طريقتين: طريقة الوصول إلى الحالة ونموذج التوازي المتفائل.
تتطلب طريقة الوصول إلى الحالة معرفة مسبقة بأي جزء من حالة البلوكشين يمكن لكل معاملة الوصول إليه، وبالتالي تحليل المعاملات المستقلة. تمثل الحلول بعض سلاسل الكتل العامة الناشئة.
في بعض سلاسل الكتل العامة، يكون البرنامج (العقد الذكي) بلا حالة، لأنه لا يمكنه الوصول (قراءة أو كتابة) إلى أي حالة موجودة طوال عملية المعاملة. للوصول إلى حالة أو الحفاظ عليها، يحتاج البرنامج إلى استخدام حساب. يجب أن تحدد كل معاملة أي حسابات سيتم الوصول إليها خلال تنفيذ المعاملة، بحيث يمكن لوقت معالجة المعاملة جدولة تنفيذ المعاملات المتداخلة بشكل متوازي، مع ضمان اتساق البيانات.
في بعض تنفيذات Move، تعتبر كل عقدة ذكية وحدة، تتكون من تعريفات الوظائف والهياكل. يتم تنفيذ الهياكل داخل الوظائف ويمكن تمريرها إلى وحدات أخرى من خلال استدعاء الوظائف. تُخزَّن هياكل الكائنات في وقت التشغيل ككائنات، وهناك ثلاثة أنواع مختلفة من الكائنات، وهي كائنات المالك، كائنات المشاركة، وكائنات غير القابلة للتغيير. استراتيجية التوازي مشابهة لما ذُكر سابقًا، ويحتاج المعاملات أيضًا إلى تحديد الكائنات التي يتم تنفيذ العمليات عليها.
نموذج الازدواج المتفائل يعمل تحت فرضية أن جميع المعاملات مستقلة، ويقوم فقط بالتحقق من صحة هذه الفرضية بأثر رجعي وإجراء التعديلات اللازمة عند الحاجة. تمثل الحلول بعض سلاسل الكتل العامة الناشئة.
تستخدم بعض سلاسل الكتل طريقة Block-STM (ذاكرة المعاملات البرمجية في الكتل) لتطبيق التنفيذ المتوازي المتفائل. في Block-STM، يتم إعداد المعاملات أولاً داخل الكتلة وفقًا لترتيب معين، ثم يتم تقسيمها بين خيوط المعالجة المختلفة للتنفيذ المتزامن. أثناء معالجة هذه المعاملات، يتتبع النظام مواقع الذاكرة التي تم تغييرها بواسطة كل معاملة. بعد كل جولة معالجة، يتحقق النظام من جميع نتائج المعاملات. إذا اكتشف أن معاملة معينة قد تسببت في تغيير موقع ذاكرة تم تغييره بواسطة معاملات سابقة، فإنه يمسح نتائجها ويعيد تشغيلها مرة أخرى. تستمر هذه العملية حتى يتم معالجة كل معاملة داخل الكتلة.
EVM المتوازي
تم ذكر EVM المتوازي (Parallel EVM) في عام 2021، حيث كان يشير حينها إلى EVM الذي يدعم المعالجة المتزامنة لعدة معاملات، بهدف تحسين أداء وكفاءة EVM الحالي. تشمل الحلول المقترحة بعض سلاسل الكتل العامة التي تعتمد على Block-STM لتنفيذ EVM المتوازي.
لكن في نهاية عام 2023، أشار بعض خبراء الصناعة بشكل متزامن عند استشراف اتجاهات عام 2024 إلى EVM المتوازي، مما أشعل موجة من اعتماد تقنية التنفيذ المتوازي في Layer1 المتوافقة مع EVM، بما في ذلك بعض المشاريع الناشئة.
في الوقت الحاضر، تتنافس بعض الحلول المتوافقة مع EVM، وLayer2 Rollup لـإثيريوم SVM (آلة افتراضية سولانا)، وLayer2 Rollup لـإثيريوم Move VM، وLayer1 الطبقة التنفيذية المودولية، حيث جميعها تحمل علامة EVM المتوازية، مما يثير الدهشة.
أعتقد أن الأنواع الثلاثة الوحيدة التي يمكن تعريفها كـ EVM متوازي هي كما يلي:
ترقية التنفيذ المتوازي لطبقة 1 المتوافقة مع EVM التي لا تستخدم تقنية التنفيذ المتوازي، مثل بعض سلاسل الكتل العامة الرائدة؛
استخدام تقنية التنفيذ المتوازي لـ EVM المتوافقة مع Layer1، مثل بعض المشاريع الناشئة؛
حلول متوافقة مع EVM غير متوافقة مع Layer1 تستخدم تقنية التنفيذ المتوازي، مثل بعض مشاريع عبر السلاسل.
بعض سلاسل الكتل الرئيسية المعروفة كأكثر سلاسل Layer1 توافقًا مع EVM لا تحتاج إلى مزيد من الحديث، هنا سأقدم لمحة بسيطة عن بعض المشاريع الناشئة وحلول跨链.
بعض سلاسل الكتل الناشئة تستخدم آلية PoS وهي متوافقة مع EVM Layer1 عالية الأداء، وتهدف إلى تعزيز القابلية للتوسع وسرعة المعاملات بشكل كبير من خلال التنفيذ المتوازي. تسمح بتنفيذ المعاملات بشكل متوازي داخل الكتلة لزيادة الكفاءة. تُستخدم عادةً نموذج التنفيذ المتفائل، حيث يتم البدء في تنفيذ معاملات جديدة قبل الانتهاء من تنفيذ الخطوة السابقة. لمواجهة النتائج غير الصحيحة، يتم تتبع المدخلات/المخرجات وإعادة تنفيذ المعاملات غير المتسقة. يمكن لمحلل الشيفرة الثابتة توقع العلاقات، وتجنب التوازي غير الفعال، والعودة إلى الوضع البسيط عندما تكون هناك عدم يقين. يزيد هذا التنفيذ المتوازي من القدرة الاستيعابية، بينما يقلل من احتمال فشل المعاملات.
بعض حلول السلاسل المتقاطعة هي حلول مطورة لتنفيذ معاملات EVM على سلاسل عامة أخرى. في الواقع، هو عقد ذكي يتضمن مفسر EVM يتم تجميعه إلى بايت كود محدد. تم تنفيذ مجموعة من نماذج معاملات إثيريوم ونموذج الحسابات داخليًا، حيث يحتاج المستخدمون فقط إلى دفع رسوم GAS الخاصة بـ EVM لإرسال المعاملات. يتم دفع الرسوم على الشبكة الأصلية بواسطة الوكيل. بعض السلاسل العامة تلزم المعاملات بتقديم قائمة الحسابات، وتعتبر المعاملات المغلفة استثناءً، لذا تشمل مسؤوليات الوكيل إنشاء هذه القائمة، بينما يحصل أيضًا على القدرة على تنفيذ المعاملات الأصلية بشكل متوازي.
هنا أضيف نقطة، هناك مشاريع أخرى عبر السلسلة تشبه استخدام EVM كعقد ذكي لتحقيق توافق EVM، من الناحية النظرية يمكن استخدام هذه الخطة على بعض سلاسل الكتل الناشئة لتحقيق توافق EVM غير المتداخل، وهناك مشاريع تعمل على هذا. بعض المشاريع هي إطار عمل معياري، يُستخدم لبناء ونشر البنية التحتية والتطبيقات وسلاسل الكتل القائمة على Move في أي بيئة موزعة. بعض هذه الوحدات يمكن أن تحول رموز EVM التشغيلية بسلاسة إلى رموز Move التشغيلية، مما يعني أن مشاريع Solidity يمكن أن تستفيد من أداء Move ومزايا الأمان، دون الحاجة إلى سطر واحد من كود Move.
تسمح توافقية EVM للمطورين بنقل تطبيقاتهم على إثيريوم إلى الشبكة بسهولة دون الحاجة إلى إجراء تعديلات واسعة النطاق، وهي اتجاه جيد لبناء نظام بيئي لبلوكتشين الناشئة.
ملخص
لقد أصبحت تقنية التوازي في البلوكتشين موضوعًا شائعًا، حيث تعود السردية لتظهر بين الحين والآخر، لكن التركيز الحالي يتمثل بشكل رئيسي في تحسين وتقليد نموذج التنفيذ المتفائل الذي تمثله آلية Block-STM لبعض سلاسل الكتل العامة، دون تحقيق اختراقات جوهرية، مما يجعل الحماس صعب الاستمرار.
تتطلع المستقبل، سيكون هناك المزيد من المشاريع الجديدة الناشئة من Layer1 التي ستنضم إلى المنافسة على EVM المتوازية، بينما ستقوم بعض Layer1 القديمة أيضًا بتنفيذ ترقية EVM المتوازية أو حلول متوافقة مع EVM، في اتجاهين مختلفين ولكنهم يحققون نفس الهدف، وستظهر المزيد من السرديات الجديدة المتعلقة بتحسين الأداء.
ومع ذلك، مقارنةً بسرد EVM عالي الأداء، أود أن أرى blockchain تتفتح بأشكال متنوعة، وظهور سرد مثل WASM و SVM و Move VM.