Международная команда инженеров разработала новый протокол — Tachyon. В статье поговорим о его возможностях, преимуществах и альтернативных решениях.

CHUTTERSNAP / Unsplash.com
CHUTTERSNAP / Unsplash.com

Что «под капотом»

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. Протокол позволит умным устройствам общаться друг с другом в безопасном формате.

Paul Teysen / Unsplash.com
Paul Teysen / Unsplash.com

Многие резиденты Hacker News посчитали проект перспективным, хотя нашлись и те, кто встретил заявления команды разработки с долей скептицизма. Они считают, что рано говорить об эффективности протокола и сперва стоит провести сравнительные бенчмарки с другими алгоритмами TCP, предотвращающими заторы в сетях.

Кроме того, проект находится на начальных этапах развития, поэтому пока рано говорить о его применимости и нише, которую он займет. В любом случае наработки выложены в открытый доступ — исходный код можно найти на GitHub.

Какие есть альтернативы

Разработкой быстрых и безопасных решений, способных заменить FTP и TCP, различные компании занимаются уже несколько лет. Так, «дочка» IBM представила высокоскоростной протокол для передачи файлов с гарантированной доставкой FASP. Он работает на базе UDP на транспортном уровне модели OSI, и в отличие от TCP, игнорирует потери. Вместо этого алгоритм корректирует стратегию, ориентируясь на время доставки. Чтобы его оценить, он высылает пробные пакеты и измеряет, как долго те стоят в очереди, а затем регулирует частоту отправки данных (стр.10).

Разработкой аналога — Fast Data Transfer (FDT) — занимались и в CERN. Протокол построен на базе асинхронной многопоточной системы и использует возможности Java NIO. Данные передаются с помощью управляемого пула буферов через один или несколько TCP-сокетов. Восстановление файлов из буферов проходит асинхронно.

В целом это — протоколы, которые уже нашли свою нишу. Будет ли она расширяться, или на смену им придут еще более перспективные решения, покажет время.


О чем еще мы пишем в корпоративном блоге:


Комментарии (8)


  1. Lofer
    03.04.2022 00:55
    +1

    Очень полезная в хозяйстве штука оказалась, только слегка прожорливая. Но полезная.... :)


    1. edo1h
      03.04.2022 02:19
      +1

      то есть вы опробовали? можно детали?


  1. JPEGEC
    03.04.2022 08:09
    -1

    высокоскоростной протокол для передачи файлов с гарантированной доставкой FASP. Он работает на базе UDP на транспортном уровне модели OSI, и в отличие от TCP, игнорирует потери. Вместо этого алгоритм корректирует стратегию, ориентируясь на время доставки.

    Как игнорируя потери можно гарантировать доставку?


    1. KatbertW
      03.04.2022 10:12
      +1

      Насколько я понял, протокол игнорирует потери при передаче данных, но отправитель все равно получает сообщения, какие пакеты не дошли, и пересылает их повторно позже. Кстати, конкретно про FASP была достаточно большая статья на Хабре, рекомендую: https://habr.com/ru/company/ibm/blog/274807/


    1. edo1h
      03.04.2022 17:10

      речь про congestion control.
      классический tcp использует loss-based congestion control: если какой-то пакет теряется, то считается, что канал перегружен и скорость снижается. это плохо работает, например, в беспроводных сетях, в которых потери пакетов — норма.


      идея отказаться от использования потерь пакетов для определения доступной пропускной способности не нова, например, bbr делает то же самое.


  1. amarao
    03.04.2022 15:59

    А в каком месте tcp централизован? Или вы про ГОСТ 66609-2023 "ОБЯЗАТЕЛЬНЫЕ ОПЦИИ СОРМ В ПРОТОКОЛЕ TCP/IP"? Так его всё равно никто не поддерживал и поддерживать не будет.


    1. edo1h
      03.04.2022 17:24

      А в каком месте tcp централизован?

      было написано «децентрализовать стек TCP/IP», я так понял, что речь про mesh-маршрутизацию поверх существующих ip-сетей (с помощью промежуточных нод?)


      ГОСТ 66609-2023 "ОБЯЗАТЕЛЬНЫЕ ОПЦИИ СОРМ В ПРОТОКОЛЕ TCP/IP"

      что за гост? вроде сегодня уже не первое апреля )


      1. amarao
        03.04.2022 20:07

        Ещё не приняли.