Autor: Kernel Ventures Turbo Guo

Střih: Kernel Ventures Rose, Kernel Ventures Mandy, Kernel Ventures Joshua

TLDR: ZK koprocesor je řešením pro dApps pro využití off-chain výpočetních zdrojů. Tento článek zkoumá existující řešení, různé aplikace a budoucí vývoj koprocesorů. Hlavní probíraná témata jsou následující:

  1. RISC Zero zkVM je koprocesorové řešení ZK, které umožňuje on-chain kontraktům, které volají off-chain zkVM, aby spustily specifický Rust kód a vrátily výsledky do řetězce, zatímco poskytuje zkp pro on-chain ověření správnosti výpočtu.

  2. Pro koprocesory ZK existují různá řešení. Kromě zkVM mohou uživatelé také psát přizpůsobené obvody ZK pro své programy nebo používat předem připravené rámce k zápisu obvodů, čímž umožňují kontraktům využívat mimořetězové výpočetní zdroje.

  3. Koprocesor ZK může hrát roli v DeFi, jako je například odlehčení výpočtů AMM mimo řetězec k zachycení hodnoty podobné MEV nebo umožnění složité a výpočetně náročné logiky pro AMM. ZK koprocesor může také usnadnit výpočty úrokových sazeb v reálném čase pro výpůjční protokoly, čímž mimo jiné zprůhlední výpočty marží. zkAMM má dva implementační přístupy, jeden používá zkVM a druhý používá zkOracle.

  4. Koprocesor ZK má také další potenciální případy použití, jako jsou peněženky, které jej používají k ověřování identity mimo řetězec. Může umožnit složitější výpočty pro on-chain hry a snížit množství plynu potřebného pro DAO governance, mimo jiné aplikace.

  5. Krajina pro koprocesory ZK je stále nejistá, ale ve srovnání s uživateli, kteří si píší vlastní obvody, je použití řešení pro propojení zdrojů mimo řetězec uživatelsky přívětivější. Dalším důležitým tématem k diskusi je však otázka, kteří poskytovatelé výpočetních služeb jsou za tímto řešením „rozhraní“ integrováni, zda tradiční poskytovatelé cloudu nebo decentralizované sítě pro sdílení zdrojů.

1. Účel a použití koprocesorů ZK

Zdroj: Kernel Ventures

Jádrem koprocesoru ZK je přesunout výpočty v řetězci mimo řetězec pomocí důkazů ZK k zajištění spolehlivosti výpočtů mimo řetězec, což umožňuje inteligentním kontraktům snadno zvládnout velké množství výpočtů a zároveň ověřit spolehlivost výpočtů. To je podobné myšlence zkRollups, ale kumulativní využití využívají mimořetězové výpočetní zdroje na vrstvě řetězového protokolu, zatímco koprocesory ZK používají dApps k využití mimořetězových zdrojů.

Pomocí RISC Zero jako příkladu pro vysvětlení jednoho řešení koprocesorů ZK vyvinul RISC Zero architekturu koprocesoru Bonsai ZK, jejímž jádrem je zkVM RISC Zero. Vývojáři mohou generovat zkp na zkVM pro "správně spuštěný určitý kód Rust". U zkVM je specifický proces implementace koprocesoru ZK:

  1. Vývojáři zašlou požadavek na smlouvu o přenosu Bonsai, tj. o spuštění vývojáře požadovaného programu v zkVM.

  2. Přenosová smlouva odešle požadavek do fondu požadavků mimo řetězec.

  3. Bonsai provede požadavek v off-chain zkVM, provede rozsáhlé výpočty a poté vygeneruje účtenku.

  4. Tyto důkazy, také známé jako „stvrzenky“, jsou publikovány zpět do řetězce společností Bonsai prostřednictvím smlouvy o předání.

Zdroj: RISC Zero

V Bonsai se osvědčený program nazývá program pro hosty a účtenka slouží k prokázání správného provedení programu pro hosty. Součástí účtenky je deník a pečeť. Konkrétně deník nese veřejný výstup aplikace zkVM, přičemž pečeť slouží k prokázání platnosti účtenky, tedy k prokázání správného provedení programu hosta. Samotná pečeť je zkSTARK generovaná dokazovatelem. Ověření účtenky zajišťuje, že žurnál je vyroben pomocí správného obvodu atd.

