Założyciel Zcash, Zooko Wilcox, ujawnił krytyczną lukę bezpieczeństwa w chronionej puli Orchard sieci, która mogła pozwolić atakującemu na wyemitowanie nieograniczonej liczby fałszywych $ZEC bez wykrycia.
Jak znaleziono błąd
Luka została odkryta 29 maja przez Taylora Hornby'ego, niezależnego badacza bezpieczeństwa, który przeprowadzał audyt protokołu dla Shielded Labs. Problem był błędem poprawności w obwodzie dowodu zero-knowledge Orchard, co oznacza, że sieć mogła zaakceptować transakcję, którą powinna odrzucić. Shielded Labs powiedziało, że Hornby użył modelu Opus 4 firmy Anthropic, wraz z niestandardowym narzędziem AI, aby napisać działający exploit, który generował nieograniczoną ilość fałszywych ZEC w lokalnym środowisku testowym. Luka pozostawała nieodkryta w puli Orchard od jej uruchomienia w maju 2022 roku, aż do momentu, gdy inżynierowie zamknęli ją w tym tygodniu.
Fundacja Zcash powiedziała, że exploatacja mogła pozwolić na podwójne wydawanie w Orchard, ale nie mogła zafundować inflacji całkowitej podaży ZEC, która jest ograniczona przez "bramkę" księgowości sieci. Bramki ograniczają, ile wartości może opuścić każdą pulę do ilości, która do niej weszła, a Fundacja potwierdziła, że całkowita podaż pozostała nienaruszona, bez dowodów na nieautoryzowane tworzenie wartości.
Odpowiedź kryzysowa i co dalej
To, co nastąpiło, to skoordynowana odpowiedź kryzysowa, w którą zaangażowane były Zcash Open Development Lab i Fundacja Zcash. Prywatna koordynacja z górnikami i giełdami rozpoczęła się wieczorem 31 maja. Aktywacja twardego fork'a ukierunkowanego na wysokość bloku 3,363,426 zakończyła się sukcesem około 02:00 UTC 2 czerwca, tymczasowo dezaktywując działania Orchard, podczas gdy deweloperzy przygotowywali poprawny kod. Druga faza nastąpiła 3 czerwca, kiedy twardy fork NU6.2 aktywował się przy bloku 3,364,600 około 00:05 EDT, ponownie włączając Orchard z poprawionym obwodem.
Ze względu na prywatnościowy charakter Orchard, kryptograficznie niemożliwe jest udowodnienie, czy luka została już wykorzystana przed jej załataniem. Shielded Labs zauważyło, że NU6.2 zamyka błąd, ale nie dowodzi, że podaż Orchard nigdy nie była manipulowana. Ich propozycja zakłada wdrożenie nowej osłoniętej puli i kierowanie wszystkich monet opuszczających Orchard przez księgowość bramkową, co pozwoli każdemu zweryfikować, że nie istnieje fałszywy ZEC. Jak każda większa aktualizacja, wymagałaby wsparcia społeczności i musiałaby przejść przez proces zarządzania Zcash przed aktywacją.
To nie pierwszy raz, kiedy Zcash napotkał krytyczną lukę kryptograficzną. W 2019 roku zespół ujawnili podatność na fałszowanie w starszej osłoniętej puli Sprout, która pozostawała niezauważona przez lata. Ta usterka również nigdy nie była znana jako wykorzystana.
Źródła
Forum Społeczności Zcash: Luki w Fałszowaniu Orchard i Następne Kroki
The Defiant: Shielded Labs Proponuje Nową Aktualizację Zcash w celu Potwierdzenia Podaży ZEC
Crypto Briefing: Zcash Naprawia Krytyczny Błąd Orchard Po Awaryjnej Aktualizacji Sieci
