الانتقال إلى المحتوى

حد غاز الكتلة

دليل يراعي التفرعات لحد غاز كتلة إيثريوم وهدف EIP-1559 وسقف غاز المعاملة والغاز المستخدم ومحاسبة الرسوم وتقديرات معدل المعالجة والمفاضلات في موارد العقد.

آخر تحديث

لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.

الإجابة المباشرة

حد غاز الكتلة هو سقف غاز التنفيذ المسجل في رأس كتلة إيثريوم. يجب أن تلتزم المعاملات المدرجة بقواعد محاسبة البروتوكول بحيث لا يتجاوز مجموع gasUsed قيمة gasLimit. الغاز وحدة قياس مجردة تتغير قواعد العمليات وبيانات الاستدعاء والذاكرة والتخزين والاسترداد فيها باختلاف التفرع؛ وليس عددا مباشرا لتعليمات المعالج أو البايتات أو المعاملات.

بعد Fusaka يبلغ خط الأساس المنسق لعملاء شبكة إيثريوم الرئيسية 60,000,000 gas لكل كتلة، لكن رأس الكتلة الفعلي يظل المرجع ويمكن لتفضيلات المدققين تحريك الحد تدريجيا بموجب القاعدة الحالية المرتبطة بالكتلة الأم. ومع معامل مرونة EIP-1559 البالغ 2 يكون الهدف طويل الأجل 30,000,000 gas؛ وقد تستخدم الكتلة مؤقتا الحد الأقصى، ثم يرتفع الرسم الأساسي التالي إذا تجاوز استخدام الكتلة الأم الهدف. ويفرض EIP-7825 سقفا منفصلا لغاز المعاملة الذي يصرح به المستخدم عند 2^24 = 16,777,216 gas، بينما يفرض EIP-7934 حدا مستقلا لكتلة تنفيذ RLP قدره 8,388,608 bytes. هذه قيم خاصة بالشبكة الرئيسية وبتاريخ الرصد، وليست ثوابت عامة لكل EVM.

آلية العمل

  1. ثبّت السلسلة والشبكة وتجزئة الكتلة ورقمها والتفرع النشط والعميل أو RPC ووقت الرصد. اقرأ gasLimit وgasUsed وbaseFeePerGas من رأس الكتلة؛ ولا تستبدلها بجدول معلمات ثابت في موقع ويب.
  2. افصل حد غاز الكتلة وهدف غاز EIP-1559 وحد الغاز المصرح به للمعاملة والغاز الفعلي المستخدم والسعر لكل وحدة غاز. وافصل أيضا غاز التنفيذ عن غاز الكتل الكبيرة وبايتات كتلة تنفيذ RLP وأي قياس خاص بالطبقة الثانية.
  3. أعد تنفيذ صلاحية المعاملة وتشغيلها وفق جدول الغاز في التفرع النشط. ضمّن الغاز الجوهري وبيانات الاستدعاء وقوائم الوصول وتوسع الذاكرة والوصول البارد والدافئ والكتابة إلى التخزين والعقود المسبقة والاستردادات. يعتمد التقدير على الحالة ووسم الكتلة، وليس ضمانا.
  4. طابق سعة الكتلة. اجمع استخدام الغاز في الإيصالات أو استخدم القيمة التراكمية في الإيصال الأخير، وتأكد من gasUsed <= gasLimit، وراع ترتيب المعاملات والتكاليف المعتمدة على الحالة. لا يساوي عدد المعاملات حد الغاز ولا معدل TPS ثابتا.
  5. طبّق EIP-1559 على نحو صحيح. عند مرونة 2 يكون الهدف gasLimit / 2؛ يرفع استخدام الكتلة الأم فوق الهدف الرسم الأساسي التالي ويخفضه الاستخدام دون الهدف. وبموجب القاعدة الحالية يجب أن يبقى حد الكتلة الابنة أيضا داخل النطاق الصارم المرتبط بالأم والبالغ نحو 1/1024. يسعّر الرسم الأساسي الطلب، بينما يقيد الحد عمل التنفيذ المقبول.
  6. تحقق من الحدود التشغيلية. المعاملة التي تتجاوز سقفها النشط غير صالحة حتى لو بقيت مساحة غاز في الكتلة، وكتلة تنفيذ RLP الزائدة غير صالحة حتى إذا بقي مجموع الغاز دون الحد. يحرر بدل غاز المعاملة غير المستخدم؛ أما عداد الاسترداد فهو تخفيض منفصل يحده التفرع. يحفظ REVERT الغاز المتبقي، بينما يعكس نفاد الغاز في المستوى الأعلى الحالة ويستهلك بدل التنفيذ المقدم كاملا.
  7. اختبر وراقب زمن تنفيذ الكتل الممتلئة ونمو الحالة وانتشار الكتل والفترات الفائتة وسلوك إعادة التنظيم وسعة البنّائين والمدققين وتنوع العملاء وتغير المعلمات. قارن الكتل الفعلية ومقاييس العقد قبل اعتبار الحد الأعلى معدل معالجة مستداما.

