Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Вітаю!

Напевно, для вас не буде великою новиною те, що «Суверений Рунет» не за горами — закон набирає чинності вже 1 листопада цього року.

На жаль, як він (і чи буде?) працювати — не зовсім зрозуміло: точних інструкцій для операторів зв'язку поки що у відкритому доступі немає. Також немає і методів, штрафів, планів, розподілу та відповідальних обов'язків — є просто декларування.

Схожа ситуація спостерігалася і щодо реалізації планів «закону Ярової» — обладнання для закону не встигли розробити вчасно, і провідні оператори зв'язку країни були змушені неодноразово звертатися до потенційних виробників спеціалізованого обладнання з відповідними питаннями. Однак і ті не отримали відповіді ні про відомості про обладнання, ні про зразки.

Але головне — не те, як скоро набуде чинності закон і які на нас чекають зміни. Головне — це те, що завдяки запровадженню цього законопроекту співтовариство ентузіастів розпочало розгортання незалежного телекомунікаційного середовища в нашій країні.

Сьогодні я розповім про те, що ми вже встигли зробити, що збираємося зробити у найближчому майбутньому і з якими труднощами та проблемами нам довелося зіткнутися на шляху розвитку проекту.

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Про що закон?

Перш ніж приступити до технічної частини нашого проекту, мені необхідно обмовитися про те, що ж являє собою закон «Про суверенний Рунет».

Коротко: влада хоче «убезпечити» російський сегмент Інтернету на випадок, якщо умовні вороги захочуть нам його відключити. Але «добрими намірами вимощена дорога в пекло» — не зовсім зрозуміло, від кого нас збираються захищати і яким чином «вороги» можуть порушити роботу російського сегменту Інтернету.

Для реалізації цього сценарію атаки повинні змовитися усі країни світу, перерізати усі транскордонні кабелі, збити вітчизняні супутники та створити постійні радіоперешкоди.

Звучить не дуже правдоподібно.

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Що таке "Medium"?

Medium (Англ. Medium - «Посередник», оригінальний слоган - Не вистачає для своєї привілеї. Take it back; також в англійській мові середа означає «проміжний») — російський децентралізований інтернет-провайдер, який надає послуги доступу до мережі Иггдрасиль на безкорисливій основі.

Коли, де і навіщо було створено «Medium»?

Спочатку проект замислювався як Mesh-мережа в Коломенському міському окрузі.

«Medium» утворено у квітні 2019 року в рамках створення незалежного телекомунікаційного середовища шляхом надання кінцевим користувачам доступу до ресурсів мережі Yggdrasil за допомогою технології бездротової передачі даних Wi-Fi.

Де я можу знайти повний список усіх точок мережі?Ви можете знайти його в репозиторії на GitHub.

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Що таке Yggdrasil і чому "Medium" використовує його як основний транспорт?

Иггдрасиль - це самоорганізована Mesh-мережа, що має можливість підключення роутерів як в режимі оверлея (поверх Інтернету), так і безпосередньо один до одного через дротове або бездротове з'єднання.

Yggdrasil є продовженням проекту CjDNS. Головною відмінністю Yggdrasil від CjDNS є використання протоколу STP (Spanning tree protocol).

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

За промовчанням всі роутери мережі використовують наскрізне шифрування передачі даних між іншими учасниками.

Вибір мережі Yggdrasil як основного транспорту був зумовлений потребою у збільшенні швидкості з'єднання (до серпня 2019 року «Medium» використав I2P).

Перехід на Yggdrasil також надав учасникам проекту можливість розпочати розгортання Mesh-мережі з топологією Full-Mesh. Така організація мережі — найдієвіший антидот проти цензури.

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Розбір польотів: які граблі ми вже встигли наступити

«Досвід – син помилок важких». За час розробки «Medium» ми встигли вирішити багато проблем, що виникали на нашому шляху.

Помилка №1: інфраструктура відкритих ключів

Однією з головних проблем на момент проектування мережі була можливість проведення MITM-атаки. Трафік між роутером оператора та пристроєм клієнта жодним чином не шифрувався, оскільки розшифровка основного трафіку здійснювалася безпосередньо на роутері оператора.

Проблема полягала в тому, що за роутером міг бути будь-хто — і нам дуже не хотілося, щоб цей «хтось» міг слухати все, що отримують клієнти.

Першою нашою помилкою було введення в дію інфраструктури відкритих ключів (ІПК).

Завдяки використанню 7 рівня мережевої моделі OSI ми позбулися атак типу MITM, але обзавелися новою проблемою — необхідністю встановлення сертифікатів кореневих центрів, що засвідчують. А центри, що засвідчують, — це ще одна зайва проблема. Ключове слово тут – «довіра».

