Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Gegroet!

Dat zal vast geen groot nieuws voor je zijn "Soevereine Runet" staat voor de deur: de wet is al van kracht 1 november dit jaar.

Helaas is het niet helemaal duidelijk hoe het zal werken (en of het zal werken): precieze instructies voor telecomoperatoren zijn nog niet openbaar beschikbaar. Er zijn ook geen methoden, boetes, plannen, verdeling van verantwoordelijkheden en verantwoordelijkheden - er is gewoon een verklaring.

Een soortgelijke situatie werd waargenomen met betrekking tot de implementatie van de plannen voor de “Yarovaya-wet”: de apparatuur voor de wet werd niet op tijd ontwikkeld en de belangrijkste telecomoperatoren van het land werden gedwongen herhaaldelijk contact op te nemen met potentiële fabrikanten van gespecialiseerde apparatuur met relevante vragen. Zij kregen echter geen reactie op informatie over de apparatuur en ook niet op de monsters zelf.

Maar het belangrijkste is niet hoe snel de wet in werking zal treden en welke veranderingen ons te wachten staan. Het belangrijkste is dat dankzij de introductie van dit wetsvoorstel de gemeenschap van enthousiastelingen is begonnen met de uitrol van een onafhankelijke telecommunicatieomgeving in ons land.

Vandaag zal ik het hebben over wat we al hebben gedaan, wat we in de nabije toekomst gaan doen en met welke moeilijkheden en problemen we te maken kregen tijdens de ontwikkeling van het project.

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Waar gaat de wet over?

Voordat ik verder ga met het technische deel van ons project, moet ik een voorbehoud maken bij wat de wet "On the Sovereign Runet" is.

Kortom: de autoriteiten willen het Russische deel van het internet ‘beveiligen’ voor het geval onze vermeende vijanden het willen afsluiten. Maar “de weg naar de hel is geplaveid met goede bedoelingen” - het is niet helemaal duidelijk tegen wie ze ons gaan beschermen en hoe “vijanden” in principe het functioneren van het Russische deel van het internet kunnen verstoren.

Om dit aanvalsscenario te implementeren moeten alle landen in de wereld samenzweren, alle grensoverschrijdende kabels doorknippen, binnenlandse satellieten neerhalen en constante radio-interferentie creëren.

Klinkt niet erg plausibel.

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Wat is middel?

Medium (Engels Medium - “tussenpersoon”, originele slogan - Vraag niet om uw privacy. Neem het terug; ook in het Engels het woord Medium betekent “tussenproduct”) - een Russische gedecentraliseerde internetprovider die netwerktoegangsdiensten levert Yggdrasil gratis.

Wanneer, waar en waarom is Medium ontstaan?

Aanvankelijk was het project bedoeld als Mesh-netwerk в Stadsdeel Kolomna.

“Medium” werd in april 2019 opgericht als onderdeel van de creatie van een onafhankelijke telecommunicatieomgeving door eindgebruikers toegang te bieden tot Yggdrasil-netwerkbronnen door het gebruik van Wi-Fi draadloze datatransmissietechnologie.

Waar kan ik een volledige lijst van alle netwerkpunten vinden?Je kunt het vinden in opslagplaatsen op GitHub.

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Wat is Yggdrasil en waarom gebruikt Medium het als voornaamste transportmiddel?

Yggdrasil is een zelforganiserende organisatie Mesh-netwerk, die de mogelijkheid heeft om routers zowel in overlay-modus (bovenop het internet) als rechtstreeks met elkaar te verbinden via een bekabelde of draadloze verbinding.

Yggdrasil is een voortzetting van het project CjDNS. Het belangrijkste verschil tussen Yggdrasil en CjDNS is het gebruik van het protocol STP (spanning tree-protocol).

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Standaard gebruiken alle routers op het netwerk dit end-to-end-codering om gegevens tussen andere deelnemers over te dragen.

De keuze voor het Yggdrasil-netwerk als hoofdtransport was te wijten aan de noodzaak om de verbindingssnelheid te verhogen (tot augustus 2019 werd Medium gebruikt I2P).

De transitie naar Yggdrasil bood projectdeelnemers ook de mogelijkheid om een ​​Mesh-netwerk met een Full-Mesh-topologie in te zetten. Een dergelijke netwerkorganisatie is het meest effectieve tegengif tegen censuur.

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Debriefing: welke fouten hebben we al gemaakt?

“Ervaring is de zoon van moeilijke fouten.” Tijdens de ontwikkeling van Medium zijn we erin geslaagd veel problemen op te lossen die zich onderweg voordeden.

Fout #1: Infrastructuur met publieke sleutel

Een van de grootste problemen ten tijde van het netwerkontwerp was de mogelijkheid om dit uit te voeren MITM-aanvallen. Het verkeer tussen de router van de operator en het apparaat van de klant was op geen enkele manier gecodeerd, omdat het hoofdverkeer rechtstreeks op de router van de operator werd gedecodeerd.

Het probleem was dat iedereen achter de router kon zitten - en we wilden echt niet dat die ‘iemand’ kon luisteren naar alles wat de clients ontvingen.

Onze eerste fout was de introductie openbare sleutelinfrastructuur (PKI).

Dankzij het gebruik van niveau 7 OSI-netwerkmodel We hebben aanvallen van het MITM-type verwijderd, maar hebben een nieuw probleem gekregen: de noodzaak om certificaten van rootcertificeringsinstanties te installeren. En certificeringscentra zijn een ander onnodig probleem. Het sleutelwoord hier is ‘vertrouwen’.

