Kilkanaście godzin temu, tuż przed najnowszą aktualizacją deweloperzy Ethereum zostali powiadomieni o niepokojących błędach dotyczących smart contracts. Przeprowadzono rozmowy i analizy ze specjalistami, społecznością i z uwagi na, chociażby minimalne ryzyko, odroczono wprowadzenie Ethereum Konstantynopol.
Opóźnienie (znowu)
Nie pierwszy raz zawiadamiamy Was o przełożeniu Konstantynopola na inny termin. Przestańmy liczyć, który to już raz wydarzyła się podobna sytuacja, a przejdźmy do rzeczy. Od razu zaznaczam, że nie znamy nowego terminu aktualizacji.
Wczoraj, 15 stycznia deweloperzy Ethereum zostali poinformowani o potencjalnych problemach wynikających z aktualizacji Konstantynopol. Dowiodła tego grupa ChainSecurity, publikując artykuł na swoim blogu Medium. Odkryli problem z pewnymi funkcjami, które po aktualizacji mogłyby pozwolić na tzw. “Reentrancy Attack”.
Po szczegółowej analizie i naradzie między ważnymi członkami społeczności Ethereum zdecydowano się odroczyć wejście Konstantynopola. Hard fork miał się pojawić wraz z blokiem 7 080 000 dziś (16 stycznia 2019), ale z powodu zagrożenia funduszy użytkowników wystąpi opóźnienie.
Co robić?
Z oficjalnej informacji od zespołu Ethereum wiemy, że jeżeli jesteście zwykłymi, biernymi użytkownikami sieci to nie musicie robić nic. Inaczej ma się sprawa do aktywnych uczestników platformy.
Wymagane jest, aby wszyscy, którzy mają uruchomiony węzeł (ang. node) Ethereum, zaktualizowali go do najnowszej wersji przed blokiem 7 080 000. Tyczy się to operatorów węzłów, górników, portfeli, giełd itd. Najnowsze wersje Geth i Parity oraz wszelkie instrukcje znajdziecie tutaj, na bieżąco aktualizowane. Pozostało kilkanaście godzin do walidacji tego bloku, więc spieszcie się, a zegar odliczający czas jest tutaj.
Pozostali użytkownicy, którzy korzystają z portfeli takich jak Ledger, Trezor, Safe-T, Parit Signer, WallEth, Paper Wallets, MyCrypto, MyEtherWallet i nie mają uruchomionych węzłów, nie muszą nic robić!
Właściciele kontraktów także nie muszą nic robić, choć jeśli chcą, to mogą przeanalizować słabe strony swoich kontraktów. Nie muszą nic robić, ponieważ wykryto problematyczną funkcję i nie zostanie ona wprowadzona.
Kulisy
W kuluarach sprawa wygląda tak, że jest problem z EIP 1283, który jest odpowiedzialny za redukcję kosztów GAS’u w operacjach SSTORE.
Poza tym chodzi o smart contracts obsługujące funkcje takie jak address.transfer(…) i address.send(…), które do tej pory były w porządku. Aktualnie mogłyby wywołać otrzymanie funduszy przez dwie strony transakcji, inicjację wypłat tych funduszy itp. Więcej na ten temat znajdziecie w opublikowanym materiale ChainSecurity.
Społeczność
Decyzja o tymczasowym zawieszeniu aktualizacji Ethereum została podjęta przez deweloperów, operatorów węzłów i portfeli, właścicieli kontraktów i wielu innych ważnych członków społeczności.
Możemy być zadowoleni, że deweloperzy Ethereum nie zamietli tych defektów pod dywan i nie zgodzili się uruchomić Konstantynopola nawet z tak marginalnymi błędami. Podkreśla to jeden z użytkowników portalu Reddit, który poinformował deweloperów platformy o lukach w systemie. Udostępnił audio ze spotkania z twórcami.
Znaczna część społeczności mimo kolejnego przesunięcia aktualizacji nie jest rozczarowana, a wręcz odwrotnie. Entuzjaści platformy Ethereum wspierają deweloperów, którzy chcą prawidłowo wprowadzić nowe zmiany.
Nie wiemy, kiedy spodziewać się nowej wersji platformy, ale bądźmy cierpliwi. Zespół pracuje i prawdopodobnie już niedługo ujrzymy zwieńczenie fazy Metropolis. W okresie oczekiwania możecie przypomnieć sobie zmiany, jakie niesie za sobą Konstantynopol w formie grafiki od ConsenSys.
Kolejne opóźnienie Wam doskwiera? Czy ostatni raz odroczono Konstantynopol? Podzielcie się swoimi przemyśleniami poniżej!