Autor: Kernel Ventures Turbo Guo

Recenzenti: Kernel Ventures Mandy, Kernel Ventures Joshua

TLDR:

Koprocesor ZK je řešení, které umožňuje dApps využívat mimořetězové výpočetní zdroje. Tento článek pojednává především o implementaci koprocesoru, různých aplikacích a budoucích směrech vývoje. Hlavním obsahem jsou:

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

  2. Koprocesory ZK mají různé způsoby implementace. Kromě zkVM mohou uživatelé také psát přizpůsobené obvody ZK pro své vlastní programy nebo používat prefabrikované rámce pro zápis obvodů, což umožňuje kontraktům využívat mimořetězové výpočetní zdroje.

  3. Koprocesor ZK může hrát roli v DeFi, jako je umístění výpočtů AMM mimo řetězec, což umožňuje protokolu zachytit hodnotu podobnou MEV nebo umožňuje AMM implementovat složitou a výpočetně náročnou provozní logiku. Koprocesor ZK může také umožnit výpůjčním protokolům vypočítat úrokové sazby v reálném čase, čímž zprůhlední výpočty marží atd. Existují dvě implementace zkAMM, jedna používá zkVM a druhá používá zkOracle.

  4. Existují další potenciální použití koprocesoru ZK Například peněženky mohou používat koprocesor ZK k provádění ověřování identity mimo řetězec. Koprocesor může také umožnit hrám v řetězci provádět složitější výpočty a snížit množství plynu potřebného pro řízení DAO. Počkejte.

  5. Vzor koprocesoru ZK není rozhodnutý, ale ve srovnání s uživateli, kteří si píší vlastní okruhy, je přívětivější použít projekt jako rozhraní pro volání off-chain zdrojů Ale co poskytovatelé výpočetních služeb (tradiční dodavatelé cloudu, tradiční dodavatelé cloudu, atd.) jsou propojeny za projektem „rozhraní“ Decentralizované sdílení zdrojů) je další problém, který stojí za diskusi.

1. Význam a použití koprocesoru ZK

Zdroj obrázků: Kernel Ventures

Jádrem koprocesoru ZK je přesouvat on-chain výpočty mimo řetězec a používat ZK k prokázání spolehlivosti off-chain procesu výpočtu, což umožňuje chytrým kontraktům snadno zpracovat velké množství výpočtů a zároveň umožňuje smlouvy ověřit spolehlivost výpočtů. To je podobné myšlence zkRollup, ale Rollup je vrstva řetězového protokolu, která využívá výpočetní zdroje mimo řetězec, zatímco koprocesor ZK je dApp, který využívá zdroje mimo řetězec.

RISC Zero se zde používá k vysvětlení implementace koprocesoru ZK, ale existuje mnoho implementací koprocesorů ZK, které budou představeny později. RISC Zero vyvinul koprocesorovou architekturu Bonsai ZK, jejímž jádrem je zkVM RISC Zero Vývojáři mohou generovat zkp na zkVM pro případ, že „správně se provede určitý kus kódu Rust“. U zkVM je specifický proces implementace koprocesoru ZK:

  1. Vývojář zahájí požadavek na smlouvu o přenosu Bonsai, to znamená, že program požadovaný vývojářem je spuštěn 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 off-chain rozsáhlé operace a poté pro něj vygeneruje potvrzení.

  4. Tyto důkazy, nazývané také „účtenky“, zasílá Bonsai zpět do řetězce prostřednictvím předávací smlouvy.

Zdroj obrázku: RISC Zero

Program certifikovaný v Bonsai se nazývá program pro hosty a účtenka se používá k prokázání správného provedení programu pro hosty. Pověření zahrnují deník a pečeť. Konkrétně Žurnál nese veřejný výstup aplikace zkVM a pečeť slouží k prokázání platnosti certifikátu, tedy k prokázání správného provedení programu hosta. Samotná pečeť je také zkSTARK vygenerovaný certifikátorem . Ověření přihlašovacích údajů zajišťuje, že žurnál byl vytvořen se správnými obvody atd.

