عندما قرأت فقرة إجماع SA، كانت أول ردة فعل لدي أن أبحث عن معلمة “النهائية” الخاصة بها. لقد ذكرت الورقة البيضاء “تحقيق النهائية خلال ثوانٍ معدودة”، لكنها لم تحدد بالضبط كم ثانية. هذا الغموض جعلني غير مرتاح قليلًا، لكنه في الوقت نفسه جعلني أكثر رغبة في فهم المنطق الكامن خلفه.
أولًا، دعنا نقارن. نهائية بيتكوين $DUSK تعتمد على الاحتمال؛ فبعد تأكيد 6 كتل تستغرق تقريبًا ساعة—وكلما انتظرت أكثر، زادت يقينك بأن المعاملة لن تُعاد. أما نهائية الإيثيريوم في نظام PoS فتعتمد على بروتوكول Casper، وتتطلب epochين، أي حوالي 12.8 دقيقة. تقول Dusk إنها تحتاج إلى “بضع ثوانٍ” فقط—فبِمَذا؟
الجوهر يكمن في آلية التوزيع الحتمي. تقول الورقة البيضاء إنه قبل بدء كل دورة، قام خوارزمية DS مسبقًا باختيار من سيكون منشئ الكتل، ومن سيكون في لجنة التصويت. إن “معرفة ذلك مسبقًا” يعني أن المصوتين يصبحون جاهزين قبل توليد الكتلة أصلًا، دون الحاجة إلى استدعاء فوري، أو إلى بث الرسائل عبر الشبكة للعثور على توافق. وبهذا يتم تقليص تكلفة الاتصال بشكل كبير.
قمت بتفكيك العملية. تحتوي كل دورة على عدة تكرارات (iterations)، ولكل تكرار ثلاث مراحل: اقتراح (proposal)، تصويت (vote)، ثم تأكيد (confirmation). لجنة التصويت لا تضم إلا المجموعة المختارة من المدققين، وليست شبكة كاملة تشترك معًا. يتم التحكم في عدد العقد المشاركة في التصويت ضمن نطاق صغير، لذا تكون كمية تبادل المعلومات في عملية التصويت قليلة جدًا، ويمكن إكمالها خلال تبادل شبه معدوم للرسائل @Dusk
لكن هناك أمر واحد لم أستطع فهمه. ذكرت الورقة البيضاء مصطلح “النهائية التدحرجية/المتدحرجة (rolling finality)”، لكنها لم تُفصّل الآلية بالتحديد. فهمي أنها ربما تشير إلى أن النهائية ليست مؤمّنة مرة واحدة بشكل فوري، بل تزداد احتمالات نهائية الكتلة السابقة تدريجيًا مع استمرار توليد الكتل الجديدة. إذا كان هذا صحيحًا، فقد تشير “الثواني” إلى تأكيد المستوى الأول، وليس إلى عدم القابلية النهائية للعكس. #dusk
كما لاحظت أن الورقة البيضاء لم تقدّم عددًا دقيقًا من الثواني. 3 ثوانٍ و9 ثوانٍ كلاهما يُسمّى “بضع ثوانٍ”، لكن بالنسبة إلى سيناريوهات التمويل فإن الفرق كبير ومختلف تمامًا. حاليًا لا أستطيع إيجاد جواب لهذا السؤال من خلال الورقة البيضاء، وربما يتعين علي انتظار بيانات الاختبار الفعلية بعد إطلاق الشبكة الرئيسية.
أولًا، دعنا نقارن. نهائية بيتكوين $DUSK تعتمد على الاحتمال؛ فبعد تأكيد 6 كتل تستغرق تقريبًا ساعة—وكلما انتظرت أكثر، زادت يقينك بأن المعاملة لن تُعاد. أما نهائية الإيثيريوم في نظام PoS فتعتمد على بروتوكول Casper، وتتطلب epochين، أي حوالي 12.8 دقيقة. تقول Dusk إنها تحتاج إلى “بضع ثوانٍ” فقط—فبِمَذا؟
الجوهر يكمن في آلية التوزيع الحتمي. تقول الورقة البيضاء إنه قبل بدء كل دورة، قام خوارزمية DS مسبقًا باختيار من سيكون منشئ الكتل، ومن سيكون في لجنة التصويت. إن “معرفة ذلك مسبقًا” يعني أن المصوتين يصبحون جاهزين قبل توليد الكتلة أصلًا، دون الحاجة إلى استدعاء فوري، أو إلى بث الرسائل عبر الشبكة للعثور على توافق. وبهذا يتم تقليص تكلفة الاتصال بشكل كبير.
قمت بتفكيك العملية. تحتوي كل دورة على عدة تكرارات (iterations)، ولكل تكرار ثلاث مراحل: اقتراح (proposal)، تصويت (vote)، ثم تأكيد (confirmation). لجنة التصويت لا تضم إلا المجموعة المختارة من المدققين، وليست شبكة كاملة تشترك معًا. يتم التحكم في عدد العقد المشاركة في التصويت ضمن نطاق صغير، لذا تكون كمية تبادل المعلومات في عملية التصويت قليلة جدًا، ويمكن إكمالها خلال تبادل شبه معدوم للرسائل @Dusk
لكن هناك أمر واحد لم أستطع فهمه. ذكرت الورقة البيضاء مصطلح “النهائية التدحرجية/المتدحرجة (rolling finality)”، لكنها لم تُفصّل الآلية بالتحديد. فهمي أنها ربما تشير إلى أن النهائية ليست مؤمّنة مرة واحدة بشكل فوري، بل تزداد احتمالات نهائية الكتلة السابقة تدريجيًا مع استمرار توليد الكتل الجديدة. إذا كان هذا صحيحًا، فقد تشير “الثواني” إلى تأكيد المستوى الأول، وليس إلى عدم القابلية النهائية للعكس. #dusk
كما لاحظت أن الورقة البيضاء لم تقدّم عددًا دقيقًا من الثواني. 3 ثوانٍ و9 ثوانٍ كلاهما يُسمّى “بضع ثوانٍ”، لكن بالنسبة إلى سيناريوهات التمويل فإن الفرق كبير ومختلف تمامًا. حاليًا لا أستطيع إيجاد جواب لهذا السؤال من خلال الورقة البيضاء، وربما يتعين علي انتظار بيانات الاختبار الفعلية بعد إطلاق الشبكة الرئيسية.