Tako v resničnem življenju kot v digitalnem svetu pogosto želimo dokazati stvari drugim. Preden vstopijo v poslovno stavbo, zaposleni običajno predložijo določeno vrsto osebne izkaznice, preden vstopijo noter.
Ko se uporabniki poskušajo prijaviti v aplikacijo, kot sta Facebook ali Twitter, morajo te storitve od uporabnika najprej zahtevati, da se prijavi z geslom, občasno pa se v njihovo mobilno napravo pošlje enkratno geslo (OTP).
Slaba stran zagotavljanja dokazov je, da pogosto izdamo druge vrste informacij. Zagotavljanje gesla spletnemu mestu še vedno pomeni, da spletno mesto samo hrani kopijo zgoščenega gesla v svojih strežnikih. Če bi nekdo vdrl v optični bralnik ID zaposlenih v poslovni stavbi, bi morda lahko pridobil zasebne ključe vseh.
Dokazila brez znanja ali ZKP zagotavljajo način za potrditev identitete ali transakcije, ne da bi bilo treba navesti dodatne informacije. Zaradi uporabe v kriptografiji je ZKP prilagodil verige blokov za ustvarjanje varnih in razširljivih protokolov za preverjanje veljavnosti.
Kaj so dokazi brez znanja?
Dokaze brez znanja so prvi predlagali raziskovalci MIT Silvio Micali, Charles Rackoff in Shafi Goldwasser leta 1985 v svojem članku "Zapletenost znanja interaktivnih dokaznih sistemov"
Ta dokument je predstavil koncept kompleksnosti znanja. To se nanaša na količino znanja o dokazu, ki se prenese od dokazovalca k preveritelju. Namen dokazov brez znanja omogočiti stranki, da drugi stranki dokaže, da je določena izjava resnična, ne da bi ji bilo treba razkriti kakršne koli druge informacije.
ZKP-je je mogoče uporabiti kot varno alternativo trenutnim sistemom za preverjanje pristnosti in jih je mogoče dodati tudi v protokole blockchain, da ostanejo transakcije zasebne.
Kako delujejo ZKP?
Primer iz resničnega sveta
Za ponazoritev, kako delujejo dokazila brez znanja, si poglejmo abstrakten primer ZKP.
Recimo, da imate prijatelja, ki je rdeče-zelen daltonist. S seboj imate dve enaki žogi, ki se razlikujeta le po barvi: eno rdečo in eno zeleno. Prijatelju sta videti enaka, a kot oseba brez barvne slepote ju zlahka ločiš.
Ali lahko prijatelju dokažeš, da sta drugačne barve, ne da bi razkril, katera žoga je rdeča ali zelena?
Pravzaprav obstaja način, kako to dokazati, ne da bi razkrili barve kroglic. Najprej moraš prijatelju dovoliti, da obe žogi pospravi za hrbet in mu poveš, naj pokaže katero koli žogo in jo spet skrije. Nato svojemu prijatelju poveš, da lahko znova pokaže isto žogo ali jo zamenja z drugo.
Vsakič, ko se pokaže nova žoga, mu lahko poveš, ali je žogo zamenjal ali ne. Če kar naprej ugibate pravi klic, postaja vse bolj verjetno, da so kroglice različno obarvane. Tvoj prijatelj mora zdaj biti prepričan, da so žoge različnih barv, ne da bi mu bilo treba povedati, katere žoge so katere barve.
Praktični Aplikacije
Večina praktičnih primerov dokazov brez znanja je razdeljena na dve vrsti.
Prvič, ZKP se lahko uporabljajo pri oblikovanju protokolov. Zagotovimo lahko, da različne strani ne morejo goljufati ali izkoriščati protokola. Drugič, ZKP se lahko uporabljajo za identifikacijo.
Na primer, ZKP lahko uporabimo za varno prijavo v spletno aplikacijo, ne da bi morali razkriti samo geslo.
Oglejmo si nekaj primerov, kako lahko uporabimo dokaze brez znanja.
E-glasovanje
Ena pogosto obravnavana uporaba ZKP je njihova možna vloga pri spletnem glasovanju. Recimo, da se bliža referendum, kjer lahko uporabniki glasujejo o predlagani politiki. Vsak volilni upravičenec lahko na glasovnici glasuje z 1 ali 0.
Z ZKP lahko volivci izkažejo svojo pravico do glasovanja, ne da bi razkrili svojo identiteto. To zagotavlja, da bo vsak glas resnično anonimen. Dodaten ZKP bo uporabljen tudi za dokazovanje, da je glas določenega uporabnika del končnega seštevka glasov.
Kar zadeva samo vsebino glasovnic, lahko sistem glasovanja ustvari tudi dokaz brez znanja, da vsaka glasovnica vsebuje 1 ali 0. To se doseže, ne da bi morali poznati vsebino same glasovnice.
Zasebnost Blockchaina
Verige blokov, kot sta Bitcoin in Ethereum, izvorno ne podpirajo zasebnih transakcij. Dokler je vaša Bitcoin denarnica javna, lahko kdorkoli obišče raziskovalec blokov, kot je npr Blockstream da vidite vse transakcije, katerih del je denarnica.
Medtem pa vam uporaba storitve, kot je banka, ali plačilnih storitev, kot sta Cash App ali Venmo, omogoča zasebno poslovanje. To udobje pa je na voljo za ceno razkritja vaših podatkov centralizirani storitvi.
Anonimnost lahko združimo z decentralizacijo tako, da v protokol blockchain dodamo ZKP. Kriptovalute, kot je ZCash, uporabljajo ZKP za ustvarjanje zasebnih transakcij, ki imetnikom kovancev omogočajo, da ohranijo svojo anonimnost. Več teh kriptovalut uporablja vrsto ZKP, znano kot zk-SNARK.
Ti ZKP ne zahtevajo interakcije med dokazovalcem in verifikatorjem.
Zbirni paketi brez znanja
ZK-zbirke so razširljiva rešitev, ki omogoča takojšnje preverjanje transakcij zunaj verige in z minimalnimi stroški plina. So način za združevanje velikega števila transakcij plasti 2 in njihovo predložitev v protokol plasti 1.
ZKP-ji poleg zagotavljanja zasebnosti omogočajo skaliranje kompleksnih sistemov. Blockchain protokoli lahko uporabljajo ZKP za dokazovanje, da so uporabniki poravnali prave transakcije, da imajo ustrezno stanje itd. Te varne, a razširljive rešitve so možne samo z matematičnimi dokazi, izvedenimi zunaj verige v ZKP.
Protokoli, kot je Loopring, uporabljajo dokazila z ničelnim znanjem za pomoč pri obdelavi transakcij zunaj verige, ne da bi morali ogroziti varnost.
Prednosti dokazov brez znanja
- ZKP nadomeščajo manj zanesljive oblike avtentikacije, kot so PIN ali identifikacijske kartice
- ZKPS povečuje razširljivost verig blokov
- Implementacija ZKP zahteva enostavne metode šifriranja
- Uporaba ZKPS lahko naredi sisteme bolj varne, saj ne zahteva shranjevanja nepotrebnih informacij v sistemu.
zaključek
Zasebnost podatkov je že velik problem v centraliziranih in decentraliziranih sistemih. Dokazila brez znanja omogočajo različnim strankam, da dokažejo ali potrdijo transakcije in identitete, ne da bi jim bilo treba razkriti omenjene transakcije ali identitete.
Ker se tehnologija veriženja blokov vse bolj uporablja, bo sprejetje ZKP za varno obdelavo preverjanja ključnega pomena za pomisleke glede razširljivosti.
Pustite Odgovori