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 Ethereum Plasma?
  4. 4. Co to jest Ethereum Casper?
  5. 5. Co to jest dowód Zk-SNARK i Zk-STARK
  6. 6. Co to jest Selfish Minning?
  7. 7. Czym jest spoofing na rynku kryptowalut?
  8. 8. Podpisy Schnorra - co to jest?
  9. 9. MimbleWimble
  10. 10. Cyfrowe prawo własności
  11. 11. Czym są ETFy?
  12. 12. Jak sprawdzić projekt kryptowalutowy – czyli tokenomia kryptowalut
  13. 13. Czym jest atak 51% na blockchain?
  14. 14. Czym jest i jak działa DAO? 
  15. 15. Zero-Knowledge Proof- protokół, który szanuje prywatność
  16. 16. Co to jest EOSREX?
  17. 17. Co to jest Proof of Elapsed Time- dowód upływającego czasu (PoET)?
  18. 18. Mirror Protocol – co to jest?
  19. 19. Aktywa syntetyczne
  20. 20. Jak stworzyć własny NFT?
  21. 21. Czym są likwidacje DeFI?
  22. 22. Nowy system tożsamości - Polygon ID
  23. 23. Fundacja Ethereum i protokół Scroll - czym są?
  24. 24. Czym jest bizantyjska tolerancja błędów?
  25. 25. Czym jest skalowalność technologii blockchain?
  26. 26. Interchain Security- nowy protokół Cosmos (Atom)
  27. 27. Coin Mixing vs. Coin Join - definicja, możliwości i zagrożenia
  28. 28. Czym jest Ethereum Virtual Machine MEV?
  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. Czym jest NEAR Rainbow Bridge?
  41. 41. Liquid Staking Ethereum i tokeny LSD. Co musisz wiedzieć na ten temat?
  42. 42. 10 najlepszych blockchainowych wyroczni. Jak działają? Czym się różnią?
  43. 43. Czym jest Web3.js i Ether.js? Jakie są między nimi podstawowe różnice?
  44. 44. Czym jest StarkWare i rekurencyjne dowody ważności
  45. 45. Quant Network: Skalowalność przyszłości
  46. 46. Polygon zkEVM - wszystko, co powinieneś wiedzieć
  47. 47. Co to jest Optimism (OP) i jak działają jego rollupy?
  48. 48. Czym są węzły RPC node i jak działają?
  49. 49. SEI Network: wszystko, co musisz wiedzieć o rozwiązaniu warstwy 1 dla DeFi
  50. 50. Rodzaje mechanizmów konsensusu Proof-of-Stake: DPoS, LPoS oraz BPoS
  51. 51. Bedrock: krzywa epileptyczna, która zapewnia bezpieczeństwo!
  52. 52. Czym jest Tendermint i jak działa?
  53. 53. Pantos: jak rozwiązać problem transferu tokenów miedzy blockchainami?
  54. 54. Czym jest szyfrowanie asymetryczne?
  55. 55. Funkcja Base-58 w kryptowalutach
  56. 56. Czym jest i jak działa protokół Nostr?
  57. 57. Czym jest i jak działa most XDAI Bridge?
  58. 58. Porównanie Solidity i Rust: Wybór języka programowania w ekosystemie blockchain.
  59. 59. Czym jest Real-Time Operating System (RTOS)?
  60. 60. Czym jest i jak działa Rinkeby Testnet Ethereum?
  61. 61. Czym jest szyfrowanie probabilistyczne?
  62. 62. Czym jest Pinata w Web 3? Wyjaśniamy!
  63. 63. Czym jest EIP-4337? Czy Ethereum Account Abstraction zmieni Web3 na zawsze?
  64. 64. Czym są audyty inteligentnych kontraktów? Jakie firmy się nim zajmują?
  65. 65. Jak działa portfel AirGapped?
  66. 66. Czym jest proto-danksharding (EIP-4844) na Ethereum?
  67. 67. Czym jest i jak działa zdecentralizowana pamięć masowa?
  68. 68. Jak odzyskać kryptowaluty wysłane na niewłaściwy adres lub sieć? Praktyczny poradnik!
  69. 69. Portfel MPC i Obliczenia Wielostronne: Innowacyjna technologia dla prywatności i bezpieczeństwa.
  70. 70. Podpis progowy w kryptografii: zaawansowana technika podpisywania!
  71. 71. Adres Vanity w kryptowalutach: czym jest i jaka jest jego charakterystyka?
  72. 72. Atak Ponownego Wejścia (Reentrancy Attack) na inteligentnych kontraktach: zagrożenie dla bezpieczeństwa blockchain!
  73. 73. Slither: statyczny analizator dla smart kontraktów!
  74. 74. Sandwich Attack w DeFi: wyjaśnienie i zagrożenia!
  75. 75. Blockchain RPC dla Web3: Kluczowa technologia w świecie zdecentralizowanych finansów!
  76. 76. Re-staking: Korzyści z ponownego delegowania środków w stakingu!
  77. 77. Base: Ewolucja transakcji kryptowalutowych dzięki rozwiązaniu warstwy 2 od Coinbase
  78. 78. IPFS: Nowa era zdecentralizowanego przechowywania danych
  79. 79. Typowe luki i zabezpieczenia mostów w technologii blockchain
