Tło historyczne koprocesora

W tradycyjnej dziedzinie komputerów koprocesor to jednostka przetwarzająca odpowiedzialna za obsługę innych skomplikowanych rzeczy dla mózgu procesora. Współprzetwarzanie jest bardzo powszechne w branży komputerowej. Na przykład w 2013 roku firma Apple wprowadziła na rynek koprocesor ruchu M7, który znacznie poprawił czułość ruchu inteligentnych urządzeń. Dobrze znanym GPU jest koprocesor zaproponowany przez Nvidię w 2007 roku, który odpowiada za obsługę zadań takich jak renderowanie grafiki dla procesora. Procesor graficzny przyspiesza aplikacje działające na procesorze, odciążając niektóre wymagające obliczeniowo i czasochłonne części kodu, co jest architekturą znaną jako przetwarzanie „heterogeniczne”/„hybrydowe”.

Koprocesor może odciążyć niektóre złożone kody za pomocą pojedynczych wymagań wydajnościowych lub bardzo wysokich wymagań wydajnościowych, umożliwiając procesorowi obsługę bardziej elastycznych i wymiennych części.

W łańcuchu Ethereum występują dwa problemy, które poważnie utrudniają rozwój aplikacji:

  1. Ponieważ operacja wymaga wysokiej opłaty za gaz, zwykły transfer jest zakodowany na stałe w wysokości 21 000 gazu. Pokazuje to dolną granicę opłaty za gaz w sieci Ethereum. Inne operacje, w tym magazynowanie, będą kosztować więcej gazu, co ograniczy zastosowania w łańcuchu Jeśli chodzi o zakres rozwoju, większość kodeksów kontraktów dotyczy wyłącznie operacji na aktywach. W przypadku skomplikowanych operacji wymagana będzie duża ilość gazu, co stanowi poważną przeszkodę w „masowym wdrażaniu” aplikacji i użytkowników.

  2. Ponieważ inteligentny kontrakt istnieje na maszynie wirtualnej, inteligentny kontrakt może w rzeczywistości uzyskać dostęp tylko do danych z ostatnich 256 bloków. Zwłaszcza w przyszłorocznej aktualizacji Pectry, wprowadzonej propozycji EIP-4444, pełny węzeł nie będzie już przechowywać poprzednich bloków. Zablokuj dane, a następnie brak danych doprowadził do opóźnienia w pojawieniu się innowacyjnych aplikacji opartych na danych. W końcu aplikacje takie jak Tiktok, Instagram, multi-data, LLM itp. są budowane w oparciu o dane dlaczego Lens jest oparty Powodem, dla którego protokół społecznościowy danych uruchomi warstwę 3 Momoka, jest to, że uważamy, że blockchain zapewnia bardzo płynny przepływ danych W końcu łańcuch jest otwarty i przejrzysty, ale w rzeczywistości tak nie jest. Po prostu dane o zasobach tokenów przepływają płynnie, ale zasoby danych wynikają z niedoskonałości bazowych obiektów, które nadal stanowią dużą przeszkodę, co również poważnie ograniczy pojawienie się produktów „masowego przyjęcia”.

Dzięki temu odkryliśmy, że zarówno obliczenia, jak i dane są powodami ograniczającymi pojawienie się nowego paradygmatu obliczeniowego „masowego przyjęcia”. Jest to jednak wada samego łańcucha bloków Ethereum i nie został on zaprojektowany do obsługi dużej liczby obliczeń i zadań wymagających dużej ilości danych. Ale jak osiągnąć kompatybilność z aplikacjami obliczeniowymi i intensywnie przetwarzającymi dane? W tym miejscu musimy przedstawić koprocesor. Sam łańcuch Ethereum działa jak procesor, a koprocesor jest podobny do procesora graficznego. Sam łańcuch może obsługiwać niektóre dane zasobów wymagające dużej ilości danych i proste operacje aplikacje chcą elastycznie wykorzystywać dane lub obliczenia. Zasoby mogą korzystać z koprocesorów. Wraz z eksploracją technologii ZK w celu zapewnienia, że ​​koprocesory wykonują obliczenia i wykorzystują dane poza łańcuchem bez zaufania, naturalne jest, że większość koprocesorów jest opracowywanych z ZK jako warstwą podstawową.

