Powrót

3. Poziom zaawansowany

Ukończono: 0%
Kroki: 0/0
  1. 1. Co to jest Taproot?
  2. 2. Mosty blockchain – co to jest?
  3. 3. Czym jest atak 51% na blockchain?
  4. 4. Zero-knowledge proof- protokół, który szanuje prywatność
  5. 5. Co to jest EOSREX?
  6. 6. Mirror Protocol – co to jest 
  7. 7. Czym jest i jak działa DAO? 
  8. 8. Czym jest spoofing na rynku kryptowalut?
  9. 9. Cyfrowe prawo własności
  10. 10. Jak sprawdzić projekt kryptowalutowy – czyli tokenomia kryptowalut
  11. 11. Czym jest Ethereum Plasma?
  12. 12. Co to jest Ethereum Casper?
  13. 13. Co to jest Selfish Minning?
  14. 14. Jak stworzyć własny NFT?
  15. 15. Podpisy Schnorra - co to jest?
  16. 16. Co to jest dowód Zk-SNARK i Zk-STARK
  17. 17. Co to jest Proof of Elapsed Time- dowód upływającego czasu (PoET)?
  18. 18. MimbleWimble
  19. 19. Czym są ETFy?
  20. 20. Aktywa syntetyczne
  21. 21. Czym są likwidacje DeFI?
  22. 22. Nowy system tożsamości - Polygon ID
  23. 23. Czym jest Ethereum Virtual Machine MEV?
  24. 24. Fundacja Ethereum i protokół Scroll - czym są?
  25. 25. Czym jest bizantyjska tolerancja błędów?
  26. 26. Czym jest skalowalność technologii blockchain?
  27. 27. Interchain Security- nowy protokół Cosmos (Atom)
  28. 28. Coin Mixing vs. Coin Join - definicja, możliwości i zagrożenia
  29. 29. Co to są tokeny SoulBound SBD?
  30. 30. Co to jest Lido?
  31. 31. Czym są Threshold Signatures i jak działają?
  32. 32. Technologia blockchain i cyberataki
  33. 33. Skrypt Bitcoina - czym jest i co powinieneś wiedzieć na ten temat
  34. 34. Czym jest zkEVM i jakie są jego podstawowe cechy?
  35. 35. Czy poufne transakcje na blockchainie istnieją? Co to jest Confidential Transaction?
  36. 36. Algorytmiczne stablecoiny – wszystko, co powinieneś o nich wiedzieć
  37. 37. Polygon Zk Rollups - co powinieneś wiedzieć na jego temat?
  38. 38. Co to jest Infura Web3?
  39. 39. Mantle – skalowalność Ethereum L2 – jak działa?
  40. 40. Polygon zkEVM - wszystko, co powinieneś wiedzieć
  41. 41. Co to jest Optimism (OP) i jak działają jego rollupy?
  42. 42. Czym są węzły RPC node i jak działają?
  43. 43. SEI Network: wszystko, co musisz wiedzieć o rozwiązaniu warstwy 1 dla DeFi
  44. 44. Rodzaje mechanizmów konsensusu Proof-of-Stake: DPoS, LPoS oraz BPoS
  45. 45. Bedrock: krzywa epileptyczna, która zapewnia bezpieczeństwo!
  46. 46. Czym jest Tendermint i jak działa?
  47. 47. Pantos: jak rozwiązać problem transferu tokenów miedzy blockchainami?
  48. 48. Czym jest szyfrowanie asymetryczne?
  49. 49. Funkcja Base-58 w kryptowalutach
  50. 50. Czym jest i jak działa protokół Nostr?
  51. 51. Czym jest i jak działa most XDAI Bridge?
  52. 52. Porównanie Solidity i Rust: Wybór języka programowania w ekosystemie blockchain.
  53. 53. Czym jest Pinata w Web 3? Wyjaśniamy!
  54. 54. Czym jest Real-Time Operating System (RTOS)?
Lekcja 34 z 54

34. Czym jest zkEVM i jakie są jego podstawowe cechy?

