EIP-4844: Czym jest proto-danksharding?

Czym jest EIP-4844 (proto-danksharding)?
Proto-danksharding to aktualizacja Ethereum, która stanowi ważny krok w mapie rozwoju skalowalności blockchaina Ethereum i jest częścią szerszej aktualizacji Dencun. Proto-danksharding został wdrożony poprzez propozycję EIP-4844, natomiast aktualizacja Dencun składa się z wielu EIP-ów, z których każdy usprawnia inny obszar sieci. Wszystkie te propozycje mają wspólny cel: obniżyć koszty transakcji i zwiększyć skalowalność sieci Ethereum.
Proto-danksharding wprowadza nową, wydajną strukturę danych i pełni rolę uproszczonego etapu pośredniego prowadzącego do pełnego dankshardingu. Już teraz wprowadza kluczowe elementy, takie jak bloby i odwołania do commitmentów, ale bez użycia rzeczywistych shardów danych. W ten sposób tworzy techniczne podstawy pod przyszłe skalowanie. Oprócz tej aktualizacji EIP pojawiły się także inne dobrze znane usprawnienia, takie jak EIP-4844 i EIP-1599.
Najważniejsze informacje
-
EIP-4844 (proto-danksharding) to aktualizacja, która zwiększa skalowalność Ethereum poprzez wprowadzenie blobów.
-
Bloby to nowa struktura danych, która tymczasowo przechowuje duże ilości danych poza EVM, zaprojektowana specjalnie z myślą o rollupach.
-
Bloby zastępują calldata jako tańszy sposób publikowania danych w Ethereum, bez obciążania mainnetu niepotrzebnym długoterminowym przechowywaniem danych.
-
Bloby mają własny mechanizm cenowy, niezależny od standardowych opłat transakcyjnych, co zapewnia niskie koszty transakcji przy dużym przeciążeniu sieci na blockchainie Ethereum.
-
Liczba blobów w jednym bloku jest obecnie ograniczona do sześciu, aby zapobiegać spamowi.
Limit ten chroni sieć i zapewnia stabilne działanie mechanizmu wyceny. -
Proto-danksharding to krok pośredni na drodze do pełnego dankshardingu w mapie rozwoju Ethereum.
Tworzy techniczne fundamenty pod przyszłe aktualizacje z shardami danych i większą skalowalnością, bez kompromisów w zakresie bezpieczeństwa i decentralizacji.
Co wprowadza proto-danksharding?
Proto-danksharding wprowadza do sieci nowy typ transakcji: transakcję zawierającą blob. Blob to tymczasowa przestrzeń do przechowywania danych, w której za pośrednictwem rollupu agregowane są informacje. Obejmują one transakcje i inne dane wykorzystywane przez rollupy, takie jak dane dowodowe (dane potwierdzające poprawność transakcji) lub metadane. Dane te nie są trwale przechowywane w Ethereum Virtual Machine (EVM). Zamiast tego w EVM zapisywane jest jedynie odwołanie (tzw. commitment) do blobu. Grupowanie transakcji w blobie i brak konieczności trwałego przechowywania wszystkich danych znacząco obniża koszty i zwiększa skalowalność. Dzięki temu zmniejsza się ilość danych, które trzeba przetworzyć w transakcji, co przekłada się na niższe koszty.
Bloby zostały zaprojektowane specjalnie z myślą o rollupach w sieci, takich jak rozwiązania Layer 2, np. Optimism i Arbitrum. Zwykle potrzebują one danych tylko tymczasowo. Przed blobami dane trzeba było wysyłać za pomocą calldata, które były trwale zapisywane na blockchainie Ethereum. Wszystkie węzły przechowywały te dane, nawet gdy nie były potrzebne, co niepotrzebnie podnosiło koszty. W przypadku blobów dane są przechowywane przez około dwa tygodnie. Po tym czasie są usuwane. Za tymczasowe przechowywanie danych i utrzymywanie ich dostępności tak długo, jak jest to potrzebne do weryfikacji, odpowiadają rollupy.
Mechanizm wyceny blobów
Bloby mają również własny mechanizm wyceny. Nie działają w ramach modelu opłat transakcyjnych wprowadzonego przez EIP-1559. Zamiast tego korzystają z osobnej opłaty bazowej za blob ('blob base fee'), całkowicie niezależnej od standardowych opłat gas. Blob base fee określa, ile płacisz za dodanie blobu (danych używanych przez rollupy) do bloku.
Blob base fee działa w oparciu o własny mechanizm podaży i popytu:
- Jeśli popyt na bloby jest wysoki (dużo rollupów), blob base fee rośnie.
- Jeśli popyt jest niski, opłata bazowa automatycznie spada.
- Użytkownicy płacą opłatę bazową + opcjonalny napiwek, aby przyspieszyć uwzględnienie blobu.
Oddzielenie transakcji blobów od standardowych transakcji zapobiega gwałtownym wzrostom kosztów blobów w okresach dużego przeciążenia sieci i sprawia, że opłaty są bardziej przewidywalne. Dzięki temu transakcje rollupów pozostają przystępne cenowo nawet wtedy, gdy rośnie obciążenie blockchaina Ethereum. To sprawia, że rozwiązania Layer 2 są szczególnie atrakcyjną alternatywą, ponieważ są po prostu znacznie tańsze.
Liczba blobów, które można przetworzyć w jednym bloku, wynosi obecnie sześć. Limit ten zapobiega spamowi i chroni sieć przed zalewem danych. Stabilizuje też mechanizm wyceny blobów. Liczba transakcji, które można przetworzyć w blobie, zależy od używanego rozwiązania rollup. Szeroko rzecz ujmując, wyróżnia się dwa typy rollupów: ZK-rollupy i Optimistic rollupy. Działają one inaczej, co wpływa na liczbę transakcji możliwych do przetworzenia w jednym blobie. ZK-rollupy są zazwyczaj bardziej wydajne i mogą przetworzyć ponad 1 000 transakcji w jednym blobie. Optimistic rollupy zwykle przetwarzają od 100 do 1 000 transakcji na blob.
Jakie problemy rozwiązuje EIP-4844 (proto-danksharding)?
EIP-4844 (proto-danksharding) rozwiązuje kilka kluczowych problemów związanych ze skalowalnością sieci Ethereum, ze szczególnym uwzględnieniem rollupów. Oto główne wyzwania skalowalności, które rozwiązuje proto-danksharding:
Bardziej efektywne przechowywanie danych dzięki blobom
Przed proto-dankshardingiem rollupy musiały przesyłać swoje dane za pośrednictwem calldata. To rodzaj danych wysyłanych do smart kontraktów. Rollupy wykorzystywały calldata do przesyłania danych transakcyjnych, które były trwale zapisywane w blockchainie, co wiązało się z większym zapotrzebowaniem na gas i wyższymi kosztami. Co więcej, calldata konkuruje z innymi transakcjami o miejsce w nowym bloku, tworząc nieskalowalny i nieefektywny system, który przechowuje niepotrzebne dane.
Wraz z wprowadzeniem blobów dane są tymczasowo przechowywane poza Ethereum Virtual Machine (EVM). Z EVM wykonywane jest jedynie odwołanie do blobu, co pozwala uniknąć przechowywania zbędnych dodatkowych danych na blockchainie Ethereum. Zmniejsza to presję na przestrzeń do przechowywania i obniża koszt pojedynczej transakcji. Bloby są też zoptymalizowane specjalnie pod kątem aplikacji intensywnie korzystających z danych, takich jak rollupy, dzięki czemu standardowe transakcje nie są już tym obciążone.
Więcej przestrzeni na dane
Dzięki proto-dankshardingowi w jednym bloku można przetworzyć większą ilość danych. Bloby mogą obsłużyć większą pojemność danych niż calldata, nie wywierając dodatkowego obciążenia na EVM i blockchain. Jest to możliwe, ponieważ bloby przechowują dane poza EVM i utrzymują ich dostępność tylko tymczasowo (około dwóch tygodni), bez trwałego zapisu w Ethereum.
Takie podejście zwiększa całkowitą przepustowość danych w sieci. Rollupy mogą wysyłać duże pakiety danych w ramach pojedynczej transakcji, co przekłada się na korzyści w zakresie skalowalności. Otwiera to przestrzeń dla większej liczby aplikacji Layer 2 bez przeciążania samej sieci Ethereum.
Lepsza skalowalność bez poświęcania decentralizacji i bezpieczeństwa
Proto-danksharding poprawia skalowalność Ethereum bez naruszania decentralizacji i bezpieczeństwa sieci. W przeciwieństwie do scentralizowanych podmiotów poszukujących scentralizowanych rozwiązań do przechowywania danych, Ethereum wykorzystuje mechanizm, w którym dane są tymczasowo przechowywane poza łańcuchem za pomocą blobów, ale efektywnie przetwarzane w istniejącej, zdecentralizowanej sieci.
Dzięki temu Ethereum może pozostać zdecentralizowane, nie rezygnując z niezawodności infrastruktury w okresach szczytowego obciążenia. W przypadku EIP-4844 rollupy nadal odpowiadają za przetwarzanie transakcji, podczas gdy Ethereum zapewnia jedynie dostępność powiązanych danych. Tworzy to skalowalny system, który utrzymuje bezpieczeństwo mainnetu, a jednocześnie umożliwia przetwarzanie tysięcy transakcji na sekundę za pośrednictwem rozwiązań Layer 2.
Przygotowanie pod danksharding i inne przyszłe rozszerzenia
EIP-4844 to fundamentalne usprawnienie sieci Ethereum i ważny krok na drodze do pełnego dankshardingu. Aktualizacja proto-danksharding już teraz wprowadza kilka elementów pełnego dankshardingu, a mianowicie bloby, odwołania do commitmentów oraz nowy mechanizm wyceny transakcji blob. Komponenty te tworzą techniczne podstawy, na których mogą opierać się przyszłe aktualizacje Ethereum.
Gdy danksharding zostanie ostatecznie wdrożony, elementy te będzie można łatwo skalować do systemu z wieloma shardami. Pozwoli to Ethereum obsługiwać znacznie większą pojemność danych w bezpieczny i zdecentralizowany sposób, bez potrzeby tworzenia całkowicie nowego mechanizmu.
Jak proto-danksharding wpisuje się w mapę rozwoju Ethereum?
Proto-danksharding (EIP-4844) to tylko jeden z wielu elementów ukierunkowanych na długoterminowe zwiększanie skalowalności Ethereum. Jest jednak kluczową aktualizacją, ponieważ wprowadza nową technologię niezbędną do przejścia do pełnego dankshardingu i innych przyszłych usprawnień.
Propozycja została uruchomiona w ramach aktualizacji Dencun, która została wdrożona na mainnecie Ethereum 13 marca 2024 roku. Dencun to połączenie dwóch aktualizacji: Deneb (dla warstwy konsensusu) i Cancun (dla warstwy wykonawczej). Obie aktualizacje składają się z wielu EIP-ów zaprojektowanych tak, aby uczynić Ethereum bardziej wydajnym, tańszym i skalowalnym.
Choć wszystkie EIP-y wnoszą swój wkład, EIP-4844 jest uznawany za centralny element Dencun. Położył fundamenty pod pełny danksharding, który pojawi się w późniejszym etapie mapy rozwoju Ethereum, i przygotował grunt pod dodanie shardów danych oraz próbkowania danych. Funkcje te mają na celu przekształcenie Ethereum w w pełni shardowaną infrastrukturę danych.
Proto-danksharding, Dencun i pełny danksharding są częścią szerszego etapu mapy rozwoju Ethereum znanego jako The Surge, który koncentruje się na skalowalności poprzez rollupy. To istotny krok w kierunku sieci Ethereum zdolnej obsługiwać tysiące transakcji na sekundę bez utraty decentralizacji i bezpieczeństwa.
Co to oznacza dla użytkowników i deweloperów?
Wdrożenie EIP-4844 miało istotny wpływ zarówno na użytkowników, jak i deweloperów w ekosystemie Ethereum. Z jednej strony deweloperzy rozwiązań Layer 2, takich jak zkSync, Arbitrum i Optimism, korzystają z tych zmian, ponieważ dzięki blobom mogą agregować dane niższym kosztem. Mogą też przetwarzać więcej danych w ramach pojedynczej transakcji, co pozwala im optymalizować i skalować swoje procesy.
Dla użytkowników Layer 2 oznacza to niższe koszty transakcji realizowanych za pośrednictwem tych rozwiązań skalujących. Szczególnie w okresach wysokiej aktywności sieci na mainnecie korzystanie z sieci Layer 2 staje się znacznie atrakcyjniejszą opcją.
Podsumowanie
EIP-4844, znane również jako proto-danksharding, stanowi ważny kamień milowy na drodze do uczynienia Ethereum bardziej skalowalną siecią. Dzięki wprowadzeniu blobów jako tymczasowego i wydajnego sposobu przechowywania danych ta aktualizacja przynosi natychmiastowe korzyści dla rollupów, deweloperów i użytkowników. Koszty transakcji spadają, pojemność danych rośnie, a presja na sieć się zmniejsza — wszystko to bez kompromisów w zakresie decentralizacji i bezpieczeństwa.
Dodatkowo proto-danksharding sygnalizuje początek szerszej zmiany technicznej. Tworzy podstawy pod pełny danksharding i dalszą skalowalność Ethereum w przyszłości. Choć jest tylko jednym z elementów aktualizacji Dencun, stanowi fundament Ethereum jutra: taniego, skalowalnego i odpornego.