Lekcja 34 z 79

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

zkEVM to skrót od Zero-knowledge Ethereum Virtual Machine, czyli Maszyny Wirtualnej Ethereum Zero-knowledge. Jest to platforma generująca dowody zerowej wiedzy w celu zweryfikowania programów. Dzisiejsza lekcja poświęcona będzie temu, czym dokładnie jest zkEVM, jak funkcjonuje oraz jakie ma związki z warstwą drugą Ethereum. Zaczynamy! 

Definicja zkEVM

ZkEVM stanowi integralną część Zero-knowledge rollups, które są rozwiązaniami mającymi na celu skalowanie warstwy drugiej Ethereum. Te innowacje zwiększają przepustowość, przenosząc obliczenia i przechowując je poza głównym łańcuchem blokowym. Zk-rollupy przekazują dane transakcyjne do Ethereum wraz z dowodami zerowej wiedzy, jednocześnie weryfikując ważność transakcji w trybie off-chain. Co istotne, zkEVM umożliwiają konstrukcję inteligentnych kontraktów, które obsługują technologię zerowej wiedzy, co stanowi postęp w stosunku do wcześniejszych zk-rollupów, które miały ograniczenia i służyły głównie do wymiany tokenów i dokonywania płatności.

ZkEVM są kompatybilne z EVM (Ethereum Virtual Machine). Aby zrozumieć ich działanie, warto wyjaśnić, że EVM to środowisko uruchomieniowe, w którym są wykonywane inteligentne kontrakty na sieci Ethereum. Możemy sobie wyobrazić EVM-y jako globalny komputer, zasilający dAppsy działające na blockchainie Ethereum. Wszystkie technologie kompatybilne z EVM mogą uruchamiać programy zaprojektowane do działania w tym środowisku. ZkEVM stanowi jedną z tych technologii, umożliwiając uruchamianie inteligentnych kontraktów w środowisku Ethereum bez konieczności modyfikacji bazowej logiki.

Jak działa EVM i zkEVM?

Aby zrozumieć funkcjonowanie zkEVM, warto najpierw przyjrzeć się działaniu samego EVM. Ethereum Virtual Machine to maszyna stanowa, która przechodzi z “starego stanu” do nowego, opierając się na danych wejściowych. W procesie realizacji inteligentnego kontraktu w tym ekosystemie, zachodzi tzw. “przejście stanu”. Ale co dokładnie dzieje się podczas transakcji wykonywanej za pomocą inteligentnego kontraktu w EVM? Przyjrzyjmy się bliżej.

Kod bajtowy danego inteligentnego kontraktu trafia do EVM i jest wykonywany przez węzeł peer-to-peer. Węzły używają identycznych danych wejściowych do transakcji, co zapewnia, że każdy z węzłów osiągnie ten sam wynik i uzyska konsensus.

Opcodes EVM (inaczej: bytecodes) współdziałają z pamięcią, magazynem i stosem ekosystemu EVM, wykonując operacje odczytu i zapisu.

Opcodes EVM dokonują precyzyjnych obliczeń, bazując na danych wejściowych uzyskanych z magazynu stanu. W rezultacie EVM przechodzi do nowego stanu (przejście stanu, o którym wcześniej wspomnieliśmy).

Mając na uwadze te informacje, łatwiej zrozumieć, jak funkcjonuje zkEVM. Również jest to wirtualna maszyna (podobnie jak EVM), przechodząca pomiędzy stanami, realizująca operacje zdefiniowane przez program. Jednakże, w przeciwieństwie do EVM, zkEVM idzie o krok dalej – generuje dowód, który stanowi potwierdzenie poprawności przeprowadzonych obliczeń. Dowodzi, że operacje wykonane wcześniej zgodne były z danymi wejściowymi i zasadami ustalonymi w protokole.

Podsumowując:

  • zkEVM generuje dowód zerowej wiedzy w celu weryfikacji elementów na różnych etapach obliczeń.
  • Posiada dostęp do bajtkodu i odpowiada na pytanie, czy odpowiedni kod programu został poprawnie załadowany i z jakiego adresu pochodzi.
  • Informuje, czy program pobierał właściwe wartości z odpowiedniego stanu przed rozpoczęciem obliczeń.
  • Ostatecznie sprawdza, czy opcody były wykonywane jeden po drugim, bez pomijania żadnego etapu.

Jak zbudowany jest zkEVM?

W ramach środowiska zkEVM wyróżniamy trzy kluczowe elementy:

  1. Część Wykonawczą: To miejsce, gdzie inteligentne kontrakty są uruchamiane w środowisku zkEVM. Na tym etapie, zkEVM pobiera stany początkowe oraz bieżące transakcje, aby na końcu wprowadzić aktualny stan.
  2. Obwód Udowadniający: Tutaj generowane są dowody zerowej wiedzy, które weryfikują ważność transakcji obliczonych w części wykonawczej. Proces ten odbywa się poprzez tworzenie dowodów, które potwierdzają poprawność wykonanych operacji.
  3. Weryfikacja: Stanowi ostatnią fazę, gdzie zk-rollupy przekazują dowody ważności do inteligentnych kontraktów zaimplementowanych na L1 Ethereum w celu weryfikacji. Weryfikator ponownie przeprowadza obliczenia, aby potwierdzić ich poprawność.

Ciekawostka: Kody operacyjne zkEVM to instrukcje niskopoziomowe maszynowe, używane do wykonywania programów w zk-rollupie. Ich istnienie wynika z konieczności efektywnego przetwarzania dowodów zerowej wiedzy, gdy standardowe kody operacyjne EVM są nieefektywne w tego typu kontekście.

zkEVM jako ważny element ekosystemu EVM

W pełni funkcjonalna implementacja zkEVM stanowi zachętę do rozwijania projektów opartych na zk-rollupach, które są zgodne z EVM. Z tego wynika szereg korzyści, obejmujących:

  1. Zwiększenie Przepustowości i Skalowalności: zkEVM przyczynia się do zwiększenia przepustowości i skalowalności, co stanowi istotny krok naprzód w rozwoju projektów opartych na zk-rollupach.
  2. Zmniejszenie Kosztów: Implementacja zkEVM ma potencjał znacznego obniżenia kosztów, co może być kluczowe dla efektywności projektów korzystających z tej technologii.
  3. Przyspieszenie Finalizacji na Blockchainie i Zwiększenie Efektywności: Dzięki zkEVM procesy finalizacji na blockchainie stają się bardziej efektywne, przyspieszając cały ekosystem i zwiększając jego wydajność.
  4. Wspieranie Wykorzystania Efektów Sieciowych w Ethereum: Pełna funkcjonalność zkEVM sprzyja zwiększeniu wykorzystania efektów sieciowych oferowanych przez Ethereum, co przekłada się na ogólną poprawę funkcji ekosystemu blockchainowego.

Rodzaje zkEVM

Warto zaznaczyć, że współczesne projekty zkEVM można podzielić na dwie główne kategorie:

  1. zkVM ze Wsparciem Natywnych Kodów Operacyjnych EVM: Projekty tej kategorii są zoptymalizowane pod kątem natywnych kodów operacyjnych EVM. Wspierają one standardowe operacje zgodne z Ethereum Virtual Machine, co ułatwia integrację i zrozumienie dla społeczności korzystającej z istniejących narzędzi opartych na EVM.
  2. zkVM z Użyciem Niestandardowych Kodów Operacyjnych EVM: Druga kategoria projektów zkEVM korzysta z niestandardowych kodów operacyjnych EVM. Oznacza to, że używają specjalnie dostosowanych instrukcji niskopoziomowych, co może wprowadzać pewne różnice w funkcjonalności w porównaniu do tradycyjnych rozwiązań opartych na EVM.

Poniżej dokładniej omówimy, jak działają i jakie są różnice między różnymi protokołami zkEVM.

Polygon zkEVM

Polygon Hermez, znany także jako Polygon zk-rollup, charakteryzuje się wbudowaną maszyną wirtualną o zerowej wiedzy i ma na celu wspieranie kompatybilności z EVM. Aby osiągnąć ten cel, kod bajtowy EVM musi być zgodny z mikroopkodami i być wykonany w uVM, czyli maszynie wirtualnej wykorzystującej dowody SNARK i STARK. W przypadku Polygon Hermez zkEVM, wykorzystywany jest dowód STARK do generowania dowodów ważności dla przejścia między różnymi stanami. Proces ten obejmuje weryfikację poprawności dowodów STARK, które są następnie przesyłane do Ethereum w celu ponownej weryfikacji.

zkSyncEVM

To nic innego, jak kompatybilny z EVM zk-rollup, opracowany przez firmę Matter Labs i napędzany przez ich własną technologię zkEVM. Zapewnia zgodność z Ethereum na poziomie używanego języka programowania, zamiast bazować na bajtkodzie.

Scroll zkEVM

Projekt nadal się rozwija. Zgodnie z informacjami od deweloperów, Scroll zkEVM planuje korzystanie z tzw. akumulatora kryptograficznego, aby pełni zweryfikować poprawność przechowywanych danych. W rezultacie zostanie udowodnione, że kod bajtowy kontraktu został właściwie załadowany z wcześniej określonego adresu.

AppliedZKp zkEVM

AppliedZKP pracuje nad stworzeniem zk-rollupa, który będzie zgodny z EVM oraz opracowuje mechanizm generowania dowodów ważności dla bloków Ethereum. Cały ten projekt finansowany jest przez Ethereum Foundation.

Podsumowanie

Większość projektów zkEVM nadal przebywa w fazie badań, produkcji i poszukiwań optymalnych rozwiązań. Jednak rosnące zapotrzebowanie na dowody zerowej wiedzy z pewnością przyspieszy ten cały proces.