Decentralized Internet Projects...

Decentralized Internet Projects...

...that 1 kn0w and f0und

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

Итак, с нетерпением представляю вам еще одну статью из рубрики децентрализованные сети, которые я узнал и полюбил. На этот раз расскажу о более известных сетях, про остальные можно прочитать в предыдущих статьях (первая, вторая, третья).

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

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

Mesh протоколы

В нынешнее время самые популярные протоколы для организации Wi-Fi Mesh сетей это:

  • CJDNS
  • B.A.T.M.A.N.
  • DTN
  • Netsukuku
  • OSPF

Их сравнение вы можете пронаблюдать ниже.

Netsukuku

Начнем, пожалуй, с Netsukuku. Netsukuku родился в начале тысячелетия, и его история довольно сложна.

В одном из возможных цифровых миров и измерений встретилось племя южноитальянских хакеров. В 2000 году, во время эфирной сессии радио Кибернет на хакерской встрече в Риме: идея nocrypt и nocoder Ipv7 воплотилась в жизнь. Это была передача, полная абсурдных шуток о протоколах IP, интеллектуальных компиляторах и криптографических алгоритмах.

ipv7

Позже, в 2003 году, команда молодых безумных ученых в медиалаборатории Freaknet продолжила расширять концепции Ipv7, вспоминая, как им было весело. На этот раз последовали воображаемые шутки, описывающие сеть, в которой все пакеты отправляются в широковещательную передачу и сжимаются с помощью "zlib7": алгоритма, который может сжать весь существующий Интернет всего в 32 байта.

В Ipv7 узлы были лишены ip-адреса, это была чрезвычайно децентрализованная и абсолютно бесплатная сеть. Эти люди были действительно счастливы от первого проекта такого сумасшедшего RFC.

После этого этапа проект покоился в бесконечных складках времени и потенциально возможных строчках кода, которые должны были быть написаны. Однако несколько лет спустя кто-то написал так много кода, что пришлось писать и документацию к нему. Alpt, который участвовал в этом, разработал и исследовал алгоритмы, написал RFC и первую реализацию Netsukuku на C.

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

Netsukuku является альтернативой Интернету, он будет обладать всеми функциями Интернета, такими как веб-сайты, обмен мгновенными сообщениями, передача файлов, DNS и т.д. Он функционирует как ячеистая сеть или сетевая система p2p, которая генерирует и поддерживает себя автономно. Он предназначен для обработки неограниченного количества узлов с минимальными ресурсами процессора и памяти.

Благодаря этой функции его можно легко использовать для создания всемирной распределенной, анонимной и децентрализованной сети, отделенной от Интернета, без поддержки каких-либо серверов, интернет-провайдеров или властей.

Эта сеть состоит из компьютеров, физически связанных друг с другом, поэтому она не основана на какой-либо существующей сети. Netsukuku строит только маршруты, которые соединяют все компьютеры сети. Хотя при необходимости он может маршрутизироваться через Интернет. Другими словами, Netsukuku заменяет уровень 3 модели OSI другим протоколом маршрутизации.

Система доменных имен также заменяется децентрализованной и распределенной системой, являющейся системой ANDNA. (Архитектура Доменных Имен Netsukuku)

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

  • Официальный сайт - link


B.A.T.M.A.N.

Кто-то сказал лучший подход к мобильной одноранговой сети?

B.A.T.M.A.N. - это протокол маршрутизации для многоскоростных одноранговых ячеистых сетей. Основной фишкой протокола является передача пакетов по динамическим маршрутам.

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

B.A.T.M.A.N. может использоваться не только в беспроводных, но и в кабельных сетях, таких как Ethernet.

B.A.T.M.A.N. advanced (batman-adv) - это реализация протокола маршрутизации B.A.T.M.A.N. в виде модуля ядра Linux, работающего на уровне 2. Таким образом, все хосты, участвующие в виртуальной коммутируемой сети прозрачно соединяются вместе для всех протоколов выше уровня 2. Поэтому общие инструменты диагностики не работают так, как ожидалось при проектировании. Для преодоления этих проблем batctl содержит команды ping, traceroute, tcpdump, которые обеспечивают аналогичную функциональность к обычным командам, но измененным к поведению уровня 2 или используемым расширенный протокол B.A.T.M.A.N.

  • Официальный сайт проекта - link (проект активен, последнее обновление 5 дней назад)
  • Веб-интерфейс - link
  • Гит-репозиторий - link


CJDNS и Hyperboria

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

Cjdns реализует зашифрованную сеть IPv6 с использованием криптографии с открытым ключом для распределения адресов и распределенной хэш-таблицы для маршрутизации. Это обеспечивает почти нулевую конфигурацию сети и предотвращает многие проблемы безопасности и масштабируемости, которые мешают существующим сетям.

  • Гитхаб проекта - link

Hyperboria является экспериментальной децентрализованной сетью, созданной тестерами и разработчиками cjdns для проверки протокола. Она была создана для того, чтобы любые данные, при передаче через интернет, были надежно зашифрованы без предоставления анонимности, а скорость доступа к ним стремилась к максимально возможной. Для реализации независимого децентрализованного DNS разработан модуль на базе системы псевдонимов криптоплатформы Nxt.

Hyperboria это одноранговая сеть, разработанная сообществом местных инициаторов в области Wi-Fi, программистов и энтузиастов, которая работает в двух режимах:

  • Через интернет создавая оверлейную сеть (которая работает в десятки раз быстрее чем Tor и I2P)
  • Между роутерами напрямую
Мы запускаем одноранговую сеть IPv6 с автоматическим сквозным шифрованием, распределенным присвоением IP-адресов и маршрутизацией источников на основе DHT.

Существующие приложения просто работают, имея низкий порог входа для пользователей и интернет-провайдеров. Проект доступен на Linux, Android, OpenWRT, OS X и многих других. Раньше был известен под названием Meshnet.

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

Затем, для подключения к сети вы должны:

  • При подключении через обычный интернет — найти уже существующий узел сети и узнать его адрес и ключ.
  • При подключении роутер-роутер — все произойдет самостоятельно.

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

Цель проекта - создать малые островки сетевой свободы на основе роутер-роутер и объединить их между собой через интернет каналы.

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

  • Документация на гитхаб - link
  • Официальный сайт - link

Tahoe-LAFS

Ну и напоследок, оценивая свои силы в данный момент, коснусь немного еще одной децентрализованной файлообменной сети. Называется она Tahoe Least-Authority File Store.

Это бесплатное и открытое, безопасное, децентрализованное, отказоустойчивое, распределенное хранилище данных и распределенная файловая система. Его можно использовать в качестве онлайн-системы резервного копирования или в качестве файлового или веб-хостинга, аналогичного Freenet, в зависимости от интерфейса, используемого для вставки и доступа к файлам в системе Tahoe. Tahoe также можно использовать в режиме RAID, используя несколько дисков, чтобы создать единый большой резервный массив недорогих узлов (RAIN) для надежного хранения данных. Сравнение протоколов передачи файлов можно пронаблюдать на таблице ниже.

Установка не должна стать для вас невыполнимым квестом.

Система разработана и реализована на основе принципа наименьшего авторитета (POLA), как идея о том, что любой компонент системы должен обладать такой же малой властью, сколько необходимо для выполнения своей работы. Строгое соблюдение этой конвенции обеспечивается за счет использования криптографических возможностей, которые обеспечивают минимальный набор привилегий, необходимых для выполнения заданной задачи, запрашивая агентов. Массив RAIN действует как объем хранилища; этим серверам не нужно доверять в отношении конфиденциальности или целостности хранимых данных.

Tahoe обеспечивает очень слабый контроль над тем, на каких узлах хранятся данные. Именно поэтому существует возможность запустить

Как это работает? Клиент Tahoe-LAFS отправляет незашифрованный файл через веб-API на HTTPS-сервер. HTTPS-сервер передает файл клиенту хранилища Tahoe-LAFS, который шифрует файл, а затем использует кодировку стирания для хранения фрагментов файла на нескольких дисках хранения.

Tahoe-LAFS обеспечивает независимую от поставщика безопасность, поскольку целостность и конфиденциальность файлов гарантируются алгоритмами, используемыми на клиенте, независимо от серверов хранения, которые могут выйти из строя или могут управляться ненадежными организациями. Файлы шифруются с помощью AES, а затем разделяются на фрагменты с помощью кодирования стирания, так что для воссоздания исходного файла должно быть доступно только подмножество K исходных N серверов, на которых хранятся фрагменты файлов. Параметры по умолчанию K=3, N=10, поэтому каждый файл является общим для 10 разных серверов, доступ к нему требует правильной работы любых 3 из этих серверов.

  • Гитхаб проекта - link
  • Официальный сайт - link


Адекватно оценивая ваши и свои (в первую очередь) возможности, думаю, что на этом беглое знакомство с еще несколькими проектами по децентрализации можно закончить. В дальнейшем я познакомлю вас еще с некоторыми весьма интересными проектами. К примеру, Maidsafe, Openmind, Orbit DB, Project BYZANTIUM и другими.

Report Page