Dedykowana infrastruktura ZK staje się coraz bardziej uniwersalna, a ZKVM ogólnego przeznaczenia coraz bardziej wyspecjalizowana.

Napisał: mo

Opracowane przez: Luffy, Foresight News

Specjalizacja czy uogólnienie – która przyszłość ZK? Spróbuję odpowiedzieć na to pytanie za pomocą zdjęcia:

Jak pokazano na rysunku, czy w przyszłości możliwe będzie osiągnięcie magicznego optymalnego punktu w kompromisowym układzie współrzędnych?

Nie, przyszłość weryfikowalnego przetwarzania danych poza łańcuchem to ciągła krzywa, która zaciera granice między ZK specjalistycznym a ZK ogólnego przeznaczenia. Pozwólcie, że wyjaśnię historyczną ewolucję tych terminów i sposób, w jaki będą się one łączyć w przyszłości.

Dwa lata temu „własna” infrastruktura ZK oznaczała struktury obwodów niskiego poziomu, takie jak circom, Halo2 i Arkworks. Aplikacje ZK zbudowane przy użyciu tych frameworków są zasadniczo ręcznie napisanymi obwodami ZK. Są szybkie i tanie do konkretnych zadań, ale często trudne w rozwoju i utrzymaniu. Są one podobne do różnych chipów obwodów scalonych (fizycznych płytek krzemowych) stosowanych w dzisiejszym przemyśle układów scalonych, takich jak chipy NAND i chipy kontrolera.

Jednak w ciągu ostatnich dwóch lat wyspecjalizowana infrastruktura ZK stopniowo stała się bardziej „ogólnego przeznaczenia”.

Mamy teraz ZKML, koprocesor ZK i framework ZKSQL, które zapewniają łatwe w użyciu i wysoce programowalne zestawy SDK do tworzenia różnych klas aplikacji ZK bez pisania ani jednej linii kodu obwodu ZK. Na przykład koprocesor ZK umożliwia inteligentnym kontraktom dostęp do historycznego stanu łańcucha bloków, zdarzeń i transakcji w sposób bez zaufania i przeprowadzanie dowolnych obliczeń na tych danych. ZKML umożliwia inteligentne kontrakty wykorzystywanie wyników wnioskowania AI do przetwarzania szerokiej gamy modeli uczenia maszynowego w sposób pozbawiony zaufania.

Te rozwinięte frameworki znacząco zwiększają programowalność w swoich domenach docelowych, zachowując jednocześnie wysoką wydajność i niski koszt dzięki cienkiej warstwie abstrakcji (SDK/API) i obwodom zbliżonym do gołego metalu.

Są podobni do procesorów graficznych, TPU i FPGA na rynku układów scalonych: są ekspertami w dziedzinie programowalnych.

W ciągu ostatnich dwóch lat ZKVM również przeszedł długą drogę. Warto zauważyć, że wszystkie ZKVM ogólnego przeznaczenia są zbudowane na niskopoziomowym, wyspecjalizowanym frameworku ZK. Pomysł jest taki, że można pisać aplikacje ZK w języku wysokiego poziomu (nawet bardziej przyjaznym dla użytkownika niż SDK/API), który można skompilować do kombinacji wyspecjalizowanych obwodów i zestawów instrukcji (RISC-V lub coś w rodzaju WASM). Są jak chipy procesorowe w branży układów scalonych.

ZKVM to warstwa abstrakcji znajdująca się na niskopoziomowym frameworku ZK, takim jak koprocesor ZK itp.

Jak powiedział kiedyś mądry człowiek, jedna warstwa abstrakcji rozwiązuje wszystkie problemy informatyki, ale tworzy też drugą. Kompromisy, to jest klucz. Zasadniczo w przypadku ZKVM mamy kompromis między wydajnością a wszechstronnością.

Dwa lata temu wyniki ZKVM w trybie „bare metal” były naprawdę złe. Jednak w ciągu zaledwie dwóch lat wydajność ZKVM znacznie się poprawiła.

Dlaczego?

Ponieważ te „ogólne” ZKVM stały się bardziej „specjalistyczne”. Kluczowym powodem poprawy wydajności jest „prekompilacja”. Te prekompilatory to wyspecjalizowane obwody ZK, które mogą obliczać powszechnie używane programy wysokiego poziomu, takie jak SHA2 i różne weryfikacje podpisów, znacznie szybciej niż normalny proces dzielenia ich na fragmenty obwodów instrukcji.

Dlatego trend jest teraz bardzo wyraźny.

Specjalizowana infrastruktura ZK staje się coraz bardziej uniwersalna, a ZKVM ogólnego przeznaczenia coraz bardziej wyspecjalizowana.

Optymalizacje obu rozwiązań przeprowadzone na przestrzeni ostatnich kilku lat zaowocowały lepszymi kompromisami niż wcześniej: postępem w jednym punkcie bez poświęcania innego. Dlatego obie strony uważają, że „zdecydowanie jesteśmy przyszłością”.

Jednak mądrość informatyki podpowiada nam, że w pewnym momencie napotkamy „ścianę optymalnego Pareto” (zielona linia przerywana), co oznacza, że ​​nie możemy poprawić jednej wydajności bez poświęcania wydajności drugiej.

Powstaje zatem pytanie za milion dolarów: czy jedna technologia w odpowiednim czasie całkowicie zastąpi drugą?

Aby zrozumieć, spójrzmy na branżę układów scalonych: rynek procesorów wart jest 126 miliardów dolarów, podczas gdy cała branża układów scalonych (plus wszystkie „specjalistyczne” układy scalone) wynosi 515 miliardów dolarów. Jestem przekonany, że z mikro perspektywy historia się tu powtórzy i nie zastąpią się one nawzajem.

Powiedziawszy to, nikt dzisiaj nie powie: „Hej, używam komputera zasilanego w całości przez procesor ogólnego przeznaczenia” lub „Hej, to jest fantazyjny robot zasilany przez wyspecjalizowany układ scalony”.

Tak, rzeczywiście powinniśmy spojrzeć na tę kwestię z perspektywy makro. W przyszłości pojawi się krzywa kompromisów, która umożliwi deweloperom elastyczny wybór według własnych potrzeb.

W przyszłości dedykowana infrastruktura ZK i ZKVM ogólnego przeznaczenia mogą współpracować. Można to osiągnąć na wiele sposobów. Najprostsza metoda jest teraz możliwa. Na przykład możesz użyć koprocesora ZK do wygenerowania wyników obliczeń w historii transakcji blockchain, ale logika biznesowa obliczeń na podstawie tych danych jest bardzo złożona i nie można po prostu wyrazić tego w SDK/API.

Jedyne, co możesz zrobić, to pobrać wysokowydajne i niedrogie dowody ZK danych i pośrednie wyniki obliczeń, a następnie zagregować je w maszynę wirtualną ogólnego przeznaczenia za pomocą rekurencji dowodu.

Chociaż uważam, że tego typu debaty są interesujące, wiem, że wszyscy budujemy asynchroniczną przyszłość obliczeniową dla blockchain, napędzaną weryfikowalnymi obliczeniami poza łańcuchem. Wierzę, że w miarę jak w nadchodzących latach pojawią się przypadki użycia masowego zastosowania przez użytkowników, ta debata w końcu dobiegnie końca.