Ethereum opóźnia aktualizację Glamsterdam z powodu ośmiu zagrożeń dla inteligentnych kontraktów

ETH
Aktualizacja Glamsterdamsieć testowa HoodiChainSecurityceny gazuEthereumEIP-8037
1 godzinę temuŹródło: crypto.news
Ethereum opóźnia aktualizację Glamsterdam z powodu ośmiu zagrożeń dla inteligentnych kontraktów

Deweloperzy Ethereum opóźnili aktualizację Glamsterdam w sieci testowej Hoodi po tym, jak badacze bezpieczeństwa zidentyfikowali osiem istniejących założeń dotyczących inteligentnych kontraktów, które mogą stać się nieaktualne w wyniku proponowanych zmian w rozliczaniu gazu.

Podsumowanie

  • Deweloperzy Ethereum opóźnili aktualizację Glamsterdam w sieci testowej Hoodi po tym, jak ChainSecurity zidentyfikowało osiem założeń dotyczących inteligentnych kontraktów, które mogą stać się nieaktualne w wyniku proponowanych zmian w gazie.
  • EIP 8037 i EIP 8038 zmieniłyby sposób, w jaki Ethereum pobiera opłaty gazowe za określone operacje, potencjalnie wpływając na istniejące kontrakty, które polegają na stałych kosztach gazu lub określonych warunkach niepowodzenia transakcji.
  • Fundacja Ethereum poprosiła deweloperów i audytorów o przegląd dotkniętych projektów i zgłaszanie potencjalnych problemów, zanim główni deweloperzy zdecydują, czy konieczne są zmiany w specyfikacjach aktualizacji.
  • Hard fork Hoodi pozostanie wstrzymany do czasu rozwiązania zidentyfikowanych problemów, podczas gdy rozwój kolejnej aktualizacji Ethereum – Hegota – będzie kontynuowany bez przerwy.

W wpisie na blogu z 6 listopada Fundacja Ethereum poinformowała, że firma audytorska ChainSecurity zidentyfikowała kilka projektów, które mogą stać się podatne na luki w zabezpieczeniach po wejściu w życie EIP-8037 i EIP-8038.

Obie propozycje zmieniają sposób, w jaki Ethereum pobiera opłaty gazowe za określone operacje, w szczególności te związane z tworzeniem i dostępem do stanu blockchaina. Niektóre istniejące kontrakty polegają na stałych kosztach gazu lub założeniach dotyczących ilości gazu pozostałego po niepowodzeniu operacji.

Ustalenia skłoniły grupę Ethereum All Core Developers (ACD) do wstrzymania hard forka Hoodi do czasu rozwiązania problemów ze zgodnością.

Deweloperzy badają obecnie, czy dotknięte kontrakty można zaktualizować niezależnie, czy też konieczne są zmiany w specyfikacjach aktualizacji.

Aktualizacja Glamsterdam Ethereum boryka się z ośmioma problemami ze zgodnością

Problemy z bezpieczeństwem zostały szczegółowo opisane w analizie ChainSecurity z 13 października, która zbadała, w jaki sposób Glamsterdam może zmienić zachowanie kontraktów, które kontynuują wykonywanie po niepowodzeniu wywołania zewnętrznego.

Zgodnie z obowiązującymi zasadami Ethereum niektóre kontrakty polegają na tym, że nieudana operacja pozostawia zbyt mało gazu, aby kolejne instrukcje mogły zostać ukończone. Zmienione rozliczanie w Glamsterdam mogłoby pozwolić na ukończenie某些 operacji, nawet gdy deweloperzy pierwotnie oczekiwali, że cała transakcja zostanie wycofana.

ChainSecurity ostrzegło, że takie zachowanie może zakłócić zabezpieczenia zaprojektowane w celu zapobiegania trwałemu zapisywaniu nieudanych transakcji lub utracie możliwości ponowienia przez legalne operacje.

Jeden z przykładów dotyczy kontraktów, które oznaczają operację jako nieudaną po wyczerpaniu gazu podczas wywołania zewnętrznego. W ramach nowych zasad wcześniej niedostępny gaz mógłby stać się ponownie dostępny, pozwalając kontraktowi zapisać trwałe niepowodzenie.

Fundacja Ethereum opublikowała repozytorium GitHub dokumentujące osiem dotkniętych niezmienników, wraz z wyjaśnieniami, przykładami i instrukcjami dla deweloperów do zbadania własnego kodu.

