شرح رسوم الغاز في إيثريوم: الرسم الأساسي ورسم الأولوية وحد الغاز
تعرّف إلى وحدات الغاز وحدود الغاز والرسوم الأساسية ورسوم الأولوية والرسوم القصوى في إيثريوم، ثم احسب التكلفة الفعلية للمعاملة.
في هذا الدليلالغاز يقيس العمليات الحسابية، لا المبلغ الذي ترسله
ملخص موجز
تُحسب رسوم الغاز في إيثريوم بضرب وحدات الغاز التي استهلكتها المعاملة فعلياً في سعر الغاز الفعّال في الكتلة التي أُدرجت فيها. يحدد البروتوكول الرسم الأساسي ويحرقه، وقد يذهب رسم الأولوية إلى المدقّق. أما الرسم الأقصى فهو سقف للسعر، وليس بالضرورة السعر الذي ستدفعه.
الغاز يقيس العمليات الحسابية، لا المبلغ الذي ترسله
في إيثريوم، الغاز هو وحدة قياس العمل الحسابي الذي تحتاج إليه آلة إيثريوم الافتراضية (EVM) لمعالجة معاملة. يتطلب إرسال ETH ببساطة عملاً أقل نسبياً، بينما قد يحتاج نقل رمز أو تنفيذ عدة شروط في عقد ذكي إلى عمل أكثر. لذلك قد تستهلك معاملتان ترسلان المقدار نفسه من ETH كميات مختلفة من الغاز إذا اختلف العمل الذي تنفذانه.
تصف وحدات الغاز مقدار العمل، ويصف سعر الغاز مقدار ETH الذي تعرض دفعه لكل وحدة. وضربهما يعطي الرسوم. حد الغاز هو أقصى عدد من الوحدات التي يُسمح للمعاملة باستهلاكها، بينما maxFeePerGas هو سقف السعر لكل وحدة. هذه الحقول مختلفة، وليست تسميات متعددة لـ«الرسوم القصوى» نفسها.
يشرح هذا الدليل معاملة EIP-1559 اعتيادية على الشبكة الرئيسية لإيثريوم. قد تستخدم سلاسل الكتل الأخرى وشبكات الطبقة الثانية هياكل رسوم وأصول دفع وتسميات مختلفة. لا تطبّق مصطلحات إيثريوم تلقائياً على كل شبكة. يعرّف دليل الغاز من Ethereum.org ودليل المعاملات هذه الحقول.
يعتمد استهلاك الغاز على العمل الذي تنفذه المعاملة
تفرض آلة EVM تكلفة غاز على العمليات الحسابية وتغييرات الحالة. قد يضيف استدعاء العقد تنفيذ دالة وقراءة بيانات التخزين أو كتابتها وتسجيل أحداث، وهي أعمال لا يحتاج إليها التحويل البسيط. وقد يؤدي تنفيذ عمليات أكثر أو اتباع مسار أطول إلى استهلاك غاز أكبر. لا يُحسب الغاز المستخدم بضرب كمية ETH المرسلة أو سعر الرمز في السوق.
تنفذ عملية تحويل ETH وتحويل الرموز واستدعاء تطبيق لامركزي عمليات مختلفة. وقد تنفذ استدعاءات العقود دوال إضافية وتقرأ التخزين أو تحدّثه، لذا قد تستهلك غازاً أكثر من تحويل بسيط. ويعرض إيصال المعاملة المدرجة مقدار الغاز المستخدم فعلياً.
يورد Ethereum.org مقدار 21,000 وحدة غاز مثالاً لتحويل ETH اعتيادي. وهذا مرجع للتحويل البسيط، وليس حداً قابلاً لإعادة الاستخدام لاستدعاءات العقود، إذ يعتمد عملها على الدوال التي تنفذها وعمليات الوصول إلى التخزين.
تختلف تكلفة الغاز على الشبكة أيضاً عن رسوم السحب التي تفرضها خدمة ما. قد تضيف المنصة رسماً تشغيلياً أو تطبق جدول رسوم خاصاً بها، بينما تدفع رسوم الغاز على السلسلة مقابل العمليات التي تعالجها الشبكة. إذا عرضت شاشة السحب مبلغاً واحداً، فتحقق مما إذا كان يجمع رسم المنصة وتكلفة الشبكة.
حد الغاز والغاز المستخدم رقمان مختلفان
حد الغاز (gasLimit) هو أكبر عدد من وحدات الغاز يُسمح للمعاملة باستهلاكه. أما الغاز المستخدم (gasUsed) فهو المقدار الذي استهلكته فعلياً عند انتهاء التنفيذ. رفع الحد لا يعني تلقائياً دفع تكلفة كل الوحدات الموجودة فيه. في المعاملة المدرجة، تُحسب الرسوم باستخدام الغاز المستهلك فعلياً وسعر الغاز الفعّال؛ ولا تُستهلك وحدات الحد غير المستخدمة.
إذا نفد الغاز من المعاملة نفسها أثناء التنفيذ، يُستهلك حد الغاز كاملاً وتفشل المعاملة. تُلغى تغييرات حالتها، لكن الحسابات التي نُفذت تظل لها تكلفة. يتيح الحد الأعلى تنفيذ مزيد من العمل، لكنه يرفع أيضاً الحد الأقصى للتكلفة المحتملة للغاز: gasLimit × maxFeePerGas. أما المبلغ الفعلي فيعتمد على الغاز المستهلك فعلياً والسعر الفعّال.
حد الغاز سقف لا تنبؤ بالاستخدام الفعلي. وليس الحد سعر الوحدة، ورفع السعر لا يعالج نقص عدد وحدات الغاز. إذا لم تفهم ما سينفذه الاستدعاء، فراجع الإرشادات الرسمية للمحفظة أو التطبيق بدلاً من تغيير الحد عشوائياً.
يتغير الرسم الأساسي مع الطلب على مساحة الكتل
في معاملة EIP-1559، الرسم الأساسي هو سعر الغاز لكل وحدة الذي يحدده البروتوكول للكتلة. يجب أن يكون الحد الأقصى لرسوم المعاملة كافياً لتغطية الرسم الأساسي في الكتلة التي ستضمها. يضبط البروتوكول الرسم من كتلة إلى أخرى بحسب مقدار الغاز الذي استهلكته الكتلة السابقة مقارنة بالهدف. ويمكن أن يرتفع الرسم أو ينخفض؛ فهو ليس سعراً ثابتاً دائماً.
يُحرق الجزء المقابل للرسم الأساسي عن وحدات الغاز المستهلكة فعلياً. ولا يحصل المدقّقون على هذا الجزء بوصفه إكرامية. وبما أن الرسم الأساسي يتغير من كتلة إلى أخرى، فقد تواجه المعاملة المعلقة رسماً أساسياً مختلفاً عند إدراجها عن الرسم الساري وقت إرسالها.
الـgwei فئة صغيرة من ETH: يساوي 1 gwei مقدار 0.000000001 ETH. يزيد سعر الغاز الأعلى تكلفة ETH حتى لو بقي مقدار الغاز المستخدم كما هو. كما يزيد استهلاك غاز أكبر التكلفة حتى لو لم يتغير السعر لكل وحدة. ويمكن أن يتغير رسم ETH بهذه العوامل مستقلاً عن سعر ETH بالدولار.
رسم الأولوية إكرامية قد تشجع على إدراج المعاملة
رسم الأولوية هو إكرامية لكل وحدة غاز تعرضها على المدقّق الذي يدرج المعاملة. يتنافس المستخدمون على مساحة محدودة في الكتلة، لذلك قد تجعل الإكرامية الأكبر المعاملة أكثر جاذبية عندما تتشابه العوامل الأخرى. وهي تشير إلى الاستعجال، لكنها لا تضمن الإدراج في كتلة بعينها أو خلال مدة محددة.
ارتفاع رقم رسم الأولوية في الشاشة لا يعني أن المعاملة تحتاج إلى وحدات غاز أكثر. فرسم الأولوية يغير السعر لكل وحدة، بينما يحدد حد الغاز مقدار العمل المسموح. قد يفشل استدعاء عقد معقد رغم الإكرامية المرتفعة إذا كان الغاز المتاح غير كافٍ. وعلى العكس، لا تكفي وحدات الغاز إذا لم يستطع سقف السعر تغطية الرسم الأساسي للكتلة.
يراعي المدقّقون مساحة الكتلة وشروط المعاملات الأخرى عند اختيار المعاملات. يتغير الرسم الأساسي ومساحة الكتلة المتاحة بمرور الوقت، ولا تضمن الإكرامية الأكبر إدراج المعاملة في وقت بعينه. يحدد مواصفة EIP-1559 دوراً منفصلاً للرسم الأساسي ورسم الأولوية، ويضع سقفاً لسعرهما الفعّال مجتمعين.
الرسم الأقصى سقف للسعر وليس السعر الفعلي
maxFeePerGas هو أعلى سعر للوحدة تقبل دفعه، وmaxPriorityFeePerGas هو أعلى إكرامية لكل وحدة تعرضها. عند إدراج المعاملة، يتكون السعر الفعّال من الرسم الأساسي والإكرامية التي تسمح بها حدود السعر. وتقتصر الإكرامية المطبقة على الأصغر من maxPriorityFeePerGas وmaxFeePerGas - baseFee، لذلك لا يتجاوز السعر الفعّال الرسم الأقصى.
لنفترض أن الرسم الأقصى 30 gwei، وإكرامية الحد الأقصى 2 gwei، والرسم الأساسي للكتلة 18 gwei. عندها يمكن أن تكون الإكرامية 2 gwei، فيصبح السعر الفعّال 20 gwei. لا تدفع المعاملة 30 gwei تلقائياً لمجرد أن هذا هو الحد الأقصى. وإذا ارتفع الرسم الأساسي إلى 31 gwei، فلا يستطيع سقف 30 gwei تغطية تلك الكتلة، وبالتالي لا يمكن إدراج المعاملة فيها.
كلما اقترب الرسم الأساسي من الرسم الأقصى، قلّ الهامش المتاح للإكرامية. حتى إن ضبطت سقف الإكرامية على 5 gwei، فإذا لم يتبق بين maxFeePerGas والرسم الأساسي سوى 1 gwei، فلن تتجاوز الإكرامية المطبقة 1 gwei. اقرأ سقفي السعر مع الرسم الأساسي الحالي.

