Erikoistuminen ja yleistyminen, kumpi on ZK:n tulevaisuus? Yritän vastata tähän kysymykseen kaavion avulla:
Kuten kaaviosta käy ilmi, onko meidän mahdollista tulevaisuudessa konvergoitua maagiseen optimaaliseen pisteeseen kompromissikoordinaatistossa?
Ei, ketjun ulkopuolisen todennettavan laskennan tulevaisuus on jatkuva käyrä, joka hämärtää rajoja erikoistuneen ja yleisen ZK:n välillä. Sallikaa minun selittää näiden termien historiallinen kehitys ja se, miten ne lähenevät toisiaan tulevaisuudessa.
Kaksi vuotta sitten ”erikoistunut” ZK-infrastruktuuri tarkoitti matalan tason piirikehyksiä, kuten circomia, Halo2:ta ja arkworksia. Näiden kehysten avulla rakennetut ZK-sovellukset olivat käytännössä käsin kirjoitettuja ZK-piirejä. Ne olivat nopeita ja kustannustehokkaita tiettyihin tehtäviin, mutta yleensä vaikeita kehittää ja ylläpitää. Ne ovat sukua erilaisille integroiduille erikoispiireille (fyysiset piikiekot) nykyisessä IC-teollisuudessa, kuten NAND-sirut ja ohjainsirut.
Kahden viime vuoden aikana erikoistunut ZK-infrastruktuuri on kuitenkin vähitellen ”yleistynyt”.
Meillä on nyt ZKML-, ZK-koprosessori- ja ZKSQL-kehykset, jotka tarjoavat helppokäyttöisiä ja hyvin ohjelmoitavia SDK:ita eri luokkien ZK-sovellusten rakentamiseen kirjoittamatta riviäkään ZK-piirikoodia. Esimerkiksi ZK-koprosessorin avulla älykkäät sopimukset voivat luotettavasti käyttää lohkoketjun historiallisia tiloja, tapahtumia ja transaktioita ja suorittaa mielivaltaisia laskutoimituksia näillä tiedoilla. ZKML:n avulla älykkäät sopimukset voivat hyödyntää tekoälyn päättelytuloksia luotettavalla tavalla monenlaisten koneoppimismallien käsittelyyn.
Nämä kehitetyt kehykset parantavat merkittävästi ohjelmoitavuutta kohdealueillaan säilyttäen samalla korkean suorituskyvyn ja alhaiset kustannukset, koska niiden abstraktiokerrokset (SDK/API) ovat ohuita ja lähellä paljaita piirejä.
Ne ovat samankaltaisia kuin GPU, TPU ja FPGA IC-markkinoilla: ohjelmoitavien osa-alueiden asiantuntijoita.
ZKVM on myös edistynyt huomattavasti kahden viime vuoden aikana. Kaikki yleiskäyttöiset ZKVM:t on rakennettu matalan tason erikoistuneiden ZK-kehysten päälle. Ideana on, että ZK-sovelluksia voidaan kirjoittaa korkean tason kielillä (jopa käyttäjäystävällisemmillä kuin SDK/API), jotka käännetään erikoistuneiden piirien ja käskykokonaisuuksien (RISC-V tai WASM:n kaltaisten) yhdistelmäksi. Ne ovat kuin prosessorisiruja IC-teollisuudessa.
ZKVM on matalan tason ZK-kehysten yläpuolella oleva abstraktiokerros, aivan kuten ZK-koprosessoritkin.
Kuten eräs viisas henkilö kerran sanoi, abstraktiokerros voi ratkaista kaikki tietotekniikan ongelmat, mutta samalla se luo toisen ongelman. Kompromissit ovat avainasemassa. Periaatteessa ZKVM:ssä vaihdamme suorituskyvyn ja yleisyyden välillä.
Kaksi vuotta sitten ZKVM:n ”bare-metal”-suorituskyky oli todellakin heikko. Vain kahdessa vuodessa ZKVM:n suorituskyky on kuitenkin parantunut merkittävästi.
Miksi?
Koska näistä ”yleiskäyttöisistä” ZKVM:istä on tullut ”erikoistuneempia”. Keskeinen syy suorituskyvyn paranemiseen on ”esikompilointi”. Nämä esikompiloinnit ovat erikoistuneita ZK-piirejä, jotka pystyvät laskemaan yleisiä korkean tason ohjelmia, kuten SHA2:ta ja erilaisia allekirjoitusten todentamisia, paljon nopeammin kuin hajottamalla ne käskypiirien palasiksi.
Suuntaus on siis nyt varsin selvä.
Erikoistunut ZK-infrastruktuuri on yleistymässä, kun taas yleiset ZKVM:t ovat erikoistumassa.
Molempien ratkaisujen optimoinnilla on viime vuosina saavutettu aiempaa parempi kompromissi: yhdessä asiassa on edistytty uhraamatta toista. Siksi molemmat osapuolet kokevat, että ”me olemme ehdottomasti tulevaisuus”.
Tietojenkäsittelytieteen viisaus kuitenkin kertoo, että jossain vaiheessa kohtaamme ”Pareto-optimaalisen seinän” (vihreä katkoviiva), jossa emme voi parantaa yhtä suorituskykyä uhraamatta toista.
Näin ollen herää miljoonan dollarin kysymys:
Korvaako jokin teknologia toisen kokonaan oikeaan aikaan?
Lainaan tietoja IC-teollisuudesta: prosessorimarkkinoiden koko on 126 miljardia dollaria, kun taas koko IC-teollisuus (mukaan lukien kaikki ”erikoistuneet” IC:t) on 515 miljardia dollaria. Olen vakuuttunut siitä, että mikronäkökulmasta katsottuna historia toistaa itseään, eivätkä ne korvaa toisiaan.
Tästä huolimatta kukaan ei nykyään sanoisi: ”Hei, käytän tietokonetta, jota ohjaa täysin yleiskäyttöinen prosessori” tai ”Hei, tämä on hieno robotti, jota ohjataan erikoistuneilla IC-piireillä”.
Kyllä, meidän olisi todellakin tarkasteltava tätä asiaa makronäkökulmasta, ja tulevaisuudessa on olemassa kompromissikäyrä, joka antaa kehittäjille mahdollisuuden valita joustavasti tarpeidensa mukaan.
Tulevaisuudessa erikoistunut ZK-infrastruktuuri ja yleinen ZKVM voivat toimia yhdessä. Tämä voidaan toteuttaa useissa eri muodoissa. Yksinkertaisin tapa on toteutettavissa jo nyt. Voit esimerkiksi käyttää ZK-koprosessoria joidenkin laskentatulosten tuottamiseen lohkoketjun transaktiohistoriasta, mutta näihin tietoihin kohdistuva laskennan liiketoimintalogiikka on hyvin monimutkainen, eikä sitä voida yksinkertaisesti ilmaista SDK:ssa/API:ssä.
Voit hankkia suorituskykyisiä ja edullisia ZK-todistuksia tiedoista ja välilaskentatuloksista ja yhdistää ne sitten yleiskäyttöiseen VM:ään rekursiivisten todistusten avulla.
Vaikka pidän tällaista keskustelua mielenkiintoisena, tiedän, että me kaikki rakennamme tätä asynkronista laskentatekniikan tulevaisuutta, jota ohjaavat ketjun ulkopuoliset todennettavissa olevat laskennat blockchain. Kun massakäyttäjien käyttöönoton käyttötapaukset tulevat esiin tulevina vuosina, uskon, että tämä keskustelu saadaan vihdoin päätökseen.