Bonsai zjednodušuje vývojářům proces od kompilace kódu Rust po bajtkód zkVM, nahrávání programu, provádění ve virtuálním počítači a zpětnou vazbu, což vývojářům umožňuje více se zaměřit na logický návrh programu. A nejen část logiky kontraktu, ale celá logika kontraktu může být provozována mimo řetězec. RISC Zero také používá pokračování, která rozdělují velké generování důkazů na mnoho částí a každou část pak dokazují samostatně. To umožňuje generovat nátisky pro velké programy, aniž by zabíraly příliš mnoho paměti. Kromě RISC Zero poskytuje podobná obecná řešení také několik projektů jako IronMill, =nil Foundation a Marlin;

2. Aplikace koprocesoru ZK v DeFi

2.1 AMM - Bonsai jako koprocesor

zkUniswap je AMM, který využívá mimořetězové výpočetní zdroje, jeho jádrem je přesunout část swapových výpočtů mimo řetězec a využívá Bonsai. Uživatel zahájí požadavek na swap v řetězci. Kontrakt Bonsai obdrží požadavek a zahájí výpočet mimo řetězec Poté, co Bonsai dokončí výpočet, vrátí výsledek výpočtu a důkaz do funkce zpětného volání v EVM. Pokud je důkaz úspěšně ověřen, bude proveden swap.

Swap se však nedokončí najednou Procesy požadavku a realizace jsou v různých transakcích. To přináší určitá rizika, to znamená, že stav poolu se může změnit po odeslání požadavku a před dokončením swapu. Protože ověření je založeno na stavu fondu při odeslání požadavku. Pokud se stav fondu změní, zatímco požadavek stále čeká, ověření se nezdaří.

K vyřešení tohoto problému vývojáři navrhli zámek bazénu. Když uživatel zahájí požadavek, všechny operace kromě vypořádacího swapu jsou uzamčeny, dokud off-chain úspěšně nespustí on-chain swap nebo než vyprší časový limit swapu (tento čas bude přednastaven). Pokud je časový limit, i když je problém s relé nebo zkp, bazén nebude navždy uzamčen. Konkrétní časový limit může být několik minut.

zkUniswap má speciální design pro MEV, to znamená, že vývojáři chtějí, aby protokol zachycoval hodnotu MEV. Teoreticky mají zkAMM také MEV, protože ten, kdo jako první odešle transakci, ji může uzamknout, takže všichni budou stále soutěžit o plyn a stavitelé mohou také třídit požadované transakce. Ale zkUniswap sežere samotný příjem MEV pomocí holandské aukce s gradientem variabilních úrokových sazeb (VRGDA).

zkUniswap vyjme zámek a vydraží jej za sníženou cenu, pokud je zámek prodán rychle, protokol bude vědět, že poptávka je aktuálně vysoká, a poté automaticky zvýší cenu, pokud se rychlost prodeje zámku zpomalí. protokol sníží cenu. To se stane novým zdrojem příjmů. Ekvivalentně dohoda poskytuje novou věc pro určení pořadí transakcí a peníze z vysoutěžené ceny jsou prostřednictvím nové věci přímo předány projektové straně. To je velmi nápadité.

2.2 AMM - zkOracle jako koprocesor

Kromě použití zkVM někteří lidé navrhli použít zkOracle k realizaci využití mimořetězových výpočetních zdrojů a zkOracle je věštec, který bere v úvahu vstup i výstup. Obecně existují dva typy věštců, jeden je vstupní orákulum a druhý je výstupní orákulum Vstupní orákulum třídí (počítá) data mimo řetězec a vkládá je do řetězce a výstupní orákulum třídí (vypočítává) data. on-chain data) a poté poskytnuta mimo řetězec. I/O (vstup a výstup) Oracle (zkOracle) provádí nejprve výstup a poté vstup, což umožňuje řetězci využívat mimořetězové výpočetní zdroje.

Na jedné straně používá zkOracle data on-chain jako zdroj dat. Na druhé straně používá ZK k zajištění toho, že výpočty uzlu Oracle nejsou podvodné a mohou realizovat funkci koprocesoru. Proto lze základní výpočty AMM umístit do zkOracle Při realizaci tradičních funkcí AMM lze zkOracle použít také k implementaci složitějších operací náročných na výpočetní zdroje.

