Dokazi nultog znanja za privatnost u dVPN-u | Web3
TL;DR
Problem povjerenja kod tradicionalnih VPN usluga
Jeste li se ikada zapitali zašto cijeli svoj digitalni život jednostavno predajemo u ruke VPN pružatelju usluga i pritom se samo nadamo da nas ne špijuniraju? Iskreno, nevjerojatno je da je u 2025. godini naša najbolja obrana privatnosti i dalje obično "časna riječ" centralizirane tvrtke.
Većina tradicionalnih servisa na sva zvona oglašava politiku "bez zapisivanja podataka" (no-logs policy), ali kao stručnjak za mreže, ja vidim stvarnost na razini mrežnih paketa. Čak i ako ne spremaju vašu povijest pregledavanja, oni i dalje vide vašu stvarnu IP adresu i vremenske podatke u trenutku spajanja.
- Centralizirane točke ranjivosti: Tradicionalni pružatelji usluga rade na klasterima koje sami kontroliraju. Ako im država izda nalog ili haker dobije administratorski pristup (root), vaši podaci su izloženi izravno u radnoj memoriji (RAM).
- Jaz u povjerenju: Morate im vjerovati na riječ. Istraživanje koje je 2024. proveo ExpressVPN napominje da se korisnici u osnovi moraju osloniti na poštenje pružatelja usluga jer ne postoji tehnički način za provjeru onoga što se događa u njihovom pozadinskom sustavu (backend).
- Zakoni o zadržavanju podataka: U mnogim jurisdikcijama, pružatelji internetskih usluga (ISP) i VPN tvrtke zakonski su primorani čuvati određene metapodatke, što politiku "bez zapisivanja" u tim regijama čini pravno nemogućom.
Godinama sam proučavao nadzor koji provode operateri i problem je uvijek u posredniku. Ako poslužitelj mora znati vaš identitet kako bi vas autentificirao, ta je informacija automatski sigurnosni rizik.
Prema Wikipediji, dokazi s nultim znanjem (Zero-Knowledge Proofs - ZKP) osmišljeni su još 1985. godine upravo kako bi riješili taj problem: "dokazivanje identiteta bez otkrivanja tajni". Napokon svjedočimo prelasku te tehnologije iz matematičkih radova u stvarne programske kodove.
U svakom slučaju, stvarni problem nisu samo zlonamjerni akteri, već sama arhitektura sustava. Potreban nam je sustav u kojem mreža može potvrditi da ste platili uslugu ili da imate pravo pristupa, a da pritom zapravo ne zna tko ste "vi".
U nastavku ćemo pogledati kako ZKP zapravo mijenja pravila igre i rješava problem povjerenja.
Što su zapravo dokazi s nultim znanjem (Zero-Knowledge Proofs)?
Ako ste ikada pokušali objasniti kriptografiju nekome tko nije stručnjak za mreže, znate koliko je to izazovno. No, dokazi s nultim znanjem (ZKP) zapravo su prilično intuitivni ako na trenutak zaboravite na proste brojeve i zamislite magičnu špilju.
Klasičan način na koji to objašnjavamo je priča o Ali Babinoj špilji. Zamislite kružnu špilju s dva puta, A i B, koji se spajaju kod magičnih vrata u pozadini. Petra zna tajnu riječ za otvaranje tih vrata; Viktor želi dokaz da ona ne laže, ali Petra mu ne želi otkriti samu lozinku.
Kako bi to dokazala, Petra ulazi u špilju dok Viktor čeka vani. Viktor tada vikne: "Izađi na put A!" Ako je Petra kod vrata, ona ih otvori i pojavi se na traženom putu. Ako to ponove 20 puta i ona niti jednom ne pogriješi, matematika kaže da gotovo sigurno zna lozinku. To funkcionira jer svaki uspješno završeni krug prepolovljuje šansu da je Petra jednostavno imala sreće; nakon 20 krugova, vjerojatnost da je ona prevarant iznosi otprilike jedan prema milijun. U svijetu matematike to nazivamo "pouzdanost" (engl. soundness).
Kao što ističe Concordium, ovdje se radi o pomaku s "dijeljenja podataka" na "dijeljenje dokaza". Da bi se protokol doista smatrao ZKP-om, mora zadovoljiti tri tehnička kriterija:
- Potpunost (Completeness): Ako je tvrdnja istinita, pošteni dokazatelj će uvijek uvjeriti provjeritelja. U logici sustava nema mjesta za "lažno negativne" rezultate.
- Pouzdanost (Soundness): Ako Petra laže, ne bi smjela moći prevariti Viktora, osim u slučaju neke zanemarive, astronomske slučajnosti. Prema NIST-u, to se često naziva "ZKP znanja" (engl. ZKP of Knowledge) gdje dokazujete da posjedujete "svjedoka" (tajnu).
- Nulto znanje (Zero-knowledge): Ovo je ključna stavka. Viktor ne saznaje ništa o samoj lozinki, već samo dobiva potvrdu da je Petra posjeduje.
U mom poslu, na identitet se obično gleda kao na potencijalni rizik. Ako dVPN čvor (engl. node) poznaje vaš javni ključ, to je trag na razini paketa podataka koji se može pratiti. ZKP to u potpunosti mijenja.
Članak iz 2024. godine koji je objavio Concordium navodi da za poduzeća privatnost postaje "osnovni zahtjev", a ne samo dodatna značajka. Bilo da se radi o dokazivanju da ste stariji od 18 godina na stranici za trgovinu ili o provjeri zdravstvenog kartona, ZKP nam omogućuje obradu logike bez izlaganja samih podataka.
U nastavku ćemo se posvetiti tome kako ova tehnologija zapravo skriva vašu IP adresu unutar decentralizirane mreže.
Primjena ZKP-a u dVPN ekosustavu
Dakle, kako zapravo uzeti tu matematiku "čarobne špilje" i implementirati je u dVPN? Jedna je stvar o tome raspravljati na papiru, ali kada promatrate sirove pakete podataka koji pristižu na čvor, stvari brzo postaju komplicirane. U standardnoj mreži, poslužitelj obično provjerava vaš identitet putem baze podataka – što je ogroman sigurnosni rizik za privatnost.
Cilj je ovdje anonimna autentifikacija. Želimo da čvor zna da imate pravo koristiti propusnost, a da pritom ne zna tko ste niti kakva vam je povijest plaćanja.
Većina modernih dVPN projekata fokusira se na zk-SNARK protokole (Succinct Non-Interactive Arguments of Knowledge). Kao što smo ranije vidjeli, oni su izvrsni jer ne zahtijevaju stalnu komunikaciju između strana.
- Dokazi o pretplati: Možete dokazati da ste platili mjesečni plan na blockchainu. Čvor verificira "dokaz" da se vaš novčanik nalazi u skupu onih koji su "platili", a da pritom nikada ne vidi adresu vašeg novčanika.
- Kontrola pristupa: Umjesto korisničkog imena i lozinke koje bi pružatelj internetskih usluga (ISP) mogao presresti ili čvor zabilježiti, šaljete kriptografski dokaz. To je kao da pokazujete značku "provjereno" bez otkrivanja osobne iskaznice.
- Reputacija čvorova: Čvorovi također mogu koristiti ZKP kako bi dokazali da nisu zlonamjerni – primjerice, dokazujući da nisu manipulirali paketima – bez otkrivanja svoje unutarnje arhitekture poslužitelja.
U P2P mreži, vaš IP je praktički vaša kućna adresa. Ako je operater čvora nepouzdan, mogao bi bilježiti svaki IP koji se poveže. Korištenjem ZKP-a za uspostavu veze (handshake), razdvajamo "identitet" od "konekcije".
Prema podacima Cloudflarea, oni su još 2021. godine počeli koristiti "one-out-of-many" dokaze za privatnu web potvrdu. To u osnovi omogućuje korisniku da dokaže da pripada grupi ovlaštenih korisnika (poput "plaćenih pretplatnika") bez otkrivanja o kojem se točno korisniku radi. Ako tehnološki gigant takvog kalibra to koristi za verifikaciju hardvera bez curenja podataka, budite sigurni da dVPN-ovi čine isto za korisničke sesije.
Projekti poput SquirrelVPN-a implementiraju ove zk-SNARK protokole za uspostavu veze kako bi osigurali da čak ni čvor na koji se spajate nema pojma tko ste zapravo.
U nastavku ćemo istražiti kako ovi dokazi omogućuju funkcioniranje ekonomskog aspekta dijeljenja propusnosti bez ugrožavanja ičije privatnosti.
Rudarenje propusnosti i tokenizirane nagrade
Zamislite "rudarenje propusnosti" (bandwidth mining) kao "Airbnb za internet". Dopuštate strancima prolaz kroz digitalni hodnik vaše kućne mreže, a zauzvrat primate isplatu u tokenima. Međutim, bez dokaza s nultim znanjem (ZKP), ti stranci — ili sama mreža — mogli bi vidjeti previše onoga što se događa u vašem domu.
U P2P (peer-to-peer) sustavu moramo dokazati dvije stvari: da je čvor doista usmjerio podatke i da korisnik doista ima kredite za plaćanje te usluge. Povijesno gledano, to je značilo da mreža mora pratiti svaki paket, što predstavlja ogroman sigurnosni rizik i curenje privatnosti.
- Dokaz o usmjeravanju (Proof of Routing): Koristimo ZKP kako bismo potvrdili da je čvor obradio određeni volumen prometa. Čvor šalje "dokaz" blockchainu koji se podudara s korisnikovom "potvrdom", ali pritom nijedna strana ne otkriva stvarni sadržaj (payload) niti odredište paketa.
- Tokenizirani poticaji: Operateri zarađuju nagrade na temelju provjerenog vremena rada (uptime) i propusnosti. Budući da je verifikacija temeljena na nultom znanju, mreža ne mora znati stvarni identitet operatera kako bi mu isplatila tokene u novčanik.
- Pravedna razmjena: Kao što se navodi u stručnoj literaturi, ovi protokoli osiguravaju da "dokazivač" (čvor) može uvjeriti "verifikatora" (mrežu) da je posao obavljen, a da pritom ne otkrije osjetljive podatke sadržane u tom poslu.
Iskreno, nagledao sam se dovoljno nadzora od strane pružatelja internetskih usluga (ISP) da znam sljedeće: ako ne anonimizirate platni sloj, zapravo nemate privatnost. Ako je adresa vašeg kripto novčanika povezana s vašom kućnom IP adresom i zapisima o prometu, onaj "VPN" dio u dVPN-u postaje praktički beskoristan.
U nastavku ćemo istražiti kako spriječiti usporavanje mreže dok se izvode svi ovi složeni matematički izračuni — odnosno, pozabavit ćemo se "sažetim" (Succinct) dijelom ove zagonetke.
Tehničke prepreke ZKP-a u mrežnom okruženju
Gledajte, obožavam matematiku koja stoji iza dokaza s nultim znanjem (ZKP), ali moramo biti realni – implementacija ove tehnologije u mrežu koja radi uživo prava je glavobolja. Jedna je stvar na ploči dokazati da znate tajnu, a sasvim druga to činiti dok netko pokušava strujati 4K video putem decentraliziranog čvora.
"Sažetost" (Succinct) kod zk-SNARK-ova trebala bi ubrzati stvari, ali generiranje tih dokaza i dalje nemilosrdno troši CPU cikluse. Ako vaš telefon mora odraditi ogroman posao samo da bi autentificirao paket, baterija će iscuriti u trenu, a latencija će skočiti u nebo.
Iz mog iskustva u analizi mrežnih paketa, svaka milisekunda je ključna za usmjeravanje podataka. Kada dodate ZKP, zapravo uvodite "računalni porez" na svako uspostavljanje veze (handshake).
- Opterećenje procesora (CPU Overhead): Generiranje dokaza je znatno zahtjevnije od njegove verifikacije. Većina korisnika dVPN-ova koristi mobilne uređaje ili jeftine usmjerivače koji nisu baš superračunala, pa strana koja "dokazuje" (prover) postaje usko grlo.
- Pogreške u krugovima (Circuit Bugs): Ako matematika nije besprijekorna, dobivate "nedovoljno ograničene krugove" (under-constrained circuits). Sigurnosna izvješća tvrtki poput Trail of Bits ističu da velika većina SNARK bugova proizlazi upravo iz tih logičkih propusta, gdje bi haker potencijalno mogao lažirati dokaz.
- Mrežno kašnjenje: Interaktivni dokazi zahtijevaju stalnu razmjenu podataka. Čak i kod neinteraktivnih dokaza, sama veličina određenih dokaza može biti problem. Na primjer, zk-STARK-ovi su vrsta ZKP-a koja ne zahtijeva "povjerljivo postavljanje" (što je sigurnije), ali imaju znatno veće dokaze koji mogu zagušiti propusnost koju zapravo pokušavate uštedjeti.
Iskreno, većina developera još uvijek pokušava pronaći onu idealnu sredinu gdje je sigurnost maksimalna, a internet se ne doima kao dial-up veza iz 1995. godine.
U nastavku ćemo vidjeti kako industrija zapravo pokušava riješiti ovaj problem kašnjenja, kako bismo konačno mogli uživati u potpunoj privatnosti bez žrtvovanja brzine.
Budućnost interneta otpornog na cenzuru
Dakle, koji je krajnji cilj sve ove matematike? Iskreno, gledamo prema potpunom zaokretu u kojem "privatnost po dizajnu" nije samo marketinški slogan, već čvrsto kodirana mrežna stvarnost.
Kako se krećemo prema DePIN-u (decentraliziranim mrežama fizičke infrastrukture), stari model predavanja osobnih podataka centraliziranom VPN pružatelju usluga izgledat će zastarjelo poput dial-up interneta. Budućnost se vrti oko "selektivnog otkrivanja" — dokazivanja točno onoga što je potrebno i ničega više.
Sljedeću eru interneta neće definirati oni koji prikupe najviše podataka, već oni koji smisle kako im podaci uopće ne bi trebali. Tu na scenu stupaju zkVM-ovi (virtualni strojevi s nultim znanjem). Oni nam omogućuju pokretanje složene logike — poput provjere nalazi li se korisnik u ograničenoj regiji ili ima li važeću pretplatu — izvan lanca (off-chain), nakon čega se šalje samo maleni dokaz.
- Skaliranje privatnosti: Alati kao što su RISC Zero ili Succinct Labs omogućuju programerima pisanje ZKP logike u standardnim jezicima poput Rusta. To znači da se dVPN-ovi mogu skalirati bez onog ogromnog "računalnog poreza" o kojem smo ranije govorili.
- Otpornost na cenzuru: Kada čvor (node) ne zna tko ste niti čemu pristupate, vladama je puno teže prisiliti taj čvor da vas blokira.
- Usvajanje u poduzećima: Kao što je ranije spomenuo Concordium, tvrtke počinju doživljavati podatke kao obvezu i rizik. Ako ne posjeduju vaše podatke, ne mogu ih izgubiti u slučaju hakerskog upada.
U svakom slučaju, tehnologija je još u ranoj fazi, ali smjer je jasan. Gradimo internet na kojem nećete morati tražiti privatnost — ona će jednostavno biti zadana postavka na razini protokola. Čitamo se u sljedećoj detaljnoj analizi.