Bonsai vývojářům zjednodušuje proces kompilace kódu Rust do bajtkódu zkVM, nahrávání programů, jejich spouštění ve virtuálním počítači a získávání zpětné vazby, což vývojářům umožňuje více se zaměřit na logický návrh. Umožňuje nejen dílčí logiku kontraktu, ale celou logiku kontraktu spustit mimo řetězec. RISC Zero také využívá pokračování, rozděluje generování velkého nátisku na menší části, což umožňuje generování nátisků pro velké programy bez nadměrné spotřeby paměti. Kromě RISC Zero existují další projekty jako IronMill, =nil; Foundation a Marlin, které poskytují podobná obecná řešení.

2. Aplikace koprocesorů ZK v DeFi

2.1 AMM - Bonsai jako koprocesor

zkUniswap je AMM, který využívá výpočetní zdroje mimo řetězec. Jeho základní funkcí je vyložit část swapového výpočtu mimo řetězec pomocí Bonsai. Uživatelé iniciují požadavek na swap v řetězci. Bonsai's relay contract obdrží požadavek, zahájí výpočet mimo řetězec a po dokončení vrátí výsledek výpočtu a důkaz do funkce zpětného volání EVM. Pokud je důkaz úspěšně ověřen, swap se provede.

Výměna však není dokončena na jeden zátah. Procesy požadavku a realizace jsou v různých transakcích, což přináší určitá rizika. To znamená, že mezi odesláním žádosti a dokončením swapu se stav fondu může změnit. Vzhledem k tomu, že ověření je založeno na stavu fondu v době odeslání požadavku, pokud požadavek stále čeká na vyřízení a stav fondu se změní, bude ověření neplatné. To je důležité při návrhu a zabezpečení takových systémů.

K vyřešení tohoto problému vývojáři navrhli zámek bazénu. Když uživatel iniciuje požadavek, všechny operace kromě vypořádání swapu jsou dočasně uzamčeny, dokud off-chain computing úspěšně nespustí on-chain swap nebo než vyprší časový limit swapu (časový limit bude předem nastaven). S časovým limitem, i když se vyskytnou problémy s relé nebo zkp, bazén nebude uzamčen na dobu neurčitou. Konkrétní časový limit může být několik minut.

zkUniswap má jedinečný design pro zachycení MEV, protože vývojáři usilují o to, aby protokol těžil z MEV. Teoreticky mají zkAMM také MEV, protože první osoba, která odešle swap, jej může uzamknout a vést ostatní, což vede k plynovým válkám, a stavitelé mohou stále upřednostňovat sekvenování transakcí. ZkUniswap si však zisky MEV bere pro sebe pomocí metody známé jako postupná holandská aukce s variabilní sazbou (VRGDA). Tento přístup umožňuje zkUniswap extrahovat hodnotu MEV pro protokol.

Koncept zkUniswap je docela zajímavý. Zahrnuje snížení ceny uzamčených aktiv v aukci, a pokud jsou uzamčená aktiva rychle prodána, protokol rozpozná vysokou poptávku a automaticky zvýší cenu. Pokud se prodej uzamčených aktiv zpomalí, protokol sníží cenu. Tento inovativní přístup by se potenciálně mohl stát novým zdrojem příjmů. Protokol v zásadě zavádí jedinečný mechanismus pro upřednostňování transakcí a soutěž o ceny přináší prospěch projektu přímo prostřednictvím tohoto mechanismu.

2.2 AMM - zkOracle jako koprocesor

Kromě použití zkVM někteří navrhli použití zkOracle k využití mimořetězových výpočetních zdrojů, stojí za zmínku, že zkOracle je I/O (vstup a výstup) oracle, který zpracovává vstup i výstup. Obecně existují dva typy orákula, jeden je vstupní orákulum a druhý je výstupní orákulum. Vstupní oracle zpracovává (počítá) data mimo řetězec a vkládá je do řetězce, zatímco výstupní oracle zpracovává (počítá) data v řetězci a poskytuje je mimo řetězec. I/O oracle (zkOracle) nejprve provádí výstup a poté vstup, což umožňuje řetězci využívat mimořetězové výpočetní zdroje.

Na jedné straně zkOracle používá on-chain data jako zdroj dat a na druhé straně používá ZK k zajištění poctivosti výpočtů uzlů oracle, čímž dosahuje funkce koprocesoru. Proto lze jádro výpočtu AMM umístit do zkOracle, což umožňuje tradiční funkčnost AMM a zároveň umožňuje složitější a výpočetně náročnější operace pomocí zkOracle.

Zdroj: github fewwwww/zkAMM

2.3 Výpočet úrokové sazby, výpočet marže a další aplikace

