Loading market data...

Zcash retter kritisk feil som tillot ubegrenset produksjon av falske ZEC

Zcash retter kritisk feil som tillot ubegrenset produksjon av falske ZEC

Zcash-utviklere hastet ut nødrettinger forrige uke etter å ha oppdaget en kritisk sårbarhet i Orchard-skjermingspoolen som kunne ha tillatt en angriper å skape ubegrenset mengde falske ZEC. Feilen ble funnet av sikkerhetsforsker Taylor Hornby den 29. mai ved hjelp av AI-assisterte formelle metoder, noe som utløste en brannøvelse som endte med en hard fork bare fire dager senere. Men fordi Zcashs personvernarkitektur gjør forsyningsrevisjon umulig, kan teamet ikke bevise at utnyttelsen noen gang ble brukt – eller at den ikke ble det.

Feilen og dens oppdagelse

Svakheten lå i et underbegrenset element inne i den elliptiske kurve-multiplikasjonsgadgeten i halo2_gadgets-krateret, en del av nullkunnskapsbevissystemet som understøtter Orchard. Den hadde vært der siden Orchard sin hovednettaktivering i mai 2022 – omtrent fire år. Det betydde at alle som visste om den, i teorien kunne prege ZEC ut av ingenting uten å etterlate spor på kjeden.

Hornby fant problemet ved hjelp av formelle verifikasjonsverktøy trent på kryptografisk kode. Sårbarheten påvirket alle halo2_gadgets-versjoner før v0.5.0, orchard før v0.14.0, og zcashd-versjoner v5.0.0 til og med v6.12.3.

Nødrettinger distribuert

Innen få timer etter avsløringen sendte teamet en soft fork via Zebra 4.5.3 som midlertidig deaktiverte alle Orchard-transaksjoner. En permanent fiks kom med NU6.2 hard fork – Zebra 5.0 – som ble aktivert 2. juni ved blokk 3 364 600 og korrigerte selve kretsen. Brukere på berørte noder måtte oppgradere umiddelbart for å forbli på riktig kjede.

Shielded Labs, som bidrar til Zcash-utvikling, uttalte at de tror tidligere utnyttelse er usannsynlig, men kan ikke definitivt bevise det. Den usikkerheten er innebygd i systemets design: skjermingspooler skjuler transaksjonsbeløp og saldoer, noe som gjør det kryptografisk umulig å revidere total forsyning.

Det ubesvarbare spørsmålet

Ripple CTO David Schwartz kommenterte den praktiske risikoen. Passive holdere som aldri flytter myntene sine, vil være trygge, sa han – forutsatt at feilen aldri ble utløst. Men den betingelsen kan ikke verifiseres. Den eneste måten å være sikker på ville være å kompromittere skjermingen som Zcash ble bygget for å beskytte.

Det er et sjeldent øyeblikk når en personvernmynts kjernefunksjon blir dens største ansvar. Hvis en angriper preget falske ZEC og slapp dem inn i sirkulasjonen, er det ingen måte å si det på. Tilførselen kan være blåst opp og ingen ville vite det.

Markedsreaksjon

ZEC ventet ikke på svar. Prisen falt mer enn 30 % i en enkelt handelsøkt etter avsløringen den 29. mai, og nådde kortvarig sitt laveste nivå på over en måned. Salget reflekterte ikke bare selve feilen, men også usikkerheten rundt dens potensielle innvirkning. En personvernmynt som ikke kan verifisere egen forsyning, er en vanskelig salgssak, i det minste på kort sikt.

Rettingslene er aktive nå, og Orchard-transaksjoner er tilbake på nett. Men spørsmålet som gjenstår – ble feilen noen gang utnyttet? – er et som Zcashs arkitektur kanskje aldri lar noen svare på.