Wśród zidentyfikowanych zagrożeń znajdują się kontrakty, które zakładają, że zużycie gazu może zmieniać się tylko w jednym kierunku, że stałe limity gazu pozostaną wystarczające lub że wycofane wywołania nie mogą zwrócić gazu już wydanego na tworzenie stanu.

Repozytorium wskazuje stałe budżety gazowe i rezerwy gazu jako najczęstsze problemy znalezione do tej pory, szczególnie w kontraktach, które polegają na z góry określonych kosztach transakcji.

Deweloperzy zostali poproszeni o przegląd zarówno kontraktów on-chain, jak i wspierających systemów off-chain, w tym portfeli, relayerów i infrastruktury, które mogą zawierać zakodowane na stałe limity gazu.

Aktywacja Hoodi pozostaje wstrzymana w miarę kontynuowania przeglądów bezpieczeństwa

Najnowsze ustalenia dostarczają dalszych szczegółów stojących za wcześniejszą decyzją Ethereum o przełożeniu aktywacji Hoodi, pierwotnie zaplanowanej na 26 października o 17:42:48 UTC.

Jak wcześniej informował crypto.news, przełożenie usunęło zarówno aktywacje warstwy wykonawczej Amsterdam, jak i warstwy konsensusu Gloas z harmonogramu Hoodi, wraz z planowanym zwiększeniem limitu gazu w sieci testowej do 200 milionów.

Nie ogłoszono żadnej zastępczej daty aktywacji.

Deweloper Ethereum Foundation, Marius van der Wijden, powiedział, że organizacja współpracuje z ChainSecurity i Dedaub, przeprowadzając jednocześnie audyty wewnętrzne w celu oceny możliwych skutków dla istniejących aplikacji.

Fundacja przyznała, że jej przeglądy nie mogą objąć każdego projektu Ethereum, szczególnie tam, gdzie luki w zabezpieczeniach mogą dotyczyć interakcji między inteligentnymi kontraktami a infrastrukturą pozałańcuchową.

Dlatego zwróciła się do deweloperów i niezależnych audytorów o zidentyfikowanie dotkniętych aplikacji i przesłanie swoich ustaleń przed kolejnymi dyskusjami All Core Developers.

Repozytorium prosi o szczegóły dotyczące dotkniętych kontraktów, konkretnego niezmiennika, którego to dotyczy, możliwych poprawek oraz testów potwierdzających, jeśli są dostępne. Raporty można przesyłać prywatnie na adres [email protected].

W zależności od opinii deweloperzy mogą rozważyć korekty EIP-8037 i EIP-8038 przed kontynuowaniem aktualizacji.

Prace nad kolejną aktualizacją Ethereum, Hegotá, będą kontynuowane równolegle i pozostają niezakłócone przez opóźnienie Glamsterdam – poinformowała Fundacja.

Zmiany skalujące Glamsterdam pozostają w fazie testów

Glamsterdam został już aktywowany w sieci testowej Sepolia 6 października, gdzie deweloperzy rozpoczęli badanie jego zmian skalujących przy limicie 200 milionów gazu.

Aktualizacja wprowadza zapisany w protokole rozdział proponującego i budującego bloki poprzez EIP-7732, który przenosi obowiązki budowania bloków do protokołu konsensusu Ethereum.

Kolejny ważny element, EIP-7928, wprowadza listy dostępu na poziomie bloku, zaprojektowane, aby pomóc klientom w efektywniejszym przetwarzaniu danych transakcji i wspierać równoległe wykonanie.

Zmiana cen gazu stanowi kolejną część aktualizacji. EIP-8037 zmienia koszt tworzenia nowego stanu blockchain, podczas gdy EIP-8038 dostosowuje opłaty za dostęp do istniejącego stanu.

W sierpniowej ocenie technicznej Ethereum Foundation podała, że odtworzenia historycznych transakcji wykazały, iż większość inteligentnych kontraktów pozostała nieobjęta proponowanymi zmianami cen.

Jednak mniejsza grupa wymagała wyższych limitów gazu lub bardziej znaczących modyfikacji, aby uniknąć nieoczekiwanych awarii.

Osobno deweloperzy scalili poprawkę depozytu walidatora 26 października po zidentyfikowaniu wady, która mogła przypisywać depozyty stakingowe budowniczym bloków dzielącym ten sam klucz publiczny.

Poprawka dotyczyła odrębnego problemu związanego ze zmianami konsensusu Gloas w Glamsterdam, a do specyfikacji dodano testy regresji, zanim implementacje klientów uwzględnią zmienione zachowanie.