Знову треба комусь довіряти! А раптом центр сертифікації виявиться скомпрометований? Як нам підказує товариш Мерфі, — рано чи пізно центр, що засвідчує, справді скомпрометують. І це гірка правда.

Ми довго думали над вирішенням цієї проблеми і зрештою дійшли висновку, що потреби у використанні PKI немає — достатньо використовувати нативне шифрування Yggdrasil.

Після внесення відповідних коректив топологія мережі «Medium» набула наступного вигляду:

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil

Помилка №2: централізований DNS

Система доменних імен нам була потрібна з самого початку, тому що громіздкі IPv6-адреси не те, щоб виглядали не дуже - було незручно їх використовувати в гіперпосиланнях, та й відсутність семантичної складової була великою незручністю.

Ми створили кілька кореневих DNS-серверів, які зберігали копію переліку. AAAA-записів, розташованого в репозиторії на GitHub.

Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil
Однак проблема довіри нікуди не поділася - підміну IPv6-адреси на DNS-сервері його оператор міг здійснити миттєво. За наявності певної вправності навіть майже непомітно для інших.

Оскільки ми не використовуємо HTTPS і, зокрема, технологію HSTS, під час заміни адреси в DNS можна було провести атаку заміною IPv6-адреси кінцевого сервера без будь-яких проблем.

Рішення не забарилося: ми вирішили вдатися до використання технології EmerDNS - Децентралізованого DNS.

В якомусь сенсі, EmerDNS подібний до файлу hosts, де присутні записи про всі відомі сайти. Але на відміну від hosts:

  • Кожен рядок в EmerDNS може модифікувати лише її власник, і ніхто інший
  • Неможливість «втручання бога (супер-адміна)» забезпечується консенсусом майнерів
  • Цей файл у всіх однаковий, що забезпечується механізмом реплікації блокчейна
  • До файлу додана швидка пошукова система.

Джерело: "EmerDNS - альтернатива DNSSEC"

Помилка №3: ​​все централізоване

Спочатку слово «Інтернет» мало на увазі під собою не що інше, як взаємопов’язані мережі або мережа мереж.

Згодом Інтернет перестав асоціюватися в людей із чимось академічним і став більш звичайним поняттям, оскільки його вплив широко поширилося життя простих людей.

Тобто спочатку Інтернет був децентралізований. Зараз це вже важко назвати децентралізацією, незважаючи на те, що концепція збереглася і по наш час — ось тільки найбільші вузли обміну трафіком контролюють великі компанії. А великі компанії, своєю чергою, контролює держава.

Але повернемося до нашої проблеми — тенденцію до централізації задають оператори окремих сервісів на кшталт соціальних мереж, серверів електронної пошти, месенджерів тощо.

«Medium» у цьому плані практично нічим від великого Інтернету не відрізнявся дотепер — більшість сервісів були централізовані та контролювали окремі оператори.

Тепер ми вирішили взяти курс на повну децентралізацію — щоб життєво важливі сервіси могли продовжувати роботу незалежно від того, чи довелося статися збою на центральному сервері оператора чи ні.

Як систему миттєвого обміну повідомленнями ми використовуємо Матриця. Як соціальні мережі — Мастодонт и hubzilla. Для відеохостингу PeerTube.

Звичайно, більшість сервісів все ще централізовані і, як і раніше, контролюються окремими операторами, але головне — це те, що рух у бік повної децентралізації є і він відчувається всіма учасниками спільноти.

Вільний Інтернет у Росії починається з Вас

Ви можете надати посильну допомогу становленню вільного Інтернету у Росії вже сьогодні. Ми склали вичерпний перелік того, чим саме ви можете допомогти мережі:

    Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil   Розкажіть про мережу «Medium» своїм друзям та колегам
    Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil   Поділіться посиланням на цю статтю в соціальних мережах чи персональному блозі
    Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil   Візьміть участь в обговоренні технічних питань мережі «Medium» на GitHub
    Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil   Створіть свій веб-сервіс у мережі Иггдрасиль
    Що варто Mesh побудувати: як децентралізований інтернет-провайдер «Medium» робить новий Інтернет на базі Yggdrasil   Підніміть свою точку доступу до мережі «Medium»

Читайте також:

Мені нема чого приховувати
Все, що ви хотіли знати про децентралізованого інтернет-провайдера «Medium», але боялися запитати
Дорога, ми вбиваємо Інтернет

Є питання? Приєднуйтесь до обговорення в Telegram: @medium_general.

Невеликий презент для тих, хто дочитав до кінця

Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.

Альтернативне голосування: нам важливо знати думку тих, хто не має повноправного облікового запису на Хабрі

Проголосували 68 користувачів. Утрималися 16 користувачів.

Джерело: habr.com

Додати коментар або відгук