Что нам стоит Mesh построить: как децентрализованный интернет-провайдер «Medium» делает новый Интернет на базе Yggdrasil

    Приветствую!

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

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

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

    Но главное — не то, как скоро вступит в силу закон и какие нас ожидают изменения. Главное — это то, что благодаря введению данного законопроекта сообщество энтузиастов начало развёртывание независимой телекоммуникационной среды в нашей стране.

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




    О чём закон?


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

    Вкратце: власти хотят «обезопасить» российский сегмент Интернета на случай, если условные враги захотят нам его отключить. Но «благими намерениями вымощена дорога в ад» — не совсем понятно, от кого нас собираются защищать и каким образом «враги» в принципе могут нарушить работу российского сегмента Интернета.

    Для реализации этого сценария атаки должны сговориться все страны мира, перерезать все трансграничные кабели, сбить отечественные спутники и создать постоянные радиопомехи.

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



    Что такое «Medium»?


    Medium (англ. Medium — «посредник», оригинальный слоган — Don't ask for your privacy. Take it back; также в английском слово medium значит «промежуточный») — российский децентрализованный интернет-провайдер, предоставляющий услуги доступа к сети Yggdrasil на безвозмездной основе.

    Когда, где и зачем был создан «Medium»?


    Изначально проект задумывался как Mesh-сеть в Коломенском городском округе.

    «Medium» образован в апреле 2019 года в рамках создания независимой телекоммуникационной среды путём предоставления конечным пользователям доступа к ресурсам сети Yggdrasil посредством использования технологии беспроводной передачи данных Wi-Fi.

    Где я могу найти полный перечень всех точек сети?
    Вы можете найти его в репозитории на GitHub.



    Что такое Yggdrasil и почему «Medium» использует его в качестве основного транспорта?


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

    Yggdrasil является продолжением проекта CjDNS. Главным отличием Yggdrasil от CjDNS является использование протокола STP (spanning tree protocol).



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

    Выбор сети Yggdrasil как основного транспорта был обусловлен потребностью в увеличении скорости соединения (до августа 2019 года «Medium» использовал I2P).

    Переход на Yggdrasil также предоставил участникам проекта возможность начать развёртывание Mesh-сети с топологией Partial-Mesh. Такая организация сети — самый действенный антидот против цензуры.



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


    «Опыт — сын ошибок трудных». За время разработки «Medium» мы успели разрешить множество проблем, возникавших на нашем пути.

    Ошибка №1: инфраструктура открытых ключей


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

    Проблема заключалась в том, что за роутером мог быть кто угодно — и нам очень не хотелось, чтобы этот «кто-то» мог слушать всё, что получают клиенты.

    Первой нашей ошибкой было введение в действие инфраструктуры открытых ключей (PKI).

    Благодаря использованию 7 уровня сетевой модели OSI мы избавились от атак типа MITM, но обзавелись новой проблемой — необходимостью установки сертификатов корневых удостоверяющих центров. А удостоверяющие центры — это ещё одна лишняя проблема. Ключевое слово здесь — «доверие».

    Опять нужно кому-то доверять! А вдруг центр сертификации окажется скомпрометирован? Как нам подсказывает товарищ Мерфи, — рано или поздно удостоверяющий центр действительно скомпрометируют. И это — горькая правда.

    Мы долго думали над разрешением и этой проблемы и в конечном итоге пришли к выводу, что необходимости в использовании PKI нет — достаточно использовать нативное шифрование Yggdrasil.

    После внесения соответствующих корректив топология сети «Medium» приняла следующий вид:



    Ошибка №2: централизованный DNS


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

    Мы создали несколько корневых DNS-серверов, которые хранили в себе копию перечня AAAA-записей, расположенного в репозитории на GitHub.


    Однако проблема доверия никуда не делась — подмену IPv6-адреса на DNS-сервере его оператор мог осуществить в мгновение ока. При наличии определённой сноровки — даже почти незаметно для других.

    Так как мы не используем HTTPS и, в частности, технологию HSTS, при подмене адреса в DNS можно было провести атаку подменой IPv6-адреса конечного сервера без каких-либо проблем.

    Решение не заставило себя ждать: мы решили прибегнуть к использованию технологии EmerDNS — децентрализованного DNS.

    В каком-то смысле, EmerDNS подобен файлу hosts, где присутствуют записи обо всех известных сайтах. Но в отличие от hosts:

    • Каждую строчку в EmerDNS может модифицировать только её владелец, и никто иной
    • Невозможность «вмешательства бога (супер-админа)» обеспечивается консенсусом майнеров
    • Этот файл у всех одинаков, что обеспечивается механизмом репликации блокчейна
    • К файлу приложен быстрый поисковик

    Источник: «EmerDNS — альтернатива DNSSEC»

    Ошибка №3: централизованное всё


    Изначально слово «Интернет» подразумевало под собой не что иное, как interconnected networks или сеть сетей.

    Со временем Интернет перестал ассоциироваться у людей с чем-то академическим и стал более обыденным понятием, так как его влияние широко распространилось на жизнь обычных людей.

    То есть, изначально Интернет был децентрализован. Сейчас это уже тяжело назвать децентрализацией, несмотря на то, что концепция сохранилась и по наше время — вот только самые большие узлы обмена трафиком контролируют большие компании. А большие компании, в свою очередь, контролирует государство.

    Но вернёмся к нашей проблеме — тенденцию к централизации задают операторы отдельных сервисов вроде социальных сетей, серверов электронной почты, мессенджеров и так далее.

    «Medium» в этом плане практически ничем от большого Интернета не отличался до настоящего времени — большинство сервисов были централизованы и контролировались отдельными операторами.

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

    В качестве системы для мгновенного обмена сообщениями мы используем Matrix. В качестве социальных сетей — Mastodon и Hubzilla. Для видеохостинга — PeerTube.

    Конечно, большинство сервисов всё ещё централизованы и по-прежнему контролируются отдельными операторами, но главное — это то, что движение в сторону полной децентрализации есть и оно чувствуется всеми участниками сообщества.



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

    Мне нечего скрывать
    Всё, что вы хотели знать о децентрализованном интернет-провайдере «Medium», но боялись спросить
    Дорогая, мы убиваем Интернет



    Есть вопросы? Присоединяйтесь к обсуждению в Telegram: @medium_general.



    Небольшой презент для тех, кто дочитал до конца

    Only registered users can participate in poll. Log in, please.

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

    Medium
    52.42
    Go Medium!
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 37

      –1
      примерно как недовольные ПДД решили построить свою дорожную сеть…
        +3
        И получилось метро. Где обычные постовые бессильны.
        0
        Презент зачётный
          0
          Спасибо!
          0

          Так и что в результате по скорости, по сравнению с I2P?

            0
            Попробуйте speedtest.ygg. Всё летает.

            UPD. Еду сейчас с работы на электричке через лес. Сеть ловит местами так себе, но даже тут есть уверенный коннект. По понятным причинам пинг огромный, но это только лишь потому, что я ещё не успел домой воротиться.
              0

              Честно говоря, у I2P тоже скорость нормальная — но только после установки соединения с сайтом, так что такой тест мало что говорит. Вот установка этого соединения в I2P занимает нередко совершенно неприличное время, а если ещё и DNS сначала надо отрезолвить...

                0
                Да, плавали, знаем.

                Нет, в Yggdrasil действительно со скоростью куда лучше. Даже видео на PeerTube без тормозов воспроизводится.

                image
            –2
            Механизмы блокчейна в технологиях передачи данных (EmerDNS) — очень плохая идея. Это обязательно можно исправить.
            Ну и главное, без чего статью писать в 2019 году не имеет значения — это программы. Где программки, которые ставишь под Windows\Android и заходишь в вашу сеть? Ios и Linux, конечно тоже надо.
            Там репозиторий, тут репозиторий… это надо быть хорошим программистом, что бы попасть в вашу сеть. Слишком высокий порог.
              +1
              Добрый день, мы активно работаем над клиентом для Android. Для Windows есть специальный установщик, если мне не изменяет память. Под iOS есть работающая сборка.
                +3
                Продавать роутеры которые позволяют выходить в меш. Не хочешь учить — будешь платить. Как всегда.
                  –4
                  Не хочешь учиться — будешь платить.
                  … вы хотели сказать? Иронично.
                    0

                    Рифма потрачена

                      –7

                      А это какой суржик, ростовский, краснодарский или таганрогский?

                0
                .md как формат хранения структурированных геоданных, со ссылками на Google Maps? Серьезно?
                Как насчёт geojson.org? Его даже GitHub сам на карте показывать умеет.
                  +1
                  Мне кажется, что параллельно надо пилить аппаратную инфраструктуру: писать преднастроенные прошивки под популярные роутеры, и, как еще один важный вектор развития, — разработка компактных носимых точек доступа, автоматически конфигурируемых, объединяющихся с доступными поблизости, пробрасывающих сеть от стационарных, при отключении мобильного интернета на уровне провайдера или глушилок.
                    0

                    А что будете делать когда чекисты к вам домой придут? Сеть ведь запретят рано или поздно.

                      0

                      Так не рождаться же, смерть за тобой всё равно придет.

                      +1
                      Скажите, а что будет в гипотетическом случае, если через мою ноду начнут барыжить или детское порно лить наружу. В этом случае я крайний оказываюсь?
                        +1
                        Yggdrasil использует сквозное шифрование и вперёд анонимности обеспечивает приватность. Поэтому конкретно в этом случае крайним скорее окажется тот, кто барыжил или детское порно лил наружу.
                          +1

                          Не факт.
                          Мы же говорим про оверлейные сети?
                          Поставит низкообразованный оперативник (а на самом деле — очень даже умный человек, просто прикинувшийся валенком) софт этой сети, найдёт то самое порно, зафиксирует, что его компьютер подключился напрямую к компьютеру Иванова Ивана Ивановича, адрес такой-то для получения контента, и к этому самому Ивану явятся маски-шоу для обыска с изъятием всего оборудования.


                          А потом адвокаты Ивана уже будут долго объяснять, что у Ивана этого контента не было и быть не могло. А также то, что Иван не является соучастником преступления, не скрывает истинные контакты поставщика контента, а был использован втёмную.
                          При хороших адвокатах Иван выйдет на свободу уже через пол года, а все свои компьютеры получит обратно после закрытия уголовного дела… лет через пять.


                          p.s. Мы же говорим о сценарии, когда железный занавес уже захлопнулся, верно?
                          Иначе, естественно, самая простая защита от этого сценария — пересылка трафика только через зарубежные шлюзы, к которым никто при всём желании явиться не сможет.

                            0
                            Вот у меня примерно такие же мысли витают
                              0
                              Думаю, это как внутри TOR сети — сайт с адресом .onion невозможно отследить. Благодаря этому в даркнете всякие магазины и существуют. Их нельзя вычислить и заблокировать. Или вы не про это?
                          +1

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

                            0

                            Так, а вот full mesh это уже интересно. Что с практической стороной вопроса? Можно ли как-то прокладывать новые линии связи не нарушая закона и без согласования с государством?

                              0
                              Добрый день. Мы ждём ответа от Минкомсвязи. Он должен поступить до 13 сентября.
                                +1

                                А что они вам могут ответить?
                                Соблюдайте законы и работайте спокойно… что означает необходимость покупки лицензий на частоты, установку оборудования СОРМ и остальные прелести.


                                Такие проекты, как мне кажется, смогут нормально жить только в случае массового появления очень дешёвых ретрансляторов и низких требований к полосе пропускания.


                                Ну, к примеру, если Qualcomm выпустит новый бюджетный SnapDragon со встроенным LoRa WAN и аппаратной поддержкой MESH сетей и через какое-то время каждый третий телефон будет иметь поддержку подобных вещей на аппаратном уровне, тогда, возможно, что-то серьёзно сдвинется с мертвой точки.

                                  0
                                  Ну как что нибудь ответили?
                                    0
                                    Пока что ждём.
                                  +1

                                  Есть такой вариант: Гигабитный линк на 3 километра на лазерных модемах


                                  Основные фичи лазерного модема:
                                  • Не использует радиочастоты — данные передаются с помощью лазерного луча в невидимом глазу диапазоне 780~850 нм. Не создает радиопомех, не требует разрешение на использование радиочастот
                                  • Низкие задержки — по сравнению с WiFi оборудованием лазерные модемы имеют задержки сравнимые с кабельным подключением.
                                  • Сложнее перехват данных — радиомосты легко прослушивать без нарушения сигнала. Перехватить трафик лазерного моста практически невозможно без нарушения соединения.
                                  • Скрытность — лазерный линк сложно обнаружить из-за узконаправленного луча. Радио линк легко обнаружить даже на значительном удалении от антенн.

                                    +1

                                    Да, особенно интересна цена для бесплатного по сути проекта — "цена одного модема от 170 т.р.", т.е. один единственный линк обойдётся всего-то (SARCASM) в 350+ т.р. ;)

                                      0
                                      К сожалению, вынужден согласиться с vp7. Дороговато получается.
                                        0
                                        А может быть можно как-то частично использовать существующую инфраструктуру, чтобы этих линков нужно было по-мнимому? Например, договориться с провайдерами и сказать, что внутренняя сеть провайдера — это не интернет, и СОРМа там быть не должно, а СОРМ должен стоять только на выходе из внутренней сети провайдера. Тогда достаточно бросить линки только между сетями провайдеров, чтобы получить свою собственную не-интернет сеть, в которой не будет СОРМа. Так можно?
                                          0
                                          Добрый день!

                                          Пожалуйста, присоединяйтесь к обсуждению на GitHub. Этот вопрос лучше обсудить с сообществом.
                                          +1
                                          А если на Расбери собрать импровизированный модем, сам лазер примерно 3000-8000, плата за 2500 и набор полупроводников необходимых приблизительно до 3000. Это уже не сотни тысяч в стоимости.
                                          0
                                          Не только дороговато :-(
                                          Есть ещё как минимум одна проблема:
                                          Первоначально отъюстированные устройства имеют тенденцию терять юстировку («сползать») с необходимостью поправлять, причём каждый раз винты разбалтываются и поправлять приходится всё чаще…
                                            0
                                            И датчики на что? Установил к модему, запустил мониторинк по установленному положению и в случае «сползания» лазера, датчик его «пододвигает» к нужной точке, параллельно сообщая, что-то «изначальная позиция положения откланена, требудется вмешательства оператора».

                                      Only users with full accounts can post comments. Log in, please.