Международная команда инженеров разработала новый протокол — Tachyon. В статье поговорим о его возможностях, преимуществах и альтернативных решениях.
Что «под капотом»
Tachyon ставит перед собой следующую цель — децентрализовать стек TCP/IP и повысить защищенность данных. Так, транспортный компонент построен на базе UDP и распределенных хеш-таблиц (DHT). Еще он включает модифицированный алгоритм слежения за перегрузками в сети, учитывающий параметр RTT.
Программный блок, отвечающий за безопасность, реализует сквозное шифрование ECDSA и ECDHE. В основе первого алгоритма лежат эллиптическая кривая и односторонняя функция, которую сложно выполнить в обратном направлении без знания секретной переменной. Второй алгоритм работает с «эфемерными ключами», которые являются временными — в частности, такой механизм использует TLS при соединении. Помимо криптографии, протокол использует механизмы сокрытия трафика, которые маскируют его под email или FTP. Чтобы противостоять перехвату, разработчики реализовали и многопутевую маршрутизацию.
Tachyon совместим со стеком TCP/IP. Для этого разработчики добавили стандартизированный API, который упрощает интеграцию в блокчейн-сетях.
Перспективы и критика
Тесты показали, что протокол способен ускорить передачу данных больше чем на 200% в централизованных сетях. При этом вероятность успешного соединения узлов составляет 90% даже на масштабной инфраструктуре. По словам авторов, время передачи файла размером в 2 Гб между Огайо и Сингапуром составило 26 секунд. Для сравнения, протокол SCP потратил на такую задачу более двух минут.
Tachyon может найти применение в LFN-каналах (Long Fat Network), обладающих большой пропускной способностью и задержками, а также в сфере IoT. Протокол позволит умным устройствам общаться друг с другом в безопасном формате.
Многие резиденты Hacker News посчитали проект перспективным, хотя нашлись и те, кто встретил заявления команды разработки с долей скептицизма. Они считают, что рано говорить об эффективности протокола и сперва стоит провести сравнительные бенчмарки с другими алгоритмами TCP, предотвращающими заторы в сетях.
Кроме того, проект находится на начальных этапах развития, поэтому пока рано говорить о его применимости и нише, которую он займет. В любом случае наработки выложены в открытый доступ — исходный код можно найти на GitHub.
Какие есть альтернативы
Разработкой быстрых и безопасных решений, способных заменить FTP и TCP, различные компании занимаются уже несколько лет. Так, «дочка» IBM представила высокоскоростной протокол для передачи файлов с гарантированной доставкой FASP. Он работает на базе UDP на транспортном уровне модели OSI, и в отличие от TCP, игнорирует потери. Вместо этого алгоритм корректирует стратегию, ориентируясь на время доставки. Чтобы его оценить, он высылает пробные пакеты и измеряет, как долго те стоят в очереди, а затем регулирует частоту отправки данных (стр.10).
Разработкой аналога — Fast Data Transfer (FDT) — занимались и в CERN. Протокол построен на базе асинхронной многопоточной системы и использует возможности Java NIO. Данные передаются с помощью управляемого пула буферов через один или несколько TCP-сокетов. Восстановление файлов из буферов проходит асинхронно.
В целом это — протоколы, которые уже нашли свою нишу. Будет ли она расширяться, или на смену им придут еще более перспективные решения, покажет время.
О чем еще мы пишем в корпоративном блоге:
Комментарии (8)
JPEGEC
03.04.2022 08:09-1высокоскоростной протокол для передачи файлов с гарантированной доставкой FASP. Он работает на базе UDP на транспортном уровне модели OSI, и в отличие от TCP, игнорирует потери. Вместо этого алгоритм корректирует стратегию, ориентируясь на время доставки.
Как игнорируя потери можно гарантировать доставку?
KatbertW
03.04.2022 10:12+1Насколько я понял, протокол игнорирует потери при передаче данных, но отправитель все равно получает сообщения, какие пакеты не дошли, и пересылает их повторно позже. Кстати, конкретно про FASP была достаточно большая статья на Хабре, рекомендую: https://habr.com/ru/company/ibm/blog/274807/
edo1h
03.04.2022 17:10речь про congestion control.
классический tcp использует loss-based congestion control: если какой-то пакет теряется, то считается, что канал перегружен и скорость снижается. это плохо работает, например, в беспроводных сетях, в которых потери пакетов — норма.идея отказаться от использования потерь пакетов для определения доступной пропускной способности не нова, например, bbr делает то же самое.
amarao
03.04.2022 15:59А в каком месте tcp централизован? Или вы про ГОСТ 66609-2023 "ОБЯЗАТЕЛЬНЫЕ ОПЦИИ СОРМ В ПРОТОКОЛЕ TCP/IP"? Так его всё равно никто не поддерживал и поддерживать не будет.
edo1h
03.04.2022 17:24А в каком месте tcp централизован?
было написано «децентрализовать стек TCP/IP», я так понял, что речь про mesh-маршрутизацию поверх существующих ip-сетей (с помощью промежуточных нод?)
ГОСТ 66609-2023 "ОБЯЗАТЕЛЬНЫЕ ОПЦИИ СОРМ В ПРОТОКОЛЕ TCP/IP"
что за гост? вроде сегодня уже не первое апреля )
Lofer
Очень полезная в хозяйстве штука оказалась, только слегка прожорливая. Но полезная.... :)
edo1h
то есть вы опробовали? можно детали?