Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Pozdrav!

To za vas sigurno neće biti velika vijest "Suvereni Runet" je odmah iza ugla - zakon je već stupio na snagu 1 novembar ove godine.

Nažalost, kako će (i hoće li?) funkcionirati nije sasvim jasno: precizna uputstva za telekom operatere još nisu javno dostupna. Također nema metoda, kazni, planova, raspodjele odgovornosti i odgovornosti – postoji jednostavno deklaracija.

Slična situacija je uočena iu implementaciji planova za „Zakon Yarovaya“ - oprema za zakon nije razvijena na vrijeme i vodeći telekom operateri u zemlji bili su primorani da se više puta obraćaju potencijalnim proizvođačima specijalizirane opreme s relevantnim pitanjima. Međutim, nisu dobili odgovor ni o informacijama o opremi niti o samim uzorcima.

Ali nije najvažnije koliko brzo će zakon stupiti na snagu i kakve nas promjene čekaju. Najvažnije je da je zahvaljujući uvođenju ovog zakona zajednica entuzijasta započela razvoj nezavisnog telekomunikacionog okruženja u našoj zemlji.

Danas ću govoriti o tome šta smo već uradili, šta ćemo uraditi u bliskoj budućnosti i sa kakvim smo poteškoćama i problemima morali da se suočimo na putu razvoja projekta.

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

O čemu je zakon?

Pre nego što pređem na tehnički deo našeg projekta, moram da rezervišem šta je zakon „O suverenom Runetu“.

Ukratko: vlasti žele da „osiguraju“ ruski segment interneta u slučaju da naši navodni neprijatelji žele da ga ugase. Ali "put u pakao je popločan dobrim namjerama" - nije sasvim jasno od koga će nas zaštititi i kako "neprijatelji", u principu, mogu poremetiti rad ruskog segmenta interneta.

Za implementaciju ovog scenarija napada sve zemlje u svijetu moraju se zavjeriti, prekinuti sve prekogranične kablove, oboriti domaće satelite i stvoriti stalne radio smetnje.

Ne zvuči baš uvjerljivo.

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Šta je medij?

srednji (Eng. srednji - "posrednik", originalni slogan - Ne tražite svoju privatnost. Uzeti natrag; takođe na engleskom reč srednji znači „srednji“) - ruski decentralizovani internet provajder koji pruža usluge pristupa mreži Yggdrasil besplatno.

Kada, gdje i zašto je Medium nastao?

U početku je projekat zamišljen kao Mesh mreža в Gradski okrug Kolomna.

“Medium” je formiran u aprilu 2019. godine kao dio stvaranja nezavisnog telekomunikacijskog okruženja pružajući krajnjim korisnicima pristup Yggdrasil mrežnim resursima korištenjem Wi-Fi tehnologije bežičnog prijenosa podataka.

Gdje mogu pronaći potpunu listu svih mrežnih tačaka?Možete ga pronaći u spremišta na GitHub-u.

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Šta je Yggdrasil i zašto ga Medium koristi kao glavni transport?

Yggdrasil je samoorganizovanje Mesh mreža, koji ima mogućnost povezivanja rutera i u načinu preklapanja (na vrhu interneta) i direktno jedan na drugi putem žičane ili bežične veze.

Yggdrasil je nastavak projekta CjDNS. Glavna razlika između Yggdrasila i CjDNS-a je upotreba protokola STP (protokol razapinjućeg stabla).

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Podrazumevano, svi ruteri na mreži koriste end-to-end enkripcija za prijenos podataka između ostalih učesnika.

Izbor mreže Yggdrasil kao glavnog transporta bio je zbog potrebe za povećanjem brzine veze (do avgusta 2019. koristio se Medium I2P).

Prelazak na Yggdrasil je također pružio učesnicima projekta priliku da počnu s postavljanjem Mesh mreže sa Full-Mesh topologijom. Ovakva mrežna organizacija je najefikasniji protivotrov protiv cenzure.

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Debrifing: koje smo greške već napravili?

“Iskustvo je sin teških grešaka.” Tokom razvoja Mediuma uspjeli smo riješiti mnoge probleme koji su se pojavili na tom putu.

Greška #1: Infrastruktura javnog ključa

Jedan od glavnih problema u vrijeme projektovanja mreže bila je mogućnost izvođenja MITM napadi. Promet između rutera operatera i uređaja klijenta nije bio šifriran ni na koji način, jer je glavni promet dešifrovan direktno na ruteru operatera.

Problem je bio u tome što je iza rutera mogao da stoji bilo ko - a mi zaista nismo želeli da taj "neko" može da sluša sve što su klijenti primali.

Naša prva greška je bila uvođenje infrastrukture javnih ključeva (PKI).

Zahvaljujući upotrebi nivoa 7 OSI mrežni model Riješili smo se napada tipa MITM, ali smo dobili novi problem - potrebu za instaliranjem certifikata od root certifikacijskih tijela. A certifikacijski centri su još jedan nepotreban problem. Ključna riječ ovdje je "povjerenje".

