يمكن النظر إلى HAL مقابل Graph بشكل عام كما يلي: عند نمذجة "الحوسبة"، هل نستخدم - التضمين السطحي (كتابته مباشرة بلغة المضيف)، أو - تضمين عميق (ترميزها كهيكل بيانات)؟ 🧵
من → السطح، هناك عدة نقاط تصميم: 1. التنفيذ المباشر في Rust / C++ 2. DSL مدمج داخل لغة المضيف 3. لغة متخصصة جديدة كليا كل خطوة تبدل الراحة بالبنية وقابلية التحليل.
في ZK، ليس كافيا تشغيل عملية حسابية — يجب علينا أيضا ترجمتها إلى قيود. لذا فإن معظم أنظمة الإثبات تميل بالفعل نحو (2) أو (3): - Circom، PIL/PIL2 → لغات القيود المخصصة + المترجمات - Plonky2 → كل بوابة تعرف عدة دوال دلالية
يذهب Plonky3 أبعد من ذلك مع صفة AirBuilder: نفس الكود يمكنه تقييم الشهود، وحساب بقايا المؤكدين، وإزالة كثيرات حدود القيود. العديد من أجهزة zkVM (SP1، Hypercube، OpenVM) تعتمد Plonky3؛ زيسك مبني على PIL2. هذا يوضح اتجاها واضحا نحو تمثيلات عميقة تشبه الرسوم البيانية للحوسبة.
‏‎1.8‏K