Specializovaná ZK vs. obecná ZK: v čem je budoucnost?

Specializace a generalizace, která z nich je budoucností ZK? Pokusím se na tuto otázku odpovědět pomocí schématu:

Specializovaná ZK vs. obecná ZK

Jak je znázorněno v diagramu, je možné, abychom v budoucnu konvergovali k magickému optimálnímu bodu na souřadnicovém systému kompromisu?

Ne, budoucnost ověřitelných výpočtů mimo řetězec je spojitá křivka, která stírá hranice mezi specializovanými a obecnými ZK. Dovolte mi, abych vysvětlil historický vývoj těchto pojmů a jejich budoucí sbližování.

Před dvěma lety znamenala „specializovaná“ infrastruktura ZK nízkoúrovňové obvodové rámce jako circom, Halo2 a arkworks. Aplikace ZK vytvořené pomocí těchto frameworků byly v podstatě ručně psané obvody ZK. Byly rychlé a cenově výhodné pro specifické úlohy, ale obvykle náročné na vývoj a údržbu. Připomínají různé specializované čipy integrovaných obvodů (fyzické křemíkové destičky) v dnešním průmyslu integrovaných obvodů, jako jsou čipy NAND a čipy řadičů.

V posledních dvou letech se však specializovaná infrastruktura ZK postupně „zobecňuje“.

Nyní máme k dispozici rámce ZKML, ZK coprocessor a ZKSQL, které nabízejí snadno použitelné a vysoce programovatelné SDK pro vytváření různých kategorií aplikací ZK bez nutnosti napsat jediný řádek kódu obvodu ZK. Například koprocesor ZK umožňuje chytrým kontraktům bez důvěry přistupovat k historickým stavům, událostem a transakcím blockchainu a provádět nad těmito daty libovolné výpočty. ZKML umožňuje chytrým kontraktům využívat výsledky odvozování umělé inteligence nedůvěryhodným způsobem a zpracovávat tak širokou škálu modelů strojového učení.

Tyto vyvinuté rámce výrazně zlepšují programovatelnost v cílových doménách při zachování vysokého výkonu a nízkých nákladů díky tenkým abstrakčním vrstvám (SDK/API), které se blíží obvodům „holého kovu“.

Jsou podobní GPU, TPU a FPGA na trhu integrovaných obvodů: specialisté na programovatelné domény.

Také společnost ZKVM udělala za poslední dva roky velký pokrok. Pozoruhodné je, že všechny univerzální ZKVM jsou postaveny na nízkoúrovňových specializovaných frameworcích ZK. Jde o to, že lze psát ZK aplikace ve vysokoúrovňových jazycích (ještě uživatelsky přívětivějších než SDK/API), které se zkompilují do kombinace specializovaných obvodů a instrukčních sad (RISC-V nebo podobných WASM). Jsou jako čipy CPU v průmyslu integrovaných obvodů.

ZKVM je abstrakční vrstva nad nízkoúrovňovými rámci ZK, stejně jako koprocesory ZK.

Jak kdysi řekl jeden moudrý člověk, abstrakční vrstva může vyřešit všechny problémy informatiky, ale zároveň vytváří další problém. Klíčové jsou kompromisy. V případě ZKVM v zásadě vyměňujeme výkon a obecnost.

Před dvěma lety byl výkon ZKVM „bare-metal“ skutečně nízký. Za pouhé dva roky se však výkon ZKVM výrazně zlepšil.

Proč?

Protože tyto „univerzální“ ZKVM se staly více „specializovanými“. Klíčovým důvodem zlepšení výkonu je „předkompilování“. Tyto prekompilované obvody jsou specializované obvody ZK schopné vypočítat běžné vysokoúrovňové programy, jako je SHA2 a různá ověřování podpisů, mnohem rychleji než jejich rozložení na fragmenty instrukčních obvodů.

Trend je tedy nyní zcela jasný.

Specializovaná infrastruktura ZK se stává obecnější, zatímco obecné ZKVM se stávají specializovanějšími.

Optimalizace obou řešení v posledních několika letech dosáhly lepšího kompromisu než dříve: pokrok v jednom bodě bez obětování druhého. Proto mají obě strany pocit, že „jsme rozhodně budoucnost“.

Moudrost informatiky nám však říká, že v určitém okamžiku narazíme na „Paretovu optimální zeď“ (zelená čárkovaná čára), kdy nemůžeme zlepšit jeden výkon, aniž bychom obětovali jiný.

Vyvstává tedy otázka za milion dolarů:

Nahradí jedna technologie druhou ve správný čas?

Vypůjčím si poznatky z odvětví integrovaných obvodů: velikost trhu s procesory je 126 miliard dolarů, zatímco celý průmysl integrovaných obvodů (včetně všech „specializovaných“ integrovaných obvodů) je 515 miliard dolarů. Jsem přesvědčen, že z mikropohledu se zde historie bude opakovat a vzájemně se nenahradí.

Přesto by dnes nikdo neřekl: „Hele, používám počítač, který je celý řízen univerzálním procesorem,“ nebo „Hele, tohle je luxusní robot řízený specializovanými integrovanými obvody.“

Ano, na tuto problematiku bychom se skutečně měli dívat z makro perspektivy a v budoucnu bude existovat kompromisní křivka, která vývojářům umožní flexibilní volbu podle jejich potřeb.

V budoucnu mohou specializovaná infrastruktura ZK a obecná infrastruktura ZKVM spolupracovat. To lze realizovat ve více formách. Nejjednodušší způsob je dosažitelný již nyní. Například lze použít koprocesor ZK ke generování některých výsledků výpočtů v historii transakcí blockchainu, ale obchodní logika výpočtů na těchto datech je velmi složitá a nelze ji jednoduše vyjádřit v SDK/API.

Můžete získat vysoce výkonné a levné důkazy ZK dat a mezivýsledků výpočtů a poté je agregovat do univerzálního virtuálního počítače pomocí rekurzivních důkazů.

I když mi tento druh debaty připadá zajímavý, vím, že všichni budujeme tuto asynchronní výpočetní budoucnost poháněnou ověřitelnými výpočty mimo řetězec pro blockchain. Jakmile se v příštích letech objeví případy použití pro masové přijetí uživateli, věřím, že tato debata konečně dospěje k závěru.