Jedną z największych barier w masowej adopcji Ethereum są wysokie opłaty za gaz, które użytkownicy muszą uiszczać w celu przeprowadzenia transakcji lub interakcji. Kiedy aktywność w sieci wzrośnie, opłaty za gaz również znacznie wzrosną, podnosząc próg użytkownika.
Aby poprawić wydajność Ethereum L1+L2 i rozwiązać problem opłat za gaz, Fundacja Ethereum zaproponowała zastosowanie EIP-4844 w celu obniżenia opłat za gaz i zwiększenia przepustowości jako średnioterminowe rozwiązanie przejściowe. W tym artykule szczegółowo opisano EIP-4844 i wyjaśniono, dlaczego jest on kluczowy dla wdrożenia planu działania Ethereum.
Wprowadzenie do EIP-4844
Ethereum EIP-4844 to podstawowa zawartość aktualizacji Cancun, która wprowadza nowy typ transakcji (transakcja typu blob carry) w celu zmniejszenia opłat transakcyjnych Ethereum. Obiekt BLOB przenosi transakcję podobnie jak zwykła transakcja Ethereum, ale z pewnymi dodatkowymi danymi, zwanymi obiektem BLOB. W porównaniu z bieżącymi danymi wywołań, które przechowują niezmienne dane transakcji i tylko do odczytu, magazyn obiektów BLOB jest znacznie większy i tańszy.
Sądząc po różnicy między przestrzenią bloków a przestrzenią blobspace na powyższym obrazku, obiekty typu blob różnią się od bloków widocznych dla maszyny wirtualnej Ethereum (EVM). Obiekty typu blob są dostępne tylko przez krótki czas i nie są widoczne dla EVM. Ponadto obiekty typu blob znajdują się w warstwie konsensusu Ethereum, a nie w warstwie wykonawczej skoncentrowanej na obliczeniach. Co najważniejsze, blobspace jest znacznie tańszy niż blockspace.
EIP-4844, znany również jako Proto-Danksharding, będzie wdrażał tę samą strukturę i logikę Danksharding, co nowy format transakcji i zasady weryfikacji.
Harmonogram rozwoju EIP-4844
W ciągu ostatnich 3 lat Ethereum przeszło serię ulepszeń, przechodząc od konsensusu PoW do PoS i czyniąc swój blockchain bardziej skalowalnym.
Oto harmonogram i przegląd ważnych aktualizacji Ethereum:
1 grudnia 2020 r. łańcuch beaconów oparty na PoS został uruchomiony online, a użytkownicy Ethereum mogą postawić swoje ETH na oddzielnym łańcuchu beaconów w celu weryfikacji transakcji.
We wrześniu 2022 r. Beacon Chain połączył się z siecią główną Ethereum, łącząc warstwę wykonawczą i warstwę konsensusu sieci.
13 kwietnia 2023 r. uruchomiono aktualizację szanghajską (EIP-4895), otwierającą funkcję zastawu i wypłaty ETH dla walidatorów Ethereum.
Te ulepszenia są niezbędne, aby Ethereum zwiększyło skalowalność, ale nie poprawiają bezpośrednio szybkości transakcji w łańcuchu bloków ani cen gazu. Przyszłe aktualizacje, takie jak sharding i Danksharding, sprawią, że Ethereum będzie naprawdę skalowalne.
Co to jest sharding?
Sharding oznacza dzielenie sieci blockchain na mniejsze jednostki zwane „łańcuchami fragmentów”. Każdy łańcuch fragmentów może przetwarzać transakcje równolegle, aby zmaksymalizować przepustowość transakcji, zmniejszyć przeciążenie sieci i obniżyć opłaty za gaz. Innymi słowy, sharding to metoda dzielenia bazy danych na mniejsze bazy danych, które zarządzają określonymi segmentami danych, zwiększając w ten sposób wydajność i wydajność tych baz danych.
Ze względu na dużą trudność technologii shardingu, Ethereum zdecydowało się przyjąć rozwiązanie pośrednie, czyli najpierw wdrożyć Proto-Danksharding, a na koniec przejść na łatwiejszy do wdrożenia Danksharding.
Co to jest Danksharding?
Danksharding to nowa architektura shardingu, która opiera się na danych o dużej pojemności zwanych obiektami blob w celu skalowania łańcucha bloków Ethereum. Protokół warstwy 2 zorientowany na pakiety wykorzystuje dodatkową przestrzeń danych typu blob, aby złagodzić przeciążenie sieci, zmniejszając w ten sposób opłaty transakcyjne.
Obecnie TPS warstwy bazowej Ethereum wynosi około 15, a TPS jego rollupu drugiej warstwy wynosi około 100. Według przybliżonych szacunków Danksharding ma zwiększyć TPS Ethereum (biorąc pod uwagę całość L1+L2) do 100 000.
Kolejną innowacją Danksharding jest rynek opłat połączonych, w którym tylko jeden oferent wybiera transakcje dla wszystkich fragmentów, a nie każdy fragment ma własnego proponującego. Aby zapewnić płynne działanie tego połączonego rynku opłat i złagodzić problem maksymalnej wartości ekstrakcji (MEV), wdrożona zostanie również metoda zwana separacją proponującego i budującego (proponujący odnosi się do wyboru transakcji uwzględnionych w następnym bloku Ethereum). walidator protokołu).
Jednak wdrożenie pełnego Danksharding na Ethereum nie następuje z dnia na dzień, ale wymaga stopniowego wdrażania kilku aktualizacji, takich jak EIP-4844 (Proto-Danksharding).
Co to jest Proto-Danksharding?
Proto-Danksharding, nazwany na cześć dwóch badaczy Ethereum, Proto Lambda i Dankrad Feist, zwiększy TPS Ethereum do około 1000 i jest prostszym krokiem wymaganym do osiągnięcia pełnego Danksharding. Co najważniejsze, wprowadzi nowe typy transakcji, które akceptują dane typu blob, co jest ważną częścią umożliwienia pełnego Dankshardingu.
Vitalik Buterin uważa, że Proto-Danksharding implementuje większość logiki i frameworku Danksharding, ale nadal nie implementuje żadnego faktycznego shardingu. Innymi słowy, Proto-Danksharding jest prototypem Danksharding, który zapewnia platformę do wdrażania innych ulepszeń shardingu w przyszłości.
EIP-4844 Jak obniżyć opłaty za gaz?
Głównym celem EIP-4844 (Proto-Danksharding) jest zmniejszenie opłat za gaz Ethereum poprzez wykorzystanie obiektów BLOB do przeprowadzania transakcji. dane obiektu BLOB są tańsze, maszyna wirtualna Ethereum (EVM) nie może uzyskać do nich dostępu i może jedynie wyświetlić zaangażowanie w obiekt BLOB. Dodatkowo przepustowość danych w Proto-Danksharding jest ustalona na 1 MB na slot.
Ponieważ samo obniżenie ceny CallData może prowadzić do rozbieżności w przeciętnych lub najgorszych przypadkach, programiści Ethereum próbowali obniżyć opłaty za gaz, budując nowe typy transakcji przenoszących obiekty blob (koncentrując się na transakcjach z L2 Rollup).
Średni rozmiar bloku Ethereum wynosi około 90 KB, ale teoretycznie maksymalny rozmiar bloku wynosi około 1,8 MB. Oznacza to, że bloki Ethereum mogą pomieścić więcej transakcji w okresach dużej aktywności sieci, ale za bardzo wysoką opłatą za gaz. Jeśli calldata będzie 10 razy tańsza, wolumen transakcji wzrośnie 10-krotnie, a w skrajnym przypadku wielkość bloku wzrośnie 10-krotnie (18 MB). Oczywistym jest, że Ethereum nie jest w stanie pomieścić w swojej sieci tak ogromnych bloków.
rozwiązanie
ProtoDanksharding rozwiązuje kryzys cen gazu poprzez wielowymiarowy rynek opłat EIP-1559.
Zanim zaproponowano ProtoDanksharding, EIP-4488 próbował rozwiązać problem wysokich opłat za gaz.
EIP-4488 ma dwie zasady: koszt gazu dla danych połączeń jest zmniejszony z 16 jednostek gazowych na bajt do 3 jednostek gazowych; limit 1 MB na blok plus 300 bajtów na transakcję, maksymalna wartość może wynosić około 1,4 MB.
Ograniczenia rozmiaru bloku to najprostszy sposób zapewnienia, że średnie skoki obciążenia bloku nie doprowadzą do ekstremalnych skoków obciążenia. Co więcej, najbardziej ekstremalny rozmiar bloku (1,4 MB) jest zawsze mniejszy niż bieżący maksymalny rozmiar bloku (1,8 MB).
Skoro EIP-4488 zaproponował już rozwiązanie problemu gazu, dlaczego społeczność Ethereum ostatecznie wybrała EIP-4844 w celu obniżenia opłat za gaz? Ponieważ EIP-4488 minimalizując obecne zmiany (zachowując stabilność), będzie wymagał w przyszłości kolejnych zmian. Natomiast celem Proto-Danksharding jest wprowadzenie większej liczby zmian w frameworku, aby pomóc w przyszłości uaktualnić sieć Ethereum do danksharding.
Proto-Danksharding tworzy oddzielny typ transakcji, który zapisuje dane z L2 Rollup w blobach o dużej pojemności, a liczba blobów obecnych w każdym bloku jest ograniczona, co znacznie obniży opłaty L2. Obiekt BLOB jest przechowywany w warstwie konsensusu, a nie w warstwie wykonawczej i dlatego nie można uzyskać do niego dostępu za pomocą maszyny wirtualnej Ethereum (EVM).
Nawet po Proto-Danksharding sharding będzie nadal złożonym zadaniem, ale złożoność będzie ograniczona do warstwy konsensusu. Dlatego zespoły klienckie warstwy wykonawczej i programiści pakietów zbiorczych nie muszą wykonywać żadnej dodatkowej pracy, aby przejść z Proto-Danksharding na pełne sharding.
EIP-4844 oddziela również dane typu blob od danych wywołań, co ułatwia przechowywanie danych typu blob przez krótsze okresy czasu.
Opcje przechowywania danych dla EIP-4844
Proto-Danksharding o wielkości około 1 MB na szczelinę (12 sekund) wygeneruje 2,5 TB danych rocznie. Warstwa konsensusu może sprostać wyzwaniom związanym z przechowywaniem danych za pomocą historycznych okresów przechowywania (EIP-4444) i wdrożyć logikę, aby automatycznie usuwać dane obiektów BLOB po pewnym czasie.
Jeśli chodzi o dostęp do starych danych obiektów BLOB, istnieje wiele sposobów przechowywania danych historycznych w zdecentralizowanych protokołach. Na przykład protokoły specyficzne dla aplikacji, takie jak rollup, Bittorrent, sieć portalu Ethereum, eksploratory bloków, dostawcy API i protokoły indeksowania stron trzecich (The Graph) mogą przechowywać pełną historię.
Jakie są aktualizacje przed i po EIP-4844?
Twórcy Ethereum zaproponowali kilka aktualizacji przed EIP-4844, aby obniżyć opłaty za gaz. Na przykład EIP-3651 zmniejsza opłatę za gaz, która uniemożliwia konstruktorom bloków interakcję z oprogramowaniem do tworzenia bloków Ethereum Coinbase, EIP-3855 zmniejsza opłatę za gaz dla programistów poprzez Push 0, a EIP-3860 zmniejsza opłatę za gaz w przypadku konkretnych przypadków użycia, koszt .
EIP-4844 to krok w kierunku pełnego shardingu, który rozbuduje sieć Ethereum i obniży opłaty za gaz. Deweloperzy planują „Verge” po EIP-4844, w którym zostaną wprowadzone drzewa Verkle w celu zapewnienia skalowalności.
Wpływ EIP-4844
Głównym celem EIP-4844 jest zmniejszenie opłat za gaz L2 w Ethereum o 10–100 razy przy użyciu nowych transakcji przenoszących obiekty typu blob, co ułatwi przejście na pełny sharding, ponieważ wszystkie przyszłe aktualizacje będą odbywać się wyłącznie w warstwie konsensusu.
Na poziomie architektury w EIP-4844 wprowadzono transakcje przenoszące obiekty typu blob. Jest to pierwszy raz, kiedy Ethereum zbudowało oddzielną warstwę danych dla warstwy L2, kładąc podwaliny pod późniejszy pełny Danksharding.
Na poziomie modelu ekonomicznego EIP-4844 wprowadzi nowy rynek opłat za obiekty BLOB, co będzie jednocześnie pierwszym krokiem dla Ethereum w stronę rynku wielowymiarowego.
Jeśli chodzi o doświadczenie użytkownika, najbardziej intuicyjnym odczuciem jest znaczna obniżka opłat L2. To istotne udoskonalenie zapewni ważną podstawę do eksplozji L2 i jego warstwy aplikacyjnej.
streszczenie
EIP-4844 to poważna aktualizacja, która sprawia, że sieć Ethereum jest bardziej skalowalna, jednocześnie umożliwiając w przyszłości wymaganie mniejszej liczby aktualizacji do pełnego shardingu. Proto-Danksharding zwiększa przestrzeń grupy danych typu blob, co umożliwi większe przetwarzanie danych, zmniejszając w ten sposób przeciążenie sieci i obniżając opłaty za gaz.
Jako bardzo złożona aktualizacja protokołu, EIP-4844 stanowi ważną część planu działania Ethereum i jest również powiązany z innymi aktualizacjami systemu, takimi jak oddzielenie wnioskodawców od konstruktorów oraz dostosowanie opłat za obiekty blob EIP-1559.
Oprócz wprowadzenia transakcji przenoszących obiekty typu blob, EIP-4844 wdroży logikę warstwy wykonawczej, zasady walidacji, wielowymiarowy rynek gazu i inne zmiany systemowe wymagane do pełnego shardingu w przyszłości.
Warto zauważyć, że chociaż EIP-4844 zaimplementuje większość kompletnej logiki Danksharding, nie zaimplementuje żadnego faktycznego fragmentowania. Oprócz przybliżenia Ethereum do poziomów kosztów i przepustowości niezbędnych do osiągnięcia masowej adopcji, EIP-4844 może również poprawić skalowalność i oszczędności.
Chociaż EIP-4844 nie ma obecnie dokładnej daty premiery, oczekuje się, że zostanie wdrożony jeszcze w tym roku. Po wdrożeniu EIP-4844 użytkownicy zobaczą znaczne ulepszenia Ethereum, zwłaszcza L2, głównie szybsze transakcje i niższe opłaty. Pomyślne wdrożenie EIP-4844 sprawi również, że Ethereum stanie się bardziej konkurencyjne w przestrzeni kryptowalut.
