#dusk $DUSK
ظهرت حلول الإنفاق المزدوج في قسمين مختلفين من وثائق البروتوكول نفسه، وما زلت أتعامل معها كفكرة واحدة حتى نظرت إليهما عن كثب.
nonce الخاص بـ Moonlight: عداد بسيط. حسابك لديه nonce حالي. يجب أن تتضمن كل معاملة بالضبط current_nonce + 1. الشبكة ترفض أي شيء غير ذلك. مرئي، ومتسلسل، وقابل للتحقق علنًا.
nullifier الخاص بـ Phoenix: قيمة تشفيرية مشتقة من المفتاح السري للملاحظة. عندما تنفق ملاحظة، ترسل الـ nullifier. تضيفه الشبكة إلى قائمة الـ nullifier. لا يمكن لأي أحد إعادة إرسال نفس الـ nullifier — يتم حظر الإنفاق المزدوج. الـ nullifier لا يكشف شيئًا عن الملاحظة أو المبلغ.
على شبكة mainnet، يتم تسوية المعاملات خلال أقل من 10 ثوانٍ. تعمل كلتا الآليتين ضمن هذه النافذة — أيًّا كان النموذج الذي تستخدمه، يتم حل فحص الإنفاق المزدوج قبل الكتلة التالية.
nonce الخاص بـ Moonlight شفافٌ حسب التصميم: يتيح لأي شخص التحقق من أن المعاملة جديدة بالفعل. أما الـ nullifier الخاص بـ Phoenix فهو خاص حسب التصميم: يثبت التفرد دون كشف أي ملاحظة تم إنفاقها.
تتشابه المقارنة أكثر مما يبدو: نفس الضمان الأساسي — أن هذا التحويل جديد وغير قابل لإعادة التنفيذ — يُفرض بمعلومات إفصاح مختلفة تمامًا. أحدهما يبثّ العداد. والآخر يثبت ذلك دون إظهار أي شيء.
أي نهج يتوسع بشكل أفضل تحت أحمال معاملات عالية — حالة متسلسلة مرئية أم مجموعات nullifier خاصة؟ @Dusk
$DUSK #dusk
ظهرت حلول الإنفاق المزدوج في قسمين مختلفين من وثائق البروتوكول نفسه، وما زلت أتعامل معها كفكرة واحدة حتى نظرت إليهما عن كثب.
nonce الخاص بـ Moonlight: عداد بسيط. حسابك لديه nonce حالي. يجب أن تتضمن كل معاملة بالضبط current_nonce + 1. الشبكة ترفض أي شيء غير ذلك. مرئي، ومتسلسل، وقابل للتحقق علنًا.
nullifier الخاص بـ Phoenix: قيمة تشفيرية مشتقة من المفتاح السري للملاحظة. عندما تنفق ملاحظة، ترسل الـ nullifier. تضيفه الشبكة إلى قائمة الـ nullifier. لا يمكن لأي أحد إعادة إرسال نفس الـ nullifier — يتم حظر الإنفاق المزدوج. الـ nullifier لا يكشف شيئًا عن الملاحظة أو المبلغ.
على شبكة mainnet، يتم تسوية المعاملات خلال أقل من 10 ثوانٍ. تعمل كلتا الآليتين ضمن هذه النافذة — أيًّا كان النموذج الذي تستخدمه، يتم حل فحص الإنفاق المزدوج قبل الكتلة التالية.
nonce الخاص بـ Moonlight شفافٌ حسب التصميم: يتيح لأي شخص التحقق من أن المعاملة جديدة بالفعل. أما الـ nullifier الخاص بـ Phoenix فهو خاص حسب التصميم: يثبت التفرد دون كشف أي ملاحظة تم إنفاقها.
تتشابه المقارنة أكثر مما يبدو: نفس الضمان الأساسي — أن هذا التحويل جديد وغير قابل لإعادة التنفيذ — يُفرض بمعلومات إفصاح مختلفة تمامًا. أحدهما يبثّ العداد. والآخر يثبت ذلك دون إظهار أي شيء.
أي نهج يتوسع بشكل أفضل تحت أحمال معاملات عالية — حالة متسلسلة مرئية أم مجموعات nullifier خاصة؟ @Dusk
$DUSK #dusk

