Cardano Foundation pokazuje kako provjeriti dokaz o nultom znanju na Cardanu
Prvi nastavak serije za programere u pet dijelova pokazuje kako izraditi Groth16 dokaz od 192 bajta i provjeriti ga u Aikenu koristeći kriptografske operacije koje su već dostupne u Plutus V3.
By SongMarketCap
Updated:
Pametni ugovor na Cardanu može provjeriti zna li netko osam brojeva koji zadovoljavaju jednadžbu, a da ne primi same brojeve. Cardano Foundation koristi taj primjer kako bi predstavila svoju novu seriju o dokazima o nultom znanju. Prvi vodič prati postupak od zapisivanja jednadžbe kao skupa ograničenja do generiranja dokaza izvan lanca i njegove provjere u Aiken testu.
Osam privatnih brojeva, jedan javni rezultat
Primjer grupira osam brojeva u četiri para. Dokazivač množi dva broja u svakom paru i zbraja četiri proizvoda. Zbroj mora biti jednak 100. Taj je rezultat javan, dok osam brojeva ostaje privatno.
Vodič izražava izračun kao pet matematičkih ograničenja. Četiri provjeravaju pojedinačne proizvode, a peto provjerava da njihov zbroj odgovara javnom rezultatu. Valjan dokaz utvrđuje da dokazivač zna skup brojeva koji zadovoljava ta ograničenja bez otkrivanja kojeg je skupa koristio.
Kako Aiken provjerava Groth16 dokaz od 192 bajta
Vodič generira dokaz izvan lanca. Groth16 dokaz sastoji se od tri točke eliptičke krivulje koje zauzimaju 192 bajta u komprimiranom formatu BLS12-381 korištenom u primjeru. Verifikator provjerava dokaz u odnosu na javne ulaze i verifikacijski ključ vezan uz sklop.
Vodič završava Aiken testom koji koristi iste BLS12-381 operacije dostupne skriptama Plutus V3 na Cardano glavnoj mreži. Kako bi primjer bio ponovljiv, vodič koristi fiksne, javno poznate vrijednosti za inače tajni dio postavljanja. U produkcijskom Groth16 postavljanju svatko tko zadrži te tajne postavne vrijednosti mogao bi krivotvoriti dokaze.
Zašto je verifikacija na lancu važna za Cardano
Cardano razvojni timovi mogu ugraditi Groth16 verifikator u Aiken pametni ugovor koristeći postojeće operacije Plutus V3. Aplikacija može generirati dokaz izvan lanca, zatim ga predati ugovoru kako bi validator mogao odlučiti ispunjava li transakcija uvjet. Dokaz i svi potrebni javni ulazi dostupni su validatoru, dok temeljni privatni podaci mogu ostati izvan lanca.
Za aplikaciju s vjerodajnicama ta podjela određuje što korisnik treba otkriti. Ugovor bi mogao provjeriti ispunjava li nositelj vjerodajnice dobni uvjet bez primanja njegova datuma rođenja, pod uvjetom da sklop i dizajn vjerodajnice osiguravaju tvrdnju koja se dokazuje.
[NEWSBREAK]
Što će pokriti sljedeća četiri nastavka
Drugi nastavak će pokazati kako ubrzati generiranje dokaza i kako funkcioniraju produkcijske ceremonije postavljanja. Također će usporediti Groth16 s drugim sustavima dokaza i istražiti kako virtualni strojevi za dokaze o nultom znanju mogu dokazati da je program ispravno izvršen bez potrebe da programeri ručno dizajniraju sklop.
Treći nastavak će pokazati kako se dokazi o vlasništvu nad ključem mogu povezati s Cardano adresama. Četvrti će se okrenuti selektivnom otkrivanju podataka. U jednom planiranom primjeru, nositelj vjerodajnice dokazuje da ima najmanje 21 godinu bez otkrivanja svog datuma rođenja ili blockchain adrese.
Završni nastavak će razmotriti sustave dokaza otporne na kvantna računala, s naglaskom na pristupe temeljene na rešetkama koji bi mogli zamijeniti pretpostavke eliptičkih krivulja korištene u Groth16.