HAL проти Graph можна розглядати більш загально: Коли моделюємо «обчислення», чи використовуємо ми - Поверхневе вбудовування (записувати безпосередньо мовою-хостом), або - Глибоке вбудовування (кодування як структури даних)? 🧵
Від мілкої → глибини є кілька конструктивних моментів: 1. Пряма реалізація в Rust / C++ 2. Вбудований DSL у мову хоста 3. Абсолютно нова спеціалізована мова Кожен крок замінює зручність на структуру та аналітичність.
У ZK недостатньо просто виконати обчислення — ми також маємо перетворити це у обмеження. Отже, більшість систем доведення вже схиляються до (2) або (3): - Circom, PIL/PIL2 → власні мови обмежень + компілятори - Plonky2 → кожен елемент визначає кілька семантичних функцій
Plonky3 йде далі з рисою AirBuilder: той самий код може оцінювати свідків, обчислювати залишки верифікатора та скидати поліноми обмежень. Багато zkVM (SP1, Hypercube, OpenVM) використовують Plonky3; Зіск базується на PIL2. Це демонструє чітку тенденцію до глибоких, графоподібних представлень обчислень.
1,81K