Доказателства с нулево знание за разпределяне на трафик
TL;DR
Проблемът с доказването на пренесените данни
Случвало ли ви се е да се питате защо плащате за „високоскоростен“ интернет, а видеото ви продължава да зарежда бавно, сякаш сме още 2005-та година? Причината обикновено е, че сме заклещени в отношения, базирани на принципа „просто ми се довери“, с нашите интернет доставчици и VPN услуги.
В стария свят – това, което наричаме централизирана мрежа – вие се свързвате със сървър, собственост на една компания. Те ви казват колко честотна лента сте използвали и вие плащате сметката. Но в една децентрализирана мрежа от физическа инфраструктура (DePIN), вие често получавате интернет от домашния възел на случаен потребител.
- Централизираните лог файлове са огромен пробив в поверителността: Повечето традиционни VPN услуги твърдят, че „не пазят записи“ (no-logs), но вие просто им вярвате на думата. Ако правителство изиска данните им чрез съдебна заповед, тези записи обикновено съществуват.
- Пропастта в честността: Ако споделям моята домашна оптична връзка с вас, за да печеля крипто токени, какво ми пречи да излъжа мрежата и да кажа, че съм ви изпратил 10GB, когато всъщност са били само 1GB?
- Нуждата от „trustless“ (неизискваща доверие) верификация: Нуждаем се от начин да докажем, че данните действително са преминали от точка А до точка Б, без посредник, който да наблюдава целия процес.
Според проучване на рамки за доказателства с нулево знание (Zero-Knowledge Proof Frameworks), ZKP технологията позволява на едната страна („доказващ“) да убеди другата страна („проверяващ“), че дадено твърдение е вярно, без да разкрива самите секретни данни. В нашия свят това означава да докажа, че съм ви изпратил данните, без мрежата да трябва да „подслушва“ вашите лични пакети.
Когато говорим за „Bandwidth Mining“ (добив на честотна лента) или „Airbnb за интернет“, ние на практика стимулираме хората да превърнат своите рутери в мини-интернет доставчици. Но крипто стимулите привличат и „играчи“ – хора, които искат наградите, без реално да вършат работата.
Както е показано на следната диаграма на работния процес за верификация на честотната лента, се нуждаем от система, която проверява потока от данни, без да излага потребителя на риск.
Ако просто оставим възлите сами да докладват своята статистика, системата ще се срине поради измами. От друга страна, ако позволим на мрежата да вижда всичко, за да проверява трафика, току-що сме изградили гигантска машина за наблюдение.
Измерването на peer-to-peer (P2P) трафика е всеизвестно труден процес. За разлика от плащането на каса, където се сканира баркод, пакетите данни са флуидни. В индустрии като здравеопазването или финансите това е още по-чувствителна тема. Не можете просто да оставите трета страна да инспектира пакетите, за да види дали възелът е честен.
Доклад от 2023 г. на екосистемата arkworks zksnark предполага, че модулните библиотеки се превръщат в стандарт за изграждане на тези типове „кратки“ (succinct) доказателства, които могат да работят върху хардуер с ниска мощност.
Нуждаем се от математика – по-конкретно от криптографски ангажименти (cryptographic commitments) – за да запълним тази празнина. Без тях честотната лента остава услуга тип „най-доброто възможно“ (best effort), а не гарантиран ресурс. Тъй като тези случаи на употреба изискват висока надеждност, разходите за изпълнение на тези проверки върху блокчейн се превръщат в основно препятствие, което трябва да преодолеем.
Какво всъщност представляват доказателствата с нулево знание?
Представете си, че искате да докажете на охраната пред нощен клуб, че имате навършени 21 години, но не искате той да вижда домашния ви адрес, височината ви или колко зле изглеждате на снимката в личната си карта. Вместо да му предавате физическия документ, вие му показвате „черна кутия“, която светва в зелено само ако отговаряте на изискването за възраст.
Това в общи линии е ролята на доказателството с нулево знание (zero-knowledge proof или ZKP) в дигиталния свят. То е начин да кажете: „Имам отговора“, без всъщност да показвате изчисленията или данните, които стоят зад него.
В контекста на нашия пазар за честотна лента (bandwidth marketplace), това е методът, чрез който един доставчик доказва, че ви е изпратил точно 500MB криптиран трафик, без мрежата някога да вижда какво има в тези пакети. ZKP запълва празнината между „повярвай ми“ и „ето математическото доказателство, че не лъжа“.
В основата си всяко ZKP включва двама участници: Доказващ (Prover – лицето, което споделя своята честотна лента) и Проверяващ (Verifier – блокчейнът или потребителят, който получава данните). Целта е Доказващият да убеди Проверяващия, че дадено твърдение е вярно, като същевременно не разкрива абсолютно никаква допълнителна информация.
За да работи тази система, всяко доказателство с нулево знание трябва да отговаря на три специфични условия:
- Пълнота (Completeness): Ако възелът (node) действително е изпратил данните, математическото уравнение трябва да се решава всеки път, за да може той да получи плащането си.
- Устойчивост (Soundness): Ако възелът лъже, математическата проверка трябва да се провали в почти 100% от случаите. Измамата е изключена.
- Нулево знание (Zero-knowledge): Проверяващият не научава нищо за съдържанието на прехвърляните файлове – само потвърждава, че обемът и дестинацията са коректни.
Ето как поддържаме принципа на „нулево доверие“ (zero-trust) в децентрализираните мрежи. В една dVPN услуга не искате мрежовите възли да подслушват навиците ви в Netflix или данните за банковото ви банкиране. Използвайки ZKP, възелът може да докаже, че е изпълнил договора си към мрежата – печелейки съответните крипто награди – без нито веднъж да „надникне“ във вашия личен поток от данни.
Когато навлезете в техническите детайли на DePIN проектите (децентрализирани мрежи за физическа инфраструктура), ще срещнете два основни „вкуса“ на тези доказателства: SNARKs и STARKs. Имената им звучат като герои от поема на Луис Карол, но в практиката те имат съвсем различно приложение.
zk-SNARKs (Succinct Non-Interactive Arguments of Knowledge) са по-старият и по-утвърден вариант. Те са „кратки“ (succinct), което означава, че доказателствата са миниатюрни – понякога само няколкостотин байта. Това е отлично за потребителите на мобилни VPN услуги, тъй като не изразходва мобилните им данни само за верификация на връзката.
Въпреки това, повечето SNARK протоколи (като известния Groth16) изискват „доверена настройка“ (trusted setup). Това е еднократно събитие, при което се генерират произволни числа за стартиране на системата. Ако хората, управляващи тази настройка, са корумпирани, те теоретично биха могли да фалшифицират доказателства. Както беше споменато по-рано в проучването на рамки за доказателства с нулево знание, именно затова много нови проекти търсят алтернативи.
zk-STARKs (Scalable Transparent Arguments of Knowledge) са по-новата и по-мощна версия. Те не се нуждаят от доверена настройка – те са „прозрачни“ (transparent). Освен това имат едно огромно предимство: те са устойчиви на атаки от квантови компютри.
Следната архитектурна диаграма илюстрира компромисите между работните процеси на SNARK и STARK в P2P среда.
В една P2P борса за честотна лента ние се опитваме да изградим децентрализиран интернет доставчик (ISP). В търговията на дребно никога не бихте платили на касиер, който просто ви „обещава“, че е сложил млякото в чантата, без да погледнете вътре. Във финансите не се доверявате просто на електронната таблица на банката, а изисквате одит.
ZKP предоставят именно този одит за данните. Независимо дали става въпрос за доставчик на здравни услуги, изпращащ чувствителни досиета на пациенти през VPN, или търговска верига, синхронизираща инвентара си между хиляди обекти – те трябва да знаят, че данните са пристигнали, без посредникът (възелът) да е видял съдържанието им.
Верификация на честотната лента без следене
И така, вие управлявате възел (node) и споделяте своята честотна лента, за да печелите криптовалута. Чудесно. Но как мрежата всъщност разбира, че изпращате реални данни на потребител, да речем в Берлин, без някой буквално да „подслушва“ пакетите, за да провери?
Това е сериозно техническо предизвикателство. Ако мрежата може да вижда данните, за да ги верифицира, вашата поверителност е компрометирана. Ако пък не вижда нищо, бихте могли просто да „копаете“ токени, като изпращате фиктивни данни към себе си. Тук на помощ идват детайлите на протоколите за доказателство на честотна лента (bandwidth proof protocols).
За да решим този проблем, използваме специфичен дял от математиката, наречен vOLE-базирани доказателства с нулево знание (Vector Oblivious Linear Evaluation). Знам, звучи като нещо от научнофантастичен роман, но всъщност е невероятно елегантно решение за високоскоростен пренос на данни.
За разлика от SNARKs или STARKs, които често използват тежки елиптични криви, vOLE е форма на „интерактивно доказателство чрез оракул“ (Interactive Oracle Proof), която дава приоритет на скоростта на доказване пред размера на самото доказателство. На практика тази технология е създадена за бързина, което я прави идеална за верифициране на масивни потоци от данни в реално време, без да забавя връзката ви.
- Високоскоростна верификация: vOLE-базираните протоколи са изключително ефективни, защото не разчитат на тежки математически изчисления за всяка стъпка. Това ги прави много по-бързи при копаенето на честотна лента в реално време.
- Проверки за съответствие: Мрежата използва тези доказателства, за да гарантира, че възелът действително разполага със скоростта на качване (upload), която декларира. Ако твърдите, че сте „супервъзел“ (Supernode), но математиката не излиза, смарт контрактът просто няма да задейства плащането.
- Бъдете в крак с новостите: Ако се интересувате от техническите детайли, следенето на общности като squirrelvpn — информационен ресурс и общност за децентрализирани VPN технологии — е добър ход, за да видите кои протоколи действително се внедряват в основните мрежи (mainnet).
Диаграмата по-долу показва как vOLE създава сигурно „ръкостискане“ (handshake) между възела и верификатора.
Най-интересната част е как всичко това се свързва с вашия портфейл. В една децентрализирана VPN мрежа (dVPN) искаме наградите да бъдат автоматични. Не трябва да чакате човешки „мениджър“ да одобри приходите ви.
Използваме смарт контракти, които действат като върховен ескроу (доверител). Тези договори са програмирани да бъдат „слепи“, но справедливи. Те съхраняват токените и ги освобождават само при представяне на валидно доказателство с нулево знание (ZKP). Без доказателство — няма плащане. Това е строг, но необходим начин за поддържане на честността в peer-to-peer (P2P) мрежата.
Решаване на проблема с таксите за трансакции (Gas)
Един от основните проблеми в миналото бяха т.нар. „gas такси“ – таксата, която плащате за записване на данни в блокчейна. Ако доказателството е твърде обемно, разходите за такси биха могли да надвишат спечелените награди. Това е „икономиката на проверката в мрежата“ (on-chain verification), която проваля много проекти.
За да решим този проблем, използваме рекурсивни доказателства (Recursive Proofs). Това в основата си е метод за проверка на множество малки доказателства, обединени в едно голямо. Вместо да се изпращат 1000 трансакции към блокчейна за 1000 малки трансфера на данни, системата ги групира в едно единствено доказателство. Така разходите за трансакции се разпределят между хиляди заявки, което свежда таксата до стотинки за потребител.
Решенията от Втори слой (Layer 2) също помагат, като изнасят тежката изчислителна работа извън основната верига. Чрез проверка на доказателствата с нулево знание (zkp) в по-бърза и евтина мрежа и финализиране само на крайния баланс в основния блокчейн, ние поддържаме системата печеливша за собствениците на нодове.
- Автоматизирани плащания: В момента, в който zkp доказателството бъде потвърдено в блокчейна, токените се превеждат в портфейла на нода. Тук няма нужда от „доверие“, всичко се управлява от кода.
- Намаляване на системните разходи: Библиотеки като arkworks помагат за свиването на тези доказателства, така че те да бъдат „кратки“ (succinct) и евтини за проверка.
- Предотвратяване на измами: Тъй като математическият модел е „стабилен“ (sound), статистически е невъзможно даден нод да фалшифицира трансфер от 1GB, без реално да разполага с данните.
Реални приложения на ZKP в DePIN секторите
Чудили ли сте се някога как можете да продадете излишния си домашен интернет на потребител в Токио, без никой от двама ви да бъде измамен? Звучи като сюжет от технологичен трилър, но всъщност това е в основата на DePIN движението (децентрализирани мрежи от физическа инфраструктура).
Концепцията е проста: имате 1Gbps оптична връзка у дома, но я използвате само за Netflix и безкрайно скролване в Reddit. Защо да не продадете излишъка? В модела на децентрализираните VPN мрежи (dVPN), вашият рутер се превръща в мрежов възел (нод).
- Гаранции за качество на услугата (QoS): Използваме доказателства с нулево знание (ZKP), за да потвърдим, че даден възел действително е осигурил обещаната скорост от 100Mbps. Възелът генерира доказателство за извършена работа (proof of work), което блокчейнът верифицира, преди да освободи крипто възнаграждението ви.
- Поверителност за доставчика: Вие не искате да знаете какво прави купувачът с вашата връзка. ZKP позволяват на мрежата да верифицира обема на трафика, без вие някога да виждате некриптираните пакети данни.
Тази блок-схема илюстрира как потребителят заявява честотна лента (bandwidth), а възелът предоставя доказателство, за да получи плащане.
Един интересен подход се наблюдава при начина, по който проектите управляват „Доказателство за свързаност“ (Proof of Connectivity). Те трябва да знаят, че вашият възел е реално онлайн. Вместо да ви пингват всяка секунда, те могат да използват ZKP, за да докажат, че възелът ви е бил активен в рамките на определен времеви прозорец.
Сега нека поговорим за по-сериозните предизвикателства. Ако се намирате в държава със строга интернет цензура (като „Великия китайски firewall“), самият акт на използване на VPN може да бъде червен флаг. Традиционните VPN протоколи имат специфични „сигнатури“, които системите за дълбока проверка на пакети (DPI) могат лесно да разпознаят.
Тук се намесва Достъпът, устойчив на цензура. Чрез използването на ZKP можем да създадем „обфускирани“ (замаскирани) връзки. Целта не е просто да се криптират данните, а да се докаже на мрежата, че връзката е валидна, без изобщо да се разкрива, че тя представлява VPN тунел.
Следната диаграма показва как метаданните се скриват по време на свързване, за да се заобиколи цензурата.
Предизвикателствата и пътят напред
И така, вече изяснихме математическата страна, но дали старият ви рутер реално може да се справи с всичко това, без да се подпали? Това е въпросът за един милион долара, защото никой не иска поверителна интернет връзка, която го кара да се чувства така, сякаш се е върнал в ерата на 56k dial-up модемите.
Реалността е, че генерирането на доказателство с нулево знание (zkp) е „скъпо“ – не задължително в долари, а в CPU цикли. Ако се опитвате да поддържате високоскоростен dVPN възел (node) на евтин домашен рутер, изчисленията започват да натежават.
- Латентност срещу поверителност: Тук съществува класически компромис. Ако искаме 100% абсолютна криптографска сигурност за всеки отделен пакет, вашият пинг (ping) ще скочи до небесата.
- Хардуерно ускорение: Вече наблюдаваме преминаване към използването на графични процесори (GPU) или специализирани чипове за обработка на тези доказателства.
Тази последна диаграма показва бъдещата пътна карта за хардуерно ускорена верификация на zkp.
Честно казано, „пропастта в използваемостта“ е най-голямата бариера, пред която сме изправени. Изследване от 2024 г. на учени от Калифорнийския университет в Сан Диего и Държавния университет на Аризона установи, че макар да съществуват много софтуерни рамки (frameworks), тази празнина все още е най-голямото препятствие пред разработчиците, опитващи се да внедрят тези инструменти в реалния свят. Повечето потребители на dVPN не искат да знаят за елиптични криви; те просто искат своята поверителност.
Гледайки напред, ние се движим към свят, в който „интернет доставчикът“ не е гигантска компания с небостъргач, а глобална мрежа от хора като мен и вас. ZKP е на практика последното парче от пъзела за тази Web3 инфраструктура. Именно това прави системата „trustless“ (неизискваща доверие) – не е нужно да познавате човека, който предоставя вашата честотна лента, защото математиката доказва, че той не ви мами.