من المعروف أن EVM هو محرك التنفيذ الأساسي للإيثيريوم، المسؤول عن تشغيل العقود الذكية. لضمان اتساق نتائج تنفيذ العقود على العقد المختلفة، اعتمدت EVM تقنية الآلات الافتراضية، مما حقق التوافق عبر الأنظمة الأساسية.
عند نشر العقد الذكي على السلسلة، سيتم أولاً تحويله إلى بايت كود EVM. عند تنفيذ العقد بواسطة EVM، ستقوم بقراءة هذه التعليمات البرمجية بالترتيب، وكل تعليمات لها تكلفة غاز خاصة بها. ستقوم EVM بتتبع استهلاك الغاز خلال عملية تنفيذ التعليمات، ويعتمد مقدار الاستهلاك على تعقيد العملية.
تستخدم EVM التقليدية طريقة المعالجة التسلسلية للمعاملات، حيث يتم تنفيذ جميع المعاملات في طابور واحد. هذه التصميم بسيط وسهل الصيانة، ولكن مع زيادة عدد المستخدمين، تزداد متطلبات TPS والقدرة على المعالجة، مما يؤدي إلى ظهور اختناقات في الأداء بسبب التنفيذ التسلسلي، وخاصة في Layer 2.
بخلاف EVM، فإن المكون الأساسي الآخر المرتبط بتنفيذ المعاملات في go-ethereum هو stateDB، الذي يُستخدم لإدارة حالة الحسابات وتخزين البيانات. في كل مرة يقوم فيها EVM بتنفيذ معاملة، يتم تغيير البيانات في stateDB، والتي تنعكس في النهاية في شجرة الحالة العالمية.
في وضع التشغيل التسلسلي، يجب تنفيذ المعاملات بترتيبها. إذا كان هناك معاملات عقود معقدة تستغرق وقتًا طويلاً، لا يمكن للمعاملات الأخرى سوى الانتظار، مما يؤدي إلى عدم الاستفادة الكاملة من الموارد المادية، مما يحد بشكل كبير من الكفاءة.
لحل هذه المشكلة، اقترحت الصناعة خطة تحسين متعددة الخيوط لـ EVM. هذه الخطة من خلال فتح عدة خيوط لمعالجة معاملات متعددة في وقت واحد، يمكن أن تزيد الكفاءة بعدة مرات. لكن التنفيذ المتوازي يواجه تحديات تعارض الحالة، مما يتطلب اتخاذ تدابير مناسبة.
بعض المشاريع لديها أفكار لتحسين التوازي في EVM: تخصيص قاعدة بيانات حالة مؤقتة لكل خيط (pending-stateDB). عند تنفيذ المعاملات، يتم تخزين تغييرات الحالة مؤقتًا في pending-stateDB، بدلاً من تعديل stateDB العالمي مباشرة. بعد الانتهاء من جميع معاملات التنفيذ، يتم مزامنة التغييرات من pending-stateDB إلى stateDB العالمي.
تم تحسين هذا الحل أيضًا لعمليات القراءة والكتابة: عند القراءة، يتم التحقق أولاً من pending-stateDB، وإذا لم يكن هناك، يتم قراءة global stateDB؛ أما عمليات الكتابة، فتُسجل في pending-stateDB، وبعد الانتهاء من التنفيذ، تُدمج في global stateDB.
لتعزيز معالجة تعارض الحالة، أدخلت الخطة آلية كشف التعارض. تراقب مجموعة القراءة والكتابة للمعاملات المختلفة، وعند اكتشاف تعارض، يتم وضع علامة على المعاملات ذات الصلة بأنها بحاجة إلى إعادة التنفيذ.
تحسين التوازي متعدد الخيوط زاد بشكل كبير من أداء EVM، خاصة عند معالجة العقود الذكية المعقدة. أظهرت الأبحاث أنه في ظل عبء عمل منخفض التداخل، يمكن أن يرتفع TPS من 3 إلى 5 مرات؛ وفي حالة الأحمال المتداخلة العالية، يمكن أن يصل نظريًا إلى 60 مرة.
تقدم هذه الخطة للتحسين المتوازي من خلال مكتبة الحالة المؤقتة واكتشاف التداخل، تحقيق التوازي الواسع للمعاملات مع ضمان اتساق الحالة، مما يؤسس قاعدة مهمة لتطوير Rollup في الإيثيريوم. في المستقبل، يمكن تحسين الأداء بشكل أكبر من خلال تحسين كفاءة التخزين، ومعالجة السيناريوهات ذات التداخل العالي، وتسريع GPU.
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.
تسجيلات الإعجاب 11
أعجبني
11
6
مشاركة
تعليق
0/400
¯\_(ツ)_/¯
· منذ 19 س
لم يعد على المستخدمين الانتظار حتى نهاية العالم
شاهد النسخة الأصليةرد0
ReverseTradingGuru
· منذ 19 س
أخيرًا حصلنا على شيء قوي حقًا
شاهد النسخة الأصليةرد0
TxFailed
· منذ 20 س
إخطار: تعلمت عن evm المتوازي بالطريقة المكلفة... رحم الله 2.3 إيث
شاهد النسخة الأصليةرد0
rugpull_survivor
· منذ 20 س
سمعت أنه يجب أن يكون أسرع 60 مرة؟ هل يمكن أن يقلل من رسوم الغاز؟
شاهد النسخة الأصليةرد0
SilentAlpha
· منذ 20 س
60 مرة، هذا يجب أن يحقق ربحًا كبيرًا!
شاهد النسخة الأصليةرد0
LiquiditySurfer
· منذ 20 س
لقد وصل المارتيني إلى القاع، وأخيرًا لا حاجة لانتظار غاز.
تحسين التوازي في EVM لزيادة أداء معالجة معاملات إثيريوم حتى 60 مرة
تحسين توازي EVM: تعزيز أداء معالجة المعاملات
من المعروف أن EVM هو محرك التنفيذ الأساسي للإيثيريوم، المسؤول عن تشغيل العقود الذكية. لضمان اتساق نتائج تنفيذ العقود على العقد المختلفة، اعتمدت EVM تقنية الآلات الافتراضية، مما حقق التوافق عبر الأنظمة الأساسية.
عند نشر العقد الذكي على السلسلة، سيتم أولاً تحويله إلى بايت كود EVM. عند تنفيذ العقد بواسطة EVM، ستقوم بقراءة هذه التعليمات البرمجية بالترتيب، وكل تعليمات لها تكلفة غاز خاصة بها. ستقوم EVM بتتبع استهلاك الغاز خلال عملية تنفيذ التعليمات، ويعتمد مقدار الاستهلاك على تعقيد العملية.
تستخدم EVM التقليدية طريقة المعالجة التسلسلية للمعاملات، حيث يتم تنفيذ جميع المعاملات في طابور واحد. هذه التصميم بسيط وسهل الصيانة، ولكن مع زيادة عدد المستخدمين، تزداد متطلبات TPS والقدرة على المعالجة، مما يؤدي إلى ظهور اختناقات في الأداء بسبب التنفيذ التسلسلي، وخاصة في Layer 2.
بخلاف EVM، فإن المكون الأساسي الآخر المرتبط بتنفيذ المعاملات في go-ethereum هو stateDB، الذي يُستخدم لإدارة حالة الحسابات وتخزين البيانات. في كل مرة يقوم فيها EVM بتنفيذ معاملة، يتم تغيير البيانات في stateDB، والتي تنعكس في النهاية في شجرة الحالة العالمية.
في وضع التشغيل التسلسلي، يجب تنفيذ المعاملات بترتيبها. إذا كان هناك معاملات عقود معقدة تستغرق وقتًا طويلاً، لا يمكن للمعاملات الأخرى سوى الانتظار، مما يؤدي إلى عدم الاستفادة الكاملة من الموارد المادية، مما يحد بشكل كبير من الكفاءة.
لحل هذه المشكلة، اقترحت الصناعة خطة تحسين متعددة الخيوط لـ EVM. هذه الخطة من خلال فتح عدة خيوط لمعالجة معاملات متعددة في وقت واحد، يمكن أن تزيد الكفاءة بعدة مرات. لكن التنفيذ المتوازي يواجه تحديات تعارض الحالة، مما يتطلب اتخاذ تدابير مناسبة.
بعض المشاريع لديها أفكار لتحسين التوازي في EVM: تخصيص قاعدة بيانات حالة مؤقتة لكل خيط (pending-stateDB). عند تنفيذ المعاملات، يتم تخزين تغييرات الحالة مؤقتًا في pending-stateDB، بدلاً من تعديل stateDB العالمي مباشرة. بعد الانتهاء من جميع معاملات التنفيذ، يتم مزامنة التغييرات من pending-stateDB إلى stateDB العالمي.
تم تحسين هذا الحل أيضًا لعمليات القراءة والكتابة: عند القراءة، يتم التحقق أولاً من pending-stateDB، وإذا لم يكن هناك، يتم قراءة global stateDB؛ أما عمليات الكتابة، فتُسجل في pending-stateDB، وبعد الانتهاء من التنفيذ، تُدمج في global stateDB.
لتعزيز معالجة تعارض الحالة، أدخلت الخطة آلية كشف التعارض. تراقب مجموعة القراءة والكتابة للمعاملات المختلفة، وعند اكتشاف تعارض، يتم وضع علامة على المعاملات ذات الصلة بأنها بحاجة إلى إعادة التنفيذ.
تحسين التوازي متعدد الخيوط زاد بشكل كبير من أداء EVM، خاصة عند معالجة العقود الذكية المعقدة. أظهرت الأبحاث أنه في ظل عبء عمل منخفض التداخل، يمكن أن يرتفع TPS من 3 إلى 5 مرات؛ وفي حالة الأحمال المتداخلة العالية، يمكن أن يصل نظريًا إلى 60 مرة.
تقدم هذه الخطة للتحسين المتوازي من خلال مكتبة الحالة المؤقتة واكتشاف التداخل، تحقيق التوازي الواسع للمعاملات مع ضمان اتساق الحالة، مما يؤسس قاعدة مهمة لتطوير Rollup في الإيثيريوم. في المستقبل، يمكن تحسين الأداء بشكل أكبر من خلال تحسين كفاءة التخزين، ومعالجة السيناريوهات ذات التداخل العالي، وتسريع GPU.