Důkazy s nulovou znalostí pro soukromí v dVPN | Web3
TL;DR
Problém důvěry u tradičních VPN služeb
Napadlo vás někdy, proč jen tak odevzdáváme celý svůj digitální život poskytovateli VPN a doufáme, že se nebude dívat? Je upřímně neuvěřitelné, že v roce 2025 je naší nejlepší obranou v oblasti soukromí stále jen „čestné slovo“ centralizované společnosti.
Většina tradičních služeb se hlasitě ohání politikou „nulového protokolování“ (no-logs), ale jako síťař vidím realitu na úrovni paketů. I když neukládají historii vašeho prohlížení, v momentě připojení stále vidí vaši skutečnou IP adresu a časové údaje o relaci.
- Centralizované body selhání: Tradiční poskytovatelé fungují na clusterech, které sami plně ovládají. Pokud na ně vláda vznese soudní požadavek nebo pokud hacker získá root přístup, vaše data jsou v paměti RAM jako na podnose.
- Propast v důvěře: Musíte jim zkrátka věřit. Studie společnosti ExpressVPN z roku 2024 poznamenává, že uživatelé jsou v podstatě odkázáni na poctivost poskytovatele, protože neexistuje žádný technický způsob, jak ověřit, co se skutečně děje v jejich backendu.
- Zákony o uchovávání údajů: V mnoha jurisdikcích jsou poskytovatelé internetového připojení (ISP) i VPN společnosti ze zákona nuceni uchovávat určitá metadata, což v těchto regionech činí slib „no-logs“ právně nerealizovatelným.
Strávil jsem roky analýzou dohledu ze strany ISP a problémem je vždy prostředník. Pokud server zná vaši identitu, aby vás mohl autentizovat, stává se tato informace bezpečnostním rizikem.
Podle Wikipedie byly důkazy s nulovým rozšířením znalostí (Zero-Knowledge Proofs – ZKP) navrženy již v roce 1985 právě proto, aby vyřešily tento chaos s „prokazováním identity bez odhalení tajemství“. Konečně vidíme, jak se tato technologie přesouvá z matematických studií do reálného kódu.
Hlavním problémem totiž nejsou jen špatní aktéři, ale samotná architektura. Potřebujeme systém, kde síť dokáže ověřit, že jste zaplatili nebo máte přístup, aniž by skutečně věděla, kdo „vy“ jste.
Dále se podíváme na to, jak ZKP mění pravidla hry a řeší tento problém s důvěrou.
Co jsou vlastně důkazy s nulovým rozšířením znalostí (ZKP)?
Pokud jste se někdy pokoušeli vysvětlit kryptografii někomu, kdo se nepohybuje v oblasti síťových technologií, určitě znáte ten pocit marnosti. Přitom důkazy s nulovým rozšířením znalostí (Zero-Knowledge Proofs – ZKP) jsou ve skutečnosti docela intuitivní, pokud na chvíli přestanete myslet na prvočísla a představíte si kouzelnou jeskyni.
Klasickým způsobem, jak tento koncept vysvětlit, je příběh o jeskyni Alí Baby. Představte si kruhovou jeskyni se dvěma cestami, A a B, které se vzadu setkávají u kouzelných dveří. Peggy zná tajné heslo k jejich otevření. Victor chce důkaz, že Peggy nelže, ale Peggy mu heslo nechce prozradit.
Aby to dokázala, vejde Peggy do jeskyně, zatímco Victor čeká venku. Victor pak zakřičí: „Vyjdi cestou A!“ Pokud je Peggy u dveří, otevře je a objeví se na požadované straně. Pokud to zopakují dvacetkrát a ona ani jednou neselže, matematika říká, že s téměř stoprocentní jistotou heslo zná. Funguje to proto, že každé úspěšné kolo snižuje na polovinu šanci, že měla jen štěstí. Po 20 kolech je pravděpodobnost, že jde o podvod, v podstatě jedna k milionu. V matematickém světě tomu říkáme „úplnost“ (soundness).
Jak uvádí společnost Concordium, jde o zásadní posun od „sdílení dat“ ke „sdílení důkazu“. Aby byl protokol skutečně považován za ZKP, musí splňovat tři technické parametry:
- Úplnost (Completeness): Pokud je tvrzení pravdivé, čestný dokazovatel (prover) vždy přesvědčí ověřovatele (verifier). Logika systému nepřipouští žádné „falešně negativní“ výsledky.
- Korektnost (Soundness): Pokud Peggy lže, neměla by být schopna Victora oklamat, s výjimkou naprosto zanedbatelné, astronomicky malé šance. Podle institutu NIST se tomu často říká „ZKP znalosti“, kdy dokazujete, že skutečně držíte „svědka“ (v tomto případě tajné heslo).
- Nulové rozšíření znalostí (Zero-knowledge): Tohle je ten nejdůležitější bod. Victor se o samotném hesle nedozví vůbec nic – zjistí pouze to, že ho Peggy zná.
V mém oboru obvykle vnímáme identitu jako určité riziko. Pokud uzel v rámci dVPN zná váš veřejný klíč, je to v podstatě digitální stopa na úrovni paketů. ZKP tento přístup zcela obrací.
Článek z roku 2024 od Concordium zmiňuje, že pro podniky se soukromí stává „základním požadavkem“, nikoliv jen doplňkovou funkcí. Ať už jde o prokázání věku nad 18 let v e-shopu nebo ověření zdravotní dokumentace, ZKP nám umožňuje pracovat s logikou věci, aniž bychom vystavovali samotná data.
V další části se podíváme na to, jak tato technologie v praxi zajišťuje skrytí vaší IP adresy v decentralizované síti.
Implementace ZKP v ekosystému dVPN
Jak tedy přenést tuto matematiku „kouzelné jeskyně“ do praxe v rámci dVPN? Teoretické úvahy jsou jedna věc, ale v momentě, kdy na uzel (node) začnou dopadat surová data, se situace rychle komplikuje. V běžné síti server obvykle ověřuje vaši identitu dotazem do databáze – což je z pohledu soukromí naprosto nepřípustné.
Cílem je zde anonymní autentizace. Chceme, aby uzel věděl, že máte právo využívat šířku pásma (bandwidth), aniž by věděl, kdo jste, nebo znal vaši historii plateb.
Většina moderních dVPN projektů sází na zk-SNARKs (Succinct Non-Interactive Arguments of Knowledge). Jak jsme si vysvětlili dříve, jejich hlavní výhodou je, že nevyžadují neustálou komunikaci mezi stranami (jsou neinteraktivní).
- Důkazy o předplatném: Na blockchainu můžete prokázat, že jste zaplatili měsíční tarif. Uzel následně ověří „důkaz“, že vaše peněženka patří do skupiny „plátců“, aniž by kdy viděl adresu vaší peněženky.
- Řízení přístupu: Namísto uživatelského jména a hesla, které by mohl poskytovatel internetu (ISP) zachytit nebo uzel protokolovat, zasíláte kryptografický důkaz. Je to jako ukázat odznak „ověřeno“, aniž byste museli vytáhnout občanský průkaz.
- Reputace uzlů: Uzly mohou pomocí ZKP rovněž prokazovat, že nejsou škodlivé – například doložit, že nemanipulovaly s datovými pakety – a to vše bez odhalení své interní serverové architektury.
V P2P síti je vaše IP adresa v podstatě vaší domácí adresou. Pokud by byl provozovatel uzlu nepoctivý, mohl by logovat každou připojenou IP adresu. Použitím ZKP pro úvodní spojení (handshake) oddělujeme „identitu“ od samotného „připojení“.
Společnost Cloudflare začala již v roce 2021 používat důkazy typu „jeden z mnoha“ (one-out-of-many proofs) pro soukromé webové atestace. To v praxi umožňuje uživateli prokázat, že patří do skupiny autorizovaných uživatelů (např. „platící předplatitelé“), aniž by odhalil, o kterého konkrétního uživatele jde. Pokud takový gigant využívá tuto technologii k ověřování hardwaru bez úniku dat, můžete si být jisti, že dVPN dělají totéž pro uživatelské relace.
Projekty jako SquirrelVPN implementují tyto zk-SNARK handshake protokoly, aby zajistily, že ani uzel, ke kterému se připojujete, nemá sebemenší tušení, kdo ve skutečnosti jste.
Dále se podíváme na to, jak tyto důkazy umožňují fungování ekonomické stránky sdílení šířky pásma, aniž by došlo k ohrožení soukromí zúčastněných stran.
Těžba šířky pásma a tokenizované odměny
Představte si „těžbu šířky pásma“ (bandwidth mining) jako takové Airbnb pro internet. Necháváte cizí lidi procházet digitální chodbou vaší domácí sítě a na oplátku dostáváte zaplaceno v tokenech. Jenže bez technologie nulového rozšíření (ZKP) by tito cizinci – nebo síť samotná – mohli vidět až příliš mnoho z toho, co se u vás doma děje.
V P2P architektuře musíme prokazovat dvě věci: že uzel (node) data skutečně směroval a že uživatel má dostatek kreditů na zaplacení. Historicky to znamenalo, že síť musela sledovat každý paket, což představuje masivní únik soukromí.
- Důkaz o směrování (Proof of Routing): Využíváme ZKP k ověření, že uzel odbavil konkrétní objem provozu. Uzel poskytne blockchainu „důkaz“, který se shoduje s „potvrzením“ od uživatele, ale ani jedna strana přitom neodhalí skutečný obsah (payload) nebo cíl daných paketů.
- Tokenizované pobídky: Operátoři uzlů získávají odměny na základě ověřené dostupnosti (uptime) a propustnosti. Protože ověřování probíhá v režimu nulového rozšíření znalostí, síť nemusí znát skutečnou identitu operátora, aby mu mohla připsat tokeny do peněženky.
- Spravedlivá výměna: Jak uvádí odborné zdroje, tyto protokoly zajišťují, že „prokazující“ (uzel) může přesvědčit „ověřovatele“ (síť) o vykonané práci, aniž by odhalil citlivá data obsažená v rámci této práce.
Upřímně řečeno, viděl jsem už dost sledování ze strany poskytovatelů internetového připojení (ISP) na to, abych věděl, že pokud neanonymizujete platební vrstvu, nejste ve skutečnosti v soukromí. Pokud je adresa vaší peněženky propojena s vaší domácí IP adresou a záznamy o provozu, je ona „VPN“ část v dVPN v podstatě k ničemu.
Dále se podíváme na to, jak zajistit, aby síť při všech těchto náročných matematických operacích nelagovala – tedy na onu „stručnou“ (Succinct) část celé skládačky.
Technické překážky ZKP v síťovém prostředí
Podívejte, matematiku stojící za důkazy s nulovým rozšířením znalostí (ZKP) naprosto zbožňuji, ale musíme být upřímní – implementovat tohle do živé sítě je pořádná výzva. Jedna věc je dokázat na tabuli, že znáte tajemství, a úplně jiná věc je dělat to v momentě, kdy se někdo pokouší streamovat 4K video přes decentralizovaný uzel.
Přívlastek „stručný“ (Succinct) u technologie zk-SNARK má sice zajistit rychlost, ale generování těchto důkazů stále spotřebovává obrovské množství procesorového času. Pokud váš telefon musí vynaložit extrémní úsilí jen na autentizaci paketu, baterie vám bleskově klesne a latence vyletí do nebes.
Z mé zkušenosti s analýzou na úrovni paketů záleží při směrování na každé milisekundě. Když přidáte ZKP, v podstatě uvalujete „výpočetní daň“ na každé navázání spojení (handshake).
- Režie procesoru (CPU Overhead): Vygenerovat důkaz je mnohem náročnější než jej ověřit. Většina uživatelů dVPN používá mobilní telefony nebo levné routery, což nejsou zrovna superpočítače, takže strana „prokazovatele“ (prover) se stává úzkým hrdlem systému.
- Chyby v obvodech (Circuit Bugs): Pokud matematika není naprosto precizní, vznikají tzv. „podmíněně poddimenzované obvody“ (under-constrained circuits). Bezpečnostní zprávy od firem jako Trail of Bits uvádějí, že drtivá většina chyb u SNARKů pochází právě z těchto logických mezer, které by hacker mohl zneužít k podvržení důkazu.
- Síťové zpoždění: Interaktivní důkazy vyžadují neustálou komunikaci tam a zpět. Ale i u těch neinteraktivních může být problémem samotná velikost důkazů. Například zk-STARK představují jiný typ ZKP, který nevyžaduje „důvěryhodné nastavení“ (trusted setup), což je bezpečnější, ale mají mnohem větší objem dat v důkazech. To může paradoxně ucpat právě tu šířku pásma, kterou se snažíte ušetřit.
Upřímně řečeno, většina vývojářů se stále snaží najít tu „zlatou střední cestu“, kde je zabezpečení neprůstřelné, ale internet přitom nepůsobí jako vytáčené připojení z roku 1995.
Každopádně se v další části podíváme na to, jak se průmysl snaží tento problém s latencí vyřešit, abychom konečně mohli mít maximální soukromí bez kompromisů ve výkonu.
Budoucnost internetu odolného vůči cenzuře
Jaký je tedy konečný cíl všech těchto matematických operací? Upřímně řečeno, sledujeme totální posun, kde „soukromí již v návrhu“ (privacy by design) není jen marketingovým sloganem, ale pevně zakódovanou síťovou realitou.
S tím, jak směřujeme k DePIN (decentralizovaným sítím fyzické infrastruktury), se starý model předávání osobních údajů centrálnímu poskytovateli VPN bude zdát stejně pravěký jako vytáčené připojení. Budoucnost spočívá v „selektivním zveřejňování“ – tedy v prokazování přesně toho, co je nezbytné, a ničeho navíc.
Příští éru internetu nebude definovat to, kdo nasbírá nejvíce dat, ale kdo přijde na to, jak jich potřebovat co nejméně. Právě zde nastupují zkVM (virtuální stroje s nulovou znalostí). Ty nám umožňují spouštět komplexní logiku – například ověření, zda se uživatel nachází v omezené oblasti nebo zda má platné předplatné – mimo blockchain (off-chain) a následně publikovat pouze drobný důkaz o platnosti.
- Škálování soukromí: Nástroje jako RISC Zero nebo Succinct Labs umožňují vývojářům psát logiku pro důkazy s nulovou znalostí (ZKP) v běžných jazycích, jako je Rust. To znamená, že dVPN mohou škálovat bez obrovské „výpočetní daně“, o které jsme mluvili dříve.
- Odolnost vůči cenzuře: Pokud uzel (node) neví, kdo jste ani k čemu přistupujete, je pro státní aparát mnohem těžší donutit tento uzel, aby vás zablokoval.
- Adopce v podnikovém sektoru: Jak již dříve zmínil projekt Concordium, firmy začínají vnímat data jako přítěž a riziko. Pokud vaše data nedrží, nemohou o ně přijít při úniku dat.
Každopádně, tato technologie je stále v plenkách, ale směr je jasný. Budujeme internet, kde o soukromí nemusíte žádat – je to prostě výchozí nastavení na úrovni protokolu. Uvidíme se u další hloubkové analýzy.