تطبيقات التاكسي غالبًا تعمل هكذا: يعطونك سعرًا تقديريًا لتستعد نفسيًا، ثم يتم الدفع النهائي حسب المسافة الفعلية. وGas الخاص بـ @Dusk له نفس المنطق: التكلفة هي `gas_used × gas_price`، ويتم تسعير Gas باستخدام LUX، حيث 1 DUSK يساوي 1 مليار LUX. لا يتم خصم أي رصيد غير مستخدم، لكن إذا انتهى Gas في منتصف المعاملة فسيتم التراجع عن العملية بالكامل (rollback)، وسيتم دفع ما تم حسابه مسبقًا دون تغيير. في البداية شعرت أن هذا الإعداد فخ، لكن بعد أن فكرت فيه جيدًا أدركت الحقيقة: إذا كانت الفشل مجانيًا تمامًا، فبإمكان المخترقين إسقاط استدعاءات أخطاء معقدة بلا نهاية ليجعلوا العقدة تعمل عبثًا—وهنا يكون الفخ الحقيقي.
لذلك في كل مرة أؤكد معاملة، أفحص ثلاثة أشياء منفصلة: هل Gas limit كافٍ لتشغيل العملية بالكامل؟ هل Gas price منطقي؟ وهل تم ملء كائن الاستدعاء والمعلمات بشكل صحيح؟ حتى لو فشلت، لا تتعجل في إعادة الإرسال؛ افحص أولًا في المتصفح الرسمي لتحدد النوع والتكلفة والكمية ومكان الخطأ. إن تضاعفت الحد الأقصى أعمىً، فهذا يعني فقط دفع وقود أكثر لعقدة خاطئة—إنه علاج للعرض وليس للجذر.
ومن المثير للاهتمام أيضًا مسار تدفق الرسوم. مكافأة كل بلوك هي إصدار جديد $DUSK بالإضافة إلى رسوم المعاملات، ويتم توزيعها على مُنشئ البلوك وصندوق التطوير واللجنة، وما لا يتم توزيعه قد يتم إتلافه. عندما يكون الشبكة مزدحمة، قد تدخل الرسوم في حوافز التحقق، لكن هذا ليس أرباحًا جاهزة لمن يملك عملات فقط.
ما أوقفني حقًا للتدقيق هو جانب الخصوصية. Dusk لا يخفي جميع المعاملات بالكامل، بل يقوم بالإفصاح الانتقائي: عند الالتزام يمكنه إثبات المعلومات الضرورية دون نشر كل التفاصيل على سلسلة عامة. XSC وDuskEVM مع إطار هوية Citadel—يبدو ذلك أقرب لسيناريوهات مالية واقعية أكثر من مجرد رفع شعار «سلسلة خصوصية» فحسب.
خطوات Citadel 2 تتكون من أربع مراحل: يقوم License Provider بمراجعة الطلب يدويًا في وضع عدم الاتصال وإصدار بيانات اعتماد مشفّرة، ثم يقوم المستخدم بإنشاء برهان معرفي صفري يَعرض فقط أنه يملك بيانات اعتماد صالحة. بعد التحقق من صحة العقد، يتم الاحتفاظ بـ session علني، ثم يقرر الطرف الخدمي هل يسمح بالمعاملة أم لا. على السلسلة يتم فقط إثبات أن الجلسة قد تمت بنجاح؛ ولا يهم من يثق به أي جهة، ولا ما الخصائص المطلوبة، ولا إن كانت بيانات الاعتماد منتهية الصلاحية أم لا. كما لا تحتاج إلى تخزين نفس مواد الهوية في كل منصة بشكل متكرر؛ وبدلًا من المخاطر الناتجة عن نسخ البيانات، تصبح المخاطر مرتبطة بحوكمة المُصدر والإلغاء المتزامن.
قبل استخدام Dusk، افهم Gas جيدًا لتجنب دفع رسوم تعلم بسبب الأخطاء عدة مرات. نجاح المعاملة أو عدمه يعتمد على النتيجة، وهل يمكن أن تستمر القيمة في التدفق إلى DUSK يتطلب متابعة الاستخدام الفعلي للشبكة وإيقاع العرض. #dusk $DUSK
لذلك في كل مرة أؤكد معاملة، أفحص ثلاثة أشياء منفصلة: هل Gas limit كافٍ لتشغيل العملية بالكامل؟ هل Gas price منطقي؟ وهل تم ملء كائن الاستدعاء والمعلمات بشكل صحيح؟ حتى لو فشلت، لا تتعجل في إعادة الإرسال؛ افحص أولًا في المتصفح الرسمي لتحدد النوع والتكلفة والكمية ومكان الخطأ. إن تضاعفت الحد الأقصى أعمىً، فهذا يعني فقط دفع وقود أكثر لعقدة خاطئة—إنه علاج للعرض وليس للجذر.
ومن المثير للاهتمام أيضًا مسار تدفق الرسوم. مكافأة كل بلوك هي إصدار جديد $DUSK بالإضافة إلى رسوم المعاملات، ويتم توزيعها على مُنشئ البلوك وصندوق التطوير واللجنة، وما لا يتم توزيعه قد يتم إتلافه. عندما يكون الشبكة مزدحمة، قد تدخل الرسوم في حوافز التحقق، لكن هذا ليس أرباحًا جاهزة لمن يملك عملات فقط.
ما أوقفني حقًا للتدقيق هو جانب الخصوصية. Dusk لا يخفي جميع المعاملات بالكامل، بل يقوم بالإفصاح الانتقائي: عند الالتزام يمكنه إثبات المعلومات الضرورية دون نشر كل التفاصيل على سلسلة عامة. XSC وDuskEVM مع إطار هوية Citadel—يبدو ذلك أقرب لسيناريوهات مالية واقعية أكثر من مجرد رفع شعار «سلسلة خصوصية» فحسب.
خطوات Citadel 2 تتكون من أربع مراحل: يقوم License Provider بمراجعة الطلب يدويًا في وضع عدم الاتصال وإصدار بيانات اعتماد مشفّرة، ثم يقوم المستخدم بإنشاء برهان معرفي صفري يَعرض فقط أنه يملك بيانات اعتماد صالحة. بعد التحقق من صحة العقد، يتم الاحتفاظ بـ session علني، ثم يقرر الطرف الخدمي هل يسمح بالمعاملة أم لا. على السلسلة يتم فقط إثبات أن الجلسة قد تمت بنجاح؛ ولا يهم من يثق به أي جهة، ولا ما الخصائص المطلوبة، ولا إن كانت بيانات الاعتماد منتهية الصلاحية أم لا. كما لا تحتاج إلى تخزين نفس مواد الهوية في كل منصة بشكل متكرر؛ وبدلًا من المخاطر الناتجة عن نسخ البيانات، تصبح المخاطر مرتبطة بحوكمة المُصدر والإلغاء المتزامن.
قبل استخدام Dusk، افهم Gas جيدًا لتجنب دفع رسوم تعلم بسبب الأخطاء عدة مرات. نجاح المعاملة أو عدمه يعتمد على النتيجة، وهل يمكن أن تستمر القيمة في التدفق إلى DUSK يتطلب متابعة الاستخدام الفعلي للشبكة وإيقاع العرض. #dusk $DUSK
