Decentralized Tunneling Protokoli i P2P Onion Routing
TL;DR
Prijelaz s centraliziranog na decentralizirano tuneliranje
Jeste li ikada osjetili onu nelagodu kada shvatite da je vaš "privatni" VPN pružatelj usluga zapravo samo glorificirani posrednik koji sjedi na brdu vaših zapisa (logova) u čistom tekstu? Ironično je da smo njuškanje ISP-a zamijenili jednom jedinom korporativnom točkom zagušenja, ali upravo je to razlog zašto prijelaz prema decentraliziranom tuneliranju napokon ulazi u širu primjenu.
Tradicionalna VPN arhitektura relikt je klijent-poslužitelj mentaliteta iz ranih 2000-ih. Povezujete se na "sigurni" pristupnik, ali taj je pristupnik zapravo ogroman neonski natpis za hakere i državne aktere. Ako taj jedan poslužitelj padne ili bude zaplijenjen, vaš cijeli štit privatnosti trenutno nestaje.
- Centralizirani "Honey Pots": Kada milijuni korisnika usmjeravaju promet kroz šačicu podatkovnih centara u vlasništvu jedne tvrtke, stvara se "jedinstvena točka kvara" (single point of failure) koja je previše primamljiva da bi je protivnici ignorirali.
- Paradoks povjerenja: Vi se zapravo oslanjate na "časnu riječ" nekog direktora u poreznoj oazi da ne vodi zapise, ali bez revizije njihovog pozadinskog sustava putem otvorenog koda, zapravo letite naslijepo.
- Uskrsna grla skaliranja: Jeste li ikada primijetili da vam brzina drastično padne petkom navečer? To je zato što centralizirani čvorovi ne mogu podnijeti promjenjivu prirodu modernog 4K streaminga i teških razvojnih radnih opterećenja.
Krećemo se prema "Map & Encap" logici gdje se mreža ne oslanja na središnji mozak. Umjesto jednog pružatelja usluga, koristimo dVPN (decentralizirani VPN) čvorove gdje svatko može dijeliti propusnost. Ova arhitektura — točnije nešto poput APT-a (Praktična arhitektura tuneliranja) — omogućuje internetu da se skalira odvajanjem "rubnih" (edge) adresa od "tranzitne jezgre."
U APT okviru koristimo Ulazne tunelske usmjerivače (ITR) i Izlazne tunelske usmjerivače (ETR). Zamislite ITR kao "ulazna vrata" koja uzimaju vaše uobičajene podatke i umataju ih u posebno zaglavlje tunela (enkapsulacija). ETR su "izlazna vrata" koja ih odmotavaju na odredištu. Zadani maperi (DM) djeluju kao imenik, govoreći ITR-u točno kojem ETR-u treba poslati paket kako jezgreni usmjerivači ne bi morali pamtiti svaki pojedini uređaj na planetu.
Razmislite o maloprodajnom lancu koji pokušava osigurati podatke s prodajnih mjesta na 500 lokacija bez ogromnih troškova za MPLS. Umjesto središnjeg čvorišta, koriste VPN uslugu temeljenu na čvorovima gdje svaka trgovina djeluje kao mali skok u "mesh" mreži. Ako internet u jednoj trgovini nakratko nestane, P2P mreža automatski preusmjerava tunel kroz susjedni čvor.
Za programere to znači rad s alatima poput WireGuard sučelja koja nisu vezana uz statički IP. Konfiguracija na Linux ojačanom čvoru mogla bi izgledati otprilike ovako:
[Interface]
PrivateKey = <KLJUČ_VAŠEG_ČVORA>
Address = 10.0.0.5/32
ListenPort = 51820
[Peer]
PublicKey = <KLJUČ_UDALJENOG_DVPN_ČVORA>
AllowedIPs = 0.0.0.0/0
Endpoint = 192.168.1.100:51820
PersistentKeepalive = 25
Ovakva je postavka daleko otpornija jer je "mapiranje" odredišta paketa distribuirano kroz cijelu mrežu, a ne skriveno u bazi podataka u nekom korporativnom sjedištu. Iskreno, krajnje je vrijeme da prestanemo tražiti dopuštenje za vlastitu privatnost.
Slijedi: Dubinska analiza P2P onion routing arhitekture, gdje ćemo istražiti kako ovi paketi zapravo preživljavaju skokove kroz mrežu.
Dubinska analiza arhitekture P2P onion usmjeravanja
Jeste li se ikada zapitali kako paket podataka zapravo preživljava skakanje kroz tri različita VPN tunela i dvije konverzije protokola, a da pritom ne izgubi integritet ili metapodatke? To je zapravo digitalni "Inception", a ako arhitekturu ne postavimo ispravno, cijeli se sustav urušava u kaos izgubljenih paketa i ogromne latencije.
U P2P onion (slojevitom) usmjeravanju ne prebacujemo samo "vrući krumpir". Svaki čvor odlučuje kako će "omotati" podatke. Kada ovdje govorimo o onion slojevima, suočavamo se s dva glavna postupka:
- Enkapsulacija: Uzimanje cijelog IPv4 paketa i njegovo umetanje u IPv6 zaglavlje (ili obrnuto). Izvorno zaglavlje postaje "podatak" za vanjski sloj.
- Konverzija: Stvarno prepisivanje zaglavlja, slično onome što se događa kod NAT-PT protokola. Ovaj je postupak "destruktivniji", ali ponekad neophodan za zastarjeli hardver.
U Web3 VPN-u, vaš ulazni čvor može enkapsulirati promet u WireGuard, dok relejni čvor dodaje još jedan sloj enkripcije prije nego što podaci stignu do izlaznog čvora. To ovakav sustav čini znatno težim za blokiranje od tradicionalne Tor mreže jer se "mapiranje" ne nalazi na javnom popisu releja, već se dinamički otkriva kroz mesh mrežu.
Tradicionalno usmjeravanje koristi metodu "vektora udaljenosti" (koliko ima skokova do cilja?). No, u P2P onion mreži to nije dovoljno. Morate poznavati stanje paketa. Ako imam IPv4 paket, ne mogu ga jednostavno poslati na relej koji podržava isključivo IPv6.
Kao što je obrađeno u studiji Lamali i sur. (2019.), umjesto toga koristimo vektor stoga (stack-vector). On zamjenjuje jednostavnu "udaljenost" s "protokolarnim stogom". Čvoru poručuje: "Da bi ovaj paket stigao do odredišta, potreban ti je ovaj specifičan redoslijed enkapsulacija." Studija je dokazala da čak i ako je najkraći put eksponencijalno dug, maksimalna potrebna visina protokolarnog stoga zapravo je polinomna – točnije najviše λn², gdje je n broj čvorova.
Ovo je od presudne važnosti za developere. To znači da nam ne treba konfiguracijska datoteka od 5.000 linija koda za upravljanje ugniježđenim tunelima. Čvorovi sami "uče" stog. Primjerice, pružatelj zdravstvenih usluga koji pokušava povezati zastarjelu IPv4 opremu udaljene klinike s modernim IPv6 podatkovnim centrom može prepustiti P2P čvorovima da automatski ispregovaraju krajnje točke tunela.
Ako radite na očvršćivanju (hardening) čvora, vjerojatno ćete analizirati kako ti stogovi izgledaju u vašim sučeljima. Evo grubog prikaza kako bi čvor mogao obraditi "pogodak u predmemoriji" (cache hit) za određeni stog:
# Izlaz ove naredbe prikazuje točan redoslijed enkapsulacije
# (npr. IPv4 omotan u WireGuard koji je omotan u IPv6) kako biste mogli debugirati putanju.
dvpn-cli route-lookup --dest 10.0.0.5 --current-stack "ipv4.wireguard.ipv6"
ip link add dev dvpn0 type wireguard
wg setconf dvpn0 /etc/wireguard/stack_config.conf
Ljepota ovog sustava je u tome što mesh mreža sama rješava kvarove. Ako relejni čvor prestane raditi, logika vektora stoga pronalazi "najkraći izvedivi put" koristeći drugačiji set enkapsulacija. Sustav je samoiscjeljujući. Iskreno, jednom kada to vidite na djelu, povratak na statične VPN tunele čini se kao korištenje telefona s brojčanikom u 5G svijetu.
Sljedeće na redu: Sigurnosni izazovi u decentraliziranom pristupu internetu, jer je povjerenje nasumičnim čvorovima potpuno drugačija razina izazova.
Sigurnosni izazovi u decentraliziranom pristupu internetu
Ako mislite da prelazak na P2P mrežu čarobno rješava sve vaše sigurnosne probleme, imam loše vijesti – zapravo mijenjate jednu korporativnu "crnu kutiju" za digitalni divlji zapad. Prelazak s centraliziranog VPN-a na decentralizirani (dVPN) izvrstan je za privatnost, ali uvodi potpuno novi niz poteškoća.
Kako vjerovati prvom čvoru kada se pridružite mreži? Budući da ne postoji središnji popis, većina dVPN-ova koristi matične čvorove (Seed Nodes) ili DHT (distribuirana hash tablica) samopokretanje (Bootstrapping). Vaš se klijent povezuje s nekoliko unaprijed definiranih, poznatih "matičnih" adresa samo kako bi dobio popis ostalih aktivnih sudionika (peera), a odatle samostalno istražuje isprepletenu mrežu (mesh).
Jednom kada ste unutra, koristimo model mreže povjerenja (web of trust) u kojem čvorovi verificiraju svoje susjede.
- Provjera od susjeda do susjeda: Prije nego što se čvoru dopusti emitiranje informacija o mapiranju, njegovi sudionici potvrđuju njegov identitet putem uspostavljenih veza.
- Preplavljivanje potpisima (Signature Flooding): Kada ključ potpiše dovoljno pouzdanih susjeda, on se šalje kroz cijelu mrežu.
- Detekcija malicioznih čvorova: Ako čvor počne tvrditi da može usmjeravati promet za raspon IP adresa koji zapravo ne posjeduje, stvarni vlasnik će uočiti tu kontradiktornu poruku i pokrenuti alarm.
Najveća zamka kod P2P dijeljenja propusnosti je nestalnost čvorova (churn). Za razliku od poslužitelja u podatkovnom centru s dostupnošću od 99,99%, kućni dVPN čvor može nestati jer se nečija mačka spotaknula o kabel za napajanje. Kako bismo to riješili, koristimo sustav obavijesti o kvaru temeljen na podacima. Umjesto da cijela mreža pokušava održati "savršenu" mapu, kvar se rješava lokalno u trenutku kada paket zapravo ne uspije biti isporučen.
Zadani maper (Default Mapper - DM) obavlja teži dio posla odabirom nove putanje i davanjem uputa ITR-u da ažurira svoju lokalnu priručnu memoriju (cache). To se oslanja na ranije spomenutu λn² učinkovitost kako bi preusmjeravanje ostalo brzo.
Sljedeće na redu: Praćenje revolucije privatnosti, gdje ćemo analizirati tehničko održavanje ovih čvorova.
Pratite revoluciju privatnosti u stopu
Nevjerojatno je kojom se brzinom mijenja krajolik digitalne privatnosti, zar ne? Biti u tijeku ne znači samo čitati blogove; radi se o razumijevanju načina na koji novi protokoli zapravo upravljaju vašim podatkovnim paketima.
U dVPN (decentralizirani VPN) svijetu previše je praznih obećanja o brzoj zaradi, ali prava vrijednost leži u tehničkim specifikacijama. Primjerice, kako mreža rješava zaštitu od curenja IPv6 adresa? Kod tradicionalnih VPN-ova, IPv6 promet često potpuno zaobilazi tunel, čime se otkriva vaša stvarna IP adresa. U dVPN kontekstu često koristimo NAT64 ili 464XLAT. To prisiljava IPv6 promet na prevođenje u IPv4 (ili obrnuto) na razini čvora, osiguravajući da on ostane unutar kriptirane putanje ("stack-vector"), umjesto da "iscuri" kroz lokalni mrežni prolaz.
- Pratite "commitove": Nemojte samo vjerovati web stranici; provjerite GitHub. Ako projekt nije ažurirao svoju WireGuard implementaciju ili logiku otkrivanja čvorova (node-discovery) zadnjih šest mjeseci, vjerojatno je riječ o "zombi" projektu.
- Izvještaji o reviziji: Ozbiljni alati za privatnost plaćaju neovisne sigurnosne revizije trećim stranama.
- Forumi zajednice: Specijalizirani Discord kanali za programere su mjesta gdje se odvija prava tehnička rasprava.
Ako ste ozbiljni u ovome, vjerojatno se već igrate s prilagođenim konfiguracijama. Evo brzog načina da provjerite poštuje li vaš trenutni tunel doista decentraliziranu putanju:
ip route show dev dvpn0
traceroute -n -i dvpn0 1.1.1.1
Vidio sam mnoštvo sustava gdje korisnici misle da su "skriveni", dok običan pogrešno konfiguriran API poziv otkriva njihovu pravu IP adresu. To je neprestana igra mačke i miša.
Sljedeće na redu: Tržište propusnosti i DePIN nagrade, jer netko ipak mora platiti račun za struju.
Tržište propusnosti i DePIN nagrade
Dosad smo objasnili kako se paketi kreću kroz mrežu, ali budimo realni – nitko neće dugoročno održavati brzi izlazni čvor (exit node) samo iz čiste dobre volje. Tu na scenu stupa koncept "Airbnb-a za internetsku propusnost", ili ono što stručnjaci nazivaju DePIN (Decentralizirane mreže fizičke infrastrukture).
- Rudarenje propusnosti (Bandwidth Mining): Zarađujete kripto nagrade samim time što držite čvor aktivnim i usmjeravate promet.
- Tokenizirani resursi: Korištenje izvornog mrežnog tokena omogućuje mikroplaćanja za svaki preneseni megabajt.
- Usklađivanje poticaja: Nagrade se dodjeljuju s obzirom na vrijeme neprekidnog rada (uptime) i "kvalitetu usluge" (QoS).
Glavna tehnička prepreka je sljedeća: kako možemo biti sigurni da čvor ne laže o količini prometa koju je obradio? Za to koristimo protokole Dokaza o propusnosti (Proof of Bandwidth). To uključuje "čvor izazivač" (challenger node) koji šalje kriptirane nasumične podatke "čvoru dokazivaču" (prover node) i mjeri odziv. Ako se brojke ne podudaraju, pametni ugovor ne oslobađa isplatu.
Ako sustav nagrađivanja nije ispravno kodiran, čvorovi bi mogli davati prioritet isključivo prometu koji donosi najveću zaradu. Kako bi se to spriječilo, mnoge mreže koriste "staking" (ulaganje tokena). Morate uložiti tokene kao kolateral; ako pružate lošu uslugu, gubite svoj uloženi udio.
Slijedi: Praktična implementacija i budućnost Web3 slobode interneta, gdje ćemo sve ove elemente povezati u cjelinu.
Praktična implementacija i budućnost Web3 slobode interneta
Budućnost Web3 slobode interneta neće se dogoditi preko noći jednim velikim "pritiskom na prekidač". To će biti postupan, dinamičan proces u kojem će decentralizirani protokoli koegzistirati s našim trenutnim optičkim linijama.
Ne moramo ponovno izumiti cijeli internet. Ljepota ove arhitektonske promjene leži u tome što je dizajnirana za "unilateralnu implementaciju". Pojedinačni pružatelj usluga može početi nuditi ove usluge već danas. Koristimo Zadane mapere (DM - Default Mappers) kako bismo premostili te "otoke" P2P mreža.
- Suživot s naslijeđenom opremom (Legacy Gear): Vaš kućni usmjerivač (router) uopće ne mora znati da komunicira s P2P mrežom. Lokalni pristupnik (gateway) upravlja logikom mapiranja i enkapsulacije ("Map & Encap").
- Premošćivanje praznina: Kada paket treba otići na "običnu" web stranicu, izlazni čvor (ETR - Egress Tunnel Router) obavlja dekapsulaciju.
- Apstrakcija prilagođena korisniku: Za netehničke korisnike ovo izgleda kao jednostavna aplikacija, iako ona u pozadini upravlja složenim usmjeravanjem putem vektora stoga (stack-vector routing).
Iz perspektive razvojnih programera, cilj je učiniti ove tunele "automatskima". Evo brzog pregleda kako bi čvor mogao provjeriti mapiranje za određeni "otok":
dvpn-cli map-query --dest 192.168.50.1
[DEBUG] Cache miss. Querying DM anycast...
[INFO] Received MapRec: Destination reachable via ETR 203.0.113.5
Konačni cilj je mreža koju je praktički nemoguće isključiti. Kada kombinirate blockchain VPN s P2P onion usmjeravanjem, stvarate sustav koji nema gumb za gašenje. Kao što smo ranije spomenuli, složenost λn² omogućuje nam duboku, višeslojnu privatnost bez rizika od kolapsa mreže.
Budućnost dijeljenja propusnosti (bandwidth sharing) nije samo u uštedi nekoliko eura; radi se o globalnoj povezanosti koja zaobilazi digitalne zidove. Trenutno je situacija još uvijek malo kaotična, a naredbe u terminalu mogu biti naporne, ali temelji su postavljeni. Internet je oduvijek trebao biti decentraliziran — mi napokon gradimo arhitekturu koja će osigurati da takav i ostane. U svakom slučaju, vrijeme je da prestanemo teoretizirati i počnemo podizati čvorove. Čuvajte se tamo vani.