الغاز والرسوم
الغاز ضروري لشبكة إيثيريوم. إنه الوقود الذي يسمح لها بالعمل، بنفس الطريقة التي تحتاج بها السيارة إلى البنزين لتعمل.
المتطلبات الأساسية
لفهم هذه الصفحة بشكل أفضل، نوصيك بقراءة المزيد عن المعاملات وEVM أولاً.
ما هو الغاز؟
يشير الغاز إلى الوحدة التي تقيس مقدار الجهد الحسابي المطلوب لتنفيذ عمليات محددة على شبكة إيثيريوم.
نظرًا لأن كل معاملة إيثيريوم تتطلب موارد حسابية لتنفيذها، يجب دفع ثمن هذه الموارد لضمان عدم تعرض إيثيريوم للبريد العشوائي وعدم تعثرها في حلقات حسابية لا نهائية. يتم الدفع مقابل الحوسبة في شكل رسوم الغاز.
رسوم الغاز هي كمية الغاز المستخدمة للقيام بعملية ما، مضروبة في التكلفة لكل وحدة غاز. يتم دفع الرسوم بغض النظر عما إذا كانت المعاملة ناجحة أم فاشلة.
مخطط مقتبس من توضيح EVM لإيثيريوم (opens in a new tab)
يجب دفع رسوم الغاز بالعملة الأصلية لإيثيريوم، إيثر (ETH). عادة ما يتم تسعير الغاز بوحدة Gwei، وهي فئة من ETH. كل Gwei يساوي واحد على مليار من ETH (0.000000001 ETH أو 10-9 ETH).
على سبيل المثال، بدلاً من القول إن تكلفة الغاز الخاصة بك هي 0.000000001 إيثر، يمكنك القول إن تكلفة الغاز هي 1 Gwei.
كلمة 'Gwei' هي اختصار لـ 'giga-wei'، وتعني 'مليار Wei'. واحد Gwei يساوي مليار Wei. وحدة Wei نفسها (سميت على اسم وي داي (opens in a new tab)، مبتكر b-money (opens in a new tab)) هي أصغر وحدة من ETH.
كيف يتم حساب رسوم الغاز؟
يمكنك تحديد كمية الغاز التي ترغب في دفعها عند إرسال معاملة. من خلال تقديم كمية معينة من الغاز، فإنك تزايد لإدراج معاملتك في الكتلة التالية. إذا قدمت مبلغًا قليلاً جدًا، فمن غير المرجح أن يختار المُدَقِّقون معاملتك لإدراجها، مما يعني أن معاملتك قد تُنفذ متأخرًا أو لا تُنفذ على الإطلاق. إذا قدمت مبلغًا كبيرًا جدًا، فقد تهدر بعض الـ ETH. إذن، كيف يمكنك معرفة المبلغ الذي يجب دفعه؟
ينقسم إجمالي الغاز الذي تدفعه إلى مكونين: base fee (الرسم الأساسي) و priority fee (إكرامية).
يتم تحديد base fee بواسطة البروتوكول — يجب عليك دفع هذا المبلغ على الأقل حتى تُعتبر معاملتك صالحة. priority fee هي إكرامية تضيفها إلى الرسم الأساسي لجعل معاملتك جذابة للمُدَقِّقين حتى يختاروها للإدراج في الكتلة التالية.
المعاملة التي تدفع فقط base fee صالحة من الناحية الفنية ولكن من غير المرجح أن يتم إدراجها لأنها لا تقدم أي حافز للمُدَقِّقين لاختيارها على أي معاملة أخرى. يتم تحديد رسوم priority 'الصحيحة' من خلال استخدام الشبكة في الوقت الذي ترسل فيه معاملتك — إذا كان هناك طلب كبير، فقد تضطر إلى تعيين رسوم priority أعلى، ولكن عندما يكون الطلب أقل يمكنك دفع مبلغ أقل.
على سبيل المثال، لنفترض أن جوردان يجب أن يدفع لتايلور 1 ETH. يتطلب تحويل ETH 21,000 وحدة من الغاز، والرسم الأساسي هو 10 Gwei. يُدرج جوردان إكرامية قدرها 2 Gwei.
إجمالي الرسوم سيكون الآن مساويًا لـ:
units of gas used * (base fee + priority fee)
حيث base fee هي قيمة يحددها البروتوكول و priority fee هي قيمة يحددها المستخدم كإكرامية للمُدَقِّق.
على سبيل المثال، 21,000 * (10 + 2) = 252,000 gwei (0.000252 ETH).
عندما يرسل جوردان الأموال، سيتم خصم 1.000252 ETH من حساب جوردان. سيتم إضافة 1.0000 ETH إلى تايلور. يتلقى المُدَقِّق الإكرامية البالغة 0.000042 ETH. يتم حرق base fee البالغ 0.00021 ETH.
الرسم الأساسي
تحتوي كل كتلة على رسم أساسي يعمل كسعر احتياطي. لكي تكون مؤهلاً للإدراج في كتلة، يجب أن يساوي السعر المعروض لكل غاز الرسم الأساسي على الأقل. يتم حساب الرسم الأساسي بشكل مستقل عن الكتلة الحالية ويتم تحديده بدلاً من ذلك بواسطة الكتل التي تسبقه، مما يجعل رسوم المعاملة أكثر قابلية للتنبؤ للمستخدمين. عند إنشاء الكتلة، يتم "حرق" هذا الرسم الأساسي، مما يؤدي إلى إزالته من التداول.
يتم حساب الرسم الأساسي بواسطة صيغة تقارن حجم الكتلة السابقة (كمية الغاز المستخدمة لجميع المعاملات) بالحجم المستهدف (نصف حد الغاز). سيزداد الرسم الأساسي أو ينقص بحد أقصى 12.5% لكل كتلة إذا كان حجم الكتلة المستهدف أعلى أو أقل من الهدف، على التوالي. هذا النمو الأسي يجعل من غير المجدي اقتصاديًا أن يظل حجم الكتلة مرتفعًا إلى أجل غير مسمى.
| رقم الكتلة | الغاز المُدرج | زيادة الرسوم | الرسم الأساسي الحالي |
|---|---|---|---|
| 1 | 18M | 0% | 100 Gwei |
| 2 | 36M | 0% | 100 Gwei |
| 3 | 36M | 12.5% | 112.5 Gwei |
| 4 | 36M | 12.5% | 126.6 Gwei |
| 5 | 36M | 12.5% | 142.4 Gwei |
| 6 | 36M | 12.5% | 160.2 Gwei |
| 7 | 36M | 12.5% | 180.2 Gwei |
| 8 | 36M | 12.5% | 202.7 Gwei |
في الجدول أعلاه، يتم توضيح مثال باستخدام 36 مليون كحد الغاز. باتباع هذا المثال، لإنشاء معاملة في الكتلة رقم 9، ستُعلم المحفظة المستخدم بيقين أن الحد الأقصى للرسم الأساسي الذي سيتم إضافته إلى الكتلة التالية هو current base fee * 112.5% أو 202.7 gwei * 112.5% = 228.1 gwei.
من المهم أيضًا ملاحظة أنه من غير المرجح أن نرى طفرات ممتدة من الكتل الممتلئة بسبب السرعة التي يزداد بها الرسم الأساسي قبل الكتلة الممتلئة.
| رقم الكتلة | الغاز المُدرج | زيادة الرسوم | الرسم الأساسي الحالي |
|---|---|---|---|
| 30 | 36M | 12.5% | 2705.6 Gwei |
| ... | ... | 12.5% | ... |
| 50 | 36M | 12.5% | 28531.3 Gwei |
| ... | ... | 12.5% | ... |
| 100 | 36M | 12.5% | 10302608.6 Gwei |
رسم الأولوية (الإكراميات)
يحفز رسم الأولوية (الإكرامية) المُدَقِّقين على زيادة عدد المعاملات في الكتلة إلى أقصى حد، مقيدًا فقط بحد الغاز للكتلة. بدون الإكراميات، يمكن للمُدَقِّق العقلاني إدراج عدد أقل — أو حتى صفر — من المعاملات دون أي عقوبة مباشرة من طبقة التنفيذ أو طبقة الإجماع، حيث أن مكافآت التخزين مستقلة عن عدد المعاملات في الكتلة. بالإضافة إلى ذلك، تسمح الإكراميات للمستخدمين بالمزايدة على الآخرين للحصول على الأولوية داخل نفس الكتلة، مما يشير فعليًا إلى الاستعجال.
الحد الأقصى للرسوم
لتنفيذ معاملة على الشبكة، يمكن للمستخدمين تحديد حد أقصى يرغبون في دفعه لتنفيذ معاملتهم. تُعرف هذه المعلمة الاختيارية باسم maxFeePerGas. لكي يتم تنفيذ المعاملة، يجب أن يتجاوز الحد الأقصى للرسوم مجموع الرسم الأساسي والإكرامية. يتم استرداد الفرق بين الحد الأقصى للرسوم ومجموع الرسم الأساسي والإكرامية لمرسل المعاملة.
حجم الكتلة
تحتوي كل كتلة على حجم مستهدف يبلغ نصف حد الغاز الحالي، ولكن سيزداد حجم الكتل أو ينقص وفقًا لطلب الشبكة، حتى يتم الوصول إلى حد الكتلة (2x حجم الكتلة المستهدف). يحقق البروتوكول متوسط حجم كتلة متوازن عند الهدف من خلال عملية التلمس (tâtonnement). هذا يعني أنه إذا كان حجم الكتلة أكبر من حجم الكتلة المستهدف، فسيقوم البروتوكول بزيادة الرسم الأساسي للكتلة التالية. وبالمثل، سيقوم البروتوكول بتقليل الرسم الأساسي إذا كان حجم الكتلة أقل من حجم الكتلة المستهدف.
يتناسب المقدار الذي يتم به تعديل الرسم الأساسي مع مدى بُعد حجم الكتلة الحالي عن الهدف. هذا حساب خطي من -12.5% لكتلة فارغة، و 0% عند الحجم المستهدف، وصولاً إلى +12.5% لكتلة تصل إلى حد الغاز. يمكن أن يتقلب حد الغاز بمرور الوقت بناءً على إشارات المُدَقِّق، وكذلك عبر ترقيات الشبكة. يمكنك عرض التغييرات في حد الغاز بمرور الوقت هنا (opens in a new tab).
حساب رسوم الغاز عمليًا
يمكنك أن تذكر صراحة المبلغ الذي ترغب في دفعه لتنفيذ معاملتك. ومع ذلك، سيقوم معظم مزودي المحافظ تلقائيًا بتعيين رسوم المعاملة الموصى بها (الرسم الأساسي + رسم الأولوية الموصى به) لتقليل مقدار التعقيد الذي يثقل كاهل مستخدميهم.
لماذا توجد رسوم الغاز؟
باختصار، تساعد رسوم الغاز في الحفاظ على أمان شبكة إيثيريوم. من خلال اشتراط رسوم لكل عملية حسابية يتم تنفيذها على الشبكة، نمنع الجهات الفاعلة السيئة من إرسال بريد عشوائي إلى الشبكة. من أجل تجنب الحلقات اللانهائية العرضية أو العدائية أو غيرها من الهدر الحسابي في التعليمات البرمجية، يُطلب من كل معاملة وضع حد لعدد الخطوات الحسابية لتنفيذ التعليمات البرمجية التي يمكنها استخدامها. الوحدة الأساسية للحوسبة هي "الغاز".
على الرغم من أن المعاملة تتضمن حدًا، فإن أي غاز غير مستخدم في المعاملة يتم إرجاعه إلى المستخدم (على سبيل المثال، يتم إرجاع max fee - (base fee + tip)).
مخطط مقتبس من توضيح EVM لإيثيريوم (opens in a new tab)
ما هو حد الغاز؟
يشير حد الغاز إلى الحد الأقصى لكمية الغاز التي ترغب في استهلاكها في معاملة. تتطلب المعاملات الأكثر تعقيدًا التي تتضمن عقودًا ذكية المزيد من العمل الحسابي، لذا فهي تتطلب حد غاز أعلى من الدفع البسيط. يتطلب تحويل ETH القياسي حد غاز يبلغ 21,000 وحدة من الغاز.
على سبيل المثال، إذا وضعت حد غاز يبلغ 50,000 لتحويل ETH بسيط، فإن EVM سيستهلك 21,000، وستسترد الـ 29,000 المتبقية. ومع ذلك، إذا حددت غازًا قليلاً جدًا، على سبيل المثال، حد غاز يبلغ 20,000 لتحويل ETH بسيط، فستفشل المعاملة أثناء مرحلة التحقق. سيتم رفضها قبل إدراجها في كتلة، ولن يتم استهلاك أي غاز. من ناحية أخرى، إذا نفد الغاز من المعاملة أثناء التنفيذ (على سبيل المثال، يستهلك عقد ذكي كل الغاز في منتصف الطريق)، فإن EVM سيتراجع عن أي تغييرات، ولكن سيظل كل الغاز المقدم مستهلكًا للعمل المنجز.
لماذا يمكن أن ترتفع رسوم الغاز إلى هذا الحد؟
ترجع رسوم الغاز المرتفعة إلى شعبية إيثيريوم. إذا كان هناك طلب كبير جدًا، يجب على المستخدمين تقديم مبالغ إكرامية أعلى لمحاولة المزايدة على معاملات المستخدمين الآخرين. يمكن أن تجعل الإكرامية الأعلى من المرجح أن تدخل معاملتك في الكتلة التالية. أيضًا، قد تقوم تطبيقات العقود الذكية الأكثر تعقيدًا بالكثير من العمليات لدعم وظائفها، مما يجعلها تستهلك الكثير من الغاز.
مبادرات لتقليل تكاليف الغاز
يجب أن تعالج ترقيات التوسع في إيثيريوم في النهاية بعض مشكلات رسوم الغاز، والتي بدورها ستمكن المنصة من معالجة آلاف المعاملات في الثانية والتوسع عالميًا.
يعد توسع طبقة 2 (L2) مبادرة أساسية لتحسين تكاليف الغاز وتجربة المستخدم وقابلية التوسع بشكل كبير.
مراقبة رسوم الغاز
إذا كنت ترغب في مراقبة أسعار الغاز، حتى تتمكن من إرسال ETH الخاص بك بتكلفة أقل، يمكنك استخدام العديد من الأدوات المختلفة مثل:
- Etherscan (opens in a new tab) مُقدِّر سعر غاز المعاملة
- Blockscout (opens in a new tab) مُقدِّر سعر غاز المعاملة مفتوح المصدر
- متتبع غاز ETH (opens in a new tab) مراقبة وتتبع أسعار الغاز في إيثيريوم وطبقة 2 (L2) لتقليل رسوم المعاملة وتوفير المال
- مُقدِّر غاز ETH من Blocknative (opens in a new tab) إضافة كروم لتقدير الغاز تدعم كلاً من المعاملات القديمة من النوع 0 ومعاملات EIP-1559 من النوع 2.
- حاسبة رسوم الغاز من Cryptoneur (opens in a new tab) احسب رسوم الغاز بعملتك المحلية لأنواع المعاملات المختلفة على الشبكة الرئيسية، وأربيتروم، وبوليغون.
أدوات ذات صلة
- منصة الغاز من Blocknative (opens in a new tab) API لتقدير الغاز مدعوم بمنصة بيانات مجمع الذاكرة العالمية من Blocknative
- شبكة الغاز (opens in a new tab) أوراكل الغاز على السلسلة. دعم لأكثر من 35 سلسلة.
قراءة إضافية
- شرح غاز إيثيريوم (opens in a new tab)
- تقليل استهلاك الغاز في عقودك الذكية (opens in a new tab)
- استراتيجيات تحسين استهلاك الغاز للمطورين (opens in a new tab)
- مستندات EIP-1559 (opens in a new tab).
- موارد EIP-1559 الخاصة بـ Tim Beiko (opens in a new tab)
- EIP-1559: فصل الآليات عن الميمز (opens in a new tab)