كنت أستمر في ارتكاب شيء واحد خاطئ أثناء التفكير في Moonlight وPhoenix: كنت أتعامل مع شكل الحالة كما لو أنه يحدد أيضًا النهائية.
بدأ هذا الافتراض يزعجني.
يصل Moonlight إلى
#DuskVM حاملًا نموذج حسابي عام: Balances وSender وReceiver وAmount وNonce Progression.
أما Phoenix فمبني حول مسار مختلف تمامًا: Encrypted Notes وShielded Outputs وNullifiers وPrivate State.
كان أول انطباع لدي أنه ينبغي أن تحتاج هاتين المنظومتين المختلفتين إلى طريقتين مختلفتين للوصل إلى النهائية.
لكن ربما كنت أضيف تعقيدًا ليس موجودًا فعلًا.
يمكن أن يظل Moonlight على هيئة حساب. ويمكن أن يظل Phoenix على هيئة ملاحظات. لا يحتاج
#DuskVM إلى تسوية أيٍّ منهما في صيغة حالة موحّدة فقط لتحديد متى ينتهي التنفيذ.
هذا جعلني أيضًا أعيد التفكير في
#DuskDS .
كنت أظن أنه يحتاج إلى إنشاء حالة مشتركة واحدة
$DUSK تحت النموذجين كليهما. أصبحت أقل اقتناعًا بذلك الآن.
يمكن أن تبقى منطقية التنفيذ متخصصة بينما يمنح Dusk L1 الناتج حدًا واحدًا نهائيًا محسومًا بشكل حتمي.
وبصراحة، هذا الفصل أكثر إثارة لاهتمامي من نماذج الحالات الفردية.
طرق مختلفة لتمثيل الحالة لا تتطلب بالضرورة إجابات مختلفة عن سؤال متى تكون تلك الحالة مكتملة نهائيًا.
الأمر الذي ما زلت أتساءل عنه هو مدى نظافة هذا الفصل عندما يصبح Moonlight وPhoenix أكثر تعقيدًا.
#dusk $DUSK @Dusk