Je moet weer iemand vertrouwen! Wat als de certificeringsinstantie in gevaar komt? Zoals kameraad Murphy ons vertelt, zal de certificeringsautoriteit vroeg of laat daadwerkelijk in gevaar komen. En dit is de bittere waarheid.

We hebben er lang over nagedacht om dit probleem op te lossen en kwamen uiteindelijk tot de conclusie dat het niet nodig is om PKI te gebruiken - het is voldoende om Yggdrasil-native codering.

Na het maken van de nodige aanpassingen kreeg de topologie van het “Medium”-netwerk de volgende vorm:

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil

Fout #2: gecentraliseerde DNS

We hadden vanaf het allereerste begin een domeinnaamsysteem nodig, omdat omslachtige IPv6-adressen er niet alleen niet goed uitzagen, maar ook lastig waren om ze in hyperlinks te gebruiken, en het ontbreken van een semantische component een groot ongemak was.

We hebben verschillende root-DNS-servers gemaakt die een kopie van de lijst hebben opgeslagen AAAA-records, gelegen in opslagplaatsen op GitHub.

Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil
Het vertrouwensprobleem is echter niet verdwenen: de operator kan het IPv6-adres op de DNS-server in een oogwenk vervangen. Als je een bepaalde behendigheid hebt, is het voor anderen zelfs bijna onmerkbaar.

Omdat we geen gebruik maken van HTTPS en vooral geen technologie HSTSBij het spoofen van het adres in de DNS was het zonder problemen mogelijk een aanval uit te voeren door het IPv6-adres van de eindserver te spoofen.

De oplossing liet niet lang op zich wachten: we besloten gebruik te maken van technologie EmerDNS — gedecentraliseerde DNS.

In zekere zin lijkt EmerDNS op een hosts-bestand, waarin vermeldingen staan ​​voor alle bekende sites. Maar in tegenstelling tot hosts:

  • Elke regel in EmerDNS kan alleen door de eigenaar worden gewijzigd, en door niemand anders
  • De onmogelijkheid van ‘tussenkomst van God (superbestuurder)’ wordt verzekerd door consensus van de mijnwerkers
  • Dit bestand is voor iedereen hetzelfde, wat wordt gewaarborgd door het blockchain-replicatiemechanisme
  • Bij het bestand is een snelle zoekmachine inbegrepen.

Bron: "EmerDNS - een alternatief voor DNSSEC"

Fout #3: Alles centraliseren

Aanvankelijk betekende het woord ‘internet’ niets anders dan onderling verbonden netwerken of netwerk van netwerken.

In de loop van de tijd associeerden mensen het internet niet meer met iets academisch, maar werd het een alledaagser concept, omdat de invloed ervan zich wijd verspreidde in de levens van gewone mensen.

Dat wil zeggen dat het internet aanvankelijk gedecentraliseerd was. Tegenwoordig kan het nauwelijks decentralisatie worden genoemd, ondanks het feit dat het concept tot op de dag van vandaag bewaard is gebleven - alleen de grootste verkeersknooppunten worden gecontroleerd door grote bedrijven. En grote bedrijven worden op hun beurt gecontroleerd door de staat.

Maar laten we terugkeren naar ons probleem: de trend naar centralisatie wordt gezet door de exploitanten van individuele diensten zoals sociale netwerken, e-mailservers, instant messengers, enzovoort.

'Medium' verschilde in dit opzicht vrijwel niet van het grote internet tot nu toe - de meeste diensten waren gecentraliseerd en gecontroleerd door individuele operators.

Nu hebben we besloten een koers uit te zetten naar volledige decentralisatie – zodat vitale diensten kunnen blijven functioneren, ongeacht of er een storing is op de centrale server van de operator of niet.

Als instant messaging-systeem gebruiken we Matrix. Als sociale netwerken - Mastodont и hubzilla. Voor videohosting - PeerTube.

Natuurlijk zijn de meeste diensten nog steeds gecentraliseerd en worden ze nog steeds gecontroleerd door individuele exploitanten, maar het belangrijkste is dat er een beweging in de richting van volledige decentralisatie gaande is, die door alle leden van de gemeenschap wordt gevoeld.

Gratis internet in Rusland begint bij jou

U kunt vandaag alle mogelijke hulp bieden bij het tot stand brengen van een gratis internet in Rusland. We hebben een uitgebreide lijst samengesteld van hoe u het netwerk precies kunt helpen:

    Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil   Vertel uw vrienden en collega's over het Medium-netwerk
    Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil   оделитесь door verwijzing naar dit artikel op sociale netwerken of persoonlijke blog
    Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil   Neem deel aan de discussie over technische problemen op het Medium-netwerk op GitHub
    Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil   Creëer uw webservice online Yggdrasil
    Wat moeten we Mesh bouwen: hoe de gedecentraliseerde internetprovider “Medium” een nieuw internet maakt op basis van Yggdrasil   Verhoog de jouwe toegangspunt naar het Medium-netwerk

Zie ook:

ik heb niets te verbergen
Alles wat u wilde weten over de decentrale internetprovider Medium, maar niet durfde te vragen
Schat, we vermoorden het internet

Vragen hebben? Neem deel aan de discussie op Telegram: @medium_algemeen.

Een klein cadeautje voor wie tot het einde leest

Alleen geregistreerde gebruikers kunnen deelnemen aan het onderzoek. Inloggen, Alsjeblieft.

Alternatief stemmen: het is belangrijk voor ons om de mening te kennen van degenen die geen volledig account op Habré hebben

68 gebruikers hebben gestemd. 16 gebruikers onthielden zich van stemming.

Bron: www.habr.com

Voeg een reactie