Dencun: analiza aktualizacji Ethereum i jej wpływ na sieć
17 stycznia aktualizacja Dencun została aktywowana w sieci testowej Goerli. Jest to jeden z ostatnich kroków przed wdrożeniem hardforka w sieci głównej Ethereum. Aktualizacja wprowadza między innymi szereg zmian technicznych niezbędnych do przejścia na dunksharding i zwiększenia przepustowości blockchaina.
Dla większości użytkowników Dencun kojarzy się przede wszystkim z EIP-4844 lub tak zwanym proto-dunkshardingiem. Poza tym jednak aktualizacja obejmuje wdrożenie siedmiu innych propozycji ulepszeń Ethereum (EIP) wpływających na aspekty łańcucha bloków. Zespół Incrypted szczegółowo omówił każdą z nich.
Czym jest aktualizacja Dencun
Dencun to kompleksowa aktualizacja sieci Ethereum, niezbędna do dalszego wdrażania dunkshardingu i Werkle Trees. Jest to największa aktualizacja od czasu Shapella, wprowadzona w kwietniu 2023 roku.
Podobnie jak inne przełomowe aktualizacje, Dencun wpływa jednocześnie na warstwę konsensusu i wykonania, więc zasadniczo składa się z dwóch dużych modułów, które tworzą jego nazwę:
- Deneb, blok EIP konsensusu sieciowego. Zgodnie z ustaloną tradycją, aktualizacje te są nazywane po konkretnej gwieździe w kolejności alfabetycznej.
- Cancun – zawiera innowacje w warstwie wykonawczej, których nazwy pochodzą od miast, w których odbyła się konferencja Devcon.
Jeśli nałożyć Dencun na najnowszą wersję mapy drogowej Ethereum opublikowanej przez Vitalika Buterina 30 grudnia 2023 r., dotknie ona etapów rozwoju sieci, takich jak The Surge i The Purge.
Następnie szczegółowo omówimy wszystkie EIP zawarte w modułach Deneb i Cancun, aby zrozumieć, jak zmieni się sieć Ethereum po aktualizacji i jak wpłynie to na zwykłych użytkowników.
Zmiany w warstwie konsensusu
Warstwa konsensusu Ethereum (Beacon Chain) to zestaw mechanizmów interakcji walidatora, które zapewniają konsensus w sprawie aktualnego stanu sieci. Obejmuje to wszystko, co dotyczy algorytmu Proof-of-Stake, od kolejek uruchamiania i zamykania węzłów po finalizację bloków i wielkość depozytu. Pakiet konsensusu obejmuje trzy EIP.
EIP-7044: wieczysty podpis dla dobrowolnego opuszczenia walidatora
Ethereum umożliwia walidatorom (operatorom węzłów) i stakerom (posiadaczom ETH) korzystanie z delegowanego stakingu, w którym inwestor przekazuje swoje aktywa w celu ratowania węzła. W proces ten zaangażowane są dwa rodzaje kluczy:
- klucze podpisywania, których walidator używa do potwierdzenia swoich działań;
- klucze wypłaty, które dają dostęp do aktywów stakera.
Teoretycznie mechanizm ten pozwala stakerom na wycofanie swoich środków w dowolnym momencie przy użyciu klucza odwołania. Jednak aby to zrobić, walidator musi podpisać transakcję Voluntary Exit Message (VEM) swoim kluczem.
Zazwyczaj taka transakcja jest podpisywana przez walidator i przekazywana stakerowi podczas deponowania ETH, aby mógł on zainicjować wypłatę w dowolnym momencie. Jednak obecna konfiguracja Ethereum stanowi, że podpisy dobrowolnego wyjścia są ważne tylko dla bieżącego i poprzednich forków łańcucha bloków, skutecznie anulując podpisy walidatora po wdrożeniu Dencun.
EIP-7044 proponuje usunięcie zasady dwóch forków poprzez uczynienie podpisów nieokreślonymi. Wyeliminuje to sytuacje, w których staker staje się zależny od działań walidatora i nie może wycofać swoich aktywów bez jego zgody. Aktualizacja wyeliminowałaby również zapewnienie podpisanego dobrowolnego wyjścia dla wielu wersji sieci jednocześnie.
EIP-7045: Przedłużenie okresu składania walidacji
Ethereum wykorzystuje hybrydowy algorytm Gaspera, aby zapewnić konsensus dotyczący ważnego łańcucha bloków. Jednym z jego elementów jest LMD-GHOST (Latest Message Driven Greedy Heaviest Observed SubTree). Jest to mechanizm odpowiedzialny za ocenę głosów (poświadczeń) dla każdego bloku i określenie jego kanoniczności. Mówiąc prościej, LMD-GHOST wybiera, który łańcuch jest uważany za główny w przypadku rozwidlenia.
W obecnej wersji sieci walidatorzy mogą przesyłać swoje walidacje dla bloku podczas jednej epoki.
Эпоха — это временной период в сети Ethereum, который состоит из 32 слотов. Слот, в свою очередь, представляет собой промежуток времени, на протяжении которого может быть предложен или утвержден блок (12 секунд).
Problem polega na tym, że w przypadku głosujących walidatorów (z wyjątkiem pierwszego bloku) okres składania poświadczeń będzie krótszy niż jedna epoka i zmniejsza się wraz z zapełnianiem slotów w każdej epoce. Powoduje to, że ostatnie bloki epoki mają mniej poświadczeń oszacowanych przez LMD-GHOST niż pierwszy blok.
EIP-7045 proponuje rozszerzenie okna składania zaświadczeń dla bloku z jednej do dwóch epok. W praktyce oznacza to, że ostatni slot (a zatem cała epoka) może zostać sfinalizowany dopiero pod koniec następnej epoki. W tym czasie ostatni slot będzie mógł zebrać więcej zaświadczeń niż w obecnej konfiguracji.
Da to walidatorom więcej czasu na głosowanie, a jednocześnie pozwoli algorytmowi LMD-GHOST uzyskać więcej opinii dla każdego bloku w epoce, co zwiększa wiarygodność konsensusu sieciowego.
EIP-7514: ograniczenia wejściowe dla walidatorów
Po aktualizacji Shapella, która odblokowała wycofywanie aktywów z kontraktu depozytowego, liczba walidatorów w sieci zaczęła gwałtownie rosnąć. Wynika to częściowo z popularyzacji płynnych usług stakingowych, a częściowo z pojawienia się zdolności inwestorów do zarządzania swoim kapitałem.
Aby uniknąć gwałtownego wzrostu lub spadku stosu walidatorów, Ethereum ustala limity dołączania i opuszczania sieci. Podstawowy limit wynosi cztery węzły na epokę i rośnie proporcjonalnie do całkowitej liczby walidatorów. Dlatego teoretycznie, jeśli popyt na stackowanie będzie się utrzymywał, limit może rosnąć w nieskończoność.
Jednak zbyt duża liczba walidatorów stwarza trudności w działaniu sieci, w szczególności komplikuje finalizację bloków, co omówiliśmy w artykule na temat centralizacji stakowania w Ethereum.
EIP-7514 ma na celu ograniczenie tempa wzrostu stosu walidatora poprzez ustawienie maksymalnego limitu wejścia na osiem węzłów na epokę, niezależnie od bieżącej liczby węzłów. Formuła obliczeniowa dla wyjścia pozostanie taka sama.
Deweloperzy uważają, że pomoże to spowolnić wzrost liczby węzłów w warstwie konsensusu i da społeczności Ethereum więcej czasu na znalezienie kompleksowego rozwiązania problemu.
Inną konsekwencją będzie spadek tempa emisji ETH, ponieważ liczba ta zależy od ilości nagród dla walidatorów, a tym samym od liczby walidatorów. Może to potencjalnie zwiększyć procesy deflacyjne w tokenomice.
Innowacje dla warstwy wykonawczej
Drugi pakiet usług, Deneb, zawiera sugestie dotyczące poprawy wydajności warstwy wykonawczej, czyli wirtualnej maszyny Ethereum (EVM). Cztery EIP są zawarte w tym bloku.
EIP-5656: dodanie polecenia MCOPY
Podczas tworzenia inteligentnych kontraktów w Ethereum, podstawowa operacja kopiowania pamięci jest często wywoływana za pomocą poleceń MSTORE lub MLOAD. Jednak w EVM ich wykonanie wymaga stosunkowo dużej ilości gazu, więc EIP-5656 proponuje nowe polecenie MCOPY ze zoptymalizowaną strukturą danych.
MCOPY jest połączeniem MSTORE i MLOAD i pozwala na kilkukrotnie tańsze kopiowanie pamięci w porównaniu do istniejącego mechanizmu. Będzie to miało pozytywny wpływ na użytkowników, ponieważ może obniżyć koszty gazu, gdy wywoływane są niektóre inteligentne kontrakty.
Jednocześnie MCOPY nie zastępuje starych poleceń, tj. nie wpływa w żaden sposób na już wdrożone inteligentne kontrakty, a programiści mogą używać kodu operacyjnego w dowolny sposób podczas pisania nowych.
EIP-1153: tymczasowe magazyny
Z optymalizacją pamięci masowej związany jest EIP-1153, który proponuje wprowadzenie do Ethereum koncepcji tymczasowych magazynów i dwóch odpowiednich poleceń – TLOAD i TSTORE.
Tymczasowe magazyny danych działają w taki sam sposób jak zwykłe magazyny danych, ale są czyszczone po każdej transakcji. Deweloperzy uważają, że dzięki wykorzystaniu tymczasowych magazynów możliwe jest zoptymalizowanie pośrednich etapów wykonywania inteligentnych kontraktów. Na przykład, gdy transakcja wywołuje kontrakt, który z kolei wywołuje inny kontrakt.
Wyeliminowałoby to stosunkowo niezabezpieczoną wymianę danych między kontraktami za pośrednictwem operacji we / wy lub kosztowne wykorzystanie głównej pamięci masowej do rejestrowania danych pośrednich. Podobnie jak poprzednia propozycja, EIP-1153 może zmniejszyć zużycie gazu dla niektórych kontraktów, co miałoby pewien wpływ na opłaty użytkowników.
EIP-6780: przeprojektowanie polecenia SELFDESTRUCT
Ethereum ma funkcję o nazwie SELFDESTRUCT, która po wywołaniu usuwa fragment kodu i jego przechowywanie z bazy danych blockchain. Ten kod operacyjny został wprowadzony w celu oczyszczenia stanu sieci z nieaktualnych lub niepotrzebnych informacji, ale w praktyce spowodował więcej problemów niż korzyści.
W wielu przypadkach użycie SELFDESTRUCT ma nieprzewidywalne konsekwencje i może przerwać połączenia w wielu inteligentnych kontraktach jednocześnie. Szkody związane z niskim determinizmem opcode’ów wzrosną dopiero po wdrożeniu Verklem Tree, więc eliminacja tego polecenia została oznaczona jako osobny punkt na mapie drogowej Ethereum.
Jednak zablokowanie i całkowite usunięcie funkcji może mieć również negatywne konsekwencje dla już istniejących inteligentnych kontraktów, dlatego EIP-6780 proponuje “osłabienie” SELFDESTRUCT poprzez zezwolenie na wykonanie go tylko w ramach tej samej transakcji, w której tworzony jest kontrakt. Wszystkie inne wywołania polecenia spowodują przeniesienie aktywów z salda, które zostanie zniszczone, ale nie usunięcie danych i pamięci masowej.
Twórcy oczekują, że rozwiązanie to pomoże stopniowo minimalizować wpływ SELFDESTRUCT bez powodowania awarii w istniejących kontraktach, które już korzystają z tej funkcji.
EIP-4788: Wyświetlanie statusu konsensusu w modułach EVM
Jak już wspomnieliśmy, Ethereum składa się z dwóch warstw – wykonania (EVM) i konsensusu (Beacon Chain). Kiedy tworzony jest nowy blok, z czysto technicznego punktu widzenia jest on tworzony w każdej warstwie, co oznacza, że każdy blok w EVM odpowiada blokowi z informacjami w Beacon Chain.
W chwili pisania tego tekstu komunikacja między warstwami odbywa się za pośrednictwem tak zwanego Engine API. Jest on wykorzystywany przez klienta konsensusu do otrzymywania danych z warstwy wykonawczej potrzebnych do zbudowania i zaproponowania nowego bloku oraz przekazuje z powrotem informacje o poprzednim ważnym bloku, na podstawie których EVM może wykonywać dalsze operacje.
Problem polega na tym, że jest to jednokierunkowy sposób wymiany informacji, w którym klient konsensusu może żądać danych od klienta wykonania, ale nie odwrotnie. Z tego powodu węzły EVM domyślnie nie mają dostępu do informacji z warstwy konsensusu, takich jak salda walidatorów.
Inicjatorzy EIP-4788 proponują naprawienie tego poprzez umieszczenie głównego skrótu poprzedniego bloku warstwy konsensusu w każdym bloku warstwy wykonawczej. Określony zestaw tych skrótów jest przechowywany w samooczyszczającym się inteligentnym kontrakcie Ethereum. Rozmiar inteligentnego kontraktu został zaprojektowany tak, aby przechowywać dane z Beacon Chain przez około 24 godziny, po czym są one nadpisywane.
Skutecznie tworzy to rodzaj wyroczni na poziomie łańcucha bloków, która przekazuje informacje o warstwie wykonawczej do EVM, co wcześniej nie miało miejsca.
EIP-4788 ориентирован в первую очередь на платформы ликвидного стейкинга и рестейкинга, которым требуются данные о слое консенсуса для начисления вознаграждений пользователям. Сейчас для получения этой информации они полагаются на сеть внешних оракулов (к примеру, у Lido их пять), что требует дополнительных расходов и доверительных отношений между провайдером оракулов и LST-протоколом.
После реализации обновления смарт-контракты этих платформ (и любых других приложений) смогут запрашивать данные о Beacon Chain напрямую у публичного контракта Ethereum. Это позволит отказаться от внешних поставщиков и исключит потенциальные риски, связанные с их компрометацией.
В целом EIP-4788 оценивается как одно из наиболее технически сложных и ощутимых обновлений пакета Dencun, уступая по значимости только EIP-4844.
W kierunku Danksharding: EIP-4844
Najbardziej oczekiwanym komponentem Dencun jest EIP-4844 lub proto-dunksharding. Wprowadza on zmiany w architekturze blockchaina niezbędne do dalszej implementacji dunkshardingu, w szczególności integrując tak zwane duże obiekty binarne (blobs lub blobs).
Bloby pozwalają na dołączenie do każdego bloku w sieci Ethereum do trzech dużych (128 kB) pakietów informacji transakcyjnych. Informacje te będą przechowywane przez węzły Beacon Chain tylko przez ograniczony czas (~18 dni) i nie trafią do EVM, więc przestrzeń dyskowa dla blobów jest znacznie tańsza niż zapisywanie podstawowych danych onchain. Sama warstwa wykonawcza otrzyma jedynie odniesienie do danych w postaci zobowiązań KZG.
Oczekuje się, że sieci warstwy 2 będą wykorzystywać duże obiekty binarne do rejestrowania pakietu transakcji, zamiast calldata, które są obecnie wykorzystywane do tego celu. W ten sposób tańsze bloby pomogą uczynić opłaty w L2 40-100 razy niższymi niż w głównym blockchainie.
Inne aspekty konsensusu i warstwy wykonawczej również ulegną zmianie. W szczególności:
- pojawi się mechanizm weryfikacji dużych obiektów binarnych i dowodów KZG;
- uruchomiony zostanie rynek prowizji dla blobów;
- walidatory będą prawdopodobnie potrzebować dodatkowej przestrzeni dyskowej na dane tymczasowe;
- odbędzie się ceremonia K ZG w celu stworzenia kryptograficznego dowodu obrony koncepcji.
Aby dowiedzieć się więcej o EIP-4844, zalecamy przeczytanie naszego artykułu przeglądowego na temat propozycji.
Podsumowując, Dencun to jedna z najbardziej kompleksowych i najważniejszych aktualizacji sieci Ethereum, porównywalna z The Merge. Chociaż większość innowacji jest skierowana przede wszystkim do programistów i walidatorów, EIP-4844 wpłynie również na przeciętnych użytkowników ekosystemu. Zwłaszcza tych, którzy wchodzą w interakcje z L2.
Ważne jest, aby zdać sobie sprawę, że Dencun jest również ważnym krokiem w kierunku wdrożenia dunkshardingu, który całkowicie zmieni architekturę blockchain i prawdopodobnie pozwoli Ethereum przezwyciężyć problem niskiej przepustowości bez poświęcania bezpieczeństwa. To z kolei pomoże projektowi wzmocnić swoją pozycję rynkową, skutecznie konkurując z sieciami o wyższej wydajności, takimi jak Solana.