Porozmawiajmy o supermocy Starknet: Sierra. Kiedy budujesz blockchain oparty na ZK, z VM opartym na ZK do ogólnych obliczeń (takim jak Cairo dla Starknet), napotkasz problem: Jak sprawić, aby VM był zarówno bezpieczny dla blockchaina, jak i przyjazny dla ZK? Problem dotyczy niedeterministyczności. Wyjaśnię: zkVM-y stają się znacznie bardziej wydajne, jeśli sekwencer/prover może "zgadywać" pewne wpisy i magicznie je wypełniać. Problem polega na tym, że otwiera to pole do różnych ataków: Złośliwy użytkownik może wysłać transakcję, której nie można łatwo zgadnąć, a złośliwy sekwencer/prover może zdecydować się nie zgadywać właściwej wartości, aby zaszkodzić użytkownikowi. Jakie jest rozwiązanie? - Jedną z opcji jest usunięcie niedeterministyczności. Ale to szkodzi wydajności. - Inną opcją jest użycie metod teoretycznych gier, aby umożliwić innym sekwencerom karanie atakujących, jednocześnie zachęcając niektórych sekwencerów do uwzględniania dobrych transakcji. - Trzecią opcją jest zbudowanie bezpiecznej reprezentacji pośredniej (nazywamy to: Sierra). Sierra pozwala na odpowiedni rodzaj niedeterministyczności, w taki sposób, że wszystkie zgadywania mogą być wypełnione. W międzyczasie, posiadanie tego narzędzia pozwala rozwiązać inne fajne rzeczy, takie jak dodanie pomiaru gazu jako część procesu kompilacji. Podsumowanie: Pod maską Cairo, najlepszego języka smart kontraktów, znajduje się klejnot, supermoc, która pozwala na uruchamianie bezpiecznego i wydajnego blockchainowego ZK. Tylko na Starknet, przyszłościowa technologia dzisiaj.