Zcash stał się przedmiotem krótkiego paniki rynkowej po tym, jak eksploratory bloków wydawały się pokazywać, że blockchain skupiony na prywatności przestał generować bloki przez kilka godzin.
Gdy deweloperzy i dostawcy infrastruktury zaczęli kwestionować ten zarzut, rynek już zmienił kierunek. ZEC niedawno handlował w okolicach 620 USD, wzrastając o około 10% w ciągu sesji, podczas gdy Bitcoin i Ethereum spadły o ponad 4%, według danych CryptoSlate.
Rally sprawił, że Zcash stał się rzadkim zwycięzcą w ramach szerszego wyprzedaży kryptowalut związanych z wznowieniem napięć geopolitycznych, słabszym nastrojem wobec aktywów cyfrowych oraz wymuszoną likwidacją pozycji dźwigniowych.
Episod również dał traderom wyraźniejszy test tego, co początkowo wyglądało na szkodliwy kryzys techniczny: Zcash nie wyszedł z sieci, ale część jego systemu prywatności została celowo wyłączone, aby przeprowadzić „najambitniejszą aktualizację sieci w historii Zcash”.
Rozmowy o awarii Zcash ukrywały szerszy problem
Zamieszanie rozpoczęło się po tym, jak Zcash ukończył awaryjną aktualizację sieci, by przywrócić Orchard, zabezpieczoną pulę, która stanowi podstawę najbardziej zaawansowanych transakcji prywatnościowych w sieci.
Niektóre eksploratory bloków wydawały się nieaktualne po aktualizacji, co sugerowało, że blockchain przestał działać.
Dostawcy infrastruktury później powiedzieli, że te eksploratory ładowały się lub synchronizowały po aktualizacji swoich węzłów, podczas gdy górnicze kontynuowały generowanie bloków, a transakcje nadal były potwierdzane.
Założyciel ZODL Josh Swihart napisał na X:
“Zcash nigdy nie był niedostępny. Wiele eksploratorów bloków używa niepoprawionych węzłów. Tak się dzieje przy każdej aktualizacji sieci.”
Ta różnica miała znaczenie. Zcash nie miał do czynienia z całkowitym zawieszeniem sieci. Zamiast tego deweloperzy tymczasowo wyłączyli transakcje Orchard poprzez awaryjny soft fork, przygotowując trwałe naprawy dla luki bezpieczeństwa w obwodzie dowodów zerowej wiedzy Orchard.
Fundacja Zcash poinformowała, że luka została odkryta 29 maja przez niezależnego badacza bezpieczeństwa Taylora Hornby’ego, który prowadził badania nad bezpieczeństwem protokołu dla Shielded Labs.
Inżynierowie ZODL potwierdzili raport w ciągu kilku godzin i rozpoczęli przygotowania do poufnej odpowiedzi z górnikami, giełdami, dostawcami infrastruktury i innymi uczestnikami sieci.
Pierwszy etap odpowiedzi został aktywowany przy wysokości bloku 3 363 426 i odrzucił transakcje i bloki zawierające Orchard.
Drugi etap nastąpił z hard forkiem NU6.2, który został aktywowany przy wysokości bloku 3 364 600 we wtorek rano i ponownie włączył Orchard przy użyciu poprawionego obwodu.
Fundacja namawiała operatorów węzłów do aktualizacji na Zebra 5.0.0, czyli oprogramowanie odpowiadające nowym zasadom sieci.
Dlaczego Orchard stał się centrum historii
Orchard nie jest marginalną częścią Zcash. Jest to najnowsza zabezpieczona pula sieci i została wprowadzona wraz z aktualizacją NU5 w 2022 roku.
W przeciwieństwie do wcześniejszych pul prywatności Zcash, Orchard korzysta z Halo 2 i nie wymaga zaufanego setupu, co było długoletnim problemem w projektowaniu kryptowalut zachowujących prywatność. Fundacja Zcash opisała Orchard jako centralny element architektury prywatności sieci.
Błąd wpłynął na solidność obwodu Orchard. Prosto mówiąc, solidność to reguła, że system powinien akceptować tylko prawidłowe transakcje i prawidłowe zmiany stanu. Luka w solidności może doprowadzić do tego, że system przyjmie coś, co powinien odrzucić.
W tym przypadku Fundacja powiedziała, że udane wykorzystanie mogłoby umożliwić podwójne wydatkowanie w Orchard. To byłoby poważne dla księgowości zabezpieczonej puli, choć problem nie pozwoliłby atakującemu zwiększyć całkowitego zapasu Zcash.
Taki limit jest ważny. Mechanizm „przełącznika” w Zcash śledzi, jak wartość przemieszcza się między pulami, w tym Sprout, Sapling, Orchard, adresami transparentnymi i saldami lockbox.
Fundacja powiedziała, że te kontrole potwierdziły, że limit zapasu 21 milionów ZEC pozostał nietknięty, bez żadnych dowodów nieautoryzowanego tworzenia wartości.
Luka nie wpłynęła też na prywatność użytkowników, według Fundacji. Transakcje Sapling i transparentne nadal działały, podczas gdy Orchard był zawieszony.
Naprawa wymagała fork, a nie zwykłej łatki
Awaryjna odpowiedź rozwinęła się w dwóch etapach, ponieważ normalna łatka oprogramowania nie wystarczyłaby.
Pierwszy raz deweloperzy użyli soft forku, aby wyłączyć Orchard, zachowując szczegóły dotyczące luki w tajemnicy. Bezpośrednia publiczna łatka mogła ujawnić wystarczająco dużo informacji, by atakujący zrozumieli lukę zanim sieć dokonała pełnej naprawy.
Trwała naprawa wymagała hard forku, ponieważ błąd znajdował się w obwodzie dowodów zerowej wiedzy. Naprawa takiej luki wymaga zmiany przypisanego klucza weryfikacyjnego, który sieć używa do weryfikacji dowodów Orchard. Taka zmiana na poziomie konsensusu nie może być wykonana wyłącznie przez standardowe oprogramowanie węzłów.
Fundacja Zcash powiedziała, że incydent był dopiero drugim zabezpieczeniowym uaktualnieniem protokołu w historii Zcash od uruchomienia sieci w 2016 roku.
Koordynacja była wyjątkowo skrócona. Prywatne kontaktowanie się z górnikami i giełdami rozpoczęło się 31 maja.
Początkowy próba aktywacji soft forku napotkała problemy z wdrożeniem, co skłoniło inżynierów do przygotowania drugiej łatki. Soft fork następnie został aktywowany około 02:00 UTC 2 czerwca, a hard fork NU6.2 nastąpił wczesnym 3 czerwca.
Rynek zamienił panikę w handel odpornością
Odpowiedź cenowa była uderzająca, ponieważ ujawnienie nastąpiło w słabej sesji dla aktywów cyfrowych.
Bitcoin niedawno handlował w okolicach 65 900 USD, podczas gdy ETH był blisko 1 832 USD, spadając o około 4%, według danych CryptoSlate. ZEC, w przeciwieństwie, handlował w okolicach 620 USD, po osiągnięciu maksimum dziennego powyżej 642 USD.
Szeroki rynek był już pod presją wznowionych napięć geopolitycznych i obaw dotyczących rynku ropy. Reuters raportował w środę, że globalne rynki osłabły w związku z eskalacją konfliktu na Bliskim Wschodzie i zbliżeniem ropy Brent do 100 USD za baryłkę.
Specyficzne dla kryptowalut presja dodatkowo przyczyniła się do tej zmiany. Ostatnie raporty rynkowe pokazały, że spadek ceny Bitcoina spowodował także likwidację ponad 1 miliarda USD pozycji kryptowalutowych dźwigniowych w czasie wyprzedaży, przy czym największe straty poniosły pozycje długie.
Na tle tego wzrost ZEC sugerował, że traderzy nie oceniali błędu Orchard jako trwałego uszkodzenia sieci. Zamiast tego rynek zdawał się skupiać na fakcie, że luka została znaleziona, ograniczona i naprawiona przed jakimkolwiek znanym wykorzystaniem.
Co więcej, ruch cenowy pokazał, jak duże zainteresowanie rynku dotyczy kryptowaluty skupionej na prywatności.
Artykuł Zcash miał zostać zatrzymany – potem stał się jedynym zwycięzcą kryptowalut pojawił się pierwszy raz na CryptoSlate.