EIP, czyli Ethereum Improvement Proposals, to struktura dokumentu umożliwiająca standaryzację opracowywania ulepszeń w ramach Ethereum, dzięki której każdy może zgłaszać swoje propozycje, a tym samym udoskonalać rozwój tego blockchaina.
Ujeden z najważniejszych procesów w rozwoju Ethereum (ETH), odbywa się w dobrze znanym Propozycje ulepszeń EIP lub EthereumSą to dokumenty techniczne, w których społeczność programistów Ethereum proponuje ulepszenia projektu. Pomysł ten został zaczerpnięty z doświadczeń Bitcoina (BTC)gdzie są Propozycje ulepszeń Bitcoina (BIP)które mają ten sam cel i które już omówiliśmy w Bit2Me Academy.
Powód przyjęcia tego modelu organizacyjnego wynika z potrzeby wysokiego poziomu organizacji w zdecentralizowanych społecznościach programistów, aby zarządzać przyszłymi usprawnieniami, które mają zostać zintegrowane z projektem, i decydować o nich. W ten sposób każdy programista może zgłosić propozycję usprawnienia, która zostanie omówiona w społeczności i, w zależności od jej wpływu, może lub nie zostać uwzględniona w protokole Ethereum.
Aby to osiągnąć, twórca pomysłu musi szczegółowo wyjaśnić swoją propozycję, uzasadnić korzyści z jej wdrożenia w projekcie oraz jasno wykazać jej wykonalność i wpływ. Dlatego tworzenie tych dokumentów jest przejrzyste i ma jasno określony cel: przedstawienie społeczności przyszłości projektu i umożliwienie wszystkim jej przedyskutowania.
Rozpoczęcie propozycji ulepszeń Ethereum lub EIP
Jak wspomnieliśmy, idea stojąca za stworzeniem Propozycji Ulepszeń Ethereum (EIP) wywodzi się z doświadczeń zastosowanych w Bitcoinie. Przypomnijmy, że w Bitcoinie EIP mają na celu umożliwienie społeczności zaprezentowania ulepszeń, które chce ona uwzględnić w protokole Bitcoin. Pomysł na EIP został pierwotnie zaproponowany przez Amir Taaki, który zaprojektował pierwotny protokół ich prezentacji, tworząc BIP-001 Bitcoina.
Następnie programista Łukasz DashjrUdoskonalił tę ideę dzięki swojemu doświadczeniu w rozwoju społeczności wolnych (zwłaszcza w Gentoo GNU/Linux), tworząc BIP-002. Od tamtej pory do dziś BIP-y są narzędziem do wprowadzania nowych ulepszeń w Bitcoinie.
Pomysł okazał się tak skuteczny, że został powielony w innych kryptowalutach i Ethereum nie było wyjątkiem. 27 października 2015 r. EIP-001Stworzony przez Martina Becze i Hudsona Jamesona, dwóch wybitnych deweloperów Ethereum. EIP nosi następującą nazwę:
Cel i wytyczne EIP
Innymi słowy, ten pierwszy EIP ustanowił ogólne wytyczne i cel, jaki miały EIP w Ethereum. Właściwie, jego wprowadzenie nie mogło być bardziej jasne w tym względzie:
EIP to skrót od Ethereum Improvement Proposal (Propozycja Ulepszeń Ethereum). EIP to dokument projektowy, który dostarcza informacji społeczności Ethereum lub opisuje nową funkcję Ethereum, jego procesy lub środowisko. EIP powinien zawierać zwięzłą specyfikację techniczną funkcji i jej uzasadnienie. Autor EIP jest odpowiedzialny za budowanie konsensusu w społeczności i dokumentowanie opinii odmiennych.
Klasyfikacja EIP
Podobnie jak BIP-y Bitcoina, EIP-y Ethereum podlegają szeregowi klasyfikacji, które określają kierunek wprowadzanych ulepszeń. W tym przypadku EIP-y Ethereum dzielą się na trzy klasy:
Standard EIP
Te EIP służą do opisywania zmian, które wpływają na większość lub wszystkie implementacje Ethereum. Należy pamiętać, że Ethereum to protokół, a jego oficjalna implementacja znajduje się w oprogramowaniu. GethAle podobnie jak to oprogramowanie istnieją inne implementacje, takie jak ta, którą możemy zobaczyć w Hyperledger Besu o Parytet.
Ulepszenia opisane w standardowym protokole EIP zazwyczaj obejmują zmiany w protokole sieciowym lub zmiany w regułach walidacji bloków lub transakcji. Dotyczy to również proponowanych zmian standardów aplikacji lub wszelkich zmian lub dodatków, które wpływają na interoperacyjność aplikacji. Dlatego też standardowe protokoły EIP mają największy wpływ na rozwój Ethereum.
Dodatkowo PIE typu Standard dzielą się na następujące podkategorie:
- podstawowyTa podkategoria obejmuje EIP-y, które dążą do ulepszeń wymagających zmiany protokołu konsensusu Ethereum. EIP-y EIP-005 i EIP-0101 są dobrymi przykładami. Obejmuje ona jednak również ulepszenia, których zmiany niekoniecznie są krytyczne dla protokołu konsensusu. Przykładami tych ostatnich są EIP-y EIP-086 i EIP-090.
- sieciTa podkategoria obejmuje ulepszenia związane z DevP2P (EIP-8) i protokołem sieciowym; obejmuje to proponowane ulepszenia specyfikacji protokół plotek i roju Ethereum.
- ZaczepyTa podkategoria obejmuje ulepszenia specyfikacji i standardów API/RPC klienta Ethereum. Obejmuje również zmiany w interfejsach ABI i poziomach API. Dobrym przykładem takich EIP jest EIP-006.
- ERC:standardy i konwencje na poziomie aplikacji, w tym standardy kontraktowe, takie jak: standardy tokenów (ERC-20, ERC-721 y ERC-1155), rejestry nazw (ERC-26, ERC-137), schematy URI (ERC-67), formaty bibliotek/pakietów (EIP-82) i formaty portfeli (EIP-75, EIP-85).
Meta EIP
Inną kategorią EIP są tzw. meta-EIP. EIP opisują proces związany z Ethereum lub proponują jego zmianę. Zazwyczaj proponują zmiany w implementacji, ale nie w kodzie źródłowym Ethereum. Często wymagają one konsensusu społeczności i, w przeciwieństwie do informacyjnych EIP, użytkownicy nie mogą ich zignorować.
Dobrym przykładem tego typu EIP są zmiany procedur i wytycznych w procesie decyzyjnym oraz zmiany w narzędziach lub środowisku wykorzystywanym w rozwoju Ethereum. Każde meta-EIP jest również uważane za procesowy EIP.
Informacyjny
Informacyjny EIP opisuje problem projektowy Ethereum lub dostarcza społeczności Ethereum ogólnych wytycznych lub informacji, ale nie proponuje nowej funkcji. Informacyjne EIP niekoniecznie odzwierciedlają konsensus społeczności Ethereum ani nie są rekomendacją, dlatego użytkownicy i implementatorzy mogą zignorować informacyjne EIP lub zastosować się do ich rad.
Jak działają propozycje ulepszeń Ethereum (EIP)
Działanie EIP jest jasno określone w dokumencie EIP-001. Proces ten rozpoczyna się od wygenerowania pomysłu lub propozycji przez autora EIP. W tym momencie odpowiedzialność za rozwój przechodzi na autora, który musi przedstawić niezbędne argumenty uzasadniające potrzebę jego propozycji i uzasadnić ją. W związku z tym autor EIP musi stworzyć jasno wyjaśniony pomysł i przedstawić go w treści EIP wraz z uzasadnieniem i elementami pomocniczymi.
W tym momencie prezentujemy zatem następujące etapy:
Jak działają propozycje ulepszeń Ethereum (EIP)
Działanie EIP jest jasno określone w dokumencie EIP-001. Proces ten rozpoczyna się od wygenerowania pomysłu lub propozycji przez autora EIP. W tym momencie odpowiedzialność za rozwój przechodzi na autora, który musi przedstawić niezbędne argumenty uzasadniające potrzebę jego propozycji i uzasadnić ją. W związku z tym autor EIP musi stworzyć jasno wyjaśniony pomysł i przedstawić go w treści EIP wraz z uzasadnieniem i elementami pomocniczymi.
W tym momencie prezentujemy zatem następujące etapy:
Pierwszy etap: Prezentacja pomysłu
To najbardziej podstawowy i niedopracowany etap EIP. Zasadniczo polega on na przedstawieniu ulepszenia w formie sugestii na forach Ethereum. Celem jest zebranie opinii od społeczności, aby zdecydować, czy kontynuować rozwijanie propozycji.
Drugi etap: Tworzenie projektu
Na tym etapie pomysł jest już opracowany i wdrożony zgodnie z parametrami organizacyjnymi oczekiwanymi od EIP. Jest to projekt w toku i aktywny, a Ty możesz wysyłać prośby o wprowadzenie dalszych zmian do projektu, aż uznasz, że EIP jest dojrzały i gotowy do przejścia do kolejnego etapu.
Trzeci etap: Ostatnie wezwanie
Na tym etapie poprawiona wersja robocza jest dostępna na stronie internetowej Ethereum EIPS. Celem tego etapu jest zaprezentowanie EIP jak najszerszemu gronu użytkowników w społeczności, sfinalizowanie poprawek oraz stworzenie w pełni funkcjonalnej i poprawionej implementacji EIP.
Czwarty etap: Akceptacja
Ten status wskazuje, że istotne zmiany są mało prawdopodobne i deweloperzy klientów Ethereum powinni rozważyć uwzględnienie tego EIP. Ich proces podejmowania decyzji o modyfikacji w swoich klientach w ramach twardy widelec Nie jest częścią procesu EIP. Ten status dotyczy wyłącznie EIP dla podstawowych procesów blockchain.
Piąty etap: prezentacja końcowa
Ten punkt reprezentuje stan, w którym aktualizacja EIP jest konieczna tylko w celu skorygowania błędów. Dodatkowo można wybrać inne stany, takie jak:
- Aktywny:W niektórych informacyjnych i procesowych planach EIP mogą one mieć również status „Aktywny”, jeśli nigdy nie zostaną ukończone.
- OpuszczonyPierwotni autorzy nie zamierzają już wdrażać tego EIP lub może to już nie być (technicznie) preferowana opcja.
- Odrzucony:EIP, który jest zasadniczo uszkodzony lub rdzeń EIP, który został odrzucony przez deweloperów rdzenia i nie zostanie wdrożony.
- ZastąpionyEIP, który wcześniej był Ostateczny, ale nie jest już uważany za nowatorski. Inny EIP będzie miał status Ostateczny i będzie odnosił się do Zastąpionego EIP.
Format propozycji ulepszeń Ethereum lub EIP
Oczywiście, Ethereum Improvement Proposals (EIP), jako dokumenty techniczne, mają standardowy format prezentacji, który jasno wskazuje wszystkie informacje niezbędne do zrozumienia proponowanego ulepszenia. Dlatego format EIP zawiera następujące wiersze:
- PreambułaTo wprowadzenie do EIP. Są one sformatowane zgodnie ze stylem ustalonym przez standard. RFC 822Wstęp zawiera wszystkie podstawowe dane EIP, takie jak jego numer, autor, nazwa i krótki opis.
- streszczenieW tym miejscu znajduje się krótki opis (nie dłuższy niż 200 słów) problemu technicznego, którego dotyczy EIP.
- MotywacjaTen punkt jest opcjonalny i powinien być obowiązkowy tylko w przypadku zmiany protokołu Ethereum. W tym miejscu autor EIP musi jasno wyjaśnić, dlaczego istniejąca specyfikacja protokołu jest niewystarczająca do rozwiązania problemu rozwiązywanego przez EIP. Wnioski EIP bez przekonującego uzasadnienia na tym etapie mogą zostać odrzucone.
- SpecyfikacjaNa tym etapie autor EIP musi opracować i wyjaśnić składnię oraz proponowane udoskonalenia. Muszą być one jasne i zwięzłe, możliwe do udowodnienia i powtórzenia. Jeśli specyfikacja nie będzie zgodna z tymi zasadami, zostanie po prostu odrzucona.
- UsprawiedliwienieUzasadnienie rozszerza specyfikację, opisując motywację projektu i powody podjęcia decyzji projektowych. Powinno ono opisywać rozważane alternatywne projekty i powiązane z nimi prace. Uzasadnienie może również stanowić dowód konsensusu w społeczności i odnosić się do istotnych zastrzeżeń lub obaw zgłoszonych podczas dyskusji.
- Kompatybilność wstecznaWszystkie wnioski EIP, które wprowadzają problemy z wsteczną kompatybilnością, muszą zawierać sekcję opisującą te problemy i ich wagę. W EIP należy wyjaśnić, w jaki sposób autor proponuje rozwiązać te problemy. Wnioski EIP bez odpowiedniego traktatu o wstecznej kompatybilności mogą zostać odrzucone.
- Przypadki testowePrzypadki testowe dla implementacji są obowiązkowe w przypadku EIP, które wpływają na zmiany konsensusu. Inne EIP mogą zawierać linki do przypadków testowych, jeśli ma to zastosowanie.
- wdrożeniaImplementacje muszą zostać ukończone, zanim jakikolwiek EIP otrzyma status „Ostateczny”, ale nie muszą zostać ukończone przed scaleniem EIP w wersję roboczą. Chociaż podejście polegające na osiągnięciu konsensusu w sprawie specyfikacji i uzasadnienia przed napisaniem kodu ma swoje zalety, zasada „ogólnego konsensusu i uruchomienia kodu” pozostaje użyteczna w przypadku rozwiązywania wielu dyskusji na temat szczegółów API.
- Względy bezpieczeństwa. Wszystkie EIP muszą zawierać sekcję omawiającą implikacje/uwagi dotyczące bezpieczeństwa związane z proponowaną zmianą. Należy uwzględnić informacje, które mogą być istotne dla dyskusji na temat bezpieczeństwa, potencjalne zagrożenia i które można wykorzystać w całym cyklu życia propozycji. Na przykład, należy uwzględnić decyzje projektowe dotyczące bezpieczeństwa, obawy, ważne dyskusje, szczegółowe wytyczne i wyzwania związane z wdrożeniem, podsumowanie zagrożeń i ryzyka oraz sposób ich rozwiązania. Wnioski EIP bez sekcji „Uwagi dotyczące bezpieczeństwa” zostaną odrzucone. EIP nie może uzyskać statusu „Ostateczny” bez omówienia Uwag dotyczących bezpieczeństwa uznanych za wystarczające przez recenzentów.
- Zwolnienie z praw autorskichWszystkie IPE muszą znajdować się w domenie publicznej.
Kilka ważnych propozycji ulepszeń Ethereum lub EIP
Chociaż możesz zobaczyć wszystkie EIP-y tutajPoniżej wyjaśniamy niektóre z najważniejszych EIP.
EIP-606: Cel twardego rozwidlenia: Homestead
El EIP-606 To jest Meta EIP. Opisuje on wszystkie niezbędne kroki do przeprowadzenia aktualizacji Homestead na Ethereum. Jako Meta EIP, odwołuje się do innych EIP, które wyjaśniają wszystkie zmiany, które należy wprowadzić. W tym przypadku EIP-606 odwołuje się do następujących EIP:
- EIP-2: Zmiany w twardym rozwidleniu Homestead
- EIP-7: DELEGATOWALNE POŁĄCZENIE
- EIP-8: Wymagania dotyczące kompatybilności wstecznej devp2p dla Homestead
Każdy z tych EIP osobno wyjaśnia zmiany, które zostaną wprowadzone, a razem prowadzą do aktualizacji Homestead.
EIP-20: Standard tokena ERC-20
El EIP-20 Jest to prawdopodobnie jeden z najbardziej znanych EIP w świecie Ethereum, ponieważ został stworzony w celu wdrożenia dobrze znanego Token standardowy ERC-20Ten rozwój zapoczątkował tworzenie przez Ethereum standardowego narzędzia do wdrażania tokenów w swoim blockchainie. W rezultacie Ethereum stało się blockchainem z największą liczbą istniejących obecnie tokenów.
EIP-137: Usługa nazw domen Ethereum – Specyfikacja
El EIP-137 Dało to początek specyfikacji systemu nazw domen Ethereum. Na tej podstawie stworzono całą niezbędną infrastrukturę, aby Ethereum stało się gigantycznym, w pełni zdecentralizowanym i zorientowanym na prywatność systemem nazw domen (DNS). Co więcej, umożliwiło to również powiązanie adresu czytelnego dla człowieka z adresem kryptograficznym w celu odbierania i wysyłania kryptowalut. Prace te doprowadziły do… ENS.
EIP-721: Standard tokenów niewymienialnych ERC-721
El EIP-721 Jest on kolejnym szeroko znanym EIP, ponieważ sam stworzył standard niewymienialnych tokenów Ethereum, ERC-721Token ten dał początek projektom takim jak CryptoKitties.
EIP-779: Hard Fork Meta: Fork DAO
Jest to prawdopodobnie najbardziej kontrowersyjny EIP Ethereum. EIP-779 EIP odpowiadało za „naprawienie” problemu wielomilionowego włamania do The DAO. Aby to zrobić, EIP przepisało całą historię blockchaina Ethereum od momentu włamania do The DAO.
Miało to na celu zwrot skradzionych środków ich właścicielom. W wyniku tego hard forka Ethereum podzieliło się na dwie społeczności, z których każda miała własny blockchain: tę, która wdrożyła poprawkę (Ethereum), i tę, która tego nie zrobiła (Ethereum Classic).
EIP-1155: Standard wielotokenowy
El EIP-1155 Znany również jako token ERC-1155, jest to standardowy EIP, którego celem jest zaprojektowanie nowego typu tokena, łączącego możliwości tokenów ERC-20 i ERC-721 w jednym standardzie. Zatem tokeny ERC-1155 posiadają zarówno właściwości zamienne, jak i niewymienne.
EIP-1559: Zmiana na rynku opłat ETH 1.0
Celem tego EIP jest zmiana sposobu obsługi zleceń w ramach sieci. Aby to osiągnąć, EIP-1559 Tworzy mechanizm spalania opłat, który zapobiega wyższej inflacji Ethereum, a jednocześnie rozszerza lub ogranicza pojemność bloków Ethereum, aby pomieścić więcej transakcji i zmniejszyć przeciążenie sieci.
Autor