W przypadku ZK Coporcessor granice jego zastosowań są tak szerokie, że mogą obejmować dowolne rzeczywiste scenariusze zastosowań dapp, takie jak sieci społecznościowe, gry, elementy konstrukcyjne Defi, systemy kontroli ryzyka oparte na danych w łańcuchu, Oracle, przechowywanie danych, szkolenia w języku dużych modeli i wnioskowanie itp. Teoretycznie wszystko, co potrafią aplikacje Web2, można osiągnąć za pomocą koprocesora ZK, a Ethereum służy jako końcowa warstwa rozliczeniowa chroniąca bezpieczeństwo aplikacji.

W tradycyjnym świecie nie ma jasnej definicji koprocesora, o ile oddzielny układ scalony może służyć jako element pomocniczy w wykonywaniu zadań, nazywa się go koprocesorem. Obecna definicja koprocesorów ZK w branży nie jest dokładnie taka sama. ZK-Query, ZK-Oracle, ZKM itp. to koprocesory, które mogą pomóc w wysyłaniu zapytań o kompletne dane w łańcuchu, zaufane dane poza łańcuchem. i wyniki obliczeń poza łańcuchem, sądząc z tej definicji, warstwa 2 jest w rzeczywistości uważana za koprocesor Ethereum. Poniżej porównamy również podobieństwa i różnice między warstwą 2 a ogólnym koprocesorem ZK.

Lista projektów koprocesorów

Niektóre projekty koprocesora ZK, źródło: Gate Ventures

Obecnie stosunkowo dobrze znane w branży współprzetwarzanie jest podzielone na trzy części, a mianowicie trzy główne scenariusze zastosowań: indeksowanie danych on-chain, maszyny Oracle i ZKML. Projekt uwzględniony we wszystkich trzech scenariuszach to General-ZKM , a maszyna wirtualna działająca poza łańcuchem jest inna. Na przykład Delphinus koncentruje się na zkWASM, podczas gdy Risc Zero koncentruje się na architekturze Risc-V.

Architektura technologii koprocesorowej

Jako przykład bierzemy koprocesor General ZK, aby przeanalizować jego architekturę, aby umożliwić czytelnikom zrozumienie podobieństw i różnic w technologii i konstrukcji mechanizmów tej maszyny wirtualnej ogólnego przeznaczenia oraz ocenić przyszły trend rozwojowy koprocesorów, który koncentruje się głównie wokół Risc Three analizie poddano projekty takie jak Zero, Lagrange i Succinct.

Zerowe ogrzewanie

W Risc Zero jego koprocesor ZK nazywa się Bonsai.

Architektura Bonsai, źródło: Risc Zero

Komponenty Bonsai, źródło: Risc Zero

W Bonsai zbudowano kompletny zestaw niezależnych od łańcucha komponentów odpornych na wiedzę zerową. Celem jest stanie się niezależnym od łańcucha koprocesorem, opartym na architekturze zestawu instrukcji Risc-V, charakteryzującym się dużą wszechstronnością i obsługiwanymi językami. W tym Rust, C++, Solidity, Go itp. Jego główne funkcje obejmują:

  1. Uniwersalny zkVM zdolny do uruchomienia dowolnej maszyny wirtualnej w środowisku o zerowej wiedzy/weryfikowalnym.

  2. System generowania dowodów ZK, który można zintegrować bezpośrednio z dowolnym inteligentnym kontraktem lub łańcuchem

  3. Pakiet zbiorczy ogólnego przeznaczenia, który dystrybuuje wszelkie obliczenia dowodu Bonsai do sieci, umożliwiając górnikom sieciowym generowanie dowodów.

