تصميم الغاز الأول للغة MOVE: طريقة حساب استهلاك الغاز داخل السلسلة Aptos
قياس الغاز هو مفهوم أساسي في Aptos والعديد من سلاسل الكتل الأخرى، حيث يحدد الكمية المطلوبة من الموارد الحاسوبية والتخزينية لتنفيذ وتخزين المعاملات داخل السلسلة. تحدد خطة الغاز تكلفة جميع التنفيذات داخل السلسلة، المستخدمة لحساب تكلفة الغاز المستخدمة خلال تنفيذ المعاملات.
العملية
لتنفيذ فعال، تشمل العمليات داخل السلسلة Aptos:
مبادئ التعريف
إعداد إطار التقييم، وتحديد سعر كل تنفيذ
إنشاء نظام قياس الغاز وغاز MOVE الآمن
استيراد إطار Gas العلوي إلى Aptos
جعل إطار Gas واعياً للتخزين
مزيد من التفصيل في خطة الغاز
المبادئ
المبادئ المحددة تشمل:
يجب أن تكون تكاليف التشغيل مرتبطة مباشرة بالموارد المتاحة على الشبكة. بعد تحسين التكنولوجيا والعمليات، يجب أن تنخفض تكاليف الغاز المطلوبة.
يجب أن يتم تحديد الغاز بواسطة إدارة داخل السلسلة ، ويمكن تكوينه بسلاسة.
يمكن أن تمنع Gas هجمات DoS على مجموعة الموارد الثابتة للشبكة، وقد تحتاج إلى تعديل سريع بناءً على حالة الشبكة من خلال اقتراحات الحوكمة.
تعكس أسعار الغاز في Aptos رغبة في تسريع النمو والحفاظ على انتشار داخل السلسلة.
تشجيع اتخاذ خيارات متميزة في التصميم، مثل إعطاء الأولوية للأمان، والتجزئة، والتأكيدات، وما إلى ذلك.
حساب الغاز
عند تقديم المستخدم للمعاملة، يجب تحديد كميتين:
أقصى كمية من الغاز: تقاس بوحدات الغاز، وهي أقصى عدد من وحدات الغاز التي يرغب المستخدم في إنفاقها لتنفيذ المعاملة.
سعر الغاز: يتم حسابه بوحدات الغاز بتنسيق ثماني، 1 ثماني = 0.00000001 APT.
خلال عملية التنفيذ، سيتم فرض رسوم على المعاملة:
التكاليف الثابتة: قاعدة ثابتة بالإضافة إلى الرسوم الإضافية للمعاملات الكبيرة
تكلفة التنفيذ: تستخدم لتنفيذ أوامر MOVE
تكلفة القراءة: تستخدم لقراءة البيانات من التخزين الدائم
تكلفة الكتابة: تستخدم لكتابة البيانات إلى التخزين الدائم
يمكن حساب رسوم المعاملة النهائية بضرب إجمالي كمية الغاز المستهلكة في سعر الغاز. على سبيل المثال، إذا كانت المعاملة تستهلك 670 وحدة غاز، وكان سعر الغاز الذي حدده المستخدم هو 100 Octa لكل وحدة، فإن رسوم المعاملة النهائية ستكون 670 * 100 = 67000 Octa = 0.00067 APT.
إذا نفد الغاز أثناء تنفيذ الصفقة، سيتم تحميل المرسل الرسوم وفقًا لأقصى كمية من الغاز، وسيتم استعادة جميع التغييرات التي أجرتها الصفقة.
إنشاء جدول Gas
التكوين الأساسي
يتضمن خطة الغاز عدة مكونات لا تتعلق بتفاصيل العملية الفردية، بما في ذلك حجم المعاملة والحد الأقصى لوحدات الغاز.
حجم المعاملات
قد يتراوح حجم معظم المعاملات في نطاق الكيلوبايت. قد يصل حجم إصدار وحدة MOVE إلى عدة كيلوبايت، في حين أن إطار Aptos حوالي 100 كيلوبايت. عادة ما يتراوح حجم وحدات المستخدمين بين 4 كيلوبايت و40 كيلوبايت. تم تحديد حجم المعاملة الأولي عند 32 كيلوبايت، ثم تم تعديله إلى 64 كيلوبايت بناءً على ردود فعل المجتمع.
يمكن أن تؤدي المعاملات ذات النطاق الواسع جدًا إلى زيادة تكاليف عرض النطاق الترددي للشبكة، مما قد يؤثر سلبًا على الأداء. سيتم تشجيع تجمع الذاكرة على تجاهل المعاملات ذات الحجم الأكبر، لذا يجب تحقيق توازن بين الحد الأقصى لحجم المعاملات والقابلية للوصول.
أقصى وحدة غاز
تعريف الحد الأقصى لوحدات الغاز المخطط لها يحدد عدد العمليات التي يمكن تنفيذها في معاملة واحدة. وهذا يختلف عن الحد الأقصى لغاز الذي يحدده المستخدم في المعاملة. قد يؤدي ضبطه بشكل مرتفع إلى تأثير سلبي على أداء داخل السلسلة. حتى مع الترقية القصوى للإطار، لا يصل إلى الحد الأقصى لوحدات الغاز المخطط لها ( المحدد بـ 1,000,000) بنسبة 90%.
تنفيذ
لتقييم تكاليف التنفيذ، تم بناء إطار مرجعي واستخدام Valgrind لتحليل MOVE VM. الناتج هو مجموعة من الشفرات المصدرية مع تعليقات، توضح عدد تعليمات الآلة التي ينتجها كل سطر من الشفرات.
استنادًا إلى نتائج التحليل، تم تقدير التكلفة النسبية لجميع تعليمات MOVE والدوال الأصلية. لوحظت بعض المشاكل مع الدوال المضمنة، وتم حلها عن طريق جمع الأرقام.
النظر في أمثلة التعليمات البرمجية التي تعزز متانة النظام وأمانه ، وتحديد العدد النهائي لتعليمات الآلة المنفذة. هذا الرقم يتوازن مع التخزين والوحدات القصوى من Gas لتحديد القيمة الحالية في خطة Gas.
التخزين
عندما يقوم عقد Aptos بالوصول إلى عناصر حالة دفتر الأستاذ أو البيانات المخزنة في التخزين الدائم، فإنه يصدر أوامر قراءة أو كتابة إلى جهاز التخزين. يعتمد إجمالي عدد وصول البيانات في الثانية على عرض نطاق جهاز التخزين وسعة IOPS. يعتبر وصول البيانات ندرة瞬ية تتنافس عليها السوق من خلال رسوم المستخدم في أوقات الحمل النظامي. تكلفة احتلال القرص لكتابة البيانات على داخل السلسلة دائمة.
إن الوصول إلى وتخزين أي عنصر حالة سيؤدي إلى تكبد تكاليف مرتبطة ببنية البيانات ( شجرة ميركل المائية ) ذات الصلة بحالة سلسلة الكتل بأكملها. هذه التكلفة مرتبطة بقاعدة العناصر المختلفة. وهناك تكلفة أخرى تتناسب مع حجم كل عنصر.
تخزين رسوم الغاز = item_fee + (byte_fee * bytes)
اقرأ، أنشئ واكتب
تنقسم الوصول إلى عناصر الحالة إلى ثلاثة أنواع: القراءة، الإنشاء أو الكتابة. يتم فرض رسوم على الوصول حسب تكلفة العناصر وتكلفة البايت.
تعتبر عمليات القراءة الأكثر شيوعًا، وتقتصر فقط على نقص الموارد الفوري. يتم معايرة تكاليف القراءة وفقًا لـ IOPS القرص وسعة النطاق الترددي لمواصفات الأجهزة المرجعية.
إنشاء هو إضافة عناصر جديدة إلى تخزين الحالة، وزيادة بنية بيانات المصادقة، وأعلى تكلفة. يتم ضبط تكلفة الإنشاء وفقًا لمساحة القرص المرجعية التي تمتلكها الشبكة.
تقوم عمليات الكتابة بتحديث العناصر الموجودة في تخزين الحالة دون تكبد تكاليف إضافية في هيكل بيانات المصادقة. يتم فرض نفس الرسوم على البايتات في العناصر المحدثة كما هو الحال عند الإنشاء.
تُقيَّم تكلفة التخزين ذات الصلة بناءً على كل معاملة: حتى لو تم قراءة/كتابة المورد نفسه عدة مرات، يتعين دفع الرسوم مرة واحدة فقط.
استنادًا إلى الاعتبارات المذكورة أعلاه، تم تعريف 6 معلمات غاز:
per_item_read: وفقًا لتصحيح IOPs
per_byte_read: حسب عرض النطاق الترددي الفعلي
per_item_create: حسب معايرة إجمالي المشروع المستهدف
per_byte_create: ضبط حسب الحجم الكلي المستهدف
per_item_write: مثل per_item_read
per_byte_write: مثل per_byte_create
تكلفة وحدة الغاز المستقرة
كل عملية وصفقة تحتاج إلى تكلفة ثابتة بالنسبة لتكاليف التخزين والتنفيذ. تساعد تكلفة وحدات الغاز الثابتة في الحفاظ على خطة الغاز ثابتة، وفصلها عن القيمة السوقية الحرة لـ APT. يعبر فريق Aptos عن وحدات الغاز بدقة تقارب 3 أرقام. تبلغ تكلفة معاملات التحويل حوالي 700 وحدة غاز.
المشاركة المجتمعية
يمكن لأعضاء مجتمع Aptos:
ابحث عن أوجه عدم合理ية خطة الغاز
التعبير عن القلق بشأن خطة Gas، والمشاركة في المناقشات المجتمعية
التصويت على اقتراحات الحوكمة المتعلقة بالغاز على Aptos
تعديل تكاليف الغاز
تم تصميم خطة الغاز كخزنة تخزين داخل السلسلة، ويمكن تغييرها من خلال مقترحات حوكمة Aptos، ويمكن إضافة تعليمات جديدة أو وظائف أصلية بسلاسة. تم تصميم خطة الغاز لتكون قابلة للتوسع، مما يسمح بالترقيات من خلال مقترحات الحوكمة. مع تحسين Aptos والمجتمع لـ Move VM ودمج ملاحظات المستخدمين، يمكن تعديل معلمات الغاز مع مرور الوقت.
تتطلب تغييرات معقدة في صيغة الغاز تحديث برنامج العقدة، وتمييزها بعلامات خصائص غاز مختلفة. يجب إصدار برنامج العقدة واعتماده على نطاق واسع، وأخيرًا إصدار واعتماد اقتراح الحوكمة لاستخدام إصدار الغاز الجديد.
العمل في المستقبل
كأول إطار عمل قابل للتطبيق للغاز في MOVE، تشمل اتجاهات العمل المستقبلية:
تقليل تكاليف التنفيذ: تحسين كفاءة المترجم والآلة الافتراضية
حساب الغاز متعدد الأبعاد: يسمح للمستخدمين بتحديد ميزانية منفصلة للتنفيذ والتخزين
تخفيف حالة البدانة: استكشاف مفهوم TTL لكل مشروع، وحذف العناصر غير المستخدمة عند انتهاء صلاحية TTL
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 20
أعجبني
20
10
إعادة النشر
مشاركة
تعليق
0/400
FlashLoanKing
· 07-15 09:55
المراجحة خارج السلسلة أيضًا جيدة
شاهد النسخة الأصليةرد0
FloorPriceWatcher
· 07-15 04:26
غاز还不如 ارتفع到天花板呢
شاهد النسخة الأصليةرد0
SandwichDetector
· 07-14 16:16
هناك بعض المتاعب، سننظر في تحسينه الشهر المقبل.
شاهد النسخة الأصليةرد0
DancingCandles
· 07-12 16:24
لا أشعر أن move له شيء مميز حقًا~
شاهد النسخة الأصليةرد0
BlockDetective
· 07-12 16:22
move هي ملك الحرارة
شاهد النسخة الأصليةرد0
VitaliksTwin
· 07-12 16:21
تحرك اللفافة
شاهد النسخة الأصليةرد0
CryptoComedian
· 07-12 16:16
مرة أخرى، سيكون هناك نزيف كبير، هل تريدون اللعب بالأفكار في رسوم الغاز؟
ابتكار لغة MOVE: تحليل طريقة حساب استهلاك الغاز على سلسلة Aptos
تصميم الغاز الأول للغة MOVE: طريقة حساب استهلاك الغاز داخل السلسلة Aptos
قياس الغاز هو مفهوم أساسي في Aptos والعديد من سلاسل الكتل الأخرى، حيث يحدد الكمية المطلوبة من الموارد الحاسوبية والتخزينية لتنفيذ وتخزين المعاملات داخل السلسلة. تحدد خطة الغاز تكلفة جميع التنفيذات داخل السلسلة، المستخدمة لحساب تكلفة الغاز المستخدمة خلال تنفيذ المعاملات.
العملية
لتنفيذ فعال، تشمل العمليات داخل السلسلة Aptos:
المبادئ
المبادئ المحددة تشمل:
حساب الغاز
عند تقديم المستخدم للمعاملة، يجب تحديد كميتين:
خلال عملية التنفيذ، سيتم فرض رسوم على المعاملة:
يمكن حساب رسوم المعاملة النهائية بضرب إجمالي كمية الغاز المستهلكة في سعر الغاز. على سبيل المثال، إذا كانت المعاملة تستهلك 670 وحدة غاز، وكان سعر الغاز الذي حدده المستخدم هو 100 Octa لكل وحدة، فإن رسوم المعاملة النهائية ستكون 670 * 100 = 67000 Octa = 0.00067 APT.
إذا نفد الغاز أثناء تنفيذ الصفقة، سيتم تحميل المرسل الرسوم وفقًا لأقصى كمية من الغاز، وسيتم استعادة جميع التغييرات التي أجرتها الصفقة.
إنشاء جدول Gas
التكوين الأساسي
يتضمن خطة الغاز عدة مكونات لا تتعلق بتفاصيل العملية الفردية، بما في ذلك حجم المعاملة والحد الأقصى لوحدات الغاز.
حجم المعاملات
قد يتراوح حجم معظم المعاملات في نطاق الكيلوبايت. قد يصل حجم إصدار وحدة MOVE إلى عدة كيلوبايت، في حين أن إطار Aptos حوالي 100 كيلوبايت. عادة ما يتراوح حجم وحدات المستخدمين بين 4 كيلوبايت و40 كيلوبايت. تم تحديد حجم المعاملة الأولي عند 32 كيلوبايت، ثم تم تعديله إلى 64 كيلوبايت بناءً على ردود فعل المجتمع.
يمكن أن تؤدي المعاملات ذات النطاق الواسع جدًا إلى زيادة تكاليف عرض النطاق الترددي للشبكة، مما قد يؤثر سلبًا على الأداء. سيتم تشجيع تجمع الذاكرة على تجاهل المعاملات ذات الحجم الأكبر، لذا يجب تحقيق توازن بين الحد الأقصى لحجم المعاملات والقابلية للوصول.
أقصى وحدة غاز
تعريف الحد الأقصى لوحدات الغاز المخطط لها يحدد عدد العمليات التي يمكن تنفيذها في معاملة واحدة. وهذا يختلف عن الحد الأقصى لغاز الذي يحدده المستخدم في المعاملة. قد يؤدي ضبطه بشكل مرتفع إلى تأثير سلبي على أداء داخل السلسلة. حتى مع الترقية القصوى للإطار، لا يصل إلى الحد الأقصى لوحدات الغاز المخطط لها ( المحدد بـ 1,000,000) بنسبة 90%.
تنفيذ
لتقييم تكاليف التنفيذ، تم بناء إطار مرجعي واستخدام Valgrind لتحليل MOVE VM. الناتج هو مجموعة من الشفرات المصدرية مع تعليقات، توضح عدد تعليمات الآلة التي ينتجها كل سطر من الشفرات.
استنادًا إلى نتائج التحليل، تم تقدير التكلفة النسبية لجميع تعليمات MOVE والدوال الأصلية. لوحظت بعض المشاكل مع الدوال المضمنة، وتم حلها عن طريق جمع الأرقام.
النظر في أمثلة التعليمات البرمجية التي تعزز متانة النظام وأمانه ، وتحديد العدد النهائي لتعليمات الآلة المنفذة. هذا الرقم يتوازن مع التخزين والوحدات القصوى من Gas لتحديد القيمة الحالية في خطة Gas.
التخزين
عندما يقوم عقد Aptos بالوصول إلى عناصر حالة دفتر الأستاذ أو البيانات المخزنة في التخزين الدائم، فإنه يصدر أوامر قراءة أو كتابة إلى جهاز التخزين. يعتمد إجمالي عدد وصول البيانات في الثانية على عرض نطاق جهاز التخزين وسعة IOPS. يعتبر وصول البيانات ندرة瞬ية تتنافس عليها السوق من خلال رسوم المستخدم في أوقات الحمل النظامي. تكلفة احتلال القرص لكتابة البيانات على داخل السلسلة دائمة.
إن الوصول إلى وتخزين أي عنصر حالة سيؤدي إلى تكبد تكاليف مرتبطة ببنية البيانات ( شجرة ميركل المائية ) ذات الصلة بحالة سلسلة الكتل بأكملها. هذه التكلفة مرتبطة بقاعدة العناصر المختلفة. وهناك تكلفة أخرى تتناسب مع حجم كل عنصر.
تخزين رسوم الغاز = item_fee + (byte_fee * bytes)
اقرأ، أنشئ واكتب
تنقسم الوصول إلى عناصر الحالة إلى ثلاثة أنواع: القراءة، الإنشاء أو الكتابة. يتم فرض رسوم على الوصول حسب تكلفة العناصر وتكلفة البايت.
تعتبر عمليات القراءة الأكثر شيوعًا، وتقتصر فقط على نقص الموارد الفوري. يتم معايرة تكاليف القراءة وفقًا لـ IOPS القرص وسعة النطاق الترددي لمواصفات الأجهزة المرجعية.
إنشاء هو إضافة عناصر جديدة إلى تخزين الحالة، وزيادة بنية بيانات المصادقة، وأعلى تكلفة. يتم ضبط تكلفة الإنشاء وفقًا لمساحة القرص المرجعية التي تمتلكها الشبكة.
تقوم عمليات الكتابة بتحديث العناصر الموجودة في تخزين الحالة دون تكبد تكاليف إضافية في هيكل بيانات المصادقة. يتم فرض نفس الرسوم على البايتات في العناصر المحدثة كما هو الحال عند الإنشاء.
تُقيَّم تكلفة التخزين ذات الصلة بناءً على كل معاملة: حتى لو تم قراءة/كتابة المورد نفسه عدة مرات، يتعين دفع الرسوم مرة واحدة فقط.
استنادًا إلى الاعتبارات المذكورة أعلاه، تم تعريف 6 معلمات غاز:
تكلفة وحدة الغاز المستقرة
كل عملية وصفقة تحتاج إلى تكلفة ثابتة بالنسبة لتكاليف التخزين والتنفيذ. تساعد تكلفة وحدات الغاز الثابتة في الحفاظ على خطة الغاز ثابتة، وفصلها عن القيمة السوقية الحرة لـ APT. يعبر فريق Aptos عن وحدات الغاز بدقة تقارب 3 أرقام. تبلغ تكلفة معاملات التحويل حوالي 700 وحدة غاز.
المشاركة المجتمعية
يمكن لأعضاء مجتمع Aptos:
تعديل تكاليف الغاز
تم تصميم خطة الغاز كخزنة تخزين داخل السلسلة، ويمكن تغييرها من خلال مقترحات حوكمة Aptos، ويمكن إضافة تعليمات جديدة أو وظائف أصلية بسلاسة. تم تصميم خطة الغاز لتكون قابلة للتوسع، مما يسمح بالترقيات من خلال مقترحات الحوكمة. مع تحسين Aptos والمجتمع لـ Move VM ودمج ملاحظات المستخدمين، يمكن تعديل معلمات الغاز مع مرور الوقت.
تتطلب تغييرات معقدة في صيغة الغاز تحديث برنامج العقدة، وتمييزها بعلامات خصائص غاز مختلفة. يجب إصدار برنامج العقدة واعتماده على نطاق واسع، وأخيرًا إصدار واعتماد اقتراح الحوكمة لاستخدام إصدار الغاز الجديد.
العمل في المستقبل
كأول إطار عمل قابل للتطبيق للغاز في MOVE، تشمل اتجاهات العمل المستقبلية: