Důkazy s nulovou znalostí pro ověřování šířky pásma
TL;DR
Problém s prokazováním přenesených dat
Napadlo vás někdy, proč platíte za „vysokorychlostní“ data, a přesto se vaše video seká, jako by byl rok 2005? Většinou je to proto, že jsme uvízli v toxickém vztahu se svými poskytovateli internetu a VPN službami, který je založen na principu „prostě mi věř“.
Ve starém světě – v tom, čemu říkáme centralizovaný web – se připojujete k serveru vlastněnému jedinou společností. Ta vám řekne, kolik šířky pásma (bandwidth) jste spotřebovali, a vy zaplatíte účet. Ale v rámci decentralizované sítě fyzické infrastruktury (DePIN) často získáváte internet z domácího uzlu (node) úplně cizího člověka.
- Centralizované logy jsou obrovskou trhlinou v soukromí: Většina tradičních VPN tvrdí, že „neuchovává žádné záznamy“ (no-logs), ale vy jim prostě musíte věřit na slovo. Pokud na ně vláda podá soudní obsílku, tyto logy se obvykle zázračně objeví.
- Propast v poctivosti: Pokud s vámi sdílím své domácí optické připojení, abych vydělal krypto tokeny, co mi brání v tom, abych síť oklamal a tvrdil, že jsem vám poslal 10 GB, i když jsem ve skutečnosti poslal jen 1 GB?
- Potřeba „bezdůvěrného“ (trustless) ověřování: Potřebujeme způsob, jak prokázat, že se data skutečně přesunula z bodu A do bodu B, aniž by celý proces sledoval nějaký prostředník.
Podle studie o Zero-Knowledge Proof Frameworks umožňuje technologie ZKP (důkazy s nulovým rozšířením znalostí) „prokazateli“ přesvědčit „ověřovatele“, že dané tvrzení je pravdivé, aniž by odhalil samotná tajná data. V našem světě to znamená prokázat, že jsem vám data odeslal, aniž by síť musela „očichávat“ (sniffing) vaše soukromé pakety.
Když mluvíme o „těžbě šířky pásma“ (Bandwidth Mining) nebo o „Airbnb pro internet“, v podstatě motivujeme lidi, aby proměnili své routery v mini-poskytovatele internetu (ISP). Ale krypto pobídky přitahují i podvodníky – lidi, kteří chtějí odměny, aniž by odvedli skutečnou práci.
Jak ukazuje následující diagram postupu ověřování šířky pásma, potřebujeme systém, který kontroluje tok dat, aniž by odhalil identitu uživatele.
Pokud necháme uzly, aby své statistiky reportovaly samy, systém se kvůli podvodům zhroutí. Na druhou stranu, pokud dovolíme síti vidět vše, aby mohl být provoz ověřen, právě jsme vybudovali obří sledovací stroj.
Měření peer-to-peer (P2P) provozu je notoricky složité. Na rozdíl od nákupu v obchodě, kde se naskenuje čárový kód, jsou datové pakety proměnlivé. V odvětvích, jako je zdravotnictví nebo finance, je to ještě citlivější. Nemůžete prostě nechat třetí stranu kontrolovat pakety a zjišťovat, zda je uzel poctivý.
Zpráva z roku 2023 od arkworks zksnark ecosystem naznačuje, že modulární knihovny se stávají standardem pro vytváření těchto typů „stručných“ (succinct) důkazů, které lze spustit i na hardware s nízkým výkonem.
K překlenutí této propasti potřebujeme matematiku – konkrétně kryptografické závazky. Bez nich zůstane sdílená šířka pásma pouze službou typu „nejlepší úsilí“ (best effort), nikoliv garantovaným zdrojem. Vzhledem k tomu, že tyto případy použití vyžadují vysokou spolehlivost, stávají se náklady na provádění těchto kontrol na blockchainu hlavní překážkou, kterou musíme zdolat.
Co jsou vlastně důkazy s nulovým rozšířením znalostí (ZKP)?
Představte si, že chcete vyhazovači v klubu dokázat, že je vám přes 18 let, ale nechcete, aby viděl vaši adresu, výšku nebo to, jak hrozně vypadáte na fotce v občance. Místo předání fyzického průkazu mu ukážete černou skříňku, která blikne zeleně pouze v případě, že splňujete věkovou hranici.
To je v podstatě to, co v digitálním světě dělá důkaz s nulovým rozšířením znalostí (zkp – zero-knowledge proof). Je to způsob, jak říct: „Mám odpověď,“ aniž byste museli ukázat samotný postup nebo data, která za ní stojí.
V kontextu našeho tržiště s šířkou pásma (bandwidth marketplace) je to způsob, jakým poskytovatel prokáže, že vám poslal přesně 500 MB šifrovaného provozu, aniž by síť kdykoliv viděla, co je obsahem těchto paketů. Překlenuje to propast mezi „věř mi“ a „tady je matematický důkaz, že nelžu“.
Ve svém jádru zahrnuje zkp dvě postavy: Prokazatele (osoba sdílející svou šířku pásma) a Ověřovatele (blockchain nebo uživatel přijímající data). Cílem je, aby Prokazatel přesvědčil Ověřovatele o pravdivosti tvrzení, aniž by odhalil jakoukoli informaci navíc.
Aby to fungovalo, musí každý systém zkp splňovat tři specifické podmínky:
- Úplnost (Completeness): Pokud uzel data skutečně odeslal, matematika musí pokaždé vyjít tak, aby dostal zaplaceno.
- Korektnost (Soundness): Pokud uzel lže, matematika musí téměř ve 100 % případů selhat. Žádné podvádění není povoleno.
- Nulové rozšíření znalostí (Zero-knowledge): Ověřovatel se nedozví nic o skutečných přenášených souborech – pouze to, že objem a cíl byly správné.
Tímto způsobem udržujeme princip „nuly“ v sítích s nulovou důvěrou (zero-trust networks). V rámci decentralizované VPN (dvpn) nechcete, aby síťové uzly špehovaly vaše zvyky na Netflixu nebo přihlašovací údaje do bankovnictví. Díky použití zkp může uzel prokázat, že splnil svůj kontrakt vůči síti – a získat tak krypto odměny – aniž by kdykoliv „nahlédl“ do vašeho soukromého streamu.
Když se začnete nořit do technických detailů projektů typu depin (decentralizovaná fyzická infrastruktura), narazíte na dvě hlavní „příchutě“ těchto důkazů: snarky a starky. Znějí sice jako postavy z básně Lewise Carrolla, ale v praxi mají velmi odlišné vlastnosti.
zk-snarks (Succinct Non-Interactive Arguments of Knowledge) jsou starším a zavedenějším sourozencem. Jsou „stručné“ (succinct), což znamená, že důkazy jsou drobné – někdy mají jen pár stovek bajtů. To je skvělé pro uživatele mobilních vpn, protože ověření připojení nevyčerpá jejich datový tarif.
Většina snarků (jako známý protokol Groth16) však vyžaduje „důvěryhodné nastavení“ (trusted setup). Jde o jednorázovou událost, při které se pro spuštění systému vygenerují náhodná čísla. Pokud by lidé provádějící toto nastavení byli zkorumpovaní, mohli by teoreticky důkazy falšovat. Jak již bylo zmíněno v průzkumu o rámcích pro důkazy s nulovým rozšířením znalostí, právě proto mnoho novějších projektů hledá alternativy.
zk-starks (Scalable Transparent Arguments of Knowledge) jsou novější a robustnější verzí. Nepotřebují důvěryhodné nastavení – jsou „transparentní“. Mají také jednu obrovskou výhodu: jsou odolné vůči kvantovým počítačům.
Následující diagram architektury ilustruje kompromisy mezi pracovními postupy snark a stark v p2p prostředí.
V rámci p2p výměny šířky pásma se snažíme vybudovat decentralizovaného poskytovatele internetového připojení (isp). V obchodě byste nikdy nezaplatili pokladnímu, který vám jen „slíbí“, že dal mléko do tašky, aniž byste se podívali. Ve financích také nevěříte jen tabulce v bance, ale vyžadujete audit.
Technologie zkp poskytuje takový audit pro data. Ať už jde o poskytovatele zdravotní péče, který posílá citlivé záznamy pacientů přes vpn, nebo maloobchodní řetězec synchronizující zásoby napříč tisíci prodejnami, potřebují mít jistotu, že data dorazila v pořádku, aniž by prostředník (uzel) viděl jejich obsah.
Ověřování propustnosti bez narušení soukromí
Provozujete uzel, sdílíte svou šířku pásma a vyděláváte kryptoměny. Skvělé. Ale jak síť skutečně pozná, že posíláte reálná data uživateli například v Berlíně, aniž by někdo doslova „odposlouchával“ pakety a kontroloval je?
Je to obrovský technický oříšek. Pokud síť data vidí, aby je mohla ověřit, vaše soukromí je v troskách. Pokud nevidí nic, mohli byste tokeny „těžit“ prostým posíláním nesmyslných dat sami sobě. Právě zde přicházejí na řadu detaily protokolů pro prokazování propustnosti (bandwidth proof protocols).
K vyřešení tohoto problému využíváme specifickou matematickou metodu zvanou Zero-Knowledge založené na vOLE (Vector Oblivious Linear Evaluation). Zní to sice jako z vědeckofantastického románu, ale pro vysokorychlostní přenosy dat je to neuvěřitelně elegantní řešení.
Na rozdíl od protokolů SNARKs nebo STARKs, které často využívají náročné eliptické křivky, je vOLE formou „interaktivního důkazu věštby“ (Interactive Oracle Proof), která upřednostňuje rychlost dokazovatele před velikostí samotného důkazu. Je v podstatě navržena pro rychlost, což ji činí ideální pro ověřování masivních datových toků v reálném čase, aniž by docházelo ke zpomalení vašeho připojení.
- Vysokorychlostní ověřování: Protokoly založené na vOLE jsou vynikající v tom, že nespoléhají na těžkopádné výpočty v každém kroku. Díky tomu jsou mnohem rychlejší pro těžbu propustnosti v reálném čase.
- Kontroly konzistence: Síť tyto důkazy využívá k tomu, aby se ujistila, že uzel skutečně disponuje takovou rychlostí nahrávání (upload), jakou deklaruje. Pokud tvrdíte, že jste „Supernode“, ale matematika nesedí, chytrý kontrakt prostě nespustí výplatu.
- Zůstaňte v obraze: Pokud se o tuto problematiku zajímáte do hloubky, sledování komunit jako squirrelvpn – informačního zdroje a komunity pro technologie decentralizovaných VPN – je dobrý způsob, jak zjistit, které protokoly se skutečně dostávají do ostrého provozu (mainnetu).
Níže uvedený diagram ukazuje, jak vOLE vytváří bezpečné spojení (handshake) mezi uzlem a ověřovatelem.
Fascinující je pak to, jak se celý proces propojuje s vaší peněženkou. V rámci decentralizované VPN (dVPN) chceme, aby odměny byly automatické. Neměli byste čekat, až vaše výdělky schválí nějaký lidský „správce“.
Používáme chytré kontrakty (Smart Contracts), které fungují jako ultimátní úschova (escrow). Tyto kontrakty jsou naprogramovány tak, aby byly „slepé“, ale spravedlivé. Drží tokeny a uvolní je pouze tehdy, když je předložen platný důkaz s nulovým rozšířením znalostí (ZKP). Bez důkazu není výplata. Je to sice nekompromisní, ale nezbytný způsob, jak udržet P2P síť poctivou.
Řešení problému s poplatky (Gas)
Jednou z hlavních překážek v minulosti byly takzvané „gas costs“ – tedy poplatky, které platíte za zápis dat do blockchainu. Pokud je důkaz příliš objemný, zaplatili byste na poplatcích více, než kolik byste získali na odměnách. Právě tato „ekonomika on-chain verifikace“ stojí za neúspěchem mnoha projektů.
Abychom tento problém vyřešili, využíváme rekurzivní důkazy (Recursive Proofs). Jde v podstatě o metodu, jak ověřit několik malých důkazů v rámci jednoho velkého. Namísto odesílání 1 000 transakcí do blockchainu za 1 000 malých přenosů dat systém tyto požadavky seskupí (batching) do jediného důkazu. Tím se náklady na gas rozprostřou mezi tisíce nároků, takže poplatek na jednoho uživatele činí pouhé haléře.
K efektivitě přispívají také řešení na druhé vrstvě (Layer 2), která přesouvají výpočetně náročné operace mimo hlavní řetězec. Verifikací ZKP (důkazů s nulovým rozšířením znalostí) na rychlejší a levnější síti a následným vypořádáním konečného zůstatku na hlavním blockchainu zajišťujeme, že systém zůstává pro provozovatele uzlů (nodes) vysoce profitabilní.
- Automatizované výplaty: V okamžiku, kdy je ZKP verifikován on-chain, jsou tokeny automaticky převedeny do peněženky daného uzlu. Celý proces nestojí na „důvěře“, ale výhradně na kódu.
- Snižování režijních nákladů: Knihovny jako arkworks pomáhají tyto důkazy zmenšovat, aby byly „stručné“ (succinct) a jejich ověření bylo levné.
- Prevence podvodů: Díky matematické správnosti a „neprůstřelnosti“ (soundness) je statisticky nemožné, aby uzel zfalšoval přenos 1 GB dat, aniž by tato data skutečně odbavil.
Reálné případy využití ZKP v rámci DePIN
Napadlo vás někdy, jak můžete prodat svou přebytečnou kapacitu domácího internetu někomu v Tokiu, aniž by jeden z vás druhého podvedl? Zní to jako zápletka z technologického thrilleru, ale ve skutečnosti je to základní kámen hnutí DePIN (decentralizované sítě fyzické infrastruktury).
Vize je prostá: doma máte optické připojení o rychlosti 1 Gb/s, ale využíváte ho jen ke sledování Netflixu a nekonečnému prohlížení Redditu. Proč nevyužít zbývající kapacitu k výdělku? V modelu decentralizované VPN (dVPN) se váš router stává síťovým uzlem.
- Garance kvality služeb (QoS): Protokoly ZKP (důkazy s nulovou znalostí) používáme k prokázání, že uzel skutečně poskytl slíbenou rychlost 100 Mb/s. Uzel vygeneruje důkaz o „práci“, který blockchain ověří dříve, než uvolní vaši odměnu v kryptoměně.
- Soukromí pro poskytovatele: Jako poskytovatel nechcete vědět, co kupující na síti dělá. ZKP umožňují síti ověřit objem přenesených dat, aniž byste vy jako provozovatel uzlu kdy viděli nezašifrované pakety.
Tento vývojový diagram ilustruje, jak uživatel žádá o šířku pásma a jak uzel poskytuje důkaz pro získání platby.
Zajímavým přístupem je způsob, jakým projekty řeší „Proof of Connectivity“ (Důkaz o konektivitě). Síť potřebuje vědět, že je váš uzel skutečně online. Namísto neustálého dotazování (pingování) každou sekundu lze využít ZKP k prokázání, že váš uzel byl aktivní v konkrétním časovém okně.
Nyní přejděme k citlivějším tématům. Pokud se nacházíte v zemi s přísnou cenzurou internetu, už samotné používání VPN může být podezřelé. Tradiční VPN protokoly mají specifické „podpisy“, které dokáže hloubková inspekce paketů (DPI) snadno identifikovat.
Zde přichází na řadu přístup odolný vůči cenzuře. Pomocí ZKP můžeme vytvářet „obfuskovaná“ (maskovaná) spojení. Cílem není jen data zašifrovat, ale prokázat síti, že spojení je legitimní, aniž by se vůbec prozradilo, že jde o VPN tunel.
Následující diagram ukazuje, jak jsou metadata během připojení skryta, aby bylo možné obejít cenzurní mechanismy.
Výzvy a cesta, která nás čeká
Takže matematiku máme vyřešenou, ale dokáže ji váš starý router reálně zpracovat, aniž by začal hořet? To je otázka za všechny peníze, protože nikdo nechce soukromé připojení k internetu, u kterého by si připadal jako v dobách vytáčeného 56k modemu.
Realita je taková, že generování důkazů s nulovým rozšířením znalostí (ZKP) je „nákladné“ – ne nutně v dolarech, ale v procesorových cyklech (CPU cycles). Pokud se pokoušíte provozovat vysokorychlostní uzel dVPN na levném domácím routeru, začnou být tyto výpočty pořádně náročné.
- Latence vs. soukromí: Tady narážíme na klasický kompromis. Pokud budeme vyžadovat 100% absolutní kryptografickou jistotu pro každý jednotlivý paket, váš ping vystřelí do nebes.
- Hardwarová akcelerace: Začínáme pozorovat posun směrem k využívání grafických karet (GPU) nebo specializovaných čipů, které tyto důkazy zpracovávají.
Tento závěrečný diagram ukazuje budoucí plán pro hardwarově akcelerované ověřování ZKP.
Upřímně řečeno, největší překážkou, na kterou narážíme, je „propast v použitelnosti“. Studie z roku 2024, kterou vypracovali vědci z UC San Diego a Arizona State University, zjistila, že ačkoliv existuje mnoho frameworků, tato propast je stále největším problémem pro vývojáře, kteří se snaží tyto nástroje implementovat v reálném světě. Většina uživatelů dVPN nechce slyšet o eliptických křivkách; chtějí prostě své soukromí.
Při pohledu do budoucna směřujeme ke světu, kde „poskytovatelem internetu“ (ISP) není obří korporace s mrakodrapem, ale globální síť lidí, jako jste vy a já. ZKP je v podstatě posledním dílkem skládačky pro tuto Web3 infrastrukturu. Právě díky nim je celý systém „trustless“ (nevyžadující důvěru) – nemusíte znát osobu, která vám poskytuje šířku pásma, protože matematika dokazuje, že vás nepodvádí.