HAL vs Graph lze obecně chápat jako: Při modelování "výpočtu" používáme - Mělké vnoření (zápis přímo do hostitelského jazyka), nebo - Hluboké vnoření (zakódování jako datová struktura)? 🧵
Od mělkých → hlubokých oblastí existuje několik konstrukčních bodů: 1. Přímá implementace v Rust / C++ 2. Embedded DSL uvnitř hostitelského jazyka 3. Zcela nový specializovaný jazyk Každý krok vyměňuje pohodlí za strukturu a analyzovatelnost.
V ZK nestačí spouštět výpočet — musíme ho také převést do omezení. Takže většina systémů dokazování už nyní inklinuje k (2) nebo (3): - Circom, PIL/PIL2 → vlastní jazyky omezení + kompilátory - Plonky2 → každé hradlo definuje více sémantických funkcí
Plonky3 jde ještě dál s vlastností AirBuilder: stejný kód může vyhodnotit svědky, vypočítat rezidua ověřovatele a vyhodit polynomy omezení. Mnoho zkVM (SP1, Hypercube, OpenVM) používá Plonky3; Zisk je založen na PIL2. To ukazuje jasný trend směrem k hlubokým, grafovým reprezentacím výpočetní techniky.
1,79K