Jego komponenty obejmują:

  1. Sieć sprawdzająca: Za pośrednictwem API Bonsai sprawdzający otrzymuje kod ZK, który należy zweryfikować w sieci, a następnie uruchamia algorytm sprawdzający w celu wygenerowania dowodu ZK. Ta sieć będzie w przyszłości otwarta dla wszystkich.

  2. Pula żądań: ta pula przechowuje żądania certyfikacji inicjowane przez użytkowników (podobnie jak pamięć Ethereum, używana do tymczasowego przechowywania transakcji). Następnie ta pula żądań zostanie posortowana przez sekwencer w celu wygenerowania bloków, a wiele żądań certyfikacji zostanie rozdzielonych poprawić skuteczność dowodu.

  3. Silnik zbiorczy: ten silnik zbierze wyniki dowodu zebrane w sieci sprawdzającej, następnie spakuje je do Root Proof i prześle do głównej sieci Ethereum, aby walidatorzy w łańcuchu mogli je zweryfikować w dowolnym momencie.

  4. Image Hub: Jest to platforma dla programistów wizualnych, na której można przechowywać funkcje i kompletne aplikacje. Dlatego programiści mogą wywoływać odpowiednie interfejsy API za pośrednictwem inteligentnych kontraktów. Dlatego inteligentne kontrakty w łańcuchu mają możliwość wywoływania programów poza łańcuchem.

  5. State Store: Bonsai wprowadziło również pamięć stanu poza łańcuchem, która jest przechowywana w bazie danych w postaci par klucz-wartość, co może obniżyć koszty przechowywania w łańcuchu, oraz współpracuje z platformą ImageHub w celu zmniejszenia złożoności inteligentnych kontraktów.

  6. Sprawdzanie rynku: ZK sprawdza środkowy i górny odcinek łańcucha branżowego, a rynek mocy obliczeniowej jest wykorzystywany do dopasowania podaży i popytu na moc obliczeniową.

Lagrange'a

Celem Lagrange'a jest zbudowanie koprocesora i weryfikowalnej bazy danych, która zawiera dane historyczne na temat blockchain i może płynnie wykorzystywać te dane do tworzenia aplikacji zaufanych. Umożliwia to rozwój zastosowań obliczeniowych i intensywnie korzystających z danych.

Wiąże się to z dwiema funkcjami:

  1. Weryfikowalna baza danych: poprzez indeksowanie przechowywania inteligentnego kontraktu w łańcuchu, stan łańcucha wygenerowany przez inteligentny kontrakt jest umieszczany w bazie danych. Zasadniczo pamięć, stan i bloki łańcucha bloków są rekonstruowane, a następnie przechowywane w zaktualizowany sposób w bazie danych poza łańcuchem, którą można łatwo odzyskać.

  2. Obliczenia oparte na zasadzie MapReduce: Zasada MapReduce polega na zastosowaniu separacji danych i równoległego przetwarzania wielu instancji w dużych bazach danych, a na koniec zintegrowaniu wyników. Ta architektura obsługująca wykonywanie równoległe została nazwana przez Lagrange'a zkMR.

Projekt bazy danych obejmuje łącznie trzy części danych w łańcuchu, a mianowicie dane dotyczące przechowywania umów, dane o statusie EOA i dane blokowe.

Struktura bazy danych Lagrange'a, źródło: Lagrange

Powyżej przedstawiono strukturę mapowania danych przechowywanych w jego kontrakcie. Tutaj przechowywane są zmienne stanu kontraktu, a każdy kontrakt ma niezależną próbę przechowywania. To Trie jest przechowywane w postaci drzewa MPT w Ethereum. Chociaż drzewo MPT jest proste, jego wydajność jest bardzo niska, dlatego główni twórcy Ethereum promują rozwój drzew Verkel. W Lagrange każdy węzeł można „sprawdzić” za pomocą SNARK/STARK, a węzeł nadrzędny zawiera dowód węzła podrzędnego, co wymaga użycia technologii dowodu rekurencyjnego.

Stan konta, źródło: Lagrange

Konta to konta EOA i konta kontraktowe, które można przechowywać w formie konta głównego/magazynu (przestrzeń do przechowywania zmiennych kontraktowych) w celu reprezentowania statusu konta, ale wydaje się, że Lagrange nie w pełni zaprojektował tę część i faktycznie musi dodać State Trie ( Katalog główny przestrzeni przechowywania stanu konta zewnętrznego).

Blokowa struktura danych, źródło: Lagrange

W nowej strukturze danych Lagrange stworzył blokową strukturę danych, która jest przyjazna dla dowodów SNARK. Każdy liść tego drzewa jest nagłówkiem bloku. Rozmiar tej liczby jest stały. Jeśli Ethereum tworzy blok raz na 12 sekund, wówczas ta baza danych można używać przez około 25 lat.