Opet treba nekome vjerovati! Šta ako se certifikacijski organ kompromituje? Kao što nam kaže drug Murphy, prije ili kasnije će certifikacijski organ biti kompromitovan. I ovo je gorka istina.

Dugo smo razmišljali o rješavanju ovog problema i na kraju došli do zaključka da nema potrebe koristiti PKI - dovoljno je koristiti Yggdrasil izvorna enkripcija.

Nakon odgovarajućih podešavanja, topologija mreže “Medium” je dobila sljedeći oblik:

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu

Greška #2: Centralizovani DNS

Sistem imena domena nam je bio potreban od samog početka, jer glomazne IPv6 adrese ne samo da nisu izgledale dobro - bilo ih je nezgodno koristiti u hiperlinkovima, a nedostatak semantičke komponente predstavljao je veliku neugodnost.

Napravili smo nekoliko root DNS servera koji su pohranili kopiju liste AAAA zapisi, nalazi se u spremišta na GitHub-u.

Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu
Međutim, problem povjerenja nije nestao - operater bi mogao zamijeniti IPv6 adresu na DNS serveru u tren oka. Ako imate određenu vještinu, ona je čak i gotovo neprimjetna za druge.

Pošto ne koristimo HTTPS i, posebno, tehnologiju HSTS, prilikom lažiranja adrese u DNS-u, bilo je moguće izvesti napad lažiranjem IPv6 adrese krajnjeg servera bez ikakvih problema.

Rješenje nije dugo čekalo: odlučili smo pribjeći korištenju tehnologije EmerDNS — decentralizovani DNS.

U određenom smislu, EmerDNS je sličan host fajlu, gde postoje unosi za sve poznate lokacije. Ali za razliku od domaćina:

  • Svaku liniju u EmerDNS-u može mijenjati samo njen vlasnik i niko drugi
  • Nemogućnost “bog (super-administratora) intervencije” je osigurana konsenzusom rudara
  • Ova datoteka je ista za sve, što je osigurano mehanizmom blockchain replikacije
  • Uz fajl je uključen i brzi pretraživač.

izvor: "EmerDNS - alternativa DNSSEC-u"

Greška #3: Centralizacija svega

U početku, riječ "Internet" nije značila ništa više od međusobno povezane mreže ili mreža mreža.

Vremenom su ljudi prestali da povezuju internet sa nečim akademskim i postali su svakodnevniji koncept, jer se njegov uticaj proširio na živote običnih ljudi.

Odnosno, u početku je internet bio decentralizovan. Danas se to teško može nazvati decentralizacijom, uprkos činjenici da je koncept opstao do danas - samo najveće čvorove za razmjenu prometa kontroliraju velike kompanije. A velike kompanije, zauzvrat, kontroliše država.

No, vratimo se našem problemu – trend centralizacije postavljaju operateri pojedinačnih servisa kao što su društvene mreže, email serveri, instant messengeri i tako dalje.

“Srednji” se u tom pogledu praktično nije razlikovao od velikog Interneta do sada – većina usluga je bila centralizirana i kontrolirana od strane pojedinačnih operatera.

Sada smo odlučili da postavimo kurs za potpunu decentralizaciju – kako bi vitalni servisi mogli da nastave da rade bez obzira da li je došlo do kvara na centralnom serveru operatera ili ne.

Kao sistem za razmenu trenutnih poruka koristimo matrica. Kao društvene mreže - Mastodon и hubzilla. Za video hosting - PeerTube.

Naravno, većina usluga je još uvijek centralizirana i još uvijek kontrolirana od strane pojedinačnih operatera, ali glavno je da postoji pomak ka potpunoj decentralizaciji i to osjećaju svi članovi zajednice.

Besplatan internet u Rusiji počinje s vama

Danas možete pružiti svu moguću pomoć za uspostavljanje besplatnog interneta u Rusiji. Sastavili smo sveobuhvatnu listu kako tačno možete pomoći mreži:

    Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu   Recite svojim prijateljima i kolegama o mreži Medium
    Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu   Dijeli referenca na ovaj članak na društvenim mrežama ili ličnom blogu
    Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu   Učestvujte u raspravi o tehničkim pitanjima na mreži Medium na GitHubu
    Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu   Kreirajte svoju web uslugu na mreži Yggdrasil
    Šta da izgradimo Mesh: kako decentralizovani internet provajder “Medium” pravi novi internet zasnovan na Yggdrasilu   Podigni svoje pristupna tačka na srednju mrežu

Pročitajte takođe:

Nemam šta da krijem
Sve što ste želeli da znate o decentralizovanom Internet provajderu "Medium", ali ste se bojali pitati
Draga, ubijamo internet

Imate pitanja? Pridružite se diskusiji na Telegramu: @medium_general.

Mali poklon za one koji čitaju do kraja

Samo registrovani korisnici mogu učestvovati u anketi. Prijavite semolim.

Alternativno glasanje: važno nam je da znamo mišljenje onih koji nemaju pun nalog na Habréu

Glasalo je 68 korisnika. Uzdržano je bilo 16 korisnika.

izvor: www.habr.com

Dodajte komentar