Loading market data...

Zcash corectează o eroare critică care permitea crearea nelimitată de ZEC contrafăcut

Zcash corectează o eroare critică care permitea crearea nelimitată de ZEC contrafăcut

Dezvoltatorii Zcash au lansat de urgență patch-uri săptămâna trecută, după descoperirea unei vulnerabilități critice în pool-ul protejat Orchard, care ar fi putut permite unui atacator să creeze cantități nelimitate de ZEC contrafăcut. Bug-ul a fost găsit pe 29 mai de cercetătorul în securitate Taylor Hornby, folosind metode formale asistate de inteligență artificială, declanșând un exercițiu de urgență care s-a încheiat cu un hard fork la doar patru zile distanță. Dar, din cauza arhitecturii de confidențialitate a Zcash, care face imposibilă auditarea ofertei, echipa nu poate demonstra dacă exploit-ul a fost vreodată folosit – sau dacă nu a fost.

Bug-ul și descoperirea sa

Defecțiunea se afla într-un element sub-constâns din gadget-ul de multiplicare pe curbă eliptică din crate-ul halo2_gadgets, parte a sistemului de dovezi cu cunoștință zero care stă la baza Orchard. Era prezent de la activarea mainnet-ului Orchard în mai 2022 – aproximativ patru ani. Asta însemna că oricine știa despre el putea, teoretic, să producă ZEC din senin fără a lăsa urme în lanț.

Hornby a găsit problema folosind instrumente de verificare formală antrenate pe cod criptografic. Vulnerabilitatea afecta toate versiunile halo2_gadgets anterioare v0.5.0, orchard înainte de v0.14.0 și versiunile zcashd v5.0.0 până la v6.12.3.

Patch-uri de urgență implementate

La câteva ore după dezvăluire, echipa a lansat un soft fork prin Zebra 4.5.3 care a dezactivat temporar toate tranzacțiile Orchard. O soluție permanentă a venit cu hard fork-ul NU6.2 – Zebra 5.0 – care s-a activat pe 2 iunie la blocul 3.364.600 și a corectat circuitul în sine. Utilizatorii nodurilor afectate trebuiau să facă upgrade imediat pentru a rămâne pe lanțul corect.

Shielded Labs, care contribuie la dezvoltarea Zcash, a declarat într-un comunicat că consideră improbabilă o exploatare anterioară, dar nu poate dovedi definitiv. Această incertitudine este încorporată în designul sistemului: pool-urile protejate ascund sumele și soldurile tranzacțiilor, făcând criptografic imposibilă auditarea ofertei totale.

Întrebarea fără răspuns

David Schwartz, CTO al Ripple, a comentat riscul practic. Deținătorii pasivi care nu-și mută niciodată monedele vor fi în siguranță, a spus el – presupunând că bug-ul nu a fost niciodată declanșat. Dar această condiție nu poate fi verificată. Singura modalitate de a fi sigur ar fi să compromiți scutul pe care Zcash a fost construit să îl protejeze.

Este un moment rar când o caracteristică centrală a unei monede de confidențialitate devine cea mai mare slăbiciune a sa. Dacă un atacator a creat ZEC contrafăcut și l-a introdus în circulație, nu există nicio modalitate de a afla. Oferta ar putea fi umflată și nimeni nu ar ști.

Reacția pieței

ZEC nu a așteptat răspunsuri. Prețul a scăzut cu peste 30% într-o singură sesiune după dezvăluirea din 29 mai, atingând pe scurt cel mai scăzut nivel din ultima lună. Vânzarea masivă a reflectat nu doar bug-ul în sine, ci și incertitudinea legată de impactul său potențial. O monedă de confidențialitate care nu-și poate verifica propria ofertă este greu de vândut, cel puțin pe termen scurt.

Patch-urile sunt acum active, iar tranzacțiile Orchard sunt din nou online. Dar întrebarea care rămâne – a fost bug-ul vreodată exploatat? – este una la care arhitectura Zcash s-ar putea să nu permită niciodată cuiva să răspundă.