Pregled sadržaja[Sakriti][Pokazati]
I u stvarnom životu i u digitalnom svijetu često želimo stvari dokazati drugima. Prije ulaska u poslovnu zgradu, zaposlenici obično daju neku vrstu osobne iskaznice prije ulaska unutra.
Kada se korisnici pokušaju prijaviti u aplikaciju kao što je Facebook ili Twitter, ove usluge prvo moraju tražiti od korisnika da se prijavi lozinkom, a povremeno se na njihov mobilni uređaj šalje jednokratna lozinka (OTP).
Loša strana pružanja dokaza je što često dajemo druge vrste informacija. Pružanje lozinke web stranici i dalje znači da sama web stranica čuva kopiju hashirane lozinke na svojim poslužiteljima. Ako bi netko hakirao skener ID-a zaposlenika u poslovnoj zgradi, mogao bi dobiti svačije privatne ključeve.
Dokazi bez znanja ili ZKP-ovi pružaju način za provjeru identiteta ili transakcije bez davanja dodatnih informacija. Zbog svoje primjene u kriptografiji, ZKP-ove su prilagodili blockchains za stvaranje sigurnih i skalabilnih protokola za provjeru valjanosti.
Što su dokazi bez znanja?
Dokaze bez znanja prvi su predložili istraživači MIT-a Silvio Micali, Charles Rackoff i Shafi Goldwasser 1985. u svom radu. “Složenost znanja o interaktivnim dokaznim sustavima”
Ovaj rad uvodi pojam složenosti znanja. To se odnosi na količinu znanja o dokazu koja se prenosi od dokazivača do verifikatora. Dokazi bez znanja imaju za cilj omogućiti stranci da dokaže da je određena izjava istinita drugoj strani bez potrebe za otkrivanjem bilo koje druge informacije.
ZKP-ovi se mogu koristiti kao sigurna alternativa trenutnim sustavima za autentifikaciju, a također se mogu dodati u blockchain protokole kako bi transakcije bile privatne.
Kako ZKP-ovi rade?
Primjer iz stvarnog svijeta
Da bismo ilustrirali kako funkcioniraju dokazi bez znanja, pogledajmo apstraktni primjer ZKP-a.
Recimo da imate prijatelja koji je crveno-zeleni daltonist. Sa sobom imate dvije identične kuglice koje se razlikuju samo po boji: jednu crvenu i jednu zelenu. Vašem prijatelju izgledaju identično, ali kao osoba bez daltonizma lako ih možete razlikovati.
Da li je moguće da svom prijatelju dokažete da su druge boje, a da ne otkrijete koja je lopta crvena ili zelena?
Postoji, zapravo, način da se to dokaže bez otkrivanja boja loptica. Prvo, morate dopustiti svom prijatelju da stavi obje lopte iza leđa i reći mu da pokaže bilo koju loptu i ponovno je sakrije. Zatim kažete svom prijatelju da ima izbor da ponovo pokaže istu loptu ili da je zamijeni drugom.
Svaki put kada se pokaže nova lopta, možete mu reći je li promijenio loptu ili ne. Ako nastavite pogađati pravi poziv, sve je vjerojatnije da su kuglice različite boje. Vaš prijatelj bi se sada trebao uvjeriti da su kuglice različite boje, a da mu ne morate reći koje kuglice imaju koju boju.
Praktične primjene
Većina praktičnih primjera dokaza bez znanja dijeli se na dvije vrste.
Prvo, ZKP-ovi se mogu koristiti pri izradi protokola. Možemo osigurati da različite strane ne mogu varati ili iskoristiti protokol. Drugo, ZKP-ovi se mogu koristiti za identifikaciju.
Na primjer, ZKP-ove možemo koristiti za sigurnu prijavu na web aplikaciju bez otkrivanja same lozinke.
Pogledajmo nekoliko primjera kako možemo koristiti dokaze bez znanja.
E-glasovanje
Jedna od uobičajenih primjena ZKP-a je njihova moguća uloga u online glasovanju. Recimo da nam predstoji referendum na kojem korisnici mogu glasati o predloženoj politici. Svaki birač s pravom glasa može glasati 1 ili 0 na glasačkom listiću.
Koristeći ZKP-ove, birači mogu dokazati svoje pravo na glasanje bez otkrivanja identiteta. To osigurava da će svaki glas biti doista anoniman. Dodatni ZKP također će se koristiti za dokazivanje da je glas određenog korisnika dio konačnog zbroja glasova.
Što se tiče samog sadržaja glasačkih listića, sustav glasovanja također može generirati dokaz bez znanja da svaki glasački listić sadrži 1 ili 0. To se postiže bez potrebe za poznavanjem sadržaja samog glasačkog listića.
Blockchain privatnost
Blockchains kao što su Bitcoin i Ethereum izvorno ne podržavaju privatne transakcije. Sve dok je vaš Bitcoin novčanik javan, svatko može ići na block explorer kao što je npr Blockstream da vidite sve transakcije čiji je novčanik dio.
U međuvremenu, korištenje usluge kao što je banka ili usluga plaćanja kao što su Cash App ili Venmo daje vam mogućnost privatnog obavljanja transakcija. Međutim, ova pogodnost dolazi po cijenu otkrivanja vaših podataka centraliziranoj usluzi.
Možemo kombinirati anonimnost s decentralizacijom dodavanjem ZKP-a u blockchain protokol. Kriptovalute kao što je ZCash koriste ZKP-ove za stvaranje privatnih transakcija koje omogućuju vlasnicima novčića da zadrže svoju anonimnost. Nekoliko od ovih kriptovaluta koristi vrstu ZKP-a poznatu kao zk-SNARK.
Ovi ZKP-ovi ne zahtijevaju interakciju između dokazivača i verifikatora.
Zbirke bez znanja
ZK-rollups su rješenje za skalabilnost koje omogućuje trenutnu provjeru transakcija izvan lanca uz minimalne naknade za plin. Oni su način za kombiniranje velikog broja Layer 2 transakcija i predati ih na Layer 1 protokol.
Osim što osiguravaju privatnost, ZKP-ovi omogućuju skaliranje složenih sustava. Blockchain protokoli mogu koristiti ZKP-ove kako bi dokazali da su korisnici podmirili ispravne transakcije, da imaju odgovarajući saldo i tako dalje. Ova sigurna, ali skalabilna rješenja moguća su samo kroz matematičke dokaze izvan lanca u ZKP-ovima.
Protokoli kao što je Loopring koriste dokaze bez znanja kako bi pomogli u obradi transakcija izvan lanca bez kompromitiranja sigurnosti.
Prednosti dokaza bez znanja
- ZKP zamjenjuju manje pouzdane oblike autentifikacije kao što su PIN-ovi ili identifikacijske kartice
- ZKPS povećava skalabilnost blockchaina
- Implementacija ZKP-a zahtijeva jednostavne metode šifriranja
- Korištenje ZKPS-a može učiniti sustave sigurnijim jer ne zahtijeva pohranjivanje nepotrebnih informacija u sustav.
Zaključak
Privatnost podataka već je glavni problem iu centraliziranim i decentraliziranim sustavima. Dokazi bez znanja omogućuju različitim stranama način da dokažu ili potvrde transakcije i identitete bez otkrivanja navedenih transakcija ili identiteta.
Kako se blockchain tehnologija sve više koristi, usvajanje ZKP-a za sigurno rukovanje provjerom bit će ključno za probleme skalabilnosti.
Ostavi odgovor