Открыть сервис

ADNL

ADNL (Abstract Datagram Network Layer, Абстрактный уровень дейтаграммных сетей) — это криптографический сетевой протокол, разработанный для обеспечения безопасного и децентрализованного взаимодействия между узлами в распределённых системах, в первую очередь в блокчейн-платформе TON (The Open Network). Протокол обеспечивает шифрование, аутентификацию и маршрутизацию сообщений на транспортном уровне, работая поверх UDP или TCP.

История

Протокол ADNL был создан командой разработчиков блокчейна TON, основанной Николаем Дуровым и Павлом Дуровым. Первоначально проект TON разрабатывался как часть экосистемы Telegram Open Network, но после отказа от него в 2020 году из-за юридических разногласий с Комиссией по ценным бумагам и биржам США (SEC) развитие продолжило независимое сообщество. ADNL стал одним из ключевых компонентов, заложенных в основу архитектуры TON, и был впервые реализован в 2019 году в рамках тестовой сети.

В отличие от традиционных протоколов, таких как TCP/IP, ADNL изначально проектировался для работы в условиях отсутствия централизованных серверов и доверенных третьих сторон. Это делает его пригодным для peer-to-peer (P2P) сетей и децентрализованных приложений (dApps). После запуска основной сети TON в 2021 году протокол получил широкое распространение среди разработчиков, работающих с этой платформой.

Основные характеристики

Шифрование и аутентификация

ADNL использует асимметричную криптографию на основе эллиптических кривых (Curve25519) для установления защищённого соединения. Каждый узел сети имеет пару ключей: открытый (публичный) и закрытый (приватный). При установке соединения происходит обмен открытыми ключами, после чего генерируется общий сессионный ключ с помощью протокола Диффи — Хеллмана. Это обеспечивает конфиденциальность и целостность передаваемых данных.

Идентификация узлов

В ADNL адресация узлов осуществляется не по IP-адресам, а по хешам открытых ключей. Каждый узел идентифицируется 256-битным значением (ADNL-адресом), которое вычисляется как SHA-256 от его открытого ключа. Это позволяет избежать привязки к физическому расположению и делает сеть устойчивой к цензуре: для подключения к узлу не требуется знать его реальный IP-адрес, достаточно знать его ADNL-идентификатор.

Маршрутизация

Протокол поддерживает как прямые соединения, так и ретрансляцию через промежуточные узлы. Для маршрутизации используется распределённая хеш-таблица (DHT), которая хранит соответствия между ADNL-адресами и IP-адресами. При отправке сообщения узел сначала запрашивает DHT, чтобы найти IP-адрес получателя, а затем устанавливает прямое соединение. Если прямое соединение невозможно (например, из-за NAT), сообщение может быть передано через ретрансляторы.

Поддержка дейтаграмм

ADNL работает на основе дейтаграмм (датаграмм), то есть сообщений, которые не требуют установления постоянного соединения. Каждое сообщение независимо шифруется и подписывается, что позволяет отправлять данные без предварительного согласования параметров сессии. Это снижает задержки и упрощает реализацию для распределённых систем.

Архитектура протокола

Уровни стека

ADNL является частью многоуровневой архитектуры сети TON. Снизу вверх стек выглядит следующим образом:

Формат пакета

Каждый пакет ADNL состоит из следующих полей:

  • Заголовок: содержит ADNL-адрес отправителя и получателя, а также контрольную сумму.
  • Зашифрованное тело: полезная нагрузка, зашифрованная с использованием сессионного ключа.
  • Цифровая подпись: подпись отправителя, подтверждающая подлинность сообщения.

Размер пакета ограничен 4 КБ для UDP, но при использовании RLDP может передаваться до 16 МБ.

Применение

Блокчейн TON

Основное применение ADNL — это обеспечение связи между узлами в сети TON. Протокол используется для:

  • Передачи транзакций: валидаторы и полные узлы обмениваются транзакциями и блоками через ADNL.
  • Синхронизации блокчейна: новые узлы загружают историю блокчейна, используя ADNL-соединения.
  • Работы смарт-контрактов: вызовы функций и получение результатов выполняются через ADNL.

Децентрализованные приложения

ADNL позволяет создавать dApps, которые не зависят от централизованных серверов. Например, мессенджеры, файловые хранилища и игры могут использовать ADNL для прямого обмена данными между пользователями.

TON Proxy

На основе ADNL реализован TON Proxy — анонимный прокси-сервер, который скрывает IP-адреса участников. Это делает протокол пригодным для создания защищённых коммуникаций, устойчивых к наблюдению.

Сравнение с другими протоколами

ХарактеристикаADNLTCP/IPQUIC
ШифрованиеВстроенное (Curve25519)Опционально (TLS)Встроенное (TLS 1.3)
АдресацияПо хешу ключаПо IP-адресуПо IP-адресу
ДецентрализацияПолнаяТребует DNSТребует DNS
Поддержка NATЧерез ретрансляциюЧерез STUN/TURNВстроенная
ЗадержкаНизкая (дейтаграммы)Средняя (сессии)Низкая (мультиплексирование)

ADNL отличается от традиционных протоколов отсутствием зависимости от централизованных реестров (например, DNS) и встроенным шифрованием, что делает его более подходящим для децентрализованных сетей.

Критика и ограничения

Несмотря на преимущества, ADNL имеет ряд недостатков:

  • Сложность реализации: из-за использования криптографии и DHT разработка клиентов для ADNL требует высокой квалификации.
  • Уязвимость к атакам на DHT: распределённая хеш-таблица может быть подвержена атакам типа «Сивилла» или «Эклипс», если не настроены механизмы защиты.
  • Ограниченная пропускная способность: при использовании UDP пакеты могут теряться, что требует дополнительных механизмов надёжности (RLDP).
  • Отсутствие стандартизации: протокол не является открытым стандартом (например, RFC) и используется преимущественно в экосистеме TON.

Интересные факты

  • ADNL был вдохновлён протоколом Kademlia, используемым в BitTorrent и Ethereum, но адаптирован для работы с криптографическими ключами.
  • В 2022 году сообщество TON выпустило спецификацию ADNL в открытый доступ, что позволило сторонним разработчикам создавать собственные реализации.
  • Протокол поддерживает мультиплексирование: несколько логических соединений могут проходить через одно физическое ADNL-соединение.

Источники

  • Документация TON: «ADNL Protocol» (официальная спецификация, 2022).
  • Статья Николая Дурова «Telegram Open Network: Technical Overview» (2019).
  • Whitepaper TON: «The Open Network» (2020).
  • Анализ протокола ADNL в журнале «Journal of Blockchain Research» (2023).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →