Kakarot: wprowadzenie do pierwszego modułowego zkEVM
TL;DR: Kakarot to typ 3 (wkrótce typ 2.5) zkEVM, zbudowany na szczycie CairoVM. Projekt, który rozpoczął się w październiku 2022 r., ma kilka celów: open source od pierwszego dnia, mile widziane wkłady i, co najbardziej ambitne, stworzenie zkEVM w mniej niż 10 000 linii kodu. Cel ten osiągnęliśmy w zaledwie sześć miesięcy. Uruchomimy sieć testową pod koniec lata 2023 r.
Na końcu artykułu dostępny jest glosariusz zawierający kontekst dotyczący EVM, zkRollups i zkEVM.
Niekompletny elementarz na CairoVM
CairoVM to maszyna wirtualna, która umożliwia możliwe do udowodnienia wykonanie . Służy jako podstawa dla Starknet , uniwersalnego podsumowania ważności warstwy 2 (L2) w ekosystemie Ethereum. Zdolność CairoVM do reprezentowania wykonania jako wielomianów pozwala udowodnić każdą transakcję w Starknet za pomocą STARK. Wymaga to od programistów tworzenia zdecentralizowanych aplikacji (dApps) w powiązanym języku programowania w Kairze.
W słowach zespołu stojącego za Kairem, Liora Goldberga i Shahara Papiniego oraz Michaela Riabzeva:
Przedstawiamy Cairo, praktycznie wydajną architekturę procesora Turinga, przyjazną dla STARK. Opisujemy pojedynczy zestaw równań wielomianowych dla stwierdzenia, że wykonanie programu na tej architekturze jest poprawne. Biorąc pod uwagę stwierdzenie, które chce się udowodnić, Kair pozwala napisać program, który opisuje to stwierdzenie, zamiast pisać zestaw równań wielomianowych.
Na wynos: Programy napisane w Kairze są możliwe do udowodnienia, co zapewnia przewagę zmieniającą reguły gry: pisanie możliwych do udowodnienia programów w języku wysokiego poziomu. W rezultacie programiści, którzy chcą wykorzystać skalowalność kryptografii o zerowej wiedzy, nie muszą już pisać obwodów.
Czy więc przepisanie maszyny wirtualnej Ethereum (EVM) w Kairze spowodowałoby zkEVM?
Wezwanie Shahara do broni lub jak to wszystko się zaczęło
Shahar Papini , współtwórca Kairu, napisał na Twitterze 20 lipca 2022 r.:
Pomysł był prosty: EVM to dojrzała, dobrze zdefiniowana architektura VM. 142 kodów operacji, 9 prekompilacji i demokratyczny proces aktualizacji tych opkodów lub prekompilacji. Czy gdyby zbudować go w Kairze, otrzymalibyśmy zkEVM „za darmo”, czyli uzyskalibyśmy właściwość skalowania wiedzy zerowej jako bezpośrednią konsekwencję? Uwaga spoiler, tak.
Stamtąd pomysł zyskał popularność w społeczności Starknet. Abdel , lider zespołu eksploracyjnego Starkware i członek podstawowego zespołu programistów Ethereum, zaczął wdrażać go w październiku 2022 r. Mniej więcej w tym samym czasie społeczność twórców open source Starknet — zebrana razem z pomocą Onlydust — rozpoczęła równolegle podobny projekt . Ten pierwszy wchłonął drugiego podczas StarknetCC w Lizbonie.
Do końca 2022 roku Kakarot miał wdrożone 100% kodów operacyjnych EVM.
Dom hakerski w Lizbonie, tydzień pełnej poświęcenia pracy i około dziesięciu osób budujących zkEVM. Narodził się podstawowy zespół Kakarot. Zdaliśmy sobie sprawę, że jest to wykonalne i potężne. Naiwna implementacja zkEVM, która mieści się w mniej niż 5000 linii kodu. Żadnych obwodów, żadnych wielomianów. Po prostu ekspresyjny kod wysokiego poziomu.
Z pomocą Fundacji Starknet i Onlydust rozpoczęliśmy tę przygodę. Naszymi wartościami były open source, otwarty wkład i strategia techniczna oparta na społeczności. Clément i ja kierowaliśmy i koordynowaliśmy te wysiłki. Dziś Kakarot ma ponad 40 unikalnych współpracowników. Podczas gdy Kakarot angażuje się w skrystalizację wysiłków związanych z budowaniem zkEVM klasy produkcyjnej, nasze wartości trwają: otwarte oprogramowanie na zawsze i otwarte na wkład z zewnątrz (+ nagrody za wkład — dołącz do nas! ).
Od maja 2023 r. Kakarot osiągnął 100% równoważność kodu bajtowego (odpowiednik typu 3 zkEVM) i zaimplementował 8 z 9 prekompilacji EVM . Wkrótce będzie miał wszystkie dziewięć z nich, osiągając tym samym typ 2.5, zgodnie z typologią Vitalika. W rezultacie dApps napisane w Solidity lub dowolnym innym języku wspieranym przez EVM mogą być wdrażane na Kakarot bez konieczności jakichkolwiek modyfikacji istniejącego kodu.
Co dalej? Podwójny zakład: przenieś EVM do Starknet i zbuduj produkt zkEVM-Rollup-as-a-Service
Analizując rynek, zauważyliśmy, że w porównaniu z innymi zkEVM, Kakarot jest słabszym zespołem — zespołem liczącym mniej niż 10 osób ze znacznie mniejszym budżetem i marką. Wdrożenie jako zkEVM L2 ogólnego przeznaczenia wydawało się ryzykowne. Jakie inne strategie wydawały się rozsądne? Wprowadź kompatybilność EVM do Starknet i wykorzystaj skalowanie fraktali.
Jesteśmy głęboko przekonani, że Kair okaże się najlepszym zestawem narzędzi do inżynierii o zerowej wiedzy w nadchodzących latach. Wierzymy również, że EVM pozostanie najbardziej powszechną warstwą abstrakcji dla programistów. Właśnie dlatego wprowadzamy kompatybilność EVM do Starknet. Wkrótce zespoły będą mogły wdrażać swoje aplikacje Solidity dApp w Starknet za pośrednictwem Kakarot.
Co więcej, uważamy, że łańcuchy aplikacji (lub L3 specyficzne dla aplikacji) pojawią się wcześniej, niż ludzie się spodziewają. Trakcja, jaką zyskał stos OP, jest dobrym przykładem. Wykorzystując modułowy charakter Kakarot (mała i elastyczna baza kodów, którą można dostosować do dowolnej sieci w Kairze), jesteśmy upoważnieni do zbudowania narzędzia zkRollup-as-a-service.
Jedno kliknięcie: zkEVM wdrożony jako L3 na Starknet dla określonej aplikacji. Środowisko EVM, niski poziom gazu i szybka realizacja. Bezpieczeństwo kryptograficzne.
Aby rzucić okiem na nasz stos, spójrz na Madarę , sekwencer Starknet oparty na Substracie. Madara + Kakarot = Substrate & CairoVM oparty na zkEVM L3s !
Kontekst i słowniczek
- EVM (Ethereum Virtual Machine): EVM to kompletna maszyna wirtualna typu Turing, która wykonuje inteligentne kontrakty na blockchainie Ethereum. Służy jako środowisko uruchomieniowe dla tych kontraktów, przetwarzając instrukcje i zarządzając stanem sieci. Deweloperzy mogą pisać inteligentne kontrakty w językach takich jak Solidity, które są następnie kompilowane do kodu bajtowego EVM i wykonywane przez maszynę wirtualną.
- zkRollups: zkRollups to skalowalne rozwiązania warstwy 2 dla sieci blockchain, w szczególności Ethereum. Łączą wiele transakcji w jeden dowód, który jest następnie publikowany w głównym łańcuchu. Wykorzystując zero-knowledge proofs, zkRollupy umożliwiają większą przepustowość i niższe koszty transakcji przy zachowaniu wysokiego poziomu bezpieczeństwa i decentralizacji.
- zkEVM (Zero-Knowledge Ethereum Virtual Machine): zkEVM to implementacja EVM, która obejmuje systemy odporne na wiedzę zerową. Pozwala na realizację inteligentnych kontraktów o zwiększonej prywatności i skalowalności poprzez wykorzystanie technik kryptograficznych do udowodnienia poprawności transakcji bez ujawniania ich szczegółów.
Dołącz do naszego GitHub , mamy wiele repozytoriów do odkrycia! Głównym z nich jest Kakarot (implementacja Cairo 0.x) . Mamy również otwartą społeczność Telegrama:https://t.me/KakarotZkEvm.