Wykonanie Cairo-native firmy Starknet wykorzystuje swój niestandardowy język programowania, Cairo, aby zwiększyć skalowalność, obniżyć koszty i poprawić wydajność inteligentnych kontraktów. Jednak wyzwania wynikają z potrzeby szerszej adopcji przez deweloperów, kompatybilności narzędzi i zrównoważenia innowacji z dostępnością w całym ekosystemie.
Starknet to protokół Ethereum warstwy 2 (L2), który wykorzystuje kryptograficzne dowody STARK (Succinct Transparent Arguments of Knowledge) do zasilania weryfikowalnych obliczeń na dużą skalę. Podobnie jak inne blockchainy L2, Starknet jest w stanie zapewnić znaczącą skalowalność i bezpieczeństwo transakcji L2, zachowując jednocześnie decentralizację.
W centrum Starknet znajduje się maszyna wirtualna Cairo (VM), specjalnie zbudowane środowisko wykonawcze zaprojektowane w celu wykorzystania możliwości dowodzenia kryptograficznego STARK. W przeciwieństwie do innych maszyn wirtualnych, Cairo VM Starknet jest zaprojektowany do uruchamiania programów dowodowych — co zmniejsza obciążenie związane z generowaniem dowodów w celu weryfikacji obliczeń. Dzięki temu Starknet może przetwarzać ogromną liczbę transakcji, utrzymując jednocześnie weryfikację bez zaufania.
To powiedziawszy, prawdziwa miara wydajności Starknet — doświadczana przez użytkowników końcowych — zależy od szybkości, z jaką sekwencer przetwarza transakcje i potwierdza wyniki wykonania. Znane również jako „miękkie potwierdzenia”, potwierdzenie sukcesu (lub porażki) transakcji przez sekwencer jest przydatne dla użytkowników wrażliwych na czas, którzy chcą uniknąć czekania na sfinalizowanie transakcji w Ethereum L1 przed poznaniem statusu transakcji.
W obecnej sytuacji przepustowość transakcji Starknet w dużym stopniu zależy od wydajności sekwencera. Sekwencer odpowiada za odbieranie, organizowanie i potwierdzanie transakcji przed przesłaniem ich do Ethereum w celu ostatecznej weryfikacji. Chociaż Starknet używa obecnie pojedynczego sekwencera, planuje zdecentralizować sekwencer, aby uzyskać lepszą odporność na cenzurę i większą tolerancję na awarie (jeden sekwencer offline nie może wyłączyć sieci).
29 października Starknet odnotował średnio 127 transakcji na sekundę (TPS) w ciągu nieprzerwanego okresu 24 godzin. Nie był to jednorazowy szczyt, ale stały kamień milowy przepustowości osiągnięty podczas normalnych operacji, pokazujący zdolność rollupu do obsługi dużych wolumenów transakcji w warunkach rzeczywistych. Oprócz tego osiągnięcia, wydajność Starknet wyróżnia się błyskawicznymi potwierdzeniami transakcji (średnio poniżej dwóch sekund) i ultraniskimi opłatami (0,002 USD za transakcję) — co czyni go opłacalnym i wydajnym rozwiązaniem do skalowania Ethereum.
Utrzymanie tego poziomu wydajności wymaga jednak ciągłej innowacji, zwłaszcza w miarę wzrostu zapotrzebowania użytkowników. To właśnie tutaj wchodzą w grę nadchodzące ulepszenia modelu wykonywania Starknet, wprowadzające optymalizacje, które obiecują nie tylko szybsze przetwarzanie transakcji, ale także bardziej wydajne wykorzystanie zasobów. Te zmiany oznaczają kluczowy krok w kierunku podniesienia środowiska wykonywania Starknet, aby sprostać wymaganiom szybko ewoluującego ekosystemu.
Starknet wprowadził już transformacyjne ulepszenia do swojej architektury, aby poprawić wydajność i wzmocnić UX (np. równoległe wykonywanie i pakowanie bloków za pomocą aktualizacji Bolt). Te innowacje drastycznie skróciły czas przetwarzania transakcji i koszty gazu, umożliwiając sekwencerowi wydajniejszą obsługę transakcji. Aby dowiedzieć się więcej o aktualizacji Bolt i o tym, jak poprawia ona skalowalność Starknet, przeczytaj nasz Starknet Bolt explainer .
Opierając się na tym fundamencie, Starknet koncentruje się teraz na dalszej optymalizacji swojego środowiska wykonawczego za pomocą Cairo-Native. Nadchodzące ulepszenia zdefiniują na nowo sposób przetwarzania transakcji, przechodząc od emulacji opartej na maszynach wirtualnych do wykonywania natywnego. Zmiany te obiecują znaczną poprawę szybkości przetwarzania i efektywności zasobów, zapewniając, że Starknet będzie w stanie sprostać rosnącym wymaganiom użytkowników.
W poniższej sekcji przyjrzymy się bliżej środowisku wykonawczemu Starknet i zagłębimy się w to, jak Cairo VM i szersza architektura są przeprojektowywane, aby obsługiwać kolejną fazę skalowalności i wydajności. Zanurzmy się!
Środowisko wykonawcze Starknet ewoluowało znacząco w czasie, aby poprawić wydajność i zapewnić bezpieczeństwo. Początkowo Starknet opierał się na prostym potoku, w którym kod Cairo wysokiego poziomu był kompilowany bezpośrednio do CASM (Cairo Assembly) w celu wykonania. Chociaż to podejście działało, pozostawiało sieć podatną na nieefektywności i zagrożenia bezpieczeństwa. Na przykład nie można było udowodnić nieprawidłowego kodu, a sekwencer był narażony na potencjalne ataki DoS z powodu braku zabezpieczeń w rozliczaniu gazu.
Aby rozwiązać te problemy, aktualizacja Cairo 1.0 wprowadziła Sierra, pośrednią reprezentację (IR), która wymusza bezpieczeństwo w fazie projektowania. Zainspirowana językami takimi jak Rust, Sierra zapewnia, że programiści stosują się do bardziej rygorystycznych wzorców kodowania, skutecznie eliminując błędy w czasie wykonywania i umożliwiając dokładne rozliczanie gazu. Ta aktualizacja jest już dostępna w sieci głównej Starknet i oznacza kluczowy krok w kierunku bardziej niezawodnego i bezpiecznego środowiska wykonawczego.
Cairo-Native bazuje na tym postępie i jeszcze bardziej zwiększa wydajność Starknet, umożliwiając natywne wykonywanie. Natywne wykonywanie jest odejściem od poprzedniego wzorca wykonywania programów w Cairo VM i stanowi kolejny krok naprzód pod względem wydajności dla Starknet.
Wcześniej sekwencer Starknet wykonywał programy za pomocą maszyny wirtualnej, która emulowała kod, co wprowadzało znaczny narzut i spowalniało przetwarzanie transakcji. Emulacja w tym kontekście obejmuje programowanie procesora tak, aby zachowywał się jak teoretyczny procesor Cairo, interpretując instrukcje krok po kroku. Chociaż jest funkcjonalny, proces ten jest z natury nieefektywny, ponieważ uniemożliwia procesorowi pełne wykorzystanie jego natywnych możliwości i stylów wykonywania.
Natomiast natywne wykonywanie eliminuje tę niezręczność, umożliwiając programom uruchamianie się bezpośrednio w systemie operacyjnym w natywnym zestawie instrukcji procesora. Ta zmiana radykalnie poprawia szybkość wykonywania i wydajność zasobów, umożliwiając Starknetowi przetwarzanie transakcji szybciej niż kiedykolwiek.
Aby to osiągnąć, wykonanie Cairo-Native integruje zaawansowane technologie kompilacji, takie jak MLIR ( Multi-Level Intermediate Representation ) i LLVM ( Low Level Virtual Machine ). Narzędzia te są szeroko stosowane w nowoczesnym rozwoju oprogramowania do kompilowania kodu do zoptymalizowanych instrukcji na poziomie maszyny.
Cairo-Native bierze programy Sierra i organizuje je w formie pośredniej, MLIR, która umożliwia również zaawansowane optymalizacje, podczas gdy LLVM kompiluje je dalej do natywnych plików wykonywalnych dostosowanych do podstawowego systemu operacyjnego. Ten dwuwarstwowy proces kompilacji zapewnia, że wygenerowane pliki wykonywalne są szybkie, wydajne i gotowe do bezpośredniego wykonania bez żadnych dodatkowych kosztów.
Wpływ tej aktualizacji na wydajność sekwencera (i sieci ogólnie) jest znaczący:
Chociaż natywne wykonywanie przynosi znaczące usprawnienia szybkości, naturalne obawy deweloperów dotyczą podwójnego przepływu pracy wykonywania między sekwencerem a prooferem. Podczas gdy sekwencer korzysta z uruchamiania transakcji przy użyciu natywnych artefaktów dla szybkości, proofer nadal polega na Cairo VM, aby wykonywać transakcje krok po kroku, zapewniając, że można je udowodnić weryfikatorowi STARK Ethereum.
CASM jest nadal używany w tym procesie, ponieważ jest to reprezentacja walidowana przez weryfikator STARK na Ethereum. Ta dualność — wykonywanie tych samych transakcji za pośrednictwem dwóch różnych systemów — może budzić uzasadnione pytania o spójność i poprawność. W szczególności, w jaki sposób możemy być pewni, że wyniki z wykonania natywnego i wykonania Cairo VM zawsze będą się zgadzać?
Krótka odpowiedź leży w rygorystycznym testowaniu i walidacji. Dokładniej rzecz biorąc, zespół LambdaClass przeprowadził obszerne testy odtwarzania, proces, w którym historyczne bloki Starknet są ponownie wykonywane w nowym systemie, aby upewnić się, że każda transakcja daje takie same wyniki.
Testy powtórne są krytyczną metodą weryfikacji, czy nawet przy dwóch odrębnych ścieżkach wykonania, wyniki pozostają spójne. Dzięki temu programiści mogą być pewni, że ten rozbudowany proces walidacji znacznie minimalizuje ryzyko rozbieżności.
Dodatkowo warto zauważyć, że Starknet zawsze działał z dwoma oddzielnymi przepływami wykonania. Nawet przed Cairo-Native sekwencer nie polegał w pełni na Cairo VM w przypadku zadań takich jak wywołania systemowe lub dostęp do stanu. Były one już obsługiwane inaczej, a proofer skupiał się na tworzeniu dowodów kryptograficznych w celu aktualizacji stanu Starknet na Ethereum.
W tym sensie wprowadzenie natywnego wykonywania stanowi ewolucję — a nie odejście — od ustalonej architektury Starknet. Oznacza to również, że deweloperzy powinni mieć niewiele problemów z projektowaniem aplikacji do pracy z nowym modelem wykonywania Starknet.
Ogólnie rzecz biorąc, Cairo-Native otwiera nowy poziom skalowalności i szybkości dla Starknet. Dzięki przejściu z emulacji opartej na maszynach wirtualnych do wykonywania natywnego sieć może obsługiwać więcej użytkowników, obsługiwać większe wolumeny transakcji i zapewniać płynne działanie zarówno dla programistów, jak i użytkowników końcowych. Ta transformacja umacnia pozycję Starknet jako wiodącego rozwiązania L2 i otwiera drogę do większej innowacji w ekosystemie Ethereum.
Cairo-Native oznacza przełomową poprawę w środowisku wykonawczym Starknet — taką, która zapewnia znaczne przyspieszenie w porównaniu z tradycyjną maszyną wirtualną Cairo. Dzięki obszernym testom porównawczym przeprowadzonym przez LambdaClass i Nethermind, wzrost wydajności wynikający z natywnego wykonania został skwantyfikowany, co podkreśla zdolność Cairo-Native do drastycznego zwiększenia szybkości przetwarzania transakcji i kontraktów.
Testy porównawcze wykazały, że Cairo-Native osiąga średnie przyspieszenie 5x w porównaniu z Cairo VM, a wzrost wydajności waha się od 1,5x do 20x, w zależności od konkretnego kontraktu. Te wyniki to coś więcej niż tylko liczby — ilustrują, jak natywne wykonywanie bezpośrednio przynosi korzyści użytkownikom i deweloperom.
Na przykład prosty transfer STRK między dwoma kontami Argent nie tylko zakończył się 2,3x szybciej, ale także wykazał 4,8x przyspieszenie w logice kontraktu ERC-20. Dla użytkowników oznacza to krótszy czas oczekiwania na transakcje i płynniejsze interakcje z zdecentralizowanymi aplikacjami (dApps). Dla deweloperów te ulepszenia zapewniają szybsze i bardziej niezawodne działanie ich aplikacji, nawet przy dużym obciążeniu sieci.
W bardziej wymagających scenariuszach, takich jak wymiany STRK/ETH lub aplikacje do gier, takie jak Influenceth , korzyści są jeszcze bardziej widoczne. Transakcje Influenceth odnotowały 10,5-krotne przyspieszenie transakcji, a niektóre wykonania kontraktów poprawiły się nawet 70-krotnie. Te postępy umożliwiają deweloperom tworzenie złożonych, wysokowydajnych zdecentralizowanych aplikacji, torując drogę dla bogatszych wrażeń z gier, zaawansowanych protokołów DeFi i innych przypadków użycia wymagających dużej mocy obliczeniowej.
Przejście od emulacji do natywnego wykonywania stanowi podstawę tych postępów. Kompilując programy bezpośrednio do kodu natywnego dla maszyny, Cairo-Native eliminuje nieefektywność emulacji instrukcji Cairo, gdzie CPU zasadniczo naśladuje inny wirtualny CPU. Natywne wykonywanie pozwala sprzętowi działać z pełną wydajnością, zapewniając niezrównane ulepszenia wydajności dla wszystkich typów transakcji.
Cairo-Native wprowadza bardziej zaawansowany proces kompilacji, dodając kilka kroków do tłumaczenia kodu Sierra na natywne pliki wykonywalne. Obejmuje to procesy takie jak konwersja Sierra na MLIR, optymalizacja kodu i na koniec kompilacja do natywnych instrukcji maszynowych. Podczas gdy ten bardziej złożony proces może wydawać się intuicyjnie wydłużający całkowity czas kompilacji, testy porównawcze pokazują, że dodatkowe kroki przyczyniają się do mniej niż 15% całkowitego czasu kompilacji, co dowodzi, że proces pozostaje wydajny.
Warto również zauważyć, że natywne pliki wykonywalne są większe w porównaniu do artefaktów CASM. Ten wzrost odzwierciedla dodatkowe szczegóły i optymalizację wymaganą dla kodu natywnego dla maszyny, ale nie wpływa na wydajność sieci. Co ważne, kompilacja jest wykonywana tylko raz, w momencie wdrożenia kontraktu w sieci, co zapewnia, że ten krok nie wpłynie na wydajność sekwencera w czasie rzeczywistym.
Konsekwencje Cairo-Native dla ekosystemu Starknet są dalekosiężne. Dzięki umożliwieniu szybszego i wydajniejszego wykonywania transakcji, ta aktualizacja ma znacząco poprawić doświadczenia użytkownika dla wszystkich aplikacji w sieci. Biorąc pod uwagę, że sieć ma obsługiwać prawie 1000 transakcji na sekundę (TPS) do końca 2024 r., Starknet stanie się jednym z najbardziej skalowalnych i responsywnych łańcuchów L2 w ekosystemie Ethereum.
Dla użytkowników uaktualnienie Cairo-Native oznacza szybsze potwierdzanie transakcji i jeszcze niższe koszty. Podczas rekordowych wyników Starknet na początku tego roku opłaty za gaz wynosiły średnio około 0,002 USD za transakcję. Dzięki Cairo-Native koszty te mają się jeszcze bardziej obniżyć, co umocni pozycję Starknet jako jednej z najbardziej przystępnych cenowo sieci warstwy 2.
Wprowadzenie wykonywania Cairo-Native znacznie usprawni również następujące przypadki użycia:
Starknet zyskał już popularność jako platforma dla gier opartych na blockchain, a Cairo-Native przenosi to na wyższy poziom. Gry takie jak Influenceth , które opierają się na skomplikowanej logice i szybkich interakcjach, odniosą znaczne korzyści z ulepszeń szybkości. Szybsze czasy wykonywania zmniejszają opóźnienia w grze, umożliwiając graczom płynniejsze doświadczenia.
Deweloperzy mogą również wprowadzać bardziej złożone mechanizmy gry, takie jak możliwości gry wieloosobowej w czasie rzeczywistym i dynamiczne interakcje NFT, nie martwiąc się o wąskie gardła wydajności. Może to doprowadzić do powstania nowej klasy aplikacji do gier onchain, których rozgrywka może konkurować z tradycyjnymi konkurentami.
Zdecentralizowane platformy mediów społecznościowych wymagają wysokiej przepustowości transakcji i niskich opóźnień, aby zapewnić bezproblemową interakcję użytkowników, taką jak publikowanie, komentowanie i głosowanie. Dzięki Cairo-Native platformy te mogą skalować się, aby obsługiwać miliony użytkowników, oferując kanały w czasie rzeczywistym i natychmiastowe reakcje, rywalizując z wydajnością tradycyjnych odpowiedników Web2. Niższe koszty gazu dodatkowo zwiększają dostępność, czyniąc zdecentralizowane media społecznościowe bardziej realną alternatywą dla scentralizowanych platform i przygotowując je do powszechnego przyjęcia.
Ekosystem DeFi w Starknet również skorzysta z Cairo-Native. Złożone operacje finansowe, takie jak swapy, pożyczki i yield farming, wymagają wysokiej przepustowości i precyzji. Szybsze czasy realizacji zapewniają, że transakcje i likwidacje odbywają się w czasie rzeczywistym, minimalizując poślizg i zapewniając użytkownikom lepsze wyniki. Ponadto niższe opłaty za gaz umożliwiają mikrotransakcje, dzięki czemu protokoły DeFi są bardziej dostępne dla szerszej publiczności.
Wykonanie Cairo-Native jest kluczowym kamieniem milowym w planie działania Starknet . Wprowadzając nowy poziom wykonania, Starknet nie tylko umacnia swoją pozycję wiodącej platformy warstwy 2, ale także ustanawia precedens dla szerszego ekosystemu rollupów Ethereum. Innowacja Starknet pokazuje, w jaki sposób rollupy mogą osiągnąć niezrównaną skalowalność i wydajność, pomagając Ethereum zbliżyć się do wizji masowej adopcji przy jednoczesnym zachowaniu zasad decentralizacji i bezpieczeństwa.
Cairo-Native zapewnia deweloperom solidne, wydajne środowisko, które obsługuje bardziej dynamiczne i innowacyjne aplikacje. Dzięki skróceniu czasu wykonywania i narzutu zasobów deweloperzy mogą skupić się na tworzeniu bogatszych, bardziej interaktywnych doświadczeń, które wcześniej były ograniczone przez ograniczenia sieciowe.
Jak zauważono w tweecie , nadal istnieje potencjał do dalszej optymalizacji — co oznacza, że wydajność Cairo-Native może się z czasem poprawiać. W tym sensie uaktualnienie do wykonania Cairo-Native stanowi kluczowy krok w kierunku wykorzystania pełnego potencjału Starknet jako szybkiej, skalowalnej i przyjaznej dla deweloperów platformy oraz rozwijania możliwości technologii rollup w całym ekosystemie Ethereum.
Wersja tego artykułu została pierwotnie opublikowana tutaj .