Zdroj obrázku: github fewwwww/zkAMM

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

Bez ohledu na implementaci lze s koprocesorem ZK dosáhnout mnoha funkcí. Například smlouva o úvěru již nemůže přednastavit parametry, ale upravit úrokovou sazbu na základě podmínek půjčky v reálném čase. Například zvýšení úrokových sazeb k přilákání nabídky, když je poptávka po půjčování peněz vysoká, a následné snížení úrokových sazeb, když je poptávka nízká. To vyžaduje, aby protokol půjčování získal data v řetězci v reálném čase a prováděl velké množství výpočtů pro získání vhodných parametrů, což vyžaduje výpočty mimo řetězec (pokud nejsou náklady na řetězci extrémně nízké).

Složité operace, jako je výpočet zůstatků marží, nerealizovaných zisků a ztrát, likvidačních částek atd., mohou být také převedeny na koprocesora k provedení. Výhodou použití koprocesoru je, že tyto aplikace jsou transparentnější a ověřitelnější a logika enginu marží již není tajnou černou skříňkou. Přestože se výpočet provádí mimo řetězec, uživatelé mohou mít naprostou důvěru ve správnost jeho provedení. Kromě toho se tento přístup vztahuje také na výpočty opcí.

3. Další aplikace koprocesoru ZK

3.1 Peněženka využívající Bonsai jako koprocesor

Bonfire Wallet používá zkVM k přesunu výpočtů ověřování identity mimo řetězec. Cílem této peněženky je umožnit uživatelům vytvářet vypalovací peněženky s biometrickými informacemi (otisky prstů) nebo kryptografickým hardwarem yubikey.

Konkrétně Bonfire Wallet používá WebAuthn, běžný standard ověřování webových stránek, který uživatelům umožňuje přímo používat svá zařízení k dokončení ověřování na webových stránkách bez hesel. V peněžence Bonfire tedy uživatel vygeneruje veřejný klíč prostřednictvím WebAuthn (ne v řetězci, pro WebAuthn) a poté jej použije k vytvoření peněženky.

Každá peněženka Burner má v řetězci smlouvu, která obsahuje veřejný klíč WebAuthn Smlouva potřebuje ověřit podpis uživatele WebAuthn. Množství výpočtů je však velmi velké, takže Bonsai se používá k odpojení výpočtů mimo řetězec, ověření podpisu mimo řetězec prostřednictvím hostujícího programu zkVM a vytvoření zkp pro ověření v řetězci.

Zdroj obrázků: Bonfire Wallet

3.2 On-chain získávání dat - uživatelé si sami zapisují obvody ZK

Axiom je aplikace, která nepoužívá zkVM, ale používá jiné koprocesorové řešení. Nejprve si představíme, co chce Axiom udělat, doufá, že použije koprocesor ZK, aby umožnil kontraktům přístup k historickým informacím o řetězci. Ve skutečnosti je pro kontrakty obtížné číst historická data, protože smart kontrakty obecně získávají on-chain data v reálném čase a je velmi nákladné pro kontrakty získat cenná on-chain data jako minulé zůstatky na účtech popř transakční záznamy.

Zdroj obrázků: Axiom demo

Uzly Axiom přistupují k požadovaným datům v řetězci a provádějí specifikované výpočty mimo řetězec, pak generují důkaz s nulovými znalostmi pro výpočet, který dokazuje, že výsledek byl správně vypočten 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 výsledku důvěřovat.

Chcete-li generovat zkp pro výpočty mimo řetězec, musíte program zkompilovat do obvodu ZK Zmínili jsme se také o použití zkVM a Axiom oficiálně poukázal na to, že pro tuto záležitost existuje mnoho řešení, která potřebují zvážit výkon a flexibilitu. a zkušenosti s vývojem:

  1. Přizpůsobené obvody: Vývojáři přizpůsobí obvody programu, který bude mít rozhodně nejlepší výkon, ale vývoj bude nějakou dobu trvat;

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

  3. zkVM: Vývojáři přímo používají hotové virtuální stroje ke spuštění ZK, což je velmi pohodlné, ale Axiom oficiálně věří, že efektivita je velmi nízká.