W maszynie wirtualnej ZKMR Lagrange'a jej obliczenia składają się z dwóch etapów:

  1. Mapa: rozproszona maszyna mapuje całe dane i generuje pary klucz-wartość.

  2. Zmniejsz: komputery rozproszone obliczają dowody oddzielnie, a następnie łączą wszystkie dowody.

Krótko mówiąc, ZKMR może łączyć dowody mniejszych obliczeń, aby stworzyć dowody całych obliczeń. Umożliwia to ZKMR efektywne skalowanie w celu wykonywania złożonych dowodów obliczeniowych na dużych zbiorach danych, które wymagają wielu etapów lub warstw obliczeń. Na przykład, jeśli Uniswap jest wdrożony na 100 łańcuchach, to jeśli chcesz obliczyć cenę TWAP określonego tokena na 100 łańcuchach, wymaganych będzie wiele obliczeń i integracji. W tym momencie ZKMR może obliczyć każdy łańcuch osobno, a potem połączyć Przygotuj kompletny dowód obliczeniowy.

Proces działania koprocesora Lagrange'a, źródło: Lagrange

Powyżej przedstawiono proces jego wykonania:

  1. Inteligentny kontrakt dewelopera najpierw rejestruje się w Lagrange, a następnie przesyła żądanie dowodu do inteligentnego kontraktu Lagrange’a w łańcuchu. W tym momencie kontrakt proxy jest odpowiedzialny za interakcję z kontraktem dewelopera.

  2. Lagrange poza łańcuchem dokonuje współweryfikacji, dzieląc żądania na małe, możliwe do zrównoleglenia zadania i dystrybuując je do różnych osób sprawdzających.

  3. Ten dowód jest w rzeczywistości siecią, a bezpieczeństwo jej sieci gwarantuje technologia EigenLayer Restaking.

Zwięzły

Celem Succinct Network jest integracja programowalnych faktów z każdą częścią stosu rozwojowego blockchain (w tym L2, koprocesorami, mostami międzyłańcuchowymi itp.).

Zwięzły proces działania, źródło: Succinct

Succinct może akceptować kody obejmujące Solidity i język specjalistyczny (DSL) w polu wiedzy zerowej i przekazywać je do koprocesora Succinct poza łańcuchem. Succinct uzupełnia indeks danych łańcucha docelowego, a następnie wysyła wniosek certyfikacyjny do rynek certyfikacji, który może obsługiwać procesory, górnicy procesorów graficznych i chipów ETC przesyłają dowody w sieci dowodów. Jego cechą charakterystyczną jest to, że rynek dowodu jest kompatybilny z różnymi systemami dowodu, ponieważ upłynie długi okres czasu, w którym różne systemy dowodu będą w przyszłości współistnieć.

ZKVM poza łańcuchem firmy Succinct nazywa się SP (Succinct Processor) i może obsługiwać język Rust i inne języki LLVM. Jego podstawowe funkcje obejmują:

  1. Rekurencja + weryfikacja: Technologia weryfikacji rekurencyjnej oparta na technologii STARK może wykładniczo zwiększyć wydajność kompresji ZK.

  2. Obsługa opakowania SNARK do STARK: możliwość jednoczesnego wykorzystania zalet SNARK i STARK, rozwiązując problem kompromisu w zakresie rozmiaru dowodu i czasu weryfikacji.

  3. Architektura ZkVM skoncentrowana na prekompilacji: w przypadku niektórych popularnych algorytmów, takich jak SHA256, Keccak, ECDSA itp., można je skompilować z wyprzedzeniem, aby skrócić czas generowania dowodu i czas weryfikacji w czasie wykonywania.

Porównywać

