Протокол для безопасной и децентрализованной (федерация и P2P) коммуникации общего назначения, способный работать поверх достаточно широкого спектра поддерживаемого транспорта, в том числе подразумевающего обфускацию траффика. Предоставляет возможность установки защищённого канала между двумя машинами и построения как сервер-клиентной модели, так и P2P меш-сети; поддерживает кастомизируемое шифрование, DHT, вкупе с пользовательскими расширениями, позволяющими подгонять протокол под конкретные цели и нужды.
</p>
<p>
В рамках этого проекта предполагается создание спецификации протокола, библиотеки libstadium, сего эталонной реализацией на C++, а также нескольких других библиотек сего реализацией на иных языках.
</p>
<h2>Мотивация</h2>
<p>
Большинство современных протоколов предполагают либо привязку к какому-то конкретному транспорту, либо вносят значительный оверхэд при передаче данных, либо плохо скалируются и/или ограничены в какой-то иной плоскости. Мы-же хотим сделать универсальное решение, которое будет достаточно хорошо работать в большинстве ситуаций и способно стать заменителем части мейнстримных стандартов.
</p>
<p>
Изначально перед нами стояла совершенно иная задача - сделать федеративный мессенджер (который тоже является одним из наших проектов). Но, в процессе его продумывания, мы пришли к выводу, что ни одно из существующих решений не удовлетворяет нашим требованиям. Нам было необходимо решение свободное от привязки к какому-то конкретному виду транспорта (особенно если этот транспорт высокоуровневый) и при этом позволяющее осуществлять взаимодействие между узлами в условиях низкой пропускной способности канала связи.
</p>
<p>
В результате, мы остановились на варианте создания собственного протокола, максимально удовлетворяющего нашим требованиям и не только.
</p>
<h2>Стек</h2>
<p>
Работа над основной версией библиотеки ведётся на <b>C++</b>. Также мы заинтересованы в создании имплементаций на языках <b>C99</b>, <b>C# (Mono)</b>, <b>Java</b>, биндингов для <b>Go</b>, <b>Python</b>, <b>Nim</b>, <b>Lua</b> и <b>Zig</b>.