SHA256 je všude v kryptografii, ale uvnitř zk obvodů se stává jedním z největších úzkých míst.
Většina implementací platí obrovské náklady, protože SHA256 nikdy nebyl navržen jako přívětivý k obvodům.
V našem nejnovším článku od @0xrosetteeee zkoumáme, jak výrazně zlevnit SHA256 v R1CS.
Klíčové myšlenky:
• Kódování založené na šíření pro bitové operace
• Dynamická optimalizace šířky bitu
• Přidání multioperandů s jedním omezením
• LogUp batch a mikrooptimalizace
Tento návrh dosahuje špičkové komprese SHA256 v R1CS mezi existujícími open-source implementacemi.
To je zvláště důležité pro mobilní prostředí pro ověřování informací, kde velikost svědka přímo ovlivňuje využití paměti.
Úplný hluboký ponor ↓
Přidali jsme WebGPU do Joltova WASM proveru.
Výsledek: 2x rychlejší výsavaní. Stejný důkaz.
Proving běží na GPU přes WebGPU. Mac + Chromium je teď podporován.
To jsou počáteční čísla, která vidíme. Začínáme na 2x. Čísla se liší podle čipu.
M4: 2x rychlejší M4 Pro: 2,75x rychlejší
Existuje dlouhý seznam optimalizací, kterých jsme se zatím nedotkli (jednou z nich je SIMD), které by to mohly posunout na 3x a ještě dál bez většího úsilí.
Pod kapotou: Jolt používá polynomiální závazek založený na eliptických křivkách, Dory. MSM a párovací operace jsou nejlepšími kandidáty na akceleraci GPU. WebGPU jsme zapojili do Jolt WASM implementace, abychom tyto operace přenesli na GPU. Prover Jolt WASM byl oznámen na ETHDenveru teprve před dvěma týdny. Už na něm máme GPU akceleraci přes WebGPU:
Šlo o integraci WebGPU end-to-end do Jolt WASM proveru a jeho odeslání. To jsou první reálná čísla. I když je tu ještě hodně rezervy. Budu dál zveřejňovat čísla, jak budeme dál optimalizovat.
Jdi to zkusit, rozbij to, řekni nám, co vidíš →