أمثلة محلولة

  • السقف النظري للتحويلات البسيطة. عند 60,000,000 gas يمكن نظريا أن تتسع الكتلة لـfloor(60,000,000 / 21,000) = 2,857 تحويلا عاديا لـETH. ويتسع هدف 30,000,000 gas لـ1,428؛ وفي فترة مثالية مدتها 12-second يساوي ذلك 1,428 / 12 = 119 transactions/second. هذا حد أعلى متجانس للتوضيح، وليس TPS مرصودا.
  • كتلة هدف مختلطة. افترض أن كتلة هدف تضم 400 * 21,000 = 8,400,000 gas من التحويلات و80 * 180,000 = 14,400,000 gas من المبادلات و6 * 1,200,000 = 7,200,000 gas من عمليات النشر. يبلغ الاستخدام الكلي 30,000,000 gas عبر 486 transactions، أي 486 / 12 = 40.5 transactions/second مع افتراض الفترة المذكور. يدعم هدف الغاز نفسه أعدادا مختلفة جدا من المعاملات.
  • حد المعاملة مقابل التكلفة الفعلية. تصرح معاملة بـ200,000 gas لكنها تنجح مع gasUsed = 146,000. عند سعر فعلي 22 gwei تكون الرسوم 146,000 * 22 = 3,212,000 gwei = 0.003212 ETH؛ ولا يحتسب 54,000 gas غير المستخدم. في المقابل يتجاوز تصريح 18,000,000 gas السقف الحالي للبروتوكول 16,777,216 gas، فيكون غير صالح مهما كانت المساحة المتبقية في الكتلة.
  • استجابة الرسم الأساسي. مع gasLimit = 60,000,000 يكون الهدف 30,000,000. بدءا من 24 gwei ترفع كتلة أم ممتلئة عند 60,000,000 gas الرسم الأساسي التالي بالحد الأقصى 12.5% إلى 27 gwei؛ وتخفضه كتلة أم فارغة بنسبة 12.5% إلى 21 gwei. لا يغير ذلك حد الكتلة ولا يضمن استخدام الكتلة التالية.

المخاطر

  • استخدام قيمة قديمة لحد غاز الشبكة الرئيسية.
  • تطبيق معلمات إيثريوم على سلسلة EVM أو طبقة ثانية أخرى.
  • الخلط بين حد الكتلة وهدف EIP-1559.
  • الخلط بين حد الكتلة وسقف المعاملة الواحدة.
  • الخلط بين غاز المعاملة المصرح به والغاز المستخدم فعليا.
  • اعتبار الغاز وحدة ثابتة للمعالج أو البايت أو المعاملة.
  • استخدام جدول قديم للعمليات أو بيانات الاستدعاء أو الاسترداد، أو تجاهل حد حجم كتلة RLP المستقل.
  • الاعتماد على eth_estimateGas دون الحالة ووسم الكتلة المقصودين.
  • تجاهل اعتماد التنفيذ على الحالة وترتيب المعاملات.
  • الخلط بين بدل المعاملة غير المستخدم وعداد الاسترداد المنفصل.
  • تجاهل الغاز المحتسب عند نفاد الغاز أو ارتداد التنفيذ.
  • اعتبار غاز التنفيذ وغاز الكتل الكبيرة موردا واحدا.
  • اشتقاق TPS من تحويلات متجانسة وحدها.
  • تجاهل الفترات الفائتة وإعادات التنظيم وتأخيرات النهائية.
  • زيادة أسوأ زمن لتنفيذ الكتلة وانتشارها.
  • تسريع نمو الحالة ومتطلبات الأرشيف.
  • رفع متطلبات عتاد المدقق والبنّاء وRPC.
  • زيادة مخاطر المركزية أو اختلاف العملاء.
  • إغفال تغير تفضيلات المدققين أو إعدادات العملاء الافتراضية أو التفرعات.
  • اعتبار السعة الأعلى ضمانا لرسوم أقل أو طلب أعلى.

مفاهيم شائعة خاطئة

  • حد غاز الكتلة ثابت عام في إيثريوم أو كل EVM.
  • يعني حد 60,000,000 gas أن كل كتلة يجب أن تستخدم 60 مليون غاز أو أن هدف EIP-1559 يساوي 60 مليونا أيضا.
  • قسمة حد الكتلة على 21,000 تعطي TPS الحقيقي للسلسلة.
  • يجوز لمعاملة أن تستهلك الكتلة كلها ما دامت فيها مساحة؛ فسقف المعاملة الحالي مستقل.
  • يؤدي رفع حد الغاز تلقائيا إلى خفض الرسوم بلا مفاضلات في العقد أو الحالة أو الانتشار أو الطلب أو المركزية.

موضوعات ذات صلة

المصادر

التنقل

ابحث في الويكي...