مقدمة: في 13 مايو 2024، اقترح فيتاليك EIP-7706، الذي يكمل نموذج الغاز الحالي عن طريق إزالة حساب الغاز بشكل منفصل للبيانات النداء وتخصيص آلية تسعير رسوم أساسية مشابهة لغاز الكتلة، مما يقلل بشكل أكبر من تكاليف التشغيل للطبقة 2. كما يجب تتبع الاقتراحات ذات الصلة إلى EIP-4844 المقترح في فبراير 2022، وهو فترة طويلة بالفعل. لذلك، من خلال التحقق من المواد ذات الصلة، نأمل في تقديم ملخص لآلية غاز إثيريوم الأخيرة لتسهيل فهم الجميع بسرعة.
في التصميم الأولي، اعتمد إيثيريوم آلية مزاد بسيطة لتحديد رسوم المعاملات، مما يتطلب من المستخدمين المزايدة بنشاط على معاملاتهم، أي تحديد أسعار الغاز. عادةً ما يقوم المنقبون بتحديد ترتيب تغليف المعاملات بناءً على مبدأ الأمثلية الاقتصادية وفقًا لسعر المزايدة، متجاهلين حالة MEV. في رأي المطورين الأساسيين في ذلك الوقت، واجهت هذه الآلية أربعة مشاكل:
تقلب مستويات رسوم المعاملات لا تتطابق مع تكلفة الموافقة على المعاملات: بالنسبة للبلوكشين في حالة نشطة، هناك طلب كافٍ لتجميع المعاملات، مما يعني أن الكتل يمكن ملؤها بسهولة، ولكن هذا غالبًا ما يؤدي إلى تقلبات كبيرة في الرسوم الإجمالية. على سبيل المثال، عندما يكون سعر الغاز المتوسط 10 جيجاواط، تكلفة الحافة التي يتحملها الشبكة لقبول معاملة أخرى في كتلة تكون أعلى بعشر مرات من عندما يكون سعر الغاز المتوسط 1 جيجاواط، وهو أمر غير مقبول.
تأخيرات غير ضرورية للمستخدمين: نظرا للحد الصعب من gaslimit لكل كتلة ، إلى جانب التقلب الطبيعي لأحجام المعاملات التاريخية ، غالبا ما يتعين على المعاملات الانتظار حتى يتم حزم عدة كتل ، وهو أمر غير فعال للشبكة ككل. لا توجد آلية "استرخاء" تسمح لكتلة واحدة بأن تكون أكبر وأن تكون الكتلة التالية أصغر لتلبية الاختلافات في الطلب بين الكتل.
تسعير غير فعال: لقد أدى اعتماد آلية مزاد بسيطة إلى انخفاض كفاءة اكتشاف الأسعار العادلة، مما يعني أنه من الصعب على المستخدمين تحديد سعر معقول، مما يؤدي في كثير من الحالات إلى دفع المستخدمين رسوم مفرطة.
ستكون Blockchain بدون مكافآت الكتلة غير مستقرة: عند إلغاء مكافآت الكتلة الناتجة عن التعدين واعتماد نموذج رسوم خالص ، فقد يؤدي ذلك إلى العديد من حالات عدم الاستقرار ، مثل تحفيز "الكتل الشقيقة" للتعدين لسرقة رسوم المعاملات ، وفتح ناقلات هجوم تعدين أنانية أكثر قوة ، وما إلى ذلك.
حتى اقتراح وتنفيذ EIP-1559 ، كان هناك تكرار أول لنموذج الغاز. تم اعتماد EIP-1559 ، الذي اقترحه فيتاليك ومطورون أساسيون آخرون في 13 أبريل 2019 ، في ترقية لندن في 5 أغسطس 2021. تتخلى هذه الآلية عن آلية المزاد وتعتمد بدلا من ذلك نموذج تسعير مزدوج للرسوم الأساسية ورسوم الأولوية. يتم حساب الرسوم الأساسية كميا بناء على العلاقة بين استهلاك الغاز في الكتلة الأم وهدف الغاز العائم والعودي من خلال نموذج رياضي ثابت. التأثير البديهي هو أنه إذا تجاوز استخدام الغاز في الكتلة السابقة هدف الغاز المحدد مسبقا ، تزداد الرسوم الأساسية ، وإذا كانت أقل من هدف الغاز ، يتم تقليل الرسوم الأساسية. يمكن أن يعكس هذا العرض والطلب بشكل أفضل ويجعل التنبؤات بالغاز المعقول أكثر دقة ، مما يمنع أسعار الغاز الباهظة بسبب سوء التشغيل لأن حساب الرسوم الأساسية يتم تحديده مباشرة بواسطة النظام بدلا من تحديده بحرية من قبل المستخدمين. الرمز المحدد هو كما يلي:
يمكن استنتاج أنه عندما يكون parent_gas_used أكبر من parent_gas_target ، سيتم مقارنة الرسم الأساسي للكتلة الحالية بالرسم الأساسي للكتلة السابقة بزيادة قيمة الإزاحة. أما بالنسبة لقيمة الإزاحة ، فإنها تُحسب عن طريق ضرب parent_base_fee بالإزاحة النسبية لاستخدام الغاز الإجمالي للكتلة السابقة مقارنة بالهدف الغازي وأخذ الباقي مع الهدف الغازي وثابت ، ثم أخذ القيمة القصوى للنتيجة و1. النطق مماثل في الاتجاه المعاكس.
بالإضافة إلى ذلك، لن يتم تخصيص الرسوم الأساسية كمكافأة للمنقبين بعد الآن ولكن سيتم حرقها مباشرة، مما يضع نموذج الاقتصاد الإثيريوم في حالة تضخمية، وهو ما يسهم في استقرار القيمة. من ناحية أخرى، تشبه الرسوم الأولوية بالبقشيش الذي يقدمه المستخدمون للمنقبين ويمكن تسعيره بحرية، مما يمكن إلى حد ما استخدام خوارزمية تسلسل المنقب مرة أخرى.
مع تقدم الوقت إلى عام 2021، وصل تطوير Rollups تدريجيًا إلى ذروته. نحن نعلم أنه سواء كانت OP Rollups أو ZK Rollups، فإن ذلك يعني الحاجة إلى رفع بعض بيانات الدليل المضغوطة من البيانات L2 إلى السلسلة عبر calldata لتحقيق توافر البيانات على السلسلة، أو ليتم التحقق منها مباشرة على السلسلة. يفرض هذا تكاليف غاز كبيرة على الحفاظ على نهائية L2، والتي تنتقل في النهاية إلى المستخدمين. لذلك، كانت تكلفة استخدام معظم البروتوكولات L2 ليست منخفضة كما كان يتصور في ذلك الوقت.
في الوقت نفسه، واجه إثيريوم أيضًا مأزق المنافسة على مساحة الكتلة. نحن نعلم أن لكل كتلة حدًا للغاز، مما يعني أن إجمالي استهلاك الغاز لجميع المعاملات في الكتلة الحالية لا يمكن أن يتجاوز هذه القيمة. بناءً على حد الغاز الحالي البالغ 30،000،000، هناك نظريًا حد لحوالي 1،875،000 بايت، حيث 16 يشير إلى الغاز المستهلك لكل بايت calldata يتم معالجته بواسطة EVM. هذا يعني أن الحد الأقصى لحجم البيانات التي يمكن استيعابها في كتلة واحدة هو حوالي 1.79 ميجابايت. ومع ذلك، فإن البيانات المتعلقة بـ Rollup التي يتم إنشاؤها من قبل محددات L2 عادةً ما تكون لها حجم بيانات أكبر، مما ينافس تأكيد المعاملات من قبل مستخدمي سلسلة الكتلة الرئيسية الآخرين، مما يؤدي إلى انخفاض عدد المعاملات التي يمكن تعبئتها في كتلة واحدة، مما يؤثر بالتالي على TPS للسلسلة الرئيسية.
لمعالجة هذه المعضلة ، اقترح المطورون الأساسيون EIP-4844 في 5 فبراير 2022 ، والذي تم تنفيذه بعد ترقية Dencun في الربع الثاني من عام 2024. يقدم هذا الاقتراح نوعا جديدا من المعاملات يسمى معاملة Blob. على عكس أنواع المعاملات التقليدية ، فإن الفكرة الأساسية لمعاملة Blob تكمل نوعا جديدا من البيانات ، وهو بيانات Blob. على عكس أنواع بيانات المكالمات ، لا يمكن الوصول إلى بيانات blob مباشرة بواسطة EVM ولكن يمكنها فقط الوصول إلى التجزئة الخاصة بها ، والمعروفة أيضا باسم VersionedHash. بالإضافة إلى ذلك ، يتم تقديم تصميمين مصاحبين. أولا ، بالمقارنة مع المعاملات العادية ، فإن دورة GC لمعاملات blob أقصر ، مما يضمن أن بيانات الكتلة لا تصبح منتفخة للغاية. ثانيا ، تحتوي بيانات blob على آلية غاز أصلية. بشكل عام ، يشبه التأثير المقدم EIP-1559 ، لكن النموذج الرياضي يختار دالة أسية طبيعية ، والتي تعمل بشكل أفضل في الاستقرار عند التعامل مع التقلبات في حجم المعاملات. وذلك لأن ميل الدالة الأسية الطبيعية هو أيضا دالة أسية طبيعية ، مما يعني أنه بغض النظر عن حالة حجم معاملات الشبكة ، عندما يزداد حجم المعاملات بسرعة ، فإن الرسوم الأساسية لغاز النقطة تعكس بشكل كامل وفعال الحد من نشاط المعاملة. بالإضافة إلى ذلك ، تحتوي هذه الوظيفة على خاصية مهمة حيث تكون قيمة الوظيفة 1 عندما تكون الإحداثيات 0.
base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS e*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)
حيث MIN_BASE_FEE_PER_BLOB_GAS و BLOB_BASE_FEE_UPDATE_FRACTION هما ثابتان، ويتم تحديد excess_blob_gas بالفرق بين إجمالي استهلاك الغاز للبلوك في البلوك الأصلي وثابت TARGET_BLOB_GAS_PER_BLOCK. عندما يتجاوز إجمالي استهلاك الغاز للبلوك القيمة المستهدفة، أي بمعنى أن الفرق إيجابي، فإن e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) أكبر من 1، ويزيد base_fee_per_blob_gas، وإلا فإنه يقل.
هذا يسمح بتنفيذ منخفض التكلفة في السيناريوهات التي يرغب فيها فقط في قدرة التوافق لإثيريوم لتخزين البيانات على نطاق واسع لضمان التوفر، دون استحواذ على قدرة تعبئة المعاملات في الكتلة. على سبيل المثال، يمكن تقديم معلومات حرجة حول L2 في بيانات blob من خلال معاملات blob، ويمكن تنفيذ المنطق للتحقق على السلسلة في EVM من خلال تصاميم معقدة باستخدام versionedHash.
يجب ملاحظة أن الإعداد الحالي لمتغيرات TARGET_BLOB_GAS_PER_BLOCK وMAX_BLOB_GAS_PER_BLOCK يفرض قيودًا على الشبكة الرئيسية، وتحديداً هدف معالجة متوسط 3 بلوبس (0.375 ميغابايت) لكل كتلة وحد الحد الأقصى 6 بلوبس (0.75 ميغابايت) لكل كتلة. تهدف هذه الحدود الأولية إلى تقليل الضغط الذي يفرضه EIP على الشبكة، ومن المتوقع زيادتها في التحديثات المستقبلية بمجرد أن تظهر الشبكة موثوقيتها تحت كتل أكبر.
بعد توضيح النموذج الحالي للغاز في إثيريوم، دعونا نلقي نظرة على الأهداف وتفاصيل التنفيذ لاقتراح EIP-7706. تم تقديم هذا الاقتراح بواسطة فيتاليك في 13 مايو 2024. على غرار بيانات Blob، يفصل هذا الاقتراح نموذج الغاز لحقل بيانات خاص آخر، وهو calldata، ويحسن منطق تنفيذ الكود المقابل.
مبدئيًا، تكون منطق حساب رسوم القاعدة لبيانات الاتصال هو نفس منطق الرسوم الأساسية لبيانات البلوب في EIP-4844، حيث يستخدم كل منهما وظيفة تربيعية لحساب عامل التحجيم لرسوم القاعدة الحالية بناءً على الانحراف بين قيمة استهلاك الغاز الفعلية في الكتلة الأم والقيمة المستهدفة.
يجدر بالذكر تصميم معلمة جديد، LIMIT_TARGET_RATIOS=[2,2,4]، حيث يمثل LIMIT_TARGET_RATIOS[0] نسبة الهدف للغاز لعمليات التنفيذ، ويمثل LIMIT_TARGET_RATIOS[1] نسبة الهدف للغاز لبيانات Blob، ويمثل LIMIT_TARGET_RATIOS[2] نسبة الهدف للغاز لـ calldata. يُستخدم هذا الناقل لحساب قيم الغاز المستهدفة لثلاثة أنواع من الغاز في الكتلة الأم، باستخدام LIMIT_TARGET_RATIOS للقسمة الصحيحة على حد الغاز على النحو التالي:
تكوين المنطق لحدود الغاز هو كما يلي:
يجب أن يتبع gas_limits[0] الصيغة التعديلية الحالية.
يجب أن تكون حدود الغاز [1] مساوية لMAX_BLOB_GAS_PER_BLOCK.
يجب أن تكون حدود الغاز [2] متساوية مع حدود الغاز [0] // نسبة حد الغاز CALLDATA.
نحن نعلم أن حدود الغاز الحالية [0] هي 30000000، وتم تعيين معدل حد الغاز ل CALLDATA_GAS_LIMIT_RATIO على 4. يعني هذا أن هدف الغاز الحالي لبيانات الاتصالات التي تم استدعاؤها هو تقريبًا 30000000 // 4 // 4 = 1875000. نظرًا لأن هرطقة الغاز الحالية لبيانات الاتصالات يستهلك كل بايت غير صفري 16 غازًا والبايت صفري الاستهلاك 4 غازات، نفترض أن توزيع البايتات غير الصفرية والصفرية في قطعة من بيانات الاتصالات هو 50٪، يتطلب معالجة متوسطية لبايت واحد من بيانات الاتصالات 10 غازات. لذلك، يجب أن يتوافق هدف الغاز الحالي لبيانات الاتصالات مع بيانات الاتصالات من 187500 بايت، تقريبًا ضعف استخدام النطاق العريض الحالي.
الفائدة من هذا النهج هو تقليل احتمالية وصول بيانات الاتصال إلى الحد الأقصى للغاز بشكل كبير، والحفاظ على استخدام بيانات الاتصال على مستوى ثابت نسبيًا من خلال النموذج الاقتصادي، ومنع إساءة استخدام بيانات الاتصال. السبب في هذا التصميم هو فتح الطريق لتطوير L2، جنبًا إلى جنب مع بيانات الكتلة، لتقليل تكلفة المتسلسل بشكل أكبر.
Mời người khác bỏ phiếu
مقدمة: في 13 مايو 2024، اقترح فيتاليك EIP-7706، الذي يكمل نموذج الغاز الحالي عن طريق إزالة حساب الغاز بشكل منفصل للبيانات النداء وتخصيص آلية تسعير رسوم أساسية مشابهة لغاز الكتلة، مما يقلل بشكل أكبر من تكاليف التشغيل للطبقة 2. كما يجب تتبع الاقتراحات ذات الصلة إلى EIP-4844 المقترح في فبراير 2022، وهو فترة طويلة بالفعل. لذلك، من خلال التحقق من المواد ذات الصلة، نأمل في تقديم ملخص لآلية غاز إثيريوم الأخيرة لتسهيل فهم الجميع بسرعة.
في التصميم الأولي، اعتمد إيثيريوم آلية مزاد بسيطة لتحديد رسوم المعاملات، مما يتطلب من المستخدمين المزايدة بنشاط على معاملاتهم، أي تحديد أسعار الغاز. عادةً ما يقوم المنقبون بتحديد ترتيب تغليف المعاملات بناءً على مبدأ الأمثلية الاقتصادية وفقًا لسعر المزايدة، متجاهلين حالة MEV. في رأي المطورين الأساسيين في ذلك الوقت، واجهت هذه الآلية أربعة مشاكل:
تقلب مستويات رسوم المعاملات لا تتطابق مع تكلفة الموافقة على المعاملات: بالنسبة للبلوكشين في حالة نشطة، هناك طلب كافٍ لتجميع المعاملات، مما يعني أن الكتل يمكن ملؤها بسهولة، ولكن هذا غالبًا ما يؤدي إلى تقلبات كبيرة في الرسوم الإجمالية. على سبيل المثال، عندما يكون سعر الغاز المتوسط 10 جيجاواط، تكلفة الحافة التي يتحملها الشبكة لقبول معاملة أخرى في كتلة تكون أعلى بعشر مرات من عندما يكون سعر الغاز المتوسط 1 جيجاواط، وهو أمر غير مقبول.
تأخيرات غير ضرورية للمستخدمين: نظرا للحد الصعب من gaslimit لكل كتلة ، إلى جانب التقلب الطبيعي لأحجام المعاملات التاريخية ، غالبا ما يتعين على المعاملات الانتظار حتى يتم حزم عدة كتل ، وهو أمر غير فعال للشبكة ككل. لا توجد آلية "استرخاء" تسمح لكتلة واحدة بأن تكون أكبر وأن تكون الكتلة التالية أصغر لتلبية الاختلافات في الطلب بين الكتل.
تسعير غير فعال: لقد أدى اعتماد آلية مزاد بسيطة إلى انخفاض كفاءة اكتشاف الأسعار العادلة، مما يعني أنه من الصعب على المستخدمين تحديد سعر معقول، مما يؤدي في كثير من الحالات إلى دفع المستخدمين رسوم مفرطة.
ستكون Blockchain بدون مكافآت الكتلة غير مستقرة: عند إلغاء مكافآت الكتلة الناتجة عن التعدين واعتماد نموذج رسوم خالص ، فقد يؤدي ذلك إلى العديد من حالات عدم الاستقرار ، مثل تحفيز "الكتل الشقيقة" للتعدين لسرقة رسوم المعاملات ، وفتح ناقلات هجوم تعدين أنانية أكثر قوة ، وما إلى ذلك.
حتى اقتراح وتنفيذ EIP-1559 ، كان هناك تكرار أول لنموذج الغاز. تم اعتماد EIP-1559 ، الذي اقترحه فيتاليك ومطورون أساسيون آخرون في 13 أبريل 2019 ، في ترقية لندن في 5 أغسطس 2021. تتخلى هذه الآلية عن آلية المزاد وتعتمد بدلا من ذلك نموذج تسعير مزدوج للرسوم الأساسية ورسوم الأولوية. يتم حساب الرسوم الأساسية كميا بناء على العلاقة بين استهلاك الغاز في الكتلة الأم وهدف الغاز العائم والعودي من خلال نموذج رياضي ثابت. التأثير البديهي هو أنه إذا تجاوز استخدام الغاز في الكتلة السابقة هدف الغاز المحدد مسبقا ، تزداد الرسوم الأساسية ، وإذا كانت أقل من هدف الغاز ، يتم تقليل الرسوم الأساسية. يمكن أن يعكس هذا العرض والطلب بشكل أفضل ويجعل التنبؤات بالغاز المعقول أكثر دقة ، مما يمنع أسعار الغاز الباهظة بسبب سوء التشغيل لأن حساب الرسوم الأساسية يتم تحديده مباشرة بواسطة النظام بدلا من تحديده بحرية من قبل المستخدمين. الرمز المحدد هو كما يلي:
يمكن استنتاج أنه عندما يكون parent_gas_used أكبر من parent_gas_target ، سيتم مقارنة الرسم الأساسي للكتلة الحالية بالرسم الأساسي للكتلة السابقة بزيادة قيمة الإزاحة. أما بالنسبة لقيمة الإزاحة ، فإنها تُحسب عن طريق ضرب parent_base_fee بالإزاحة النسبية لاستخدام الغاز الإجمالي للكتلة السابقة مقارنة بالهدف الغازي وأخذ الباقي مع الهدف الغازي وثابت ، ثم أخذ القيمة القصوى للنتيجة و1. النطق مماثل في الاتجاه المعاكس.
بالإضافة إلى ذلك، لن يتم تخصيص الرسوم الأساسية كمكافأة للمنقبين بعد الآن ولكن سيتم حرقها مباشرة، مما يضع نموذج الاقتصاد الإثيريوم في حالة تضخمية، وهو ما يسهم في استقرار القيمة. من ناحية أخرى، تشبه الرسوم الأولوية بالبقشيش الذي يقدمه المستخدمون للمنقبين ويمكن تسعيره بحرية، مما يمكن إلى حد ما استخدام خوارزمية تسلسل المنقب مرة أخرى.
مع تقدم الوقت إلى عام 2021، وصل تطوير Rollups تدريجيًا إلى ذروته. نحن نعلم أنه سواء كانت OP Rollups أو ZK Rollups، فإن ذلك يعني الحاجة إلى رفع بعض بيانات الدليل المضغوطة من البيانات L2 إلى السلسلة عبر calldata لتحقيق توافر البيانات على السلسلة، أو ليتم التحقق منها مباشرة على السلسلة. يفرض هذا تكاليف غاز كبيرة على الحفاظ على نهائية L2، والتي تنتقل في النهاية إلى المستخدمين. لذلك، كانت تكلفة استخدام معظم البروتوكولات L2 ليست منخفضة كما كان يتصور في ذلك الوقت.
في الوقت نفسه، واجه إثيريوم أيضًا مأزق المنافسة على مساحة الكتلة. نحن نعلم أن لكل كتلة حدًا للغاز، مما يعني أن إجمالي استهلاك الغاز لجميع المعاملات في الكتلة الحالية لا يمكن أن يتجاوز هذه القيمة. بناءً على حد الغاز الحالي البالغ 30،000،000، هناك نظريًا حد لحوالي 1،875،000 بايت، حيث 16 يشير إلى الغاز المستهلك لكل بايت calldata يتم معالجته بواسطة EVM. هذا يعني أن الحد الأقصى لحجم البيانات التي يمكن استيعابها في كتلة واحدة هو حوالي 1.79 ميجابايت. ومع ذلك، فإن البيانات المتعلقة بـ Rollup التي يتم إنشاؤها من قبل محددات L2 عادةً ما تكون لها حجم بيانات أكبر، مما ينافس تأكيد المعاملات من قبل مستخدمي سلسلة الكتلة الرئيسية الآخرين، مما يؤدي إلى انخفاض عدد المعاملات التي يمكن تعبئتها في كتلة واحدة، مما يؤثر بالتالي على TPS للسلسلة الرئيسية.
لمعالجة هذه المعضلة ، اقترح المطورون الأساسيون EIP-4844 في 5 فبراير 2022 ، والذي تم تنفيذه بعد ترقية Dencun في الربع الثاني من عام 2024. يقدم هذا الاقتراح نوعا جديدا من المعاملات يسمى معاملة Blob. على عكس أنواع المعاملات التقليدية ، فإن الفكرة الأساسية لمعاملة Blob تكمل نوعا جديدا من البيانات ، وهو بيانات Blob. على عكس أنواع بيانات المكالمات ، لا يمكن الوصول إلى بيانات blob مباشرة بواسطة EVM ولكن يمكنها فقط الوصول إلى التجزئة الخاصة بها ، والمعروفة أيضا باسم VersionedHash. بالإضافة إلى ذلك ، يتم تقديم تصميمين مصاحبين. أولا ، بالمقارنة مع المعاملات العادية ، فإن دورة GC لمعاملات blob أقصر ، مما يضمن أن بيانات الكتلة لا تصبح منتفخة للغاية. ثانيا ، تحتوي بيانات blob على آلية غاز أصلية. بشكل عام ، يشبه التأثير المقدم EIP-1559 ، لكن النموذج الرياضي يختار دالة أسية طبيعية ، والتي تعمل بشكل أفضل في الاستقرار عند التعامل مع التقلبات في حجم المعاملات. وذلك لأن ميل الدالة الأسية الطبيعية هو أيضا دالة أسية طبيعية ، مما يعني أنه بغض النظر عن حالة حجم معاملات الشبكة ، عندما يزداد حجم المعاملات بسرعة ، فإن الرسوم الأساسية لغاز النقطة تعكس بشكل كامل وفعال الحد من نشاط المعاملة. بالإضافة إلى ذلك ، تحتوي هذه الوظيفة على خاصية مهمة حيث تكون قيمة الوظيفة 1 عندما تكون الإحداثيات 0.
base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS e*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)
حيث MIN_BASE_FEE_PER_BLOB_GAS و BLOB_BASE_FEE_UPDATE_FRACTION هما ثابتان، ويتم تحديد excess_blob_gas بالفرق بين إجمالي استهلاك الغاز للبلوك في البلوك الأصلي وثابت TARGET_BLOB_GAS_PER_BLOCK. عندما يتجاوز إجمالي استهلاك الغاز للبلوك القيمة المستهدفة، أي بمعنى أن الفرق إيجابي، فإن e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) أكبر من 1، ويزيد base_fee_per_blob_gas، وإلا فإنه يقل.
هذا يسمح بتنفيذ منخفض التكلفة في السيناريوهات التي يرغب فيها فقط في قدرة التوافق لإثيريوم لتخزين البيانات على نطاق واسع لضمان التوفر، دون استحواذ على قدرة تعبئة المعاملات في الكتلة. على سبيل المثال، يمكن تقديم معلومات حرجة حول L2 في بيانات blob من خلال معاملات blob، ويمكن تنفيذ المنطق للتحقق على السلسلة في EVM من خلال تصاميم معقدة باستخدام versionedHash.
يجب ملاحظة أن الإعداد الحالي لمتغيرات TARGET_BLOB_GAS_PER_BLOCK وMAX_BLOB_GAS_PER_BLOCK يفرض قيودًا على الشبكة الرئيسية، وتحديداً هدف معالجة متوسط 3 بلوبس (0.375 ميغابايت) لكل كتلة وحد الحد الأقصى 6 بلوبس (0.75 ميغابايت) لكل كتلة. تهدف هذه الحدود الأولية إلى تقليل الضغط الذي يفرضه EIP على الشبكة، ومن المتوقع زيادتها في التحديثات المستقبلية بمجرد أن تظهر الشبكة موثوقيتها تحت كتل أكبر.
بعد توضيح النموذج الحالي للغاز في إثيريوم، دعونا نلقي نظرة على الأهداف وتفاصيل التنفيذ لاقتراح EIP-7706. تم تقديم هذا الاقتراح بواسطة فيتاليك في 13 مايو 2024. على غرار بيانات Blob، يفصل هذا الاقتراح نموذج الغاز لحقل بيانات خاص آخر، وهو calldata، ويحسن منطق تنفيذ الكود المقابل.
مبدئيًا، تكون منطق حساب رسوم القاعدة لبيانات الاتصال هو نفس منطق الرسوم الأساسية لبيانات البلوب في EIP-4844، حيث يستخدم كل منهما وظيفة تربيعية لحساب عامل التحجيم لرسوم القاعدة الحالية بناءً على الانحراف بين قيمة استهلاك الغاز الفعلية في الكتلة الأم والقيمة المستهدفة.
يجدر بالذكر تصميم معلمة جديد، LIMIT_TARGET_RATIOS=[2,2,4]، حيث يمثل LIMIT_TARGET_RATIOS[0] نسبة الهدف للغاز لعمليات التنفيذ، ويمثل LIMIT_TARGET_RATIOS[1] نسبة الهدف للغاز لبيانات Blob، ويمثل LIMIT_TARGET_RATIOS[2] نسبة الهدف للغاز لـ calldata. يُستخدم هذا الناقل لحساب قيم الغاز المستهدفة لثلاثة أنواع من الغاز في الكتلة الأم، باستخدام LIMIT_TARGET_RATIOS للقسمة الصحيحة على حد الغاز على النحو التالي:
تكوين المنطق لحدود الغاز هو كما يلي:
يجب أن يتبع gas_limits[0] الصيغة التعديلية الحالية.
يجب أن تكون حدود الغاز [1] مساوية لMAX_BLOB_GAS_PER_BLOCK.
يجب أن تكون حدود الغاز [2] متساوية مع حدود الغاز [0] // نسبة حد الغاز CALLDATA.
نحن نعلم أن حدود الغاز الحالية [0] هي 30000000، وتم تعيين معدل حد الغاز ل CALLDATA_GAS_LIMIT_RATIO على 4. يعني هذا أن هدف الغاز الحالي لبيانات الاتصالات التي تم استدعاؤها هو تقريبًا 30000000 // 4 // 4 = 1875000. نظرًا لأن هرطقة الغاز الحالية لبيانات الاتصالات يستهلك كل بايت غير صفري 16 غازًا والبايت صفري الاستهلاك 4 غازات، نفترض أن توزيع البايتات غير الصفرية والصفرية في قطعة من بيانات الاتصالات هو 50٪، يتطلب معالجة متوسطية لبايت واحد من بيانات الاتصالات 10 غازات. لذلك، يجب أن يتوافق هدف الغاز الحالي لبيانات الاتصالات مع بيانات الاتصالات من 187500 بايت، تقريبًا ضعف استخدام النطاق العريض الحالي.
الفائدة من هذا النهج هو تقليل احتمالية وصول بيانات الاتصال إلى الحد الأقصى للغاز بشكل كبير، والحفاظ على استخدام بيانات الاتصال على مستوى ثابت نسبيًا من خلال النموذج الاقتصادي، ومنع إساءة استخدام بيانات الاتصال. السبب في هذا التصميم هو فتح الطريق لتطوير L2، جنبًا إلى جنب مع بيانات الكتلة، لتقليل تكلفة المتسلسل بشكل أكبر.