Odhlédneme-li od způsobu implementace, přidáním koprocesorů ZK lze dosáhnout mnoha funkcí. Výpůjční protokoly mohou například upravovat úrokové sazby podle parametrů v reálném čase namísto předem definovaných podmínek. Například zvýšení úrokové sazby k přilákání nabídky, když je poptávka po půjčkách silná, a snížení úrokové sazby, když poptávka klesá. To vyžaduje, aby protokol půjčování získal velké množství dat v řetězci v reálném čase, předzpracoval data a vypočítal parametry mimo řetězec (pokud nejsou náklady na řetězci extrémně nízké).

Složité výpočty, jako je určování zůstatků marží, nerealizovaných zisků/ztrát atd., mohou také využívat koprocesory pro provádění. Výhodou použití koprocesorů je, že tyto aplikace jsou transparentnější a ověřitelnější. Logika enginu marží již není tajnou černou skříňkou. Přestože jsou výpočty prováděny mimo řetězec, uživatelé mohou plně důvěřovat správnosti jejich provedení. Tento přístup je také použitelný pro výpočty opcí.

3. Další aplikace koprocesorů ZK

3.1 Peněženka – Použití Bonsai jako koprocesoru

Bonfire Wallet používá zkVM k odlehčení výpočtu ověřování identity mimo řetězec. Cílem této peněženky je umožnit uživatelům vytvářet vypalovací peněženky pomocí biometrických informací (otisků prstů) nebo šifrovaného hardwaru yubikey. Bonfire Wallet konkrétně používá WebAuthn, běžný standard webového ověřování, který uživatelům umožňuje dokončit ověření webové identity přímo se zařízeními bez hesla. V Bonfire Wallet tedy uživatelé generují veřejný klíč pomocí WebAuthn (ne on-chain, ale pro WebAuthn), a pak jej použijí k vytvoření peněženky. Každá peněženka Burner má smlouvu v řetězci, která obsahuje veřejný klíč WebAuthn. Smlouva musí ověřit podpis uživatele WebAuthn. Ale tento výpočet je velký, takže Bonsai se používá k odstranění tohoto výpočtu mimo řetězec, prostřednictvím hostujícího programu zkVM k ověření podpisu mimo řetězec a vytvoření zkp pro ověření v řetězci.

Zdroj: Bonfire Wallet

3.2 Načítání dat v řetězci – okruhy ZK napsané uživateli

Axiom je aplikace, která nepoužívá zkVM, ale používá jiné koprocesorové řešení. Pojďme si nejprve představit, co chce Axiom dělat. Využívá koprocesory ZK, které umožňují kontraktům přístup k historickým informacím v řetězci. Ve skutečnosti je umožnit kontraktům číst historická data docela náročné, protože chytré kontrakty obvykle získávají data v řetězci v reálném čase, což může být velmi drahé. Pro smlouvy je obtížné získat přístup k cenným datům v řetězci, jako jsou historické zůstatky účtů nebo záznamy transakcí.

Zdroj: Axiom demo

Uzly Axiom přistupují k požadovaným datům v řetězci a provádějí zadaný výpočet mimo řetězec, pak generují důkaz s nulovými znalostmi pro výpočet, který prokazuje, že výsledek je správně vypočítán na základě platných dat v řetězci. Tento důkaz je ověřen v řetězci, což zajišťuje, že smlouva může tomuto výsledku důvěřovat.

Pro generování zkp pro off-chain výpočty je nutné zkompilovat programy do ZK obvodů. Dříve jsme také zmínili použití zkVM pro toto, ale Axiom navrhl, že pro to existuje mnoho řešení a je nutné vyvážit výkon, flexibilitu a vývojové zkušenosti:

  1. Customized Circuits: Pokud vývojáři přizpůsobí obvody pro své programy, výkon bude určitě nejlepší, ale vývoj vyžaduje čas;

  2. eDSL/DSL: vývojáři stále píší své obvody, ale existují některé volitelné rámce, které pomáhají vývojářům řešit problémy související se zk, a tak vyvažovat výkon a vývojové zkušenosti.

  3. zkVM: vývojáři přímo provozují ZK na existujícím virtuálním stroji, což je velmi pohodlné, ale Axiom se domnívá, že je to neefektivní.

Proto Axiom zvolil druhou možnost a poskytuje uživatelům sadu optimalizovaných modulů ZK, které jim umožňují navrhovat vlastní obvody.

Projekty podobné Axiomu zahrnují Herodotus, jehož cílem je být middleware pro cross-chain messaging. Vzhledem k tomu, že zpracování informací probíhá mimo řetězec, je rozumné umožnit různým řetězcům získávat zpracovaná data. Další projekt, Space and Time, používá podobnou architekturu k implementaci indexování dat.