zkEVM, czyli Zero-knowledge Ethereum Virtual Machine. Maszyna wirtualna, generująca dowody zerowej wiedzy w celu weryfikacji programów. Czym jest, jak działa oraz jakie ma powiązanie z Layer 2 Ethereum – to temat naszej dzisiejszej lekcji. Zaczynamy! 

Definicja zkEVM

ZkEVM to część Zero-knowledge rollups – rozwiązań, które skalują warstwę drugą Ethereum. Poprawiają przepustowość, przenosząc obliczenia i przechowując je poza łańcuchem głównym. Zk-rollupy przesyłają dane transakcyjne do Ethereum wraz z dowodami zerowej wiedzy, weryfikując jednocześnie ważność transakcji w trybie off-chain. Co ważne, zkEVM mają możliwość budowania inteligentnych kontraktów w taki sposób, który obsługuje technologię zerowej wiedzy. Wcześniejsze zk-rollupy nie miały takiej możliwości. Były ograniczone i służyły głównie do wymiany tokenów i płatności. Jednakże, wraz z rozwojem technologicznym i wprowadzeniem wirtualnych maszyn kompatybilnych z zkEVM, zk-rollupy zaczęły wspierać Ethereum dApps. 

ZkEVM są kompatybilne z EVM. Żeby dokładnie zrozumieć, jak działają, musimy wyjaśnić, czym jest EVM. EVM, czyli Ethereum Virtual Machine – środowisko runtime, w którym powstają inteligentne kontrakty, wdrożone w sieci Ethereum.

Możesz sobie wyobrazić, że EVM-y to taki światowy komputer, który zasila dAppsy, działające na blockchainie Ethereum. Wszystkie technologie kompatybilne z EVM to takie, które mogą uruchamiać programy stworzone do działania w środowisku EVM. zkEVM są jedną z takich technologii, ponieważ mogą uruchamiać inteligentne kontrakty w środowisku Ethereum bez modyfikacji logiki bazowej. 

Jak działa EVM i zkEVM?

Aby zrozumieć, jak działa zkEVM musimy najpierw przyjrzeć się działaniu samego EVM. Ethereum Virtual Machine – maszyna stanowa, która przechodzi ze „starego stanu” do nowego, bazując na danych wejściowych. Realizując inteligentny kontrakt w tym ekosystemie, wywołujemy zmianę EVM. Branżowo nazywamy to „przejściem stanu”.  Co zatem dzieje się podczas transakcji wykonywanej za pomocą inteligentnego kontraktu w EVM? Przyglądnijmy się. 

  • Kod bajtowy danego inteligentnego kontraktu przechodzi do EVM i jest wykonywany przez węzeł peer-to-peer. Węzły używają identycznych danych wejściowych do transakcji. Mamy więc gwarancję, że każdy z węzłów osiągnie ten sam wynik i osiągnie konsensus. 
  • EVM Opcodes (inaczej: bytecodes) mogą współpracować z pamięcią, magazynem i stosem ekosystemu EVM. Wykonują operacje odczytu i zapisu. 
  • Opcodes EVM wykonują dokładne obliczenia, bazując na danych wejściowych uzyskanych z magazynu stanu. W efekcie EVM przechodzi na nowy stan (tzw. przejście stanu, o którym pisaliśmy wcześniej). 

Biorąc pod uwagę powyższe informacje, łatwiej będzie Ci zrozumieć zkEVM. One również są wirtualną maszyną (podobnie jak EVM), która przechodzi pomiędzy stanami, nawiązując do operacji, które wykonuje program. Z tą jednak różnicą, że zkEVM idzie dalej – wytwarza dowód, który jest dla nas poświadczeniem poprawności dokonanych obliczeń. Udowadnia, że wykonane wcześniej operacje podążały za danymi wejściowymi i regułami przyjętymi w protokole. Podsumowując:

  • zkEVM generuje dla nas dowód zerowej wiedzy, aby zweryfikować elementy na różnych etapach obliczeń. 
  • Ma dostęp do bajkodu i odpowiada nam na pytanie, czy odpowiedni kod programu został załadowany poprawnie i z jakiego adresu pochodzi. 
  • zkEVM informuje, czy program poprał właściwe wartości z odpowiedniego stanu, przed dokonaniem jakichkolwiek obliczeń. 
  • I finalnie – czy opcody były wykonywane jeden po drugim, bez pomijania któregokolwiek etapu. 

