غيّر تشغيل عُقد Boreas RC1 طريقة تفكيري بشأن البنية التحتية للشبكات.
ليس بسبب أزمنة الكتل أو مكافآت الستيك. بل لأنني بدأت باستخدام tcpdump لمراقبة حركة المزامنة كعادة، ولاحظت شيئًا لا ينظر إليه معظم الناس. @Dusk node لا تستخدم طبقة gossipsub الخاصة بـ Geth لانتشار الكتل. إنها تستخدم Kadcast.
هذه التفاصيل الواحدة أهم من معظم مؤشرات العناوين الرئيسية.
يعمل بروتوكول الـ Gossip عبر قيام كل عقدة بدفع الكتل إلى N من النظراء العشوائيين، ثم يقوم هؤلاء بدفعها إلى نظرائهم. تبدو الانتشار الأُسّي كأنه كفؤ، لكنك حين تدرك أن نفس الكتلة تصل إلى العقدة نفسها خمس مرات عبر خمسة مسارات مختلفة. هنا تُستهلك الحزمة الترددية بسبب التكرارات، لا البيانات المفيدة.
تُحلّ Kadcast هذا الأمر بطريقة مختلفة. تُرتّب العقد في k-buckets باستخدام مسافة Kademlia XOR. مُنتِج الكتلة يرسل فقط إلى أقرب k عقد. تمر كل قفزة عبر جدول التوجيه إلى الأمام دون بثّ إلى الشبكة كاملة. تتلقى كل عقدة كل رسالة مرة واحدة. انخفاض الحزم المكررة يقترب من الصفر.
بالنسبة لبنية Dusk، هذه ليست مجرد تحسين بسيط. إثباتات Phoenix PLONK، والتعهّدات Zedger، وإثباتات المتغيرات السرية Hedger جميعها أحمال كبيرة. دفعات مُنسِّق DuskEVM التي تعود إلى DuskDS للتحقق من SBA تمر كذلك عبر هذه الشبكة نفسها. تحت الـ gossip، فإن 50 عقدة تقوم بإعادة توجيه طلبات التحقق فيما بينها قد تُغرق عرض النطاق المنزلي. تُقلّل Kadcast إجمالي عدد البايتات المطلوبة لانتشار كل كتلة بنحو رتبة من حيث المقدار عند هذا الحجم.
شغّلت عقدتي اختبار محليتين في وقت واحد. واحدة باستخدام Kadcast، والأخرى تحاكي إعادة توجيه الـ gossip. نفس ارتفاع الكتلة، وقارنت عمليات الالتقاط من tcpdump مباشرة. كان حجم الحركة الواردة على عقدة Kadcast 38% من محاكاة gossip. كما انتقلت جولات توقيعات SBA عبر المنتج والمتحقق والمُقرّ (approver) باستخدام Kadcast أيضًا، وانخفض تذبذب إنتاج الكتل بشكل ملحوظ.
يراقب معظم مشغّلي العقد أزمنة الكتل. الطبقة المسؤولة عن الانتشار تحتها هي التي تحدد ما إذا كانت أزمنة الكتل ستبقى مستقرة تحت الحمل أم لا.
#dusk $DUSK #Binance
ليس بسبب أزمنة الكتل أو مكافآت الستيك. بل لأنني بدأت باستخدام tcpdump لمراقبة حركة المزامنة كعادة، ولاحظت شيئًا لا ينظر إليه معظم الناس. @Dusk node لا تستخدم طبقة gossipsub الخاصة بـ Geth لانتشار الكتل. إنها تستخدم Kadcast.
هذه التفاصيل الواحدة أهم من معظم مؤشرات العناوين الرئيسية.
يعمل بروتوكول الـ Gossip عبر قيام كل عقدة بدفع الكتل إلى N من النظراء العشوائيين، ثم يقوم هؤلاء بدفعها إلى نظرائهم. تبدو الانتشار الأُسّي كأنه كفؤ، لكنك حين تدرك أن نفس الكتلة تصل إلى العقدة نفسها خمس مرات عبر خمسة مسارات مختلفة. هنا تُستهلك الحزمة الترددية بسبب التكرارات، لا البيانات المفيدة.
تُحلّ Kadcast هذا الأمر بطريقة مختلفة. تُرتّب العقد في k-buckets باستخدام مسافة Kademlia XOR. مُنتِج الكتلة يرسل فقط إلى أقرب k عقد. تمر كل قفزة عبر جدول التوجيه إلى الأمام دون بثّ إلى الشبكة كاملة. تتلقى كل عقدة كل رسالة مرة واحدة. انخفاض الحزم المكررة يقترب من الصفر.
بالنسبة لبنية Dusk، هذه ليست مجرد تحسين بسيط. إثباتات Phoenix PLONK، والتعهّدات Zedger، وإثباتات المتغيرات السرية Hedger جميعها أحمال كبيرة. دفعات مُنسِّق DuskEVM التي تعود إلى DuskDS للتحقق من SBA تمر كذلك عبر هذه الشبكة نفسها. تحت الـ gossip، فإن 50 عقدة تقوم بإعادة توجيه طلبات التحقق فيما بينها قد تُغرق عرض النطاق المنزلي. تُقلّل Kadcast إجمالي عدد البايتات المطلوبة لانتشار كل كتلة بنحو رتبة من حيث المقدار عند هذا الحجم.
شغّلت عقدتي اختبار محليتين في وقت واحد. واحدة باستخدام Kadcast، والأخرى تحاكي إعادة توجيه الـ gossip. نفس ارتفاع الكتلة، وقارنت عمليات الالتقاط من tcpdump مباشرة. كان حجم الحركة الواردة على عقدة Kadcast 38% من محاكاة gossip. كما انتقلت جولات توقيعات SBA عبر المنتج والمتحقق والمُقرّ (approver) باستخدام Kadcast أيضًا، وانخفض تذبذب إنتاج الكتل بشكل ملحوظ.
يراقب معظم مشغّلي العقد أزمنة الكتل. الطبقة المسؤولة عن الانتشار تحتها هي التي تحدد ما إذا كانت أزمنة الكتل ستبقى مستقرة تحت الحمل أم لا.
#dusk $DUSK #Binance