Axiom proto zvolil druhou možnost a projektový tým navíc uživatelům poskytl sadu optimalizovaných modulů ZK, aby si mohli navrhovat vlastní obvody.

Projekt podobný Axiomu je Herodotus, ale to, co chce udělat, je middleware pro přenos informací napříč řetězci. Vzhledem k tomu, že zpracování informací probíhá mimo řetězec, je rozumné nechat zpracovaná data získávat různé řetězce. Další projekt, Space and Time, používá podobnou architekturu k implementaci indexování dat.

3.3 On-chain hry, DAO governance a další aplikace

Kromě toho lze koprocesory ZK použít pro hry v řetězci a řízení DAO. RISC Zero věří, že jakýkoli výpočet vyžadující více než 250 000 plynu bude levnější s použitím koprocesoru ZK, ale jak se to určí, se teprve uvidí. Správa DAO může také používat koprocesor ZK, protože zahrnuje více lidí a více smluv, což spotřebovává výpočetní zdroje. RISC Zero tvrdí, že poplatky za plyn lze po použití Bonsai snížit o 50 %. ZKML je v podstatě myšlenkou koprocesoru ZK, takže Modulus Labs a Giza jsou také projekty v této oblasti, ale koncept koprocesoru ZK je větší.

Kromě toho existují některé pomocné projekty v oblasti koprocesorů ZK, jako je ezkl, který poskytuje kompilátory pro výrobu obvodů ZK, sady nástrojů pro nasazení ZK, nástroje pro přesun výpočtů on-chain off-chain atd.

4. Budoucí vyhlídky

Koprocesor umožňuje on-chain aplikacím mít externí výpočetní zdroje jako „cloud“, který poskytuje relativně levné velké množství výpočtů, zatímco v řetězci jsou zpracovávány pouze nezbytné výpočty. Ve skutečných situacích může zkVM běžet také v cloudu. Koprocesor ZK je v podstatě architektura, způsob, jak umístit výpočetní techniku ​​mimo řetězec, a neexistuje žádný limit na to, kdo poskytuje výpočetní zdroje mimo řetězec.

Výpočetní zdroje mimo řetězec v podstatě sdílejí tradiční velcí výrobci, dokonce i decentralizované výpočetní zdroje a místní zařízení. Každý z těchto tří směrů je jiný. Tradiční velcí výrobci mohou poskytovat relativně vyspělá off-chain výpočetní řešení V budoucnu může být „robustnost“ decentralizovaných výpočetních zdrojů silnější a lokální výpočetní technika má také velkou představivost. Mnoho koprocesorových projektů ZK se však v současné době rozhodlo poskytovat služby ve fázi uzavřeného zdroje, protože upstream a downstream této stopy ještě nebyly vytvořeny a služby nelze upřesnit a předat různým projektům budoucnost:

  1. Existuje velké množství projektů, které soutěží o každý aspekt koprocesoru ZK

  2. Projekt s dobrými servisními zkušenostmi zabírá většinu trhu

Z pohledu vývojáře mohou při použití koprocesoru ZK používat pouze jeden projekt „rozhraní“. To je důvod, proč Amazon Cloud zaujímá velké množství trhu a vývojáři budou zvyklí na jeden způsob nasazení. Ale jako projekt „rozhraní“ pro výpočetní zdroje mimo řetězec, jací poskytovatelé počítačových služeb (tradiční dodavatelé cloudu, decentralizované sdílení zdrojů) jsou za ním spojeni, je další otázka hodná diskuse.

Kernel Ventures je kryptofond rizikového kapitálu vedený výzkumnou a vývojovou komunitou s více než 70 počátečními investicemi zaměřenými na infrastrukturu, middleware, dApps, zejména ZK, Rollup, DEX, modulární blockchainy a onboarding Vertikální oblasti pro miliardy uživatelů kryptoměn v budoucnost, jako je abstrakce účtu, dostupnost dat, škálovatelnost atd. Posledních sedm let jsme se zavázali podporovat růst klíčových vývojových komunit a univerzitních blockchainových asociací po celém světě.

Reference:

  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