Jak zbudowany jest zkEVM?

W środowisku zkEVM wyróżniamy aż trzy części:

  • Część wykonawczą, gdzie inteligentne kontrakty są uruchamiane w środowisku zkEVM. Na tym etapie zkEVM pobiera stany początkowe i bieżące transakcje, aby na końcowym etapie wprowadzić aktualny stan. 
  • Obwód udowadniający. To tutaj następuje produkcja dowodów zerowej wiedzy, które weryfikują ważność transakcji, obliczonych w części wykonawczej. 
  • Weryfikacja. Czyli nasza ostatnia część, w której zk-rollupy przekazują dowody ważności do inteligentnych kontraktów, wdrożonych na L1 Ethereum w celu weryfikacji. Następnie weryfikator jeszcze raz przeprowadza obliczenia i potwierdza, że są one poprawne. 

Ciekawostka: Kody operacyjne zkEVM to maszynowe instrukcje niskopoziomowe, których używamy do wykonywania programów w zk-rollupie. Są one niezbędne, ponieważ zwykłe kody operacyjne EVM są nieefektywne w przypadku dowodów zerowej wiedzy. 

zkEVM jako ważny element ekosystemu EVM

W pełni funkcjonalny zkEVm zachęci do rozwoju projekty, zbudowane na zk-rollupy, które będą kompatybilne z EVM. A to niesie już za sobą stos innych korzyści. Zaliczymy do nich:

  • Zwiększy przepustowość i skalowalność. 
  • Zmniejszy koszty.
  • Przyśpieszy finalizację na blockchainie i zwiększy jego efektywność. 
  • Pomoże zwiększyć wykorzystanie efektów sieciowych, jakie daje Ethereum. 

Rodzaje zkEVM

Warto wiedzieć, że obecnie projekty zkEVM dzielą się na dwie kategorie. 

  1. zkVM, które wspierają natywne kody operacyjne EVM.
  2. zkVM, które do działania używają niestandardowych kodów operacyjnych EVM. 

Poniżej wyjaśnimy sobie, jakie są i jak działają różne protokoły zkEVM. 

Polygon zkEVM

Polygon Hermez, czyli Polygon zk-rollup, ze wbudowaną maszyną wirtualną  o zerowej wiedzy. Ma wspierać kompatybilność EVM. Aby to zrobić, kod bajtowy EVM musi być kompatybilny z mikroopkodami i zostać wykonany w uVM (również maszyna wirtualna, wykorzystująca dowody SNARK i STARK). Polygon Hermez zkEVM wykorzystuje dowód STARK do wygenerowania dowodów ważności dla przejścia stanów. STARK weryfikuje poprawność dowodów STARK i przekazuje je do Ethereum w celu ponownej weryfikacji. 

zkSyncEVM

To nic innego jak kompatybilny z EVM zk-rollup. Został opracowany przez Matter Labs i jest zasilany przez własny zkEVM. Osiąga kompatybilność z Ethereum na poziomie używanego języka programowania, a nie bajtkodu. 

Scroll zkEVM

Jest ciągle w fazie rozwoju. Zgodnie z informacjami uzyskanymi od deweloperów, Scroll zkEVM będzie używał tzw. akumulatora kryptograficznego, aby w pełni zweryfikować poprawność przechowywania. W efekcie udowodni, że kod bajtowy kontraktu został poprawnie załadowany z podanego wcześniej adresu. 

AppliedZKp zkEVM

AppliedZKP ma opracować zk-rollup kompatybilny z EVM, a także mechanizm do generowania dowodów ważności dla bloków Ethereum. Cały projekt jest finansowany przez Ethereum Foundation. 

Podsumowanie

Większość zkEVM wciąż jest na etapie badań, produkcji i szukania optymalnych rozwiązań. Jednak rosnące zapotrzebowanie na dowody zerowej wiedzy na pewno przyśpieszy cały ten proces.