تحسين التوازي في EVM لزيادة أداء معالجة معاملات إثيريوم حتى 60 مرة

robot
إنشاء الملخص قيد التقدم

تحسين توازي EVM: تعزيز أداء معالجة المعاملات

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

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

باستخدام Reddio كمثال، شرح طريق تحسين EVM المتوازي

تستخدم EVM التقليدية طريقة المعالجة التسلسلية للمعاملات، حيث يتم تنفيذ جميع المعاملات في طابور واحد. هذه التصميم بسيط وسهل الصيانة، ولكن مع زيادة عدد المستخدمين، تزداد متطلبات TPS والقدرة على المعالجة، مما يؤدي إلى ظهور اختناقات في الأداء بسبب التنفيذ التسلسلي، وخاصة في Layer 2.

بمثال Reddio، توضيح طريق تحسين EVM المتوازي

بخلاف EVM، فإن المكون الأساسي الآخر المرتبط بتنفيذ المعاملات في go-ethereum هو stateDB، الذي يُستخدم لإدارة حالة الحسابات وتخزين البيانات. في كل مرة يقوم فيها EVM بتنفيذ معاملة، يتم تغيير البيانات في stateDB، والتي تنعكس في النهاية في شجرة الحالة العالمية.

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

باستخدام Reddio كمثال، توضيح طريق تحسين EVM المتوازي

لحل هذه المشكلة، اقترحت الصناعة خطة تحسين متعددة الخيوط لـ EVM. هذه الخطة من خلال فتح عدة خيوط لمعالجة معاملات متعددة في وقت واحد، يمكن أن تزيد الكفاءة بعدة مرات. لكن التنفيذ المتوازي يواجه تحديات تعارض الحالة، مما يتطلب اتخاذ تدابير مناسبة.

باستخدام Reddio كمثال، توضيح طريق تحسين EVM المتوازي

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

كمثال على Reddio، توضيح طريق تحسين EVM المتوازي

تم تحسين هذا الحل أيضًا لعمليات القراءة والكتابة: عند القراءة، يتم التحقق أولاً من pending-stateDB، وإذا لم يكن هناك، يتم قراءة global stateDB؛ أما عمليات الكتابة، فتُسجل في pending-stateDB، وبعد الانتهاء من التنفيذ، تُدمج في global stateDB.

باستخدام Reddio كمثال، شرح طريق تحسين EVM المتوازي

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

خذ Reddio كمثال لشرح طريق تحسين EVM المتوازي

تحسين التوازي متعدد الخيوط زاد بشكل كبير من أداء EVM، خاصة عند معالجة العقود الذكية المعقدة. أظهرت الأبحاث أنه في ظل عبء عمل منخفض التداخل، يمكن أن يرتفع TPS من 3 إلى 5 مرات؛ وفي حالة الأحمال المتداخلة العالية، يمكن أن يصل نظريًا إلى 60 مرة.

كمثال على Reddio، توضيح مسار تحسين EVM المتوازي

تقدم هذه الخطة للتحسين المتوازي من خلال مكتبة الحالة المؤقتة واكتشاف التداخل، تحقيق التوازي الواسع للمعاملات مع ضمان اتساق الحالة، مما يؤسس قاعدة مهمة لتطوير Rollup في الإيثيريوم. في المستقبل، يمكن تحسين الأداء بشكل أكبر من خلال تحسين كفاءة التخزين، ومعالجة السيناريوهات ذات التداخل العالي، وتسريع GPU.

كمثال على Reddio ، نوضح طريق تحسين EVM المتوازي

باستخدام Reddio كمثال، توضيح طريق تحسين EVM الموازي

باستخدام Reddio كمثال، توضيح طريق تحسين EVM المتوازي

شاهد النسخة الأصلية
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.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
¯\_(ツ)_/¯vip
· منذ 19 س
لم يعد على المستخدمين الانتظار حتى نهاية العالم
شاهد النسخة الأصليةرد0
ReverseTradingGuruvip
· منذ 19 س
أخيرًا حصلنا على شيء قوي حقًا
شاهد النسخة الأصليةرد0
TxFailedvip
· منذ 20 س
إخطار: تعلمت عن evm المتوازي بالطريقة المكلفة... رحم الله 2.3 إيث
شاهد النسخة الأصليةرد0
rugpull_survivorvip
· منذ 20 س
سمعت أنه يجب أن يكون أسرع 60 مرة؟ هل يمكن أن يقلل من رسوم الغاز؟
شاهد النسخة الأصليةرد0
SilentAlphavip
· منذ 20 س
60 مرة، هذا يجب أن يحقق ربحًا كبيرًا!
شاهد النسخة الأصليةرد0
LiquiditySurfervip
· منذ 20 س
لقد وصل المارتيني إلى القاع، وأخيرًا لا حاجة لانتظار غاز.
شاهد النسخة الأصليةرد0
  • تثبيت