Представлен выпуск фреймворка GNUnet 0.15, предназначенного для построения защищённых децентрализованных P2P-сетей. Создаваемые при помощи GNUnet сети не имеют единой точки отказа и способны гарантировать неприкосновенность частной информации пользователей, в том числе исключить возможные злоупотребления со стороны спецслужб и администраторов, имеющих доступ к узлам сети.
GNUnet поддерживает создание P2P-сетей поверх TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, может работать в режиме F2F (Friend-to-friend). Поддерживается обход NAT, в том числе с использованием UPnP и ICMP. Для адресации размещения данных возможно использование распределённой хэш таблицы (DHT). Предоставляются средства для развёртывания mesh-сетей. Для выборочного предоставления и отзыва прав доступа применяется сервис децентрализованного обмена атрибутами идентификации reclaimID, использующий GNS (GNU Name System) и шифрование на основе атрибутов (Attribute-Based Encryption).
Система отличается низким потреблением ресурсов и использованием многопроцессной архитектуры для обеспечения изоляции между компонентами. Предоставляются гибкие средства для ведения логов и накопления статистики. Для разработки конечных приложений GNUnet предоставляет API для языка Си и биндинги для других языков программирования. Для упрощения разработки вместо потоков предлагается использовать циклы обработки событий (event loop) и процессы. В состав входит тестовая библиотека для автоматического развёртывания экспериментальных сетей, охватывающих десятки тысяч пиров.
Основные новшества GNUnet 0.15:
- В децентрализованной системе доменных имён GNS (GNU Name System) предоставлена возможность регистрации поддоменов в домене верхнего уровня “.pin”. Добавлена поддержка ключей EDKEY.
- В gnunet-scalarproduct криптофункции переведены на использование библиотеки libsodium.
- В сервисе децентрализованного обмена атрибутами идентификации (RECLAIM) добавлена поддержка учётных данных, подписанных с использованием схемы BBS+ (слепая подпись, при которой подписывающий не может получить доступ к содержимому).
- Реализован протокол union, который используется для распространения сообщений об отзыве ключей в GNS.
- Стабилизирована реализация мессенджера, который теперь не является экспериментальным.