تحليل طريقة حساب رسوم GAS داخل السلسلة الأولى للغة MOVE
كان من المخطط أن تعمل النسخة السابقة من لغة MOVE دون الحاجة إلى GAS، لذا لم تكن مستعدة لآلية GAS. مؤخرًا، أطلق مشروع بلوكتشين تصميم GAS الأول لمدار لغة MOVE الخاصة به، والذي أطلق عليه الرسميون "مغامرة".
توضح خطة GAS الخاصة بالمشروع مبادئ إعداد GAS والعمليات وطرق الحساب وآلية التعديل اللاحق، فضلاً عن موقف قبول اقتراحات المجتمع. قياس GAS هو مفهوم أساسي في هذه السلسلة والعديد من السلاسل الأخرى، حيث يحدد الكمية اللازمة من الموارد الحاسوبية والتخزينية لتنفيذ وتخزين المعاملات داخل السلسلة. ستحدد خطة GAS التكلفة المستهلكة لجميع العمليات المنفذة داخل السلسلة، وذلك لحساب تكاليف GAS المستخدمة أثناء تنفيذ المعاملات.
العملية
لتنفيذ فعال، فإن عملية المشروع داخل السلسلة هي:
مبادئ التعريف
إعداد إطار التقييم، وتحديد سعر كل تنفيذ
إنشاء نظام قياس GAS وبدائل GAS آمنة لـ MOVE
استيراد إطار عمل GAS العلوي
جعل إطار GAS واعيًا للتخزين
مزيد من تفصيل خطة GAS
المبادئ
تشمل المبادئ التي يحددها المشروع:
يجب أن تكون تكلفة العمليات مرتبطة مباشرة بالموارد المتاحة في الشبكة، مثل وحدة المعالجة المركزية، الذاكرة، الشبكة، تخزين الإدخال / الإخراج واستخدام المساحة، وما إلى ذلك. مع تحسين التكنولوجيا والعمليات، يجب أن تنخفض تكلفة GAS المطلوبة.
يجب أن يتم تعيين GAS من خلال داخل السلسلة ، ويمكن تكوينه بسلاسة.
يمكن أن يمنع GAS هجمات DoS على الموارد الثابتة للشبكة، وقد يحتاج الأمر إلى تعديل سريع بناءً على حالة الشبكة من خلال اقتراحات الحكم.
تعكس أسعار GAS رؤية تسريع النمو والحفاظ على انتشار داخل السلسلة.
تشجيع اتخاذ خيارات عالية الجودة في التصميم، مثل إعطاء الأولوية للأمان، والتجزئة، والتأكيد، وما إلى ذلك.
حساب GAS
عند تقديم المستخدم للمعاملة، يجب تحديد كميتين في المعاملة:
الحد الأقصى لعدد GAS: يتم قياسه بوحدات GAS، ويشير إلى الحد الأقصى لعدد وحدات GAS التي يرغب المستخدم في إنفاقها لتنفيذ الصفقة.
سعر GAS: يتم حسابه بوحدة ثمانية، 1 ثمانية = 0.00000001 من الرمز المحلي.
أثناء التنفيذ، سيتم فرض رسوم على الصفقة:
التكاليف الثابتة: قاعدة ثابتة بالإضافة إلى الرسوم الإضافية للصفقات الكبيرة.
تكلفة التنفيذ: تستخدم لتنفيذ تعليمات MOVE.
تكلفة القراءة: تُستخدم لقراءة البيانات من التخزين الدائم.
تكلفة الكتابة: تستخدم لكتابة البيانات في التخزين الدائم.
طريقة حساب رسوم المعاملات النهائية هي: إجمالي كمية GAS المستهلكة مضروبًا في سعر GAS لكل وحدة. على سبيل المثال، إذا كانت المعاملة قد استهلكت 670 وحدة GAS، وكان سعر GAS المحدد من قبل المستخدم هو 100 Octa لكل وحدة، فإن الرسوم النهائية للمعاملة ستكون 670 * 100 = 67000 Octa = 0.00067 رموز محلية.
إذا نفد GAS أثناء تنفيذ الصفقة، فسوف يتم محاسبة المرسل بناءً على الحد الأقصى من كمية GAS، وسيتم التراجع عن جميع التغييرات التي أجراها المعاملة.
إنشاء جدول خطة GAS
1. الإعدادات الأساسية
يتضمن مخطط GAS عدة مكونات غير مرتبطة بتفاصيل عملية واحدة، مثل حجم المعاملة والحد الأقصى لوحدات GAS.
2. حجم التداول
تتراوح أحجام معظم المعاملات في نطاق الألف بايت. قد يصل إصدار وحدة Move إلى عدة آلاف بايت، بينما الإطار يبلغ حوالي 100 كيلوبايت. عادة ما يتراوح حجم وحدة المستخدم بين 4 كيلوبايت و 40 كيلوبايت. تم تعيين حجم المعاملة الأولي على 32 كيلوبايت، ثم تم تعديله لاحقًا إلى 64 كيلوبايت بناءً على احتياجات المجتمع لتبسيط تطوير التطبيقات.
ستزيد المعاملات الكبيرة من تكاليف عرض النطاق الترددي للشبكة وقد تؤثر على الأداء. لتحقيق توازن بين حجم أكبر المعاملات وقابلية الوصول، قد تتجاهل الذاكرة المؤقتة المعاملات الأكبر حجماً.
3. أكبر وحدة GAS
تعرف أقصى وحدة GAS في خطة GAS على أنها الحد الأقصى لعدد العمليات التي يمكن تنفيذها في صفقة واحدة. قد يؤثر التعيين المرتفع بشكل سلبي على أداء داخل السلسلة. حتى مع أكبر ترقية للإطار، لا يزال أقل من 90% من أقصى وحدة GAS في خطة GAS (المحددة بـ 1,000,000).
4. تنفيذ
عند تقييم تكاليف التنفيذ، تم بناء إطار مرجعي واستخدام أدوات التحليل لتحليل Move VM. من خلال التحليل، تم الوصول إلى تقديرات التكلفة النسبية لجميع أوامر Move والدوال الأصلية. بعد النظر في نماذج الترميز التي تعزز متانة وأمان النظام، تم تحديد عدد تعليمات الآلة النهائية المنفذة، وتمت الموازنة بينها وبين التخزين والوحدات القصوى من GAS، للوصول إلى القيمة الحالية في خطة GAS.
5. التخزين
عند الوصول إلى عناصر حالة السجل أو البيانات المخزنة في التخزين الدائم، يقوم العقد بإصدار طلبات قراءة أو كتابة إلى جهاز التخزين. يعتمد إجمالي عدد الوصولات للبيانات في الثانية على عرض النطاق الترددي لجهاز التخزين وسعة IOPS. تم تصميم خطة تخزين GAS مع الأخذ في الاعتبار هذه التكاليف.
إن الوصول إلى أي عنصر حالة وتخزينه سيؤدي إلى تكاليف مرتبطة بهيكل البيانات الذي يتحقق من حالة السلسلة بأكملها. هذه التكلفة مرتبطة بأساسيات عناصر الحالة المختلفة. وهناك تكلفة أخرى تتناسب مع حجم كل عنصر.
رسوم تخزين الغاز = item_fee + (byte_fee * bytes)
قراءة، إنشاء وكتابة
تنقسم عمليات الوصول إلى العناصر الحالة إلى ثلاثة أنواع: القراءة، الإنشاء أو الكتابة. تعتبر عملية القراءة الأكثر شيوعًا، ولا تتأثر إلا بنقص الموارد اللحظية. تضيف عملية الإنشاء عناصر جديدة إلى تخزين الحالة، وتكون التكلفة الأعلى. تقوم عملية الكتابة بتحديث العناصر الموجودة في تخزين الحالة.
استنادًا إلى ما سبق ، تم تعريف 6 معلمات GAS:
per_item_read:وفقًا لمعايير IOPs
per_byte_read:حسب عرض النطاق الترددي الفعلي
per_item_create: ضبط حسب إجمالي المشاريع المستهدفة
كل عملية وتداول يتطلبان تكلفة وحدة ثابتة بالنسبة لتكاليف التخزين والتنفيذ. تساعد تكلفة وحدة GAS الثابتة في الحفاظ على خطة GAS دون تغيير، وفصلها عن القيمة السوقية للعملة المحلية. يتم تمثيل وحدات GAS بدقة تصل إلى حوالي 3 أرقام، وتكون تكلفة تحويل المعاملات حوالي 700 وحدة GAS.
المشاركة المجتمعية
يمكن لأعضاء المجتمع:
العثور على أوجه عدم معقولية خطة GAS
التعبير عن القلق بشأن خطة GAS، والمشاركة في المناقشات المجتمعية
التصويت على مقترحات الحوكمة المتعلقة بـ GAS
تعديل تكلفة GAS
تُعتبر خطة GAS كتكليف تخزين داخل السلسلة، يمكن تغييرها من خلال مقترحات الحوكمة، ويمكن إضافة تعليمات جديدة أو ميزات أصلية بسلاسة. تم تصميم خطة GAS لتكون قابلة للتوسع، مما يسمح بترقيات من خلال مقترحات الحوكمة. مع التحسين المستمر ودمج ملاحظات المستخدمين، يمكن تعديل معلمات GAS مع مرور الوقت.
تتطلب تغييرات معادلة GAS المعقدة تحديث برنامج عقدة، واعتماداً كبيراً من مشغلي العقد. أخيراً، يجب إصدار واعتماد مقترحات الحوكمة لاستخدام إصدار GAS الجديد.
العمل المستقبلي
باعتباره أول إطار GAS قابل للتطبيق لمشروع MOVE، يمهد هذا المشروع الطريق للعمل في المستقبل:
تقليل تكاليف التنفيذ: تحسين كفاءة المترجم والآلة الافتراضية
حساب GAS متعدد الأبعاد: يسمح للمستخدمين بتحديد ميزانية منفصلة للتنفيذ والتخزين
تخفيف حالة التضخم: استكشاف مفهوم TTL لكل مشروع، وحذف العناصر غير المعروضة عند انتهاء TTL.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 19
أعجبني
19
6
مشاركة
تعليق
0/400
ShibaMillionairen't
· 07-24 00:05
ما هي الرسوم؟ إنها فقط الحمقى يدفعون المال.
شاهد النسخة الأصليةرد0
SatoshiHeir
· 07-21 20:58
هم، تصميم MOVE واضح أنه سرق من الصفحة 127 من كتاب إثيريوم الأصفر.
شاهد النسخة الأصليةرد0
GasWaster
· 07-21 01:29
يوم آخر، تحسين غاز آخر... اقتلني الآن
شاهد النسخة الأصليةرد0
GasGrillMaster
· 07-21 01:26
هل لا يزال هناك من يلعب هذا بعد أن جاءت المدفوعات المتنقلة؟
شاهد النسخة الأصليةرد0
ImpermanentTherapist
· 07-21 01:12
ابتكار وحرق الأموال
شاهد النسخة الأصليةرد0
CryptoMotivator
· 07-21 01:09
مرة أخرى نتحدث عن مسألة التكاليف، لماذا كل هذا القلق؟
آلية GAS التي ابتكرها MOVE: تحليل كامل لحساب الرسوم داخل السلسلة
تحليل طريقة حساب رسوم GAS داخل السلسلة الأولى للغة MOVE
كان من المخطط أن تعمل النسخة السابقة من لغة MOVE دون الحاجة إلى GAS، لذا لم تكن مستعدة لآلية GAS. مؤخرًا، أطلق مشروع بلوكتشين تصميم GAS الأول لمدار لغة MOVE الخاصة به، والذي أطلق عليه الرسميون "مغامرة".
توضح خطة GAS الخاصة بالمشروع مبادئ إعداد GAS والعمليات وطرق الحساب وآلية التعديل اللاحق، فضلاً عن موقف قبول اقتراحات المجتمع. قياس GAS هو مفهوم أساسي في هذه السلسلة والعديد من السلاسل الأخرى، حيث يحدد الكمية اللازمة من الموارد الحاسوبية والتخزينية لتنفيذ وتخزين المعاملات داخل السلسلة. ستحدد خطة GAS التكلفة المستهلكة لجميع العمليات المنفذة داخل السلسلة، وذلك لحساب تكاليف GAS المستخدمة أثناء تنفيذ المعاملات.
العملية
لتنفيذ فعال، فإن عملية المشروع داخل السلسلة هي:
المبادئ
تشمل المبادئ التي يحددها المشروع:
حساب GAS
عند تقديم المستخدم للمعاملة، يجب تحديد كميتين في المعاملة:
أثناء التنفيذ، سيتم فرض رسوم على الصفقة:
طريقة حساب رسوم المعاملات النهائية هي: إجمالي كمية GAS المستهلكة مضروبًا في سعر GAS لكل وحدة. على سبيل المثال، إذا كانت المعاملة قد استهلكت 670 وحدة GAS، وكان سعر GAS المحدد من قبل المستخدم هو 100 Octa لكل وحدة، فإن الرسوم النهائية للمعاملة ستكون 670 * 100 = 67000 Octa = 0.00067 رموز محلية.
إذا نفد GAS أثناء تنفيذ الصفقة، فسوف يتم محاسبة المرسل بناءً على الحد الأقصى من كمية GAS، وسيتم التراجع عن جميع التغييرات التي أجراها المعاملة.
إنشاء جدول خطة GAS
1. الإعدادات الأساسية
يتضمن مخطط GAS عدة مكونات غير مرتبطة بتفاصيل عملية واحدة، مثل حجم المعاملة والحد الأقصى لوحدات GAS.
2. حجم التداول
تتراوح أحجام معظم المعاملات في نطاق الألف بايت. قد يصل إصدار وحدة Move إلى عدة آلاف بايت، بينما الإطار يبلغ حوالي 100 كيلوبايت. عادة ما يتراوح حجم وحدة المستخدم بين 4 كيلوبايت و 40 كيلوبايت. تم تعيين حجم المعاملة الأولي على 32 كيلوبايت، ثم تم تعديله لاحقًا إلى 64 كيلوبايت بناءً على احتياجات المجتمع لتبسيط تطوير التطبيقات.
ستزيد المعاملات الكبيرة من تكاليف عرض النطاق الترددي للشبكة وقد تؤثر على الأداء. لتحقيق توازن بين حجم أكبر المعاملات وقابلية الوصول، قد تتجاهل الذاكرة المؤقتة المعاملات الأكبر حجماً.
3. أكبر وحدة GAS
تعرف أقصى وحدة GAS في خطة GAS على أنها الحد الأقصى لعدد العمليات التي يمكن تنفيذها في صفقة واحدة. قد يؤثر التعيين المرتفع بشكل سلبي على أداء داخل السلسلة. حتى مع أكبر ترقية للإطار، لا يزال أقل من 90% من أقصى وحدة GAS في خطة GAS (المحددة بـ 1,000,000).
4. تنفيذ
عند تقييم تكاليف التنفيذ، تم بناء إطار مرجعي واستخدام أدوات التحليل لتحليل Move VM. من خلال التحليل، تم الوصول إلى تقديرات التكلفة النسبية لجميع أوامر Move والدوال الأصلية. بعد النظر في نماذج الترميز التي تعزز متانة وأمان النظام، تم تحديد عدد تعليمات الآلة النهائية المنفذة، وتمت الموازنة بينها وبين التخزين والوحدات القصوى من GAS، للوصول إلى القيمة الحالية في خطة GAS.
5. التخزين
عند الوصول إلى عناصر حالة السجل أو البيانات المخزنة في التخزين الدائم، يقوم العقد بإصدار طلبات قراءة أو كتابة إلى جهاز التخزين. يعتمد إجمالي عدد الوصولات للبيانات في الثانية على عرض النطاق الترددي لجهاز التخزين وسعة IOPS. تم تصميم خطة تخزين GAS مع الأخذ في الاعتبار هذه التكاليف.
إن الوصول إلى أي عنصر حالة وتخزينه سيؤدي إلى تكاليف مرتبطة بهيكل البيانات الذي يتحقق من حالة السلسلة بأكملها. هذه التكلفة مرتبطة بأساسيات عناصر الحالة المختلفة. وهناك تكلفة أخرى تتناسب مع حجم كل عنصر.
رسوم تخزين الغاز = item_fee + (byte_fee * bytes)
قراءة، إنشاء وكتابة
تنقسم عمليات الوصول إلى العناصر الحالة إلى ثلاثة أنواع: القراءة، الإنشاء أو الكتابة. تعتبر عملية القراءة الأكثر شيوعًا، ولا تتأثر إلا بنقص الموارد اللحظية. تضيف عملية الإنشاء عناصر جديدة إلى تخزين الحالة، وتكون التكلفة الأعلى. تقوم عملية الكتابة بتحديث العناصر الموجودة في تخزين الحالة.
استنادًا إلى ما سبق ، تم تعريف 6 معلمات GAS:
تكلفة وحدة GAS المستقرة
كل عملية وتداول يتطلبان تكلفة وحدة ثابتة بالنسبة لتكاليف التخزين والتنفيذ. تساعد تكلفة وحدة GAS الثابتة في الحفاظ على خطة GAS دون تغيير، وفصلها عن القيمة السوقية للعملة المحلية. يتم تمثيل وحدات GAS بدقة تصل إلى حوالي 3 أرقام، وتكون تكلفة تحويل المعاملات حوالي 700 وحدة GAS.
المشاركة المجتمعية
يمكن لأعضاء المجتمع:
تعديل تكلفة GAS
تُعتبر خطة GAS كتكليف تخزين داخل السلسلة، يمكن تغييرها من خلال مقترحات الحوكمة، ويمكن إضافة تعليمات جديدة أو ميزات أصلية بسلاسة. تم تصميم خطة GAS لتكون قابلة للتوسع، مما يسمح بترقيات من خلال مقترحات الحوكمة. مع التحسين المستمر ودمج ملاحظات المستخدمين، يمكن تعديل معلمات GAS مع مرور الوقت.
تتطلب تغييرات معادلة GAS المعقدة تحديث برنامج عقدة، واعتماداً كبيراً من مشغلي العقد. أخيراً، يجب إصدار واعتماد مقترحات الحوكمة لاستخدام إصدار GAS الجديد.
العمل المستقبلي
باعتباره أول إطار GAS قابل للتطبيق لمشروع MOVE، يمهد هذا المشروع الطريق للعمل في المستقبل: