Анонсирован выпуск новой версии фреймворка GNUnet 0.17, предназначенного для построения безопасных децентрализованных P2P-сетей.
Это крупный новый релиз и Как и в предыдущих выпусках, эта новая версия не является исключением, поскольку нарушает совместимость протокола с версиями 0.16.x, это связано с тем, что Git master отныне (и был в течение некоторого времени) НЕСОВМЕСТИМ с сетью GNUnet 0.16.x, и взаимодействие между старыми и новыми узлами приведет к проблемам.
Для тех, кто плохо знаком с GNUnet, вы должны знать, что он поддерживает P2P-сети через TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN и может работать в режиме F2F (Friend-to-friend). Поддерживается обход NAT, включая использование UPnP и ICMP. Распределенная хеш-таблица (DHT) может использоваться для размещения данных.
Кроме того, предоставляются инструменты для реализации ячеистых сетей. Для выборочного предоставления и отзыва прав доступа децентрализованная служба обмена атрибутами идентификации reclaimID использует GNS (система имен GNU) и шифрование на основе атрибутов.
Система отличается низким потреблением ресурсов и использует многопоточную архитектуру для обеспечения изоляции между компонентами. Предусмотрены гибкие средства записи и сбора статистики. Для разработки окончательных приложений GNUnet предоставляет API для языка C и привязки для других языков программирования.
Для упрощения разработки предлагается использовать циклы событий и процессов вместо потоков. Он включает в себя тестовую библиотеку для автоматического развертывания экспериментальных сетей, охватывающих десятки тысяч одноранговых узлов.
Основные новые возможности GNUnet 0.17
Как упоминалось в начале, в новую версию GNUnet внесены изменения, нарушающие совместимость протоколов и создавать возможные проблемы между узлами на основе GNUnet 0.17 и более ранних версий.
В частности, совместимость была нарушена на уровне распределенной хеш-таблицы (DHT): реализация DHT была обновлена до новой версии спецификации, а определения типов блоков были перемещены в GANA (GNUnet Assigned Numbers Authority), а также добавлена поддержка встроенных и перегруппированных форматов сообщений.
Новая версия спецификации также представлены несовместимые изменения в отношении к децентрализованной системе доменных имен GNS (система имен GNU), для записей, добавленных в GNS, предусмотрена возможность установки времени жизни записи.
Что касается удобства использования, пользователи должны отметить, что все еще существует ряд известных открытых проблем, в частности, касающихся простоты использования, а также некоторых критических проблем с конфиденциальностью, особенно для мобильных пользователей.
Кроме того, зарождающаяся сеть мала и поэтому вряд ли обеспечит хорошую анонимность или много интересной информации. В результате версия 0.17.0 подходит только для первых пользователей с разумной устойчивостью к боли.
Что касается известных проблем, упоминаются следующие:
- В подсистемах TRANSPORT, ATS и CORE имеются значительные известные проблемы проектирования, которые необходимо будет решить в будущем для достижения приемлемого удобства использования, производительности и безопасности.
- Известны умеренные ограничения реализации в CADET, которые негативно влияют на производительность.
- В FS есть известные умеренные проблемы с дизайном, которые также влияют на удобство использования и производительность.
- В SET есть небольшие ограничения реализации, которые создают ненужную поверхность атаки для доступности.
- Подсистема RPS все еще экспериментальная.
- Некоторые высокоуровневые тесты в наборе тестов завершаются недетерминированным сбоем из-за низкоуровневых проблем TRANSPORT.
- Выровненные и переупорядоченные форматы сообщений.
- Спецификация была обновлена, чтобы отразить изменения
- Я исправляю ошибку планировщика с немедленно готовыми задачами того же приоритета, которые, возможно, перегружают планировщик.
- Исправлено обнаружение mysql/mariadb.
Наконец, если вам интересно узнать больше об этой новой выпущенной версии вы можете проверить подробности По следующей ссылке.