Sieć główna Ethereum wykorzystuje mechanizm proof-of-stake, ale nie zawsze tak było.
Przejście z oryginalnego mechanizmu proof-of-work na proof-of-stake zostało nazwane Połączeniem.
Połączenie odnosi się do połączenia pierwotnej sieci głównej Ethereum z oddzielną siecią blockchain proof-of-stake nazywaną łańcuchem śledzącym, które teraz istnieją jako jeden łańcuch.
Połączenie zmniejszyło zużycie energii przez Ethereum o około 99,95%.
Strona ostatnio zaktualizowana: 24 lipca 2024
Czym było Połączenie?
Połączenie to scalenie pierwotnej warstwy wykonania Ethereum (sieci głównej, która istnieje od genezy) z nową warstwą konsensusu proof-of-stake, łańcuchem śledzącym. Wyeliminowało to potrzebę energochłonnego wydobycia, a zamiast tego umożliwiło zabezpieczenie sieci za pomocą stakowanych ETH. To był naprawdę ekscytujący krok w realizacji wizji Ethereum — większej skalowalności, bezpieczeństwa i zrównoważenia ekologicznego.
Stan Ethereum: transakcje, aplikacje, kontrakty, salda
Początkowo łańcuch śledzący wdrażano oddzielnie od . Sieć główna Ethereum — wraz ze wszystkimi jej kontami, saldami, inteligentnymi kontraktami i stanem sieci blockchain — nadal była zabezpieczana przez mechanizm proof-of-work, nawet gdy łańcuch śledzący działał równolegle, używając proof-of-stake. Połączenie to moment, w którym te dwa systemy w końcu się połączyły, a mechanizm proof-of-work został na stałe zastąpiony przez mechanizm proof-of-stake.
Wyobraź sobie, że Ethereum to statek kosmiczny, który wystartował, zanim był gotowy do podróży międzygwiezdnej. Dzięki łańcuchowi śledzącemu społeczność zbudowała nowy silnik i wzmocniony kadłub. Po intensywnych testach nadszedł czas, aby w czasie jazdy zamienić stary silnik na nowy. W ten sposób nowy, wydajniejszy silnik został zainstalowany w działającej maszynie, która dzięki temu nabrała kosmicznej prędkości.
Łączenie z siecią główną
Mechanizm proof-of-work zabezpieczał sieć główną Ethereum od chwili jej genezy aż do Połączenia. Dzięki temu w lipcu 2015 roku powstała sieć blockchain Ethereum, do której wszyscy przywykliśmy, ze wszystkimi znanymi nam funkcjami — transakcjami, inteligentnymi kontraktami, kontami itd.
Deweloperzy przygotowywali się do ostatecznego przejścia z proof-of-work na proof-of-stake przez całą historię Ethereum. 1 grudnia 2020 roku łańcuch śledzący utworzono jako działającą równolegle sieć blockchain oddzielną od sieci głównej.
Początkowo łańcuch śledzący nie przetwarzał transakcji w sieci głównej. Zamiast tego osiągał konsensus co do swojego stanu, uzgadniając aktywnych walidatorów i salda ich kont. Po intensywnych testach nadszedł czas, aby łańcuch śledzący osiągnął konsensus na rzeczywistych danych. Po Połączeniu łańcuch śledzący stał się mechanizmem konsensusu dla wszystkich danych sieci, w tym transakcji w warstwie wykonania i sald kont.
Połączenie oznaczało oficjalne przejście na używanie łańcucha śledzącego jako silnika produkcji bloków. Wydobywanie nie jest już środkiem do produkcji ważnych bloków. Zamiast tego rolę tę przejęli walidatorzy proof-of-stake, którzy są teraz odpowiedzialni za przetwarzanie ważności wszystkich transakcji i proponowanie bloków.
Podczas Połączenia nie została utracona żadna historia. Gdy sieć główna połączyła się z łańcuchem śledzącym, połączona została również cała historia transakcyjna Ethereum.
Połączenie nie zmieniło niczego dla posiadaczy/użytkowników.
Trzeba to powtórzyć: jako użytkownik lub posiadacz ETH lub dowolnego innego zasobu cyfrowego w Ethereum, a także jako staker nie obsługujący węzła, nie musisz robić niczego ze swoimi środkami lub portfelem po Połączeniu. ETH to po prostu ETH. Nie ma czegoś takiego jak „stare ETH” / „nowe ETH” ani „ETH1”/„ETH2”, a portfele po Połączeniu działają dokładnie tak samo jak przed połączeniem — osoby, które mówią Ci, że jest inaczej, to prawdopodobnie oszuści.
Mimo przejścia z proof-of-work cała historia Ethereum od genezy pozostała nienaruszona i niezmieniona przez przejście na proof-of-stake. Wszelkie środki znajdujące się w Twoim portfelu przed Połączeniem są nadal dostępne po Połączeniu. Nie jest wymagane żadne działanie z Twojej strony, aby dokonać uaktualnienia.
Uruchomienie zarówno klienta konsensusu, jak i klienta wykonania; punkty końcowe stron trzecich, które otrzymują dane wykonania, nie działają już od czasu Połączenia.
Uwierzytelnienie zarówno klienta wykonania, jak i klienta konsensusu za pomocą wspólnego klucza tajnego JWT, aby mogli się bezpiecznie komunikować.
Ustawienie adresu „odbiorcy opłat”, na który będziesz otrzymywać swoje zarobione napiwki z tytułu opłat transakcyjnych/MEV.
Niewykonanie dwóch pierwszych punktów spowoduje, że węzeł będzie widoczny jako „offline”, dopóki obie warstwy nie zostaną zsynchronizowane i uwierzytelnione.
Nieustawienie „odbiorcy opłat” sprawi, że walidator będzie zachowywać się jak zwykle, ale utracisz niespalone napiwki z tytułu opłat i wszystkie MEV, które w przeciwnym razie zarobił(a)byś w blokach proponowanych przez walidatora.
Do czasu Połączenia klient wykonania (taki jak Geth, Erigon, Besu czy Nethermind) wystarczał, aby odbierać, odpowiednio walidować i propagować bloki przekazywane przez sieć. Po Połączeniu ważność transakcji zawartych w ładunku wykonania zależy teraz również od ważności „bloku konsensusu”, w którym jest on zawarty.
W rezultacie pełny węzeł Ethereum wymaga teraz zarówno klienta wykonania, jak i klienta konsensusu. Ci dwaj klienci współpracują ze sobą za pomocą nowego interfejsu API mechanizmu. Interfejs API mechanizmu wymaga uwierzytelnienia za pomocą tajnego klucza JWT, który jest przekazywany obu klientom, co umożliwia bezpieczną komunikację.
Kluczowe działania obejmują:
Instalację klienta konsensusu oprócz klienta wykonania
Uwierzytelnienie klientów wykonania i konsensusu za pomocą wspólnego tajnego klucza JWT, aby mogli bezpiecznie komunikować się ze sobą.
Niewykonanie powyższych działań spowoduje, że węzeł będzie wyświetlany jako „offline”, dopóki obie warstwy nie zostaną zsynchronizowane i uwierzytelnione.
Połączenie wdrożono wraz ze zmianami w konsensusie, co obejmuje również zmiany dotyczące:
struktury bloku,
synchronizacji slotów/bloków,
zmian kodu operacyjnego,
źródeł losowości w łańcuchu,
koncepcji bezpiecznej głowy i sfinalizowanych bloków.
Połączenie stanowi koniec stosowania mechanizmu proof-of-work w sieci Ethereum i rozpoczęcie ery bardziej zrównoważonego ekologicznie Ethereum. Zużycie energii przez sieć Ethereum spadło o około 99,95%, dzięki czemu Ethereum stało się ekologiczną siecią blockchain. Dowiedz się więcej o zużyciu energii przez Ethereum.
Połączenie i skalowanie
Połączenie stwarza również miejsce dla dalszych uaktualnień skalowalności, które nie są możliwe w ramach mechanizmu proof-of-work, co przybliży Ethereum o krok do osiągnięcia pełnej skali, bezpieczeństwa i zrównoważenia ekologicznego, o których mowa w wizji Ethereum.
Błędne przekonania o Połączeniu
Są dwa typy węzłów Ethereum: węzły, które mogą proponować bloki, i węzły, które tego nie mogą.
Węzły proponujące bloki stanowią jedynie niewielką część wszystkich węzłów w sieci Ethereum. Kategoria ta obejmuje węzły wydobycia w ramach mechanizmu proof-of-work (PoW) oraz węzły walidatorów w ramach mechanizmu proof-of-stake (PoS). Ta kategoria wymaga zaangażowania zasobów ekonomicznych (takich jak moc obliczeniowa GPU w sieci proof-of-work lub stakowanych ETH w sieci proof-of-stake) w zamian za możliwość okazjonalnego proponowania następnego bloku i zdobywania nagród protokołu.
Pozostałe węzły w sieci (czyli większość) nie muszą angażować żadnych zasobów ekonomicznych poza komputerem klasy konsumenckiej z 1–2 TB dostępnej pamięci masowej i połączeniem internetowym. Węzły te nie proponują bloków, ale nadal pełnią kluczową rolę w zabezpieczaniu sieci, gdyż rozliczają wszystkich proponujących bloki, nasłuchując nowych bloków i weryfikując ich ważność po przybyciu zgodnie z zasadami konsensusu sieci. Jeśli blok jest ważny, węzeł nadal propaguje go przez sieć. Jeśli blok jest nieważny z jakiegokolwiek powodu, oprogramowanie węzła odrzuci go jako nieważny i zatrzyma jego propagację.
Prowadzenie węzła, który nie wytwarza bloków, jest możliwe dla każdego, niezależnie od mechanizmu konsensusu (proof-of-work lub proof-of-stake). Prowadzenie węzła jest niezwykle cenne dla Ethereum i daje dodatkowe korzyści każdej osobie, która go prowadzi, takie jak zwiększone bezpieczeństwo, prywatność i odporność na cenzurę.
Możliwość uruchomienia przez każdego własnego węzła jest absolutnie niezbędna do utrzymania decentralizacji sieci Ethereum.
Opłaty za gaz są wypadkową zapotrzebowania na sieć i jej przepustowości. W wyniku Połączenia zrezygnowano z mechanizmu proof-of-work, przechodząc na mechanizm konsensusu proof-of-stake, ale nie zmieniono znacząco żadnych parametrów, które bezpośrednio wpływają na przepustowość sieci.
W ramach planu działania skoncentrowanego na pakietach zbiorczych(opens in a new tab) wysiłki koncentrują się na zwiększeniu aktywności użytkowników w warstwie 2, przy jednoczesnym umożliwieniu działania sieci głównej w warstwie 1 jako bezpiecznej, zdecentralizowanej warstwy rozliczenia, zoptymalizowanej do przechowywania danych pakietów zbiorczych, co pomoże uczynić transakcje na pakietach zbiorczych wykładniczo tańszymi. Przejście na proof-of-stake jest kluczowym prekursorem realizacji tego celu. Więcej o gazie i opłatach
„Szybkość” transakcji można mierzyć na kilka sposobów, m.in. jako czas dołączenia do bloku i czas do finalizacji. Oba te czasy uległy niewielkiej zmianie, ale nie w taki sposób, aby użytkownicy je zauważyli.
Historycznie, w przypadku mechanizmu proof-of-work, celem było generowanie nowego bloku co około 13,3 sekundy. W przypadku mechanizmu proof-of-stake sloty pojawiają się dokładnie co 12 sekund, a każdy z nich stanowi dla walidatora okazję do opublikowania bloku. Większość slotów ma bloki, ale nie wszystkie (np. walidator jest offline). W przypadku mechanizmu proof-of-stake bloki są produkowane około 10% częściej niż w przypadku mechanizmu proof-of-work. To była dość mało znacząca zmiana i raczej nie zostanie zauważona przez użytkowników.
Mechanizm proof-of-stake wprowadził nieistniejące wcześniej pojęcie nieodwołalności transakcji. W przypadku mechanizmu proof-of-work możliwość odwrócenia bloku staje się wykładniczo trudniejsza z każdym kolejnym blokiem wydobytym na podstawie transakcji, ale nigdy nie osiąga zera. W przypadku mechanizmu proof-of-stake bloki są łączone w epoki (6,4-minutowe odcinki czasu zawierające 32 szanse dla bloków), na które głosują walidatorzy. Gdy epoka się kończy, walidatorzy głosują, czy uznać ją za „uzasadnioną”. Jeśli walidatorzy zgodzą się na uzasadnienie epoki, zostanie ona sfinalizowana w następnej epoce. Cofnięcie sfinalizowanych transakcji jest ekonomicznie nieopłacalne, ponieważ wymagałoby uzyskania i spalenia ponad jednej trzeciej wszystkich stakowanych ETH.
Stakowane ETH i nagrody za stakowanie są nadal blokowane bez możliwości wypłaty. Wypłaty są planowane w najbliższym uaktualnieniu Shanghai.
Może się to wydawać sprzeczne z powyższą informacją, że wypłaty nie są możliwe do uaktualnienia Shanghai, ale walidatorzy MAJĄ natychmiastowy dostęp do nagród za opłaty/MEV, zarobionych podczas propozycji bloków.
Protokół wydaje ETH jako nagrodę dla walidatorów za przyczynianie się do konsensusu. Warstwa konsensusu rejestruje nowo wyemitowane ETH, a walidator ma unikalny adres, pod którym przechowuje swoje stakowane ETH i nagrody protokołu. Te ETH są blokowane aż do uaktualnienia Shanghai.
ETH w warstwie wykonawczej są rejestrowane oddzielnie od warstwy konsensusu. Gdy użytkownicy wykonują transakcje w sieci głównej Ethereum, muszą zapłacić w ETH za pokrycie kosztów gazu, w tym napiwku dla walidatora. Te ETH znajdują się już w warstwie wykonania, NIE są nowo wydawane przez protokół i są dostępne dla walidatora natychmiast (pod warunkiem, że odpowiedni adres „odbiorcy opłaty” został podany w oprogramowaniu klienckim).
Gdy uaktualnienie Shanghai umożliwi wypłaty, wszyscy walidatorzy będą zachęcani do wypłaty salda stakingu powyżej 32 ETH, ponieważ środki te nie zwiększają zysku, a są zablokowane. W zależności od APR (ustalanej na podstawie całkowitej ilości stakowanych ETH) użytkownicy mogą być zachęcani do wyjścia z walidatorów w celu odzyskania całego salda lub zestakowania jeszcze więcej i wykorzystania nagród do uzyskania większego zysku.
Ważne zastrzeżenie: pełne wyjścia walidatorów są ograniczone przez protokół, więc wyjść może tylko sześciu walidatorów na epokę (co 6,4 minuty, czyli 1350 dziennie, lub tylko około 43 200 ETH dziennie z ponad 10 milionów stakowanych ETH). Limit ten dostosowuje się w zależności od sumy stakowanych ETH i zapobiega on masowemu odpływowi środków. Ponadto zapobiega to sytuacji, w której potencjalny atakujący wykorzysta swoje stakowane środki do popełnienia wykroczenia podlegającego cięciu i wycofa całe saldo stakingu w tej samej epoce, nim protokół będzie mógł wymusić karę za cięcie.
APR jest celowo dynamiczna, co pozwala rynkowi stakerów wyważyć, jakiej zapłaty sobie życzą za pomoc w zabezpieczeniu sieci. Gdy wypłaty są włączone, jeśli szybkość jest za mała, walidatorzy będą wychodzić z szybkością ograniczoną przez protokół. Stopniowo podniesie to APR dla wszystkich, którzy pozostaną, przyciągając nowych lub powracających stakerów.
Co się stało z „Eth2”?
Termin „Eth2” został odrzucony. Po połączeniu „Eth1” i „Eth2” w jeden łańcuch nie trzeba już rozróżniać dwóch sieci Ethereum — jest tylko jedna sieć Ethereum.
Aby ograniczyć zamieszanie, społeczność zaktualizowała te warunki:
„Eth1” jest teraz „warstwą wykonania”, która obsługuje transakcje i wykonanie.
„Eth2” jest teraz „warstwą konsensusu”, która obsługuje konsensus dowodu stawki (proof-of-stake).
Ta terminologia aktualizuje tylko konwencje nazewnictwa; nie zmienia celów ani planu działania Ethereum.
Wszystkie uaktualnienia Ethereum są poniekąd wzajemnie powiązane. Podsumujmy więc, jak Połączenie ma się do innych uaktualnień.
Połączenie i łańcuch śledzący
Połączenie reprezentuje formalne przyjęcie łańcucha śledzącego jako nowej warstwy konsensusu w stosunku do pierwotnej warstwy wykonania sieci głównej. Od czasu Połączenia walidatorzy są przypisani do bezpiecznej sieci głównej Ethereum, a wydobywanie na proof-of-work nie jest już prawidłowym sposobem produkcji bloków.
Bloki są natomiast proponowane przez węzły walidujące, które stakują ETH w zamian za prawo do udziału w konsensusie. Te uaktualnienia stanowią podstawę dla przyszłych uaktualnień skalowalności, w tym shardingu.
W celu zapewnienia uproszczenia i maksymalnego skupienia się na udanym przejściu na proof-of-stake uaktualnienie Połączenie nie zawierało pewnych oczekiwanych funkcji, takich jak możliwość wypłaty stakowanych ETH. Planuje się, że wdrożenie uaktualnienia Shanghai nastąpi po Połączeniu i umożliwi wypłaty stakerom.
Pierwotnie planowano prace nad shardingiem przed Połączeniem, aby rozwiązać problem skalowalności. Jednak wraz z rozwojem rozwiązań skalujących warstwę 2 priorytet przesunął się na zamianę mechanizmu proof-of-work na proof-of-stake.
Plany dotyczące shardingu szybko ewoluują, ale ze względu na rozwój i sukces technologii warstwy 2 do skalowania wykonania transakcji plany shardingu przesunęły się w kierunku znalezienia optymalnego sposobu rozłożenia ciężaru przechowywania skompresowanych calldata z kontraktów pakietów zbiorczych, co pozwala na wykładniczy wzrost przepustowości sieci. Nie byłoby to możliwe bez wcześniejszego przejścia na proof-of-stake.