3.3 On-Chain Games, DAO Governance a další aplikace

Kromě výše uvedených, on-chain her, může DAO governance využívat také ZK koprocesory. RISC Zero věří, že jakýkoli výpočet vyžadující více než 250 000 plynu by byl levnější s použitím koprocesoru ZK, ale jak se to vypočítá, je třeba dále prozkoumat. DAO governance může využívat i ZK koprocesory, protože zahrnuje více lidí a více kontraktů, což je velmi výpočetně náročné. RISC Zero tvrdí, že používání Bonsai může snížit poplatky za plyn o 50 %. Mnoho projektů ZKML, jako jsou Modulus Labs a Giza, používá stejné řešení jako koprocesory ZK, ale koncept koprocesorů ZK je širší.

Za zmínku stojí, že existují některé pomocné projekty v oblasti koprocesorů ZK, jako je ezkl, který poskytuje kompilátory pro obvody ZK, sady nástrojů pro nasazení ZK a nástroje pro odlehčení výpočtů v řetězci mimo řetězec.

4. Výhled do budoucna

Koprocesory poskytují on-chain aplikacím externí výpočetní zdroje podobné "cloudu", nabízejí cenově efektivní a bohaté výpočty, zatímco on-chain zpracování se zaměřuje na základní výpočty. V praxi může zkVM běžet i na cloudu. ZK koprocesory jsou v podstatě architektonickým přístupem, který posouvá on-chain výpočty mimo řetězec, s neomezeným zdrojem off-chain výpočetních zdrojů.

Výpočetní zdroje mimo řetězec mohou v podstatě poskytovat tradiční poskytovatelé cloudu, dokonce i decentralizované sdílení počítačových zdrojů a místní zařízení. Každý z těchto tří směrů má své vlastnosti. Tradiční poskytovatelé cloudu mohou poskytovat relativně vyspělá off-chain computingová řešení, „robustnost“ budoucích decentralizovaných výpočetních zdrojů může být silnější a místní výpočetní technika má také velký potenciál. V současné době je však mnoho projektů koprocesorů ZK ve fázi poskytovatelů služeb s uzavřeným zdrojovým kódem, protože ekosystém pro tyto služby není plně vytvořen a specializace služeb mezi různými projekty musí být ještě definována. Dva možné scénáře budoucnosti jsou:

  1. Každá část koprocesoru ZK má velké množství projektů, které si navzájem konkurují.

  2. Trhu může dominovat jediný projekt s vynikajícími servisními zkušenostmi.

Z pohledu vývojáře mohou při použití koprocesorů ZK interagovat pouze s jediným projektem „rozhraní“. To je podobný důvod, proč má Amazon Web Services podstatný podíl na trhu, protože vývojáři mají tendenci zvyknout si na konkrétní způsob nasazení. Otázka, kteří poskytovatelé výpočetních služeb (tradiční cloudové společnosti, decentralizované sdílení zdrojů) jsou integrováni za tímto projektem „rozhraní“ mimořetězových výpočetních zdrojů, je však dalším tématem, které stojí za diskusi.

Kernel Ventures je výzkumný a vývojářský komunitou řízený krypto VC fond s více než 70 investicemi v rané fázi se zaměřením na infrastrukturu, middleware, dApps, zejména ZK, Rollup, DEX, modulární blockchain a vertikály, které začlení další miliardu uživatelů do kryptoměn. jako je abstrakce účtů, dostupnost dat, škálovatelnost atd. Za posledních sedm let jsme se zavázali podporovat růst klíčových vývojářských komunit a univerzitních blockchainových asociací po celém světě.

ODKAZ:

  1. Průvodce koprocesory ZK pro škálovatelnost:https://www.risczero.com/news/a-guide-to-zk-coprocessors-for-scalability

  2. Definování zkOracle pro Ethereum: https://ethresear.ch/t/defining-zkoracle-for-ethereum/15131

  3. zkUniswap: první svého druhu zkAMM:https://ethresear.ch/t/zkuniswap-a-first-of-its-kind-zkamm/16839

  4. Co je to ZK Coprocessor?:https://blog.axiom.xyz/what-is-a-zk-coprocessor/

  5. Krátký úvod do koprocesorů: https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

  6. Nejnovější aplikace postavené na Hyper Oracle (Bonus: Things You Can Build Now):https://mirror.xyz/hyperoracleblog.eth/Tik3nBI9mw05Ql_aHKZqm4hNxfxaEQdDAKn7JKcx0xQ

  7. Peněženka Bonfire: https://ethglobal.com/showcase/bonfire-wallet-n1dzp