Porównując koprocesory ZK ogólnego przeznaczenia, dokonujemy głównie porównań spełniających pierwszą zasadę Mass Adopcji. Wyjaśnimy również, dlaczego jest to ważne:

  1. Problemy z indeksowaniem/synchronizacją danych: Tylko kompletne dane w łańcuchu i zsynchronizowane funkcje indeksowania mogą spełnić wymagania aplikacji opartych na dużych zbiorach danych, w przeciwnym razie zakres ich zastosowania będzie stosunkowo pojedynczy.

  2. W oparciu o technologię: technologie SNARK i STARK mają różne punkty decyzyjne. W perspektywie średnioterminowej dominującą będzie technologia SNARK, a w dłuższej perspektywie dominującą będzie technologia STARK.

  3. Czy wspierać rekurencję: Tylko dzięki wsparciu rekurencji możemy skompresować dane w większym stopniu i uzyskać równoległy dowód obliczeń. Dlatego osiągnięcie pełnej rekurencji jest techniczną atrakcją projektu.

  4. System dowodowy: System dowodowy wpływa bezpośrednio na wielkość i czas generowania dowodu. Jest to najdroższa część technologii ZK. Obecnie głównymi są samodzielnie zbudowany rynek mocy obliczeniowej w chmurze ZK i sieć dowodowa.

  5. Współpraca ekologiczna: Potrafi ocenić, czy jej techniczny kierunek jest uznawany przez użytkowników końcowych B poprzez trzecią realną stronę popytu.

  6. Wspierające VC i status finansowania: mogą być w stanie wskazać późniejsze wsparcie w zakresie zasobów.

źródło: Gate Ventures

W rzeczywistości ogólna ścieżka techniczna jest bardzo jasna, więc większość technologii jest zbieżna. Na przykład wszystkie wykorzystują wrappery od STARK do SNARK, które mogą jednocześnie wykorzystywać zalety STARK i SNARK, skracając czas generowania dowodu i czas weryfikacji. i oprzeć się atakom kwantowym. Ponieważ rekursywność algorytmu ZK może znacznie wpłynąć na wydajność ZK, obecnie wszystkie trzy projekty mają funkcje rekurencyjne. Generowanie dowodu algorytmu ZK pochłania najwięcej czasu i kosztów. Dlatego wszystkie trzy projekty opierają się na dużym zapotrzebowaniu na moc obliczeniową ZK w celu zbudowania sieci testerów i rynku mocy obliczeniowej w chmurze. W związku z tym, gdy obecne ścieżki techniczne są bardzo podobne, bardziej konieczne może być przełamanie zespołu i stojącego za nim VC, aby pomóc w zasobach współpracy ekologicznej w celu zajęcia udziału w rynku.

Podobieństwa i różnice między koprocesorem a warstwą 2

W odróżnieniu od warstwy 2, koprocesor jest zorientowany na aplikację, podczas gdy warstwa 2 jest nadal zorientowana na użytkownika. Koprocesor może być używany jako komponent akceleracyjny lub komponent modułowy, tworząc następujące scenariusze zastosowań:

  1. Jako komponenty maszyny wirtualnej poza łańcuchem ZK Layer2, te warstwy 2 mogą zastępować własne maszyny wirtualne koprocesorami.

  2. Jako koprocesor dla aplikacji w łańcuchu publicznym w celu odciążenia mocy obliczeniowej poza łańcuchem.

  3. Jako wyrocznia dla aplikacji w łańcuchu publicznym w celu uzyskania weryfikowalnych danych z innych łańcuchów.

  4. Działa jako most międzyłańcuchowy pomiędzy dwoma łańcuchami w celu przesyłania wiadomości.

Te scenariusze zastosowań to tylko częściowa lista. W przypadku koprocesora musimy zrozumieć, że zapewnia on potencjał synchronizacji danych w czasie rzeczywistym oraz niezawodnego przetwarzania o wysokiej wydajności i niskim koszcie w całym łańcuchu, a także może bezpiecznie rekonstruować. prawie wszystkie bloki przez koprocesor Całe oprogramowanie pośredniczące w łańcuchu. W tym Chainlink i The Graph opracowują obecnie własne wyrocznie i zapytania ZK; główne mosty międzyłańcuchowe, takie jak Wormhole, Layerzero itp., również opracowują technologię mostów międzyłańcuchowych opartą na szkoleniach LLM poza łańcuchem (wielkie wyrocznie modelowe). i wiarygodne rozumowanie itp.

