كنت أعتقد أن سرعة التحقق في ZK هي في الغالب مشكلة في نظام الإثبات؛ منحنيات أفضل، دوائر أفضل. جعلتني Piecrust أُعيد النظر في ذلك.
قد تتسبب عملية التحقق من الإثبات داخل WASM قياسي في تكلفة تتراوح بين 45% و255% من حيث التباطؤ، وذلك في الغالب بسبب زيادة الحمل الناتجة عن الذاكرة المُحاكات. تكمن إجابة Dusk في عدم تشغيله داخل WASM على الإطلاق. يتم تنفيذ PlonK وGroth16 وPoseidon وBlake2b وBLS كوظائف أصلية (native) ضمن بيئة المضيف بدلًا من ذلك، ما يتجاوز العُزلة (sandbox) بالكامل.
هذا الجزء منطقي كتعديل هندسي. والأكثر إثارة للاهتمام هو طبقة الشبكة التي تُغذّيه. يقلل الانتشار المُهيكل من Kadcast استهلاك النطاق الترددي بنسبة 25–50% مقارنةً بالانتشار عبر gossip، وتنخفض معدلات الكتل القديمة (stale) بنسبة 10–30%، ما يعني إنفاقًا أقل للحوسبة لدى المُتحققين على كتل لا تُقبل أبدًا.
معًا، تم حل التأخير على جبهتين: التنفيذ والانتشار.
لكن استخدام الوظائف الأصلية يفترض وجود عتاد مُضيف قادر. إذا دفعت المزيد من أعمال التشفير إلى المضيف، فستنمو متطلبات العقد تدريجيًا.
هل يؤدي التفريغ إلى كود أصلي إلى تبديل عنق زجاجة بأخرى أكثر هدوءًا—وصول عتادي بدلًا من تأخر برمجي؟
@Dusk #dusk $DUSK