Снова наступило то самое время года! Мы запускаем нашу летнюю программу разработки, в рамках которой сосредотачиваемся на одном из аспектов I2P, чтобы продвинуть его вперёд. В ближайшие три месяца мы будем поощрять как новых участников, так и нынешних членов сообщества выбрать задачу и получить удовольствие от работы над ней!
В прошлом году мы сосредоточились на том, чтобы помочь пользователям и разработчикам эффективнее использовать I2P, улучшая инструментарий API и уделяя внимание приложениям, работающим поверх I2P. В этом году мы хотим улучшить пользовательский опыт, работая над аспектом, который затрагивает всех: производительностью.
Хотя сети с луковичной маршрутизацией часто называют “с низкой задержкой”, при маршрутизации трафика через дополнительные компьютеры возникают существенные накладные расходы. Однонаправленная архитектура tunnel в I2P означает, что по умолчанию путь туда и обратно между двумя Destinations (адресами назначения) задействует двенадцать участников! Улучшение производительности этих участников поможет одновременно снизить задержку сквозных соединений и повысить качество tunnel в масштабах всей сети.
Ещё больше скорости!
Наша программа разработки в этом году будет состоять из четырёх компонентов:
Measure
Мы не сможем оценить, улучшаем ли мы производительность, без базового уровня! Мы создадим систему метрик для сбора данных об использовании и производительности I2P с соблюдением конфиденциальности, а также портируем различные инструменты тестирования производительности для работы поверх I2P (например, iperf3).
Измерение
Есть большой потенциал для повышения производительности нашего существующего кода, чтобы, например, сократить накладные расходы, связанные с участием в tunnels. Мы будем рассматривать потенциальные улучшения криптографических примитивов, сетевых транспортов (как на канальном уровне, так и сквозных), профилирования узлов и выбора пути для tunnel.
Оптимизировать
У нас есть несколько открытых предложений по улучшению масштабируемости сети I2P (например, Prop115, Prop123, Prop124, Prop125, Prop138, Prop140). Мы будем работать над этими предложениями и начнём реализовывать окончательно утверждённые из них в различных routers сети.
Далее
I2P — это сеть с коммутацией пакетов, подобно интернету, поверх которого она работает. Это обеспечивает нам значительную гибкость в том, как мы маршрутизируем пакеты, как с точки зрения производительности, так и приватности. Большая часть этой гибкости остаётся неисследованной! Мы хотим стимулировать исследования того, как различные методы clearnet (открытый интернет) по повышению пропускной способности могут быть применены к I2P и как они могут повлиять на приватность участников сети.
Take part in Summer Dev!
У нас есть ещё множество идей того, что мы хотели бы реализовать в этих областях. Если вам интересно заниматься разработкой ПО для приватности и анонимности, проектированием протоколов (криптографических и не только) или исследованием будущих идей — приходите и пообщайтесь с нами в IRC или в Twitter! Мы всегда рады приветствовать новичков в нашем сообществе. Мы также отправим наклейки I2P всем новым участникам, вносящим вклад!
Мы будем публиковать здесь по мере продвижения, но вы также можете следить за нашим прогрессом и делиться своими идеями и работой с хэштегом #I2PSummer в Твиттере. Встречаем лето!