Problemy napotykane przez koprocesory

  1. Programiści napotykają opór przed wejściem. Technologia ZK jest teoretycznie wykonalna, ale nadal istnieje wiele trudności technicznych, a zrozumienie z zewnątrz jest trudne do zrozumienia. Dlatego też, gdy nowi programiści wchodzą do ekosystemu, muszą opanować określone języki i narzędzia programistyczne. , może być większy opór.

  2. Śledzenie jest na bardzo wczesnym etapie. Wydajność zkVM jest bardzo złożona i obejmuje wiele wymiarów (w tym sprzęt, wydajność jednego i wielu węzłów, wykorzystanie pamięci, koszt rekurencji, wybór funkcji skrótu i ​​inne czynniki). projekty w budowie o różnych wymiarach Tor jest na bardzo wczesnym etapie i krajobraz nie jest jeszcze jasny.

  3. Wymagania wstępne, takie jak sprzęt, nie zostały jeszcze wdrożone. Z punktu widzenia sprzętu, obecny główny sprzęt jest konstruowany przy użyciu układów ASIC i FPGA. Do producentów należą Ingonyama, Cysic itp., które są wciąż w fazie laboratoryjnej i nie zostały jeszcze skomercjalizowane. Wierzymy, że sprzęt jest technologią ZK. Warunkiem wdrożenia na dużą skalę.

  4. Ścieżki techniczne są podobne i trudno jest mieć przewagę technologiczną między pokoleniami. Obecnie główną konkurencją są stojące za nią zasoby VC i możliwości zespołu BD oraz to, czy uda mu się zdobyć niszę ekologiczną głównych zastosowań i sieci publicznych. .

Podsumowanie i perspektywy

Technologia ZK jest niezwykle wszechstronna i pomogła również ekosystemowi Ethereum przejść od zdecentralizowanej orientacji na wartości do orientacji na wartości pozbawione zaufania. „Nie ufaj, sprawdź” – to zdanie jest najlepszą praktyką technologii ZK. Technologia ZK może zrekonstruować szereg scenariuszy zastosowań, takich jak mosty międzyłańcuchowe, wyrocznie, zapytania w łańcuchu, obliczenia poza łańcuchem, maszyny wirtualne itp., A koprocesor ZK ogólnego przeznaczenia jest jednym z narzędzi do wdrażania technologii ZK . W przypadku ZK Coporcessor zakres jego zastosowań jest tak szeroki, że może objąć każdy rzeczywisty scenariusz aplikacji dapp. Teoretycznie wszystko, co potrafią aplikacje Web2, można osiągnąć za pomocą koprocesora ZK.

Krzywa penetracji technologii, źródło: Gartner

Od czasów starożytnych rozwój technologii pozostawał w tyle za ludzką wyobraźnią o lepszym życiu (np. lot Chang'e na Księżyc czy Apollo wchodzący na Księżyc. Jeśli coś jest naprawdę innowacyjne, wywrotowe i potrzebne, to technologia na pewno to zrobi). Zdaj sobie z tego sprawę, kwestia czasu wymaga tylko czasu. Wierzymy, że uniwersalny koprocesor ZK wpisuje się w ten trend rozwojowy. Mamy dwa wskaźniki dla koprocesora ZK „Mass Adoption”: możliwa do sprawdzenia baza danych działająca w czasie rzeczywistym w całym łańcuchu i tanie przetwarzanie poza łańcuchem. Jeśli ilość danych jest wystarczająca, a synchronizacja w czasie rzeczywistym jest połączona z niedrogimi, weryfikowalnymi obliczeniami poza łańcuchem, wówczas paradygmat tworzenia oprogramowania można całkowicie zmienić. Jednak ten cel jest powoli iteracyjny, więc skupiamy się na znajdowaniu trendów lub wartości orientacje zgodne z tymi dwoma punktami projektu, a wdrożenie chipów obliczeniowych ZK jest warunkiem wstępnym komercyjnego zastosowania koprocesorów ZK na dużą skalę. W tym cyklu brakuje innowacji i jest to okres okna do prawdziwego zbudowania nowej generacji „Mass Adopcja” technologii i aplikacji. Oczekujemy, że w kolejnej rundzie W trakcie cyklu sieć przemysłowa ZK może zostać skomercjalizowana, więc teraz nadszedł czas, aby ponownie skupić się na niektórych technologiach, które naprawdę mogą umożliwić Web3 przenoszenie interakcji miliarda ludzi w łańcuchu.