HAL vs Graph kan sees mer generelt som: Når vi modellerer «beregning», bruker vi - Grunn innbygging (skriv det direkte i vertsspråket), eller - Dyp innbygging (kode det som en datastruktur)? 🧵
Fra grunne → dype er det flere designpunkter: 1. Direkte implementering i Rust / C++ 2. Innebygd DSL i vertsspråket 3. Et helt nytt spesialisert språk Hvert steg bytter bekvemmelighet mot struktur og analyserbarhet.
I ZK er det ikke nok å kjøre en beregning — vi må også oversette den til begrensninger. Så de fleste bevissystemer heller allerede mot (2) eller (3): - Circom, PIL/PIL2 → tilpassede begrensningsspråk + kompilatorer - Plonky2 → hver port definerer flere semantiske funksjoner
Plonky3 går videre med AirBuilder-egenskapen: den samme koden kan evaluere vitner, beregne verifikator-residualer og dumpe begrensningspolynomer. Mange zkVM-er (SP1, Hypercube, OpenVM) tar i bruk Plonky3; Zisk er basert på PIL2. Dette viser en tydelig trend mot dype, graflignende representasjoner av beregning.
1,81K