Wprowadzenie do zarządzania Ethereum
Jeżeli nikt nie jest właścicielem Ethereum, w jaki sposób podejmowane są decyzje dotyczące przeszłych i przyszłych zmian w Ethereum? Zarządzanie Ethereum odnosi się do procesu, który umożliwia podejmowanie takich decyzji.
Czym jest zarządzanie?
Zarządzanie to istniejące systemy, które umożliwiają podejmowanie decyzji. W typowej strukturze organizacyjnej ostateczny głos w procesie decyzyjnym może mieć zespół wykonawczy lub zarząd dyrektorów. Albo być może to akcjonariusze głosują nad propozycjami uchwalenia zmian. W systemie politycznym wybrani urzędnicy mogą uchwalać przepisy, które próbują reprezentować pragnienia swoich wyborców.
Zdecentralizowane zarządzanie
Nikt nie jest właścicielem ani nie kontroluje protokołu Ethereum, jednak decyzje wciąż muszą być podejmowane o wprowadzaniu zmian aby zapewnić długowieczność i dobrobyt sieci. Ten brak własności sprawia, że tradycyjne zarządzanie organizacyjne jest niekompatybilnym rozwiązaniem.
Zarządzanie Ethereum
Zarządzanie Ethereum to proces, za pomocą którego wprowadzane są zmiany protokołu. Ważne jest, aby zaznaczyć, że ten proces nie jest związany z tym, jak ludzie i aplikacje używają protokołu — Ethereum jest udostępniane każdemu (permissionless). Każdy z jakiegokolwiek miejsca na świecie może uczestniczyć w działaniach na łancuchu (on-chain). Nie ma ustanowionych reguł kto może lub nie może zbudować aplikacji lub wysłać transakcji. Istnieje jednak proces, aby zaproponować zmiany w protokole podstawowym, na bazie których działają zdecentralizowane aplikacje. Ponieważ tak wiele osób liczy na stabilność Ethereum, istnieje bardzo wysoki próg kordynacyjny dla wprowadzenia zasadniczych zmian, zawierających procesy społeczne i techniczne, aby zapewnić bezpieczeństwo i szerokie poparcie społeczności dla wszelkich zmian w Ethereum.
Zarządzanie na łańcuchu kontra poza łańcuchem (on-chain vs off-chain)
Technologia blockchain umożliwia nowe możliwości w zakresie zarządzania, znane jako zarządzanie on-chain. Zarządzanie on-chain polega na podejmowaniu decyzji o proponowanych zmianach na protokole w drodze głosowania interesariuszy, zazwyczaj przez posiadaczy tokena uprawniającego do zarządzania, a głosowanie odbywa się na blockchainie. W przypadku niektórych form zarządzania na łańcuchu, proponowane zmiany protokołu są już zapisane w kodzie i wdrażane automatycznie, jeżeli udziałowcy zatwierdzą zmiany poprzez podpisanie transakcji.
Przeciwne podejście, zarządzanie poza łańcuchem, polega na tym, że wszelkie decyzje dotyczące zmian w protokole są podejmowane w drodze nieformalnego procesu dyskusji społecznych, który, jeśli zostanie zatwierdzony, zostanie wdrożony do kodu.
Zarządzanie Ethereum odbywa się poza łańcuchem z udziałem wielu różnych udziałowców.
Podczas gdy na poziomie protokołu zarządzanie Ethereum odbywa się poza łańcuchem, wiele przypadków użycia zbudowanych na Ethereum, takich jak DAO, wykorzystuje zarządzanie w łańcuchu.
Więcej o DAOKto jest zaangażowany?
W społeczności Ethereum znajdują się różni udziałowcy, a każdy odgrywa rolę w procesie zarządzania. Zaczynając od udziałowców najbardziej oddalonych od protokołu i zbliżając się, mamy:
- Posiadaczy etheru: ludzie ci posiadają dowolną ilość ETH. Więcej o ETH.
- Użytkowników aplikacji: ludzie ci wchodzą w interakcje z aplikacjami znajdującymi się na blockchainie Ethereum.
- Deweloperów aplikacji/narzędzi: ludzie ci piszą aplikacje działające na blockchainie Ethereum (np. DeFi, NFT itp.) lub tworzą narzędzia do interakcji z Ethereum (np. portfele, zestawy testowe itp.). Więcej o zdecentralizowanych aplikacjach.
- Operatorów węzłów: ci ludzie uruchamiają węzły, które propagują bloki i transakcje, odrzucając wszelkie nieprawidłowe transakcje lub bloki, które napotkają. Więcej o węzłach.
- Autorów EIP: ludzie ci proponują zmiany w protokole Ethereum w formie Propozycji Ulepszeń Ethereum (EIP). Więcej o EIP.
- Walidatorów: ci ludzie uruchamiają węzły, które mogą dodawać nowe bloki do blockchainu Ethereum.
- Deweloperów protokołów (a.k.a. „główni deweloperzy” ): osoby te utrzymują różne implementacje Ethereum (np. go-ethereum, Nethermind, Besu, Erigon, Reth w warstwie wykonawczej lub Prysm, Lighthouse, Nimbus, Teku, Lodestar w warstwie konsensusu). Więcej o klientach Ethereum.
Uwaga: każda osoba może być częścią wielu z tych grup (np. deweloper protokołów może być mistrzem EIP, uruchamiać walidator łańcucha śledzącego i korzystać z aplikacji DeFi). Jednak dla jasności pojęciowej najłatwiej jest je rozróżnić.
Czym jest EIP?
Jednym z ważniejszych procesów zarządzania Ethereum jest tzw. Propozycja Ulepszenia Ethereum (EIP). EIP są standardami określającymi nowe funkcje lub procesy dla Ethereum. Każdy członek społeczności Ethereum może stworzyć EIP. Jeżeli jesteś zainteresowany stworzeniem EIP lub uczestnictwem w weryfikacji i/lub zarządzaniem zobacz:
Więcej o EIPProces formalny
Proces formalny wprowadzania zmian do protokołu Ethereum jest następujący:
Zaproponuj główne EIP: jak opisano w EIP-1(opens in a new tab), pierwszym krokiem do formalnego zaproponowania zmiany w Ethereum jest wyszczególnienie jej w głównym EIP. Będzie ona funkcjonować jako oficjalna specyfikacja EIP, którą deweloperzy protokołów będą wdrażać, jeśli tylko zostanie zaakceptowana.
Przedstaw swoje EIP deweloperom protokołów: gdy masz już główne EIP, dla którego zebrałeś opinie członków społeczności, powinieneś przedstawić je deweloperom protokołów. Można to zrobić poprzez zaproponowanie dyskusji o nim podczas rozmowy AllCoreDevs(opens in a new tab). Możliwe jest to, że niektóre dyskusje odbyły się już wcześniej na forum Ethereum Magician's(opens in a new tab) lub na Discordzie R&D Ethereum(opens in a new tab).
Potencjalnymi wynikami tego etapu są:
- EIP zostanie wzięte pod uwagę podczas przyszłej modernizacji sieci
- Wymagane będą zmiany techniczne
- Może zostać odrzucone, jeśli nie jest priorytetem lub ulepszenie nie jest wystarczająco duże w stosunku do wysiłku deweloperów
Pracuj nad ostateczną wersją propozycji: po otrzymaniu informacji zwrotnych od wszystkich zainteresowanych udziałowców, prawdopodobnie będziesz musiał wprowadzić zmiany do swojej początkowej propozycji, aby poprawić jej bezpieczeństwo albo lepiej spełnić różne potrzeby użytkowników. Gdy twoje EIP uwzględni wszystkie konieczne zmiany, musisz je ponownie przedstawić deweloperom protokołów. Następnie przejdziesz do kolejnego etapu tego procesu lub pojawią się kolejne obawy, wymagające kolejnych popraw twojej propozycji.
EIP zostaje uwzględnione w aktualizacji sieci: zakładając, że EIP zostanie zatwierdzony, przetestowany i wdrożony, zostanie on zaplanowany jako część aktualizacji sieci. Biorąc pod uwagę wysokie koszty koordynacji aktualizacji sieci (wszyscy muszą aktualizować jednocześnie), EIP są zazwyczaj łączone w pakiety aktualizacji.
Aktualizacja sieci zostaje aktywowana: po aktywacji aktualizacji sieci, EIP będzie dostępny w sieci Ethereum. Uwaga: aktualizacje sieci są zwykle aktywowane w sieciach testowych przed aktywacją w sieci głównej Ethereum.
Ten przebieg, choć bardzo uproszczony, daje obraz istotnych etapów aktywacji zmiany protokołu na Ethereum. Przyjrzyjmy się teraz nieformalnym czynnikom odgrywającym rolę w tym procesie.
Proces nieformalny
Rozumienie wcześniejszych prac
Mistrzowie EIP powinni zapoznać się z wcześniejszymi pracami i propozycjami przed stworzeniem EIP, które można poważnie rozważyć do wdrożenia w sieci głównej Ethereum. W ten sposób EIP może wnieść coś nowego, co nie zostało wcześniej odrzucone. Trzy główne miejsca, w których można to sprawdzić to repozytorium EIP(opens in a new tab), forum Ethereum Magicians(opens in a new tab) i ethresear.ch(opens in a new tab).
Grupy robocze
Mało prawdopodobne jest, aby wstępny projekt EIP został wdrożony do sieci głównej Ethereum bez edycji lub zmian. Zasadniczo mistrzowie EIP będą pracować z podzbiorem deweloperów protokołów w celu określenia, implementacji, przetestowania, iteracji i sfinalizowania ich propozycji. Dawniej takie grupy robocze wymagały kilku miesięcy (a czasem lat!) pracy. Podobnie, mistrzowie EIP dla takich zmian powinni angażować odpowiednich deweloperów aplikacji/narzędzi na wczesnym etapie ich wysiłków w celu zebrania opinii użytkowników końcowych i złagodzenia wszelkich zagrożeń związanych z wdrożeniem.
Konsensus społeczności
Podczas gdy niektóre EIP są nieskomplikowanymi ulepszeniami technicznymi z minimalnymi poprawkami, niektóre są bardziej złożone i wiążą się z kompromisami, które będą miały różny wpływ na różnych udziałowców. Oznacza to, że niektóre EIP są bardziej kontrowersyjne w społeczności niż inne.
Nie ma jasnego podręcznika, jak radzić sobie z kontrowersyjnymi propozycjami. Jest to wynik zdecentralizowanego designu Ethereum, w którym żadna pojedyncza grupa udziałowców nie może zmusić innych przy użyciu siły: deweloperzy protokołów mogą zdecydować się nie implementować zmian w kodzie; operatorzy węzłów mogą zdecydować się nie uruchamiać najnowszego klienta Ethereum; zespoły aplikacji i użytkownicy mogą zdecydować się nie dokonywać transakcji w łańcuchu. Ponieważ deweloperzy protokołów nie mają możliwości zmuszenia ludzi do przyjęcia aktualizacji sieci, będą najczęściej unikać wdrażania EIP tam, gdzie kontrowersje przeważają nad korzyściami dla szerszej społeczności.
Od mistrzów EIP oczekuje się pozyskiwania opinii od wszystkich istotnych udziałowców. Jeśli znajdziesz się w sytuacji, w której zostaniesz mistrzem kontrowersyjnego EIP, powinieneś spróbować odnieść się do zastrzeżeń, aby zbudować konsensus wokół swojego EIP. Biorąc pod uwagę rozmiar i różnorodność społeczności Ethereum, nie ma jednej metody (np. głosowania monetą), która mogłaby być wykorzystana do oceny konsensusu społeczności, a od czempionów EIP oczekuje się dostosowania do okoliczności ich propozycji.
Poza bezpieczeństwem sieci Ethereum, deweloperzy protokołów dawniej przywiązywali dużą wagę do tego, co cenią sobie deweloperzy aplikacji/narzędzi i użytkownicy aplikacji, biorąc pod uwagę, że ich używanie i tworzenie w Ethereum jest tym, co czyni ekosystem atrakcyjnym dla innych udziałowców. Dodatkowo, EIP muszą być wdrażane we wszystkich implementacjach klienta, które są zarządzane przez różne zespoły. Część tego procesu zwykle oznacza przekonywanie wielu zespołów deweloperów protokołów, że dana zmiana jest wartościowa i pomaga użytkownikom końcowym lub rozwiązuje kwestię bezpieczeństwa.
Radzenie sobie z nieporozumieniami
Posiadanie wielu udziałowców z różnymi motywacjami i przekonaniami oznacza, że nieporozumienia nie są rzadkością.
Zasadniczo, nieporozumienia są rozwiązywane za pomocą długich dyskusji na forach publicznych, aby zrozumieć źródło problemu i umożliwić każdemu wypowiedzenie się. Zazwyczaj jedna z grup ustępuje lub osiągane jest szczęśliwe kompromisowe rozwiązanie. Jeśli jedna grupa czuje się wystarczająco silna, wymuszenie konkretnej zmiany może doprowadzić do podziału łańcucha. Podział łańcucha ma miejsce, gdy niektórzy udziałowcy protestują przeciwko wdrożeniu zmiany protokołu, w wyniku czego działają różne, niekompatybilne wersje protokołu, z których wyłaniają się dwa osobne blockchainy.
Fork DAO
Forki następują, wtedy kiedy należy dokonać ważnych aktualizacji technicznych lub zmian w sieci i zmienić „zasady” protokołu. Klienci Ethereum muszą zaktualizować swoje oprogramowanie, aby wdrożyć nowe zasady forków.
Fork DAO był odpowiedzią na atak DAO z 2016 r.(opens in a new tab), w którym niezabezpieczony kontrakt został pozbawiony z ponad 3,6 miliona ETH w wyniku włamania. Fork przeniósł środki z wadliwego kontraktu do nowego kontraktu, umożliwiając każdemu, kto stracił środki w wyniku włamania, ich odzyskanie.
Ten kierunek działania został przegłosowany przez społeczność Ethereum. Każdy posiadacz ETH mógł głosować za pośrednictwem transakcji na platformie do głosowania(opens in a new tab). Decyzja o forku osiągnęła ponad 85% głosów.
Należy zauważyć, że chociaż protokół został zforkowany, aby odwrócić skutki włamania, waga głosowania przy podejmowaniu decyzji o zforkowaniu jest dyskusyjna z kilku powodów:
- Frekwencja w głosowaniu była niezwykle niska
- Większość ludzie nie wiedziała, że głosowanie się odbywa
- Głosowanie reprezentowało jedynie posiadaczy ETH, a nie innych uczestników systemu
Część społeczności odmówiła forkowania, głównie dlatego, że uważali, że incydent z DAO nie był wadą protokołu. Następnie utworzyli Ethereum Classic(opens in a new tab).
Obecnie społeczność Ethereum przyjęła politykę braku interwencji w przypadkach błędów w kontraktach lub utraty środków, aby zachować wiarygodną neutralność systemu.
Obejrzyj po więcej informacji o włamaniu do DAO:
Użyteczność forkowania
Fork Ethereum/Ethereum Classic jest doskonałym przykładem prawidłowego forka. Mieliśmy dwie grupy, które tak mocno nie zgadzały się ze sobą w kwestii pewnych podstawowych wartości, że uznały, że warto było podjąć ryzyko związane z realizacją ich konkretnych kierunków działania.
Zdolność do zforkowania w obliczu znaczących różnic politycznych, filozoficznych lub ekonomicznych odgrywa dużą rolę w sukcesie zarządzania Ethereum. Bez możliwości zforkowania alternatywą były ciągłe walki, wymuszony niechętny udział tych, którzy ostatecznie utworzyli Ethereum Classic i coraz bardziej rozbieżna wizja sukcesu Ethereum.
Zarządzanie łańcuchem śledzącym
Proces zarządzania Ethereum często zamienia szybkość i wydajność na otwartość i integracyjność. Aby przyspieszyć rozwój łańcucha śledzącego, został on uruchomiony niezależnie od sieci proof-of-work Ethereum i podlegał własnym praktykom zarządzania.
Podczas gdy specyfikacja i implementacje deweloperskie zawsze były w pełni open source, formalne procesy stosowane do proponowania aktualizacji opisane powyżej nie zostały użyte. Pozwoliło to na szybsze określanie i uzgadnianie zmian przez badaczy i osób wdrażających.
Kiedy łańcuch śledzący połączył się z warstwą wykonawczą Ethereum 15 września 2022 r., Połączenie zostało zakończone w ramach aktualizacji sieci Paris. Propozycja EIP-3675(opens in a new tab) została zmieniona z „Last Call” na „Final”, kończąc przejście na proof-of-stake.
Więcej o PołączeniuJak mogę się zaangażować?
- Zaproponuj EIP
- Dyskutuj na temat aktualnych propozycji(opens in a new tab)
- Zaangażuj się w dyskusji R&D(opens in a new tab)
- Dołącz do Discorda R&D Ethereum(opens in a new tab)
- Dodaj serwer
- Przyczyń się do rozwoju klientów
- Program stażowy dla głównych deweloperów(opens in a new tab)
Dalsza lektura
Zarządzanie w Ethereum nie jest jednoznacznie zdefiniowane. Perspektywy na ten temat różnią się wśród różnych uczestników społeczności. Oto kilka z nich:
- Więcej o zarządzaniu blockchain(opens in a new tab) – Vitalik Buterin
- Jak działa zarządzanie Ethereum?(opens in a new tab) — Cryptotesters
- Jak działa zarządzanie Ethereum(opens in a new tab) — Micah Zoltu
- Czym jest główny deweloper Ethereum?(opens in a new tab) — Hudson Jameson
- Zarządzanie, część 2: plutokracja jest nadal zła(opens in a new tab) – Vitalik Buterin
- Wyjście poza zarządzanie głosowaniem monetami(opens in a new tab) – Vitalik Buterin