Cardano Foundation pokaže, kako preveriti dokaz ničelnega znanja na Cardano
Prvi del petdelne serije za razvijalce prikazuje, kako sestaviti Groth16 dokaz velikosti 192 bajtov in ga preveriti v Aiken z uporabo kriptografskih operacij, ki so že na voljo v Plutus V3.
By SongMarketCap
Updated:
Pametna pogodba na Cardano lahko preveri, ali nekdo pozna osem števil, ki zadoščajo enačbi, ne da bi prejela sama števila. Cardano Foundation ta primer uporablja za predstavitev svoje nove serije o dokazih ničelnega znanja. Prvi vodič sledi postopku od zapisa enačbe kot niza omejitev do ustvarjanja dokaza izven verige in njegovega preverjanja v testu Aiken.
Osem zasebnih števil, en javni rezultat
Primer združi osem števil v štiri pare. Dokazovalec zmnoži dve števili v vsakem paru in sešteje štiri produkte. Vsota mora biti enaka 100. Ta rezultat je javen, medtem ko osem števil ostane zasebnih.
Vodič izračun izrazi kot pet matematičnih omejitev. Štiri preverjajo posamezne produkte, peta pa preverja, da se ti seštejejo v javni rezultat. Veljaven dokaz potrdi, da dokazovalec pozna množico števil, ki izpolnjuje te omejitve, ne da bi razkril, katero množico je uporabil.
Kako Aiken preveri Groth16 dokaz velikosti 192 bajtov
Vodič ustvari dokaz izven verige. Groth16 dokaz je sestavljen iz treh točk eliptične krivulje, ki zavzamejo 192 bajtov v stisnjenem formatu BLS12-381, uporabljenem v primeru. Overitelj preveri dokaz glede na javne vnose in verifikacijski ključ, vezan na vezje.
Predstavitev se zaključi s testom Aiken, ki uporablja enake operacije BLS12-381, kot so na voljo skriptom Plutus V3 na glavnem omrežju Cardano. Da bi bil primer ponovljiv, vodič uporabi fiksne, javno znane vrednosti za običajno skrivni del nastavitve. V produkcijski nastavitvi Groth16 bi lahko vsakdo, ki obdrži te skrivne nastavitvene vrednosti, ponarejal dokaze.
Zakaj je preverjanje na verigi pomembno za Cardano
Razvijalci Cardano lahko vgradijo Groth16 overitelj v pametno pogodbo Aiken z uporabo obstoječih operacij Plutus V3. Aplikacija lahko ustvari dokaz izven verige in ga nato posreduje pogodbi, da lahko validator odloči, ali transakcija izpolnjuje pogoj. Dokaz in morebitni zahtevani javni vnosi so validatorju na voljo, medtem ko lahko izvorni zasebni podatki ostanejo izven verige.
Pri aplikaciji za poverilnice ta razmejitev določa, kaj mora uporabnik razkriti. Pogodba bi lahko preverila, ali imetnik poverilnice izpolnjuje starostni pogoj, ne da bi prejela njegov datum rojstva, če vezje in zasnova poverilnice uveljavljata dokazovano trditev.
[NEWSBREAK]
Kaj bodo zajemali naslednji štirje deli
Drugi del bo pokazal, kako pospešiti ustvarjanje dokazov in kako delujejo produkcijski nastavitveni obredi. Primerjal bo tudi Groth16 z drugimi dokaznimi sistemi ter raziskal, kako lahko navidezni stroji ničelnega znanja dokažejo, da je program tekel pravilno, ne da bi razvijalci morali ročno oblikovati vezje.
Tretji del bo pokazal, kako je mogoče dokaze o lastništvu ključa povezati z naslovi Cardano. Četrti se bo posvetil selektivnemu razkritju. V enem od načrtovanih primerov imetnik poverilnice dokazuje, da je star vsaj 21 let, ne da bi razkril svoj datum rojstva ali naslov na verigi blokov.
Zadnji del bo preučil na kvantne napade odporne dokazne sisteme, s poudarkom na pristopih, ki temeljijo na mrežah in bi lahko nadomestili predpostavke eliptičnih krivulj, uporabljene v Groth16.