Kuinka se toimi: Ongelma sijaitsi Orchardin "Action-piirissä", nollatietotodistuksen logiikassa, joka validoi yksityiset tapahtumat. Looginen virhe sen rajoitteissa tarkoitti, että hyökkääjä olisi voinut väärentää aidolta vaikuttavan Halo 2 -todistuksen, jonka verkko olisi hyväksynyt aitona. Tämän todistuksen takana ei tarvinnut olla oikeita varoja. Se oli käytännössä äänetön, ääretön painokone, joka olisi voinut mahdollistaa havaitsemattoman, rajattoman määrän väärennettyä ZEC:iä .
Zcashin perustaja Zooko Wilcox vahvisti vakavuuden todeten, että haavoittuvuutta "olisi voitu käyttää havaitsemattomasti luomaan rajaton määrä väärennettyä ZEC:iä" . Koska tämä oli virhe itse todistuksen logiikassa, ei perinteisessä ohjelmointivirheessä, väärennetyt kolikot olisivat olleet lohkoketjussa erottamattomia aidoista.
Haavoittuvuuden kylmäävin piirre ei ollut pelkästään sen mahdollistama ääretön inflaatio, vaan verkon täydellinen kyvyttömyys havaita sitä. Orchard-protokollan keskeinen arvolupaus – täydellinen tapahtumien yksityisyys – muuttui sen suurimmaksi taakaksi.
Zcash Foundation vahvisti, ettei ollut "näyttöä siitä, että bugia olisi koskaan hyödynnetty luonnossa," ja 21 miljoonan ZEC:n maksimimäärä säilyi koskemattomana . Orchardin yksityisyysominaisuuksien vuoksi Zooko Wilcoxin oli kuitenkin myönnettävä, että on kryptografisesti mahdotonta todistaa, hyödynnettiinkö bugia ennen sen korjaamista
. Hyökkääjä olisi saattanut hiljaa luoda kolikoita vuosien ajan, eikä kirjanpitoon olisi jäänyt rikoksesta jälkeäkään.
Tämä nostaa esiin täysin ainutlaatuisen ongelman. Perinteisissä lohkoketjuissa, kuten Bitcoinissa, kuka tahansa voi laskea kolikoiden kokonaismäärän ja todentaa, ettei uusia kolikoita ole luotu sääntöjen vastaisesti. Zcashin kaltaisessa järjestelmässä, jossa summat on salattu, tämä perustavanlaatuinen tarkistus ei onnistu. Käyttäjien on luotettava kryptografian matemaattiseen eheyteen – ja kuten tämä tapaus osoitti, sekin voi pettää.
Vastaus oli nopea ja koordinoitu koko Zcash-ekosysteemissä kahdessa vaiheessa:
zcashd v6.12.5On huomionarvoista, kuinka keskitetysti tämä toteutettiin. Pieni kehittäjäryhmä pystyi pysäyttämään koko verkoston lippulaivaominaisuuden yhdessä yössä. Tämä herättää väistämättä kysymyksiä siitä, kuinka hajautettu verkko todella on, jos sen ydintoiminto voidaan sulkea näin nopeasti.
Julkinen tiedote 4.–5. kesäkuuta laukaisi massiivisen myyntiaallon:
Tämä tapaus on herättänyt henkiin useita pitkäaikaisia keskusteluja kryptomaailmassa:
Zcash-yhteisö suunnittelee nyt "supply verification" -päivitystä, jonka tarkoituksena on antaa käyttäjille tapa tarkistaa koko rahan tarjonnan eheys luottamatta sokeasti protokollaan. Ironista kyllä, neljä vuotta piileskellyt virhe ei kenties murra yksityisyyden ideaa, vaan pakottaa sen kehittymään kohti läpinäkyvämpää luottamusmallia.
Comments
0 comments