احسب التكلفة والسقف باستخدام أرقام توضيحية
الأرقام التالية افتراضية وتوضح طريقة الحساب فقط. لنفترض أن حد الغاز للمعاملة 30,000 وحدة، وأنها استخدمت 24,000 وحدة، وأُدرجت في كتلة رسمها الأساسي 18 gwei. اجعل سقف الإكرامية 2 gwei والرسم الأقصى 30 gwei. الإكرامية المطبقة هي min(2, 30 - 18) = 2 gwei، ولذلك يكون السعر الفعّال 18 + 2 = 20 gwei.
رسوم الغاز الفعلية هي 24,000 × 20 = 480,000 gwei. وبما أن 1 ETH يساوي 1,000,000,000 gwei، فإن هذا المبلغ يساوي 0.00048 ETH. حصة الرسم الأساسي هي 24,000 × 18 = 432,000 gwei، أو 0.000432 ETH. والإكرامية هي 24,000 × 2 = 48,000 gwei، أو 0.000048 ETH. ومجموعهما يساوي الرسم الفعلي البالغ 0.00048 ETH.
ضرب حد الغاز كاملاً في سقفي السعر يعطي 30,000 × 30 = 900,000 gwei، أي 0.0009 ETH. وهذا سقف تكلفة الغاز في ظل هذه الإعدادات إذا استُخدم الحد كله والسعر الأقصى لكل وحدة. لكنه ليس الرسم الفعلي في هذا المثال. مبلغ ETH المرسل إلى المستلم منفصل عن رسوم الغاز. لا تعامل السقف كرسم ثابت ولا الرسوم كنسبة من المبلغ المرسل. هذه أرقام توضيحية وليست عرضاً حياً.
قد تستهلك المعاملة الفاشلة الغاز مع ذلك
لا تفترض أن رسالة «فشلت» في المحفظة تعني استرداد رسوم الغاز. إذا أُدرجت المعاملة في كتلة وبدأ تنفيذ EVM ثم تراجع، يمكن إلغاء تغيير الحالة مع بقاء تكلفة الغاز المستخدم للحساب. وإذا نفد الغاز من المعاملة نفسها أثناء التنفيذ، يُستهلك حد الغاز كاملاً. لقد استُخدمت موارد حسابية حتى لو لم تتحقق النتيجة المطلوبة.
تختلف عن ذلك معاملة لا تجتاز التحقق قبل إدراجها. فمثلاً، قد يُرفض تحويل ETH المرسل بحد غاز أقل من المطلوب قبل دخوله كتلة؛ وفي هذه الحالة لا يُستهلك غاز التنفيذ. حالتا «الرفض قبل الإدراج» و«الإدراج ثم التراجع أثناء التنفيذ» ليستا متماثلتين.
افحص حالة المعاملة وكمية الغاز المستخدمة وسعر الغاز الفعّال ونتيجة التنفيذ عبر تجزئة المعاملة. قد لا توضح رسالة الخطأ المختصرة في المحفظة السبب. يميز Ethereum.org بين رفض التحقق قبل الإدراج وبين معاملة ينفد غازها أثناء التنفيذ.
اقرأ الحد والسعر ومبلغ الإرسال كلّاً على حدة
قبل التوقيع، تحقق من الشبكة التي تستخدمها، ومن كون المعاملة تحويلاً بسيطاً أو استدعاء عقد. قد تعرض المحفظة رسماً تقديرياً وحد الغاز وتقدير الرسم الأساسي وسقف رسم الأولوية وسقف الرسم الأقصى ومبلغ ETH أو الرمز الذي سترسله. تجيب هذه القيم عن أسئلة مختلفة. إذا عرضت الشاشة أقصى تكلفة للغاز فقط، فافتح التفاصيل لمعرفة السقف المقصود بدلاً من اعتبار المبلغ خصماً مؤكداً.
يمكن للمحافظ ملء تقديرات الرسوم، لذلك لا يلزم غالباً ضبط كل حقل يدوياً. تستند هذه التقديرات إلى ظروف الشبكة في تلك اللحظة، ولا تضمن موعد إدراج المعاملة أو تكلفتها النهائية. قد يؤدي سقف السعر المنخفض إلى بقاء المعاملة قيد الانتظار. وقد يؤدي رفع الحد أو الإكرامية من دون فهم الاستدعاء إلى زيادة التكلفة المحتملة من دون حل المشكلة الأساسية. راجع القيم الحالية ولا توقّع إلا إذا كانت المعاملة واضحة لك.
يغطي هذا الشرح مسار المعاملة الاعتيادي على الشبكة الرئيسية لإيثريوم. قد تعرض الطبقة الثانية أو سلسلة أخرى رسوم بيانات إضافية، أو تستخدم أصلاً مختلفاً للرسوم، أو تحسبها بطريقة أخرى. لا تنقل معادلة إيثريوم إلى شبكة مختلفة قبل مراجعة وثائقها. لمعرفة الشبكة وعنوان الوجهة، راجع قائمة التحقق من شبكة التحويل وعنوانه ومذكرته، ولصلاحية العقد المنفصلة لاستخدام الرموز، راجع دليل الموافقات على الرموز.
أسئلة شائعة
Q1لماذا قد تكلّف المعاملة الفاشلة ETH؟
إذا أُدرجت المعاملة وبدأ التنفيذ، فقد تستهلك العملية غازاً حتى إن تراجعت تغييرات الحالة. افحص تجزئة المعاملة للتمييز بين فشل التنفيذ والرفض قبل الإدراج.
Q2هل maxFeePerGas هو سعر الغاز الفعلي الذي تعرضه محفظتي؟
لا. إنه سقف للسعر لكل وحدة. يجمع السعر الفعّال بين الرسم الأساسي للكتلة التي أُدرجت فيها المعاملة والإكرامية التي تسمح بها الحدود، لذلك قد تدفع المعاملة أقل من الحد الأقصى.
Q3هل تدفع معاملات الشبكة الرئيسية لإيثريوم رسوم الغاز بعملة ETH؟
تُدفع رسوم الغاز في معاملات الشبكة الرئيسية الاعتيادية بعملة إيثر، وهي الأصل الأصلي للشبكة. إذا عرضت المحفظة رمزاً آخر أو جهة راعية خارجية، فتحقق مما إذا كانت هناك آلية منفصلة لدفع الرسوم. قد تعمل السلاسل الأخرى بطريقة مختلفة.
المصادر والقراءة الإضافية
الإبلاغ عن مشكلة
سنُعدّ رسالة تتضمن رابط هذا المقال. لن يصل البلاغ إلى Mark إلا بعد إرسالها
تحقق سريع
بعد قراءة الدليل، اختبر نفسك في 3 أسئلة
السؤال 01
ما الذي يمثله gasLimit؟
اختر إجابة لرؤية الشرح