Ostatnim ważnym wydarzeniem w sieci Ethereum było wdrożenie aktualizacji Shapella, które odbyło się w połowie kwietnia. Jest to jednak dopiero początek transformacji do Ethereum 2.0. Deweloperzy wciąż muszą rozwiązać największe problemy blockchaina: wysokie opłaty i niską przepustowość. Kolejnym krokiem w tym kierunku będzie wprowadzenie shardingu. Funkcja ta również zostanie wdrożona w kilku etapach - pierwszym z nich jest EIP-4844. W dzisiejszym artykule przeanalizujemy co przyniesie ta aktualizacja i jakie zmiany wprowadzi w Ethereum. Tak więc, zaczynajmy!
Sieć Ethereum planuje wdrożyć tzw. danksharding, czyli model, który wykorzystuje:
Samo Ethereum będzie podzielone na 64 shardy, które łączą się z łańcuchem koordynacyjnym - Beacon Chain. W tym łańcuchu będą działać tzw. węzły oferujące, które wybierają transakcje i przekazują je do konkretnego sharda w celu przetworzenia i uformowania bloku.
Mówiąc prościej, zamiast jednego łańcucha, gdzie każdy węzeł musi załadować każdą transakcję, będzie koordynujący Beacon Chain i powiązane z nim shardy przetwarzające transakcje równolegle. Węzły w każdym shardzie przechowują tylko swoją część danych związanych z ich transakcjami, zamiast pełnej historii transakcji w sieci:
Koncepcja shardingu Ethereum nosi nazwę "dank sharding" od nazwiska badacza Ethereum Dankrada Feista, który zaproponował opisaną powyżej architekturę. Szczegółowy opis techniczny dankshardingu autorstwa Vitalika Buterina jest dostępny tutaj.
EIP-4844 proponuje wdrożenie proto dankshardingu w sieci Ethereum. To wstępny etap, który powinien wprowadzić podstawowe zmiany niezbędne do pełnego uruchomienia dankshardingu w przyszłości. EIP-4844 ma 2 cele:
Pełna lista zmian wprowadzanych w EIP-4844 oraz prac, które należy jeszcze wykonać, aby w pełni wdrożyć sharding, dostępna jest w opisie technicznym propozycji.
Deweloperzy motywują potrzebę wdrożenia proto danksharingu wysokimi opłatami w ekosystemie Ethereum. Te nawet w sieciach warstwy 2 pozostają poza zasięgiem wielu użytkowników. I choć dopiero pełne wdrożenie shardingu rozwiąże ten problem w sieci głównej, to w przypadku warstwy 2 sytuacja może ulec zmianie już teraz poprzez zapewnienie tańszej przestrzeni dyskowej dla tego typu rozwiązań.
Ponadto, gdy sharding zostanie wdrożony, sieci warstwy 2 będą musiały w ten czy inny sposób zmodernizować się, aby wykorzystać nową strukturę transakcji. EIP-4844 pozwoli zrobić to już teraz, nie czekając na wdrożenie shardingu. Warstwa wykonawcza Ethereum (EVM) nie zostanie naruszona, a sieć będzie kompatybilna ze wszystkimi rozwiązaniami.
Podobnie jak w przypadku dankshardingu, nazwa "proto-danksharding" pochodzi od badacza Ethereum Proto-Lambda. To on zaproponował realizację etapu wstępnego, który powinien ułatwić przejście na sharding.
Główną zmianą w EIP-4844 jest wprowadzenie nowego typu transakcji wykorzystujących duże obiekty binarne lub bloby (BLOB). Bloby są ważną częścią architektury dunksharingu, ale mogą pomóc sieci warstwy 2 przed ich wdrożeniem.
Obecnie rozwiązania typu rollup, podczas przetwarzania transakcji, wysyłają do warstwy 1 tylko krótkie informacje z nowym stanem sieci. Dane wsadowe transakcji są zapisywane w calldata. Chociaż zapisywanie danych calldata jest tańsze, węzły przechowują te informacje w nieskończoność. To prowadzi do akumulacji danych i zwiększenia wymagań węzłów. EIP-4844 sugeruje zapisywanie danych wsadowych transakcji nie na calldata. Teraz trochę więcej szczegółów na temat głównych elementów tego mechanizmu:
Bloby to pakiety danych, w których zapisywana jest pełna informacja o bloku transakcji warstwy 2. Blok jest przechowywany poza warstwą wykonawczą, tzn. EVM nie ma bezpośredniego dostępu do danych w bloku. Deweloperzy używają do opisu pojęcia "sidecar", ponieważ blok jest "przyczepiony" do bloku jak sidecar do motocykla.
Sam blob, w przeciwieństwie do calldata, będzie przechowywany przez ograniczony czas, wystarczający dla rollup-walidatorów do odzyskania pełnej historii transakcji w razie potrzeby (~1-3 miesiące). Po tym czasie dane są usuwane. Cykl życia bloba wygląda następująco:
Ponieważ blob może zawierać dużą ilość danych, początkowo będzie obowiązywał limit 2-4 blobów (0,25-0,5 MB) na blok. Te początkowe limity powinny zminimalizować obciążenie sieci i oczekuje się, że zostaną zwiększone w przyszłych aktualizacjach.
KZG to dowód zobowiązania, który będzie wykorzystywany w Ethereum danksharing. Aby maksymalnie uprościć, KZG pokazuje, że dana wartość w danym punkcie jest równa zadeklarowanej przez niego Dlaczego jest to potrzebne? Jak wspomnieliśmy powyżej, EVM nie ma bezpośredniego dostępu do danych blob. Warstwa wykonawcza wykorzystuje więc dowody KZG do weryfikacji ważności danych.
Więcej o tym, jak powstają KZG i dlaczego są potrzebne, dowiesz się tutaj.
Dodajmy, że KZG wymaga danych surowych, które są generowane podczas publicznej ceremonii. Publiczna ceremonia z dużą liczbą użytkowników zapewnia, że atakujący nie może uzyskać dostępu do surowych danych i manipulować KZG.
Oprócz tego EIP-4844 integruje formułę dynamicznej zmiany kosztów korzystania z przestrzeni blockchain. Działa ona w taki sam sposób jak mechanizm zaimplementowany w EIP-1559. Jej celem jest zapewnienie, że koszt gazu dostosowuje się tak szybko, jak to możliwe, w miarę wykorzystywania przestrzeni w blokach.
Techniczne zmiany, które przyniesie EIP-4844 są mniej lub bardziej jasne, ale jak wpłynie to na doświadczenie użytkownika? Istnieją dwie ważne rzeczy:
Wdrożenie proto-dunksharingu planowane jest na drugą połowę 2023 roku, czyli w najbliższych miesiącach. Nie ulega wątpliwości, że to wydarzenie da impuls do rozwoju ekosystemu warstwy 2. Już teraz analitycy nazywają obecny trend L2-summer.
Według DeFi Llama, zagregowany TVL 11 sieci rollupów wykazuje wzrost od jesieni 2022 roku. Trend wzrostowy TVL skutecznie zatrzymał się po spadku Arbitrum. Jednak EIP-4844 może być motorem, który ponownie napędzi projekty warstwy 2.
EIP-4844 to propozycja wdrożenia proto dankshardingu w sieci głównej Ethereum: etap pośredni przed wdrożeniem pełnoprawnego shardingu.
Proto-dunksharding ma 2 główne cele:
Cele te planuje się osiągnąć poprzez wdrożenie nowej logiki transakcyjnej wykorzystującej duże obiekty binarne (bloby) do tymczasowego przechowywania danych. Pełny potencjał blobów zostanie odblokowany dopiero po pełnym shardingu. Jednak po wdrożeniu EIP-4844 sieci warstwy 2 będą mogły używać blobów do zapisu danych transakcyjnych zamiast calldata.
Główną konsekwencją EIP-4844 dla użytkowników będzie znaczne obniżenie kosztów transakcji w sieciach warstwy 2. Być może także nieznaczne obniżenie kosztów gazu w sieci głównej Ethereum. To z kolei może dać impuls do szybkiego rozwoju rozwiązań rollupów i ich ekosystemów.