UR — это протокол с открытым исходным кодом для сетевой инфраструктуры, поддерживаемый сообществом.Продукты URnetwork (например, VPN) доступны на ur.io

Исследования

Открытые алгоритмы, открытые данные.

Два узла, соединённые маршрутами сквозь барьер: конкурс Apex по задержке в симуляции
При поддержке Apex (SN1)Скоро запуск

Конкурс алгоритмов по задержке в симуляции

Оптимизируйте протокол UR. Решения оцениваются относительно ветки кода, а победитель становится новым базовым уровнем и получает SN1α. Шесть раундов по одной неделе, старт скоро. Вперёд!

Участвовать в конкурсе

Протокол — это децентрализованная по своей природе, мульти-IP, мульти-транспортная система, рассчитанная на масштабирование до миллионов майнеров на одного сетевого оператора. Каждая алгоритмическая область ниже опубликована с её исходным кодом и, где применимо, анонимизированными наборами данных для независимого анализа.

URTRANSPORT1

Производительность

Многоузловая маршрутизация через TCP-транспорты, ориентированная на глобальную доступность. Поддерживаются обновления UDP и потоков peer-to-peer с планируемой интеграцией WebRTC, XRay и WireGuard.

Текущий подход

Транспорт в первую очередь рассчитан на доступность — чтобы подключиться мог каждый человек в мире. Многоузловая маршрутизация идёт через TCP-транспорты с центральным узлом. UDP-транспорты, такие как H3 и DNS, реализованы, но отключены: в реальных условиях в этой конфигурации они уступали TCP-пути. Мультимайнерный узел с апгрейдом до peer-to-peer-потока также реализован и пока отключён. Выбор транспорта и путь апгрейда потоков находятся в transport.go и transfer_stream_manager.go.

Реализация

Направления исследований

Интегрировать зарекомендовавшие себя протоколы — WebRTC, XRay и WireGuard — как апгрейды потоков на мультимайнерном узле и снова включить UDP-транспорты там, где измерения показывают пользу. Алгоритм сопоставления также может начать различать узлы с публичным IP и портом и узлы без них, чтобы балансировать скорость и качество соединения. Каждое из этих изменений можно опробовать на экспериментальном сетевом операторе, прежде чем оно станет стандартом.

UREXTENDER1

Доступность

N-уровневое TLS-шифрование (N≥2), где каждый внешний уровень использует самоподписанный сертификат с подменой SNI на промежуточный IP, перенаправляя на следующий узел или сквозное TLS-соединение. Любой может разместить экстендер на любом домене.

Текущий подход

Базовый сетевой стек поддерживает N-уровневое TLS-шифрование, где N не меньше двух. Каждый внешний уровень может использовать самоподписанный сертификат для выбранного имени хоста, чтобы достичь промежуточного IP, который перенаправляет трафик на следующий узел или на сквозное TLS-соединение с доменом сетевого оператора, — так соединение выглядит как обычный трафик к этому имени хоста. Любой может разместить экстендер на домене, который он контролирует. Пользователи одного экстендера делят общее ограничение скорости, настраиваемое в каждом отдельном случае.

Реализация

Направления исследований

Экстендеры можно добавлять в грант-лист протокола, который распределяет долю стимулов между участвующими экстендерами; детали подключения будут опубликованы, когда список откроется. Каждый майнер уже выполняет роль экстендера наряду с ролью выхода. Открытые вопросы: как измерять охват экстендера там, где он важнее всего, не раскрывая его пользователей, и как внешним уровням ротировать имена хостов и сертификаты по мере адаптации блокировок.

UR-FP2

Сопоставление клиент–майнер

Алгоритм выборки, который загружает 10× случайную выборку потенциальных майнеров и перемешивает их пропорционально надёжности × оценке клиента. Устойчивость к Sybil гарантируется ограничением: сумма надёжности составляет не более 1 на IP-подсеть.

Текущий подход

Система сопоставления загружает из памяти случайную выборку майнеров-кандидатов — примерно в десять раз больше, чем нужно, — и перемешивает её пропорционально надёжности × оценке клиента, получая финалистов. Её защита от подмены майнеров (Sybil-атак) — ограничение на IP-подсеть: оценки надёжности всех майнеров одной подсети в сумме не превышают 1, поэтому дробление одного соединения на множество идентичностей не увеличивает его долю в сопоставлениях. Точка входа — FindProviders2.

Реализация

Направления исследований

Различать при сопоставлении узлы с публичным IP и портом и узлы без них, чтобы явно балансировать скорость и качество соединения, а не только через надёжность. Веса надёжности и оценки клиента, а также размер выборки — естественные параметры, которые экспериментальный оператор может варьировать на описанных ниже анонимизированных экспортах блоков, сохраняя ограничение на подсеть как границу Sybil.

UR-MULTI

Мульти-клиент

Эвристический алгоритм обхода, управляющий окном майнеров. Фиксирует трафик в наиболее доступном уровне на основе порогов передачи, а не анализа протокола.

Текущий подход

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

Реализация

Направления исследований

Пороги и границы уровней сегодня заданы вручную. Открытые вопросы для экспериментального оператора: следует ли выводить их из измеренных распределений передачи и должно ли окно учитывать также статистику активности и задержки по каждому майнеру, которую теперь производят валидаторы (см. «Верификация маршрутизации»), чтобы клиент избегал слабого звена до того, как заплатит за него собственным трафиком.

UR-TRANSFER

Передача

Окно надёжной доставки, настроенное для сред с высокой задержкой. Повторные передачи протокола отключены, так как окно обеспечивает надёжную доставку. Распределяет трафик по транспортам согласно ранжированной производительности.

Текущий подход

Окно надёжной передачи настроено для сред с высокой задержкой. Поскольку само окно обеспечивает надёжную доставку, повторные передачи протокола в уровень передачи отключены: TCP-поток, проходящий через туннель, не передаётся повторно поверх него. Трафик распределяется между доступными транспортами согласно их ранжированной производительности и доступности, так что медленный или отказывающий транспорт теряет долю, а не останавливает поток.

Реализация

Направления исследований

Открытые вопросы: как окну подбирать свой размер по всему разбросу реальных задержек, а не под один фиксированный профиль; как переранжировать транспорты, когда их производительность меняется посреди потока; и как уровню передачи взаимодействовать с апгрейдами потоков, запланированными для транспорта (см. «Производительность»), когда один узел — peer-to-peer, а следующий — нет.

UR-IP

IP-выход

Реализация IP-стека с минимальным потреблением памяти. Предполагает надёжную связь между узлами через уровень передачи, поэтому повторные передачи оптимизированы соответственно.

Текущий подход

IP-стек рассчитан на минимальное потребление памяти, чтобы майнер мог служить выходом на телефоне или небольшом устройстве. Он предполагает надёжную связь с узлом-партнёром через уровень передачи, что позволяет оптимизировать и убрать собственную обработку повторных передач, а не дублировать её. Уровень безопасности (см. «Безопасность») находится на том же пути, поэтому каждый пакет проверяется, прежде чем покинуть майнер.

Реализация

Направления исследований

Открытые вопросы: насколько ещё можно снизить объём занимаемой памяти на самых маленьких устройствах и как стеку выхода сохранять свои гарантии, когда допущения о надёжности уровня передачи ослабляются ради запланированных для транспорта апгрейдов до peer-to-peer-потоков. Как и в случае транспорта, изменения опробуются на экспериментальном операторе, прежде чем стать стандартом.

UR-PSUB2

Распределение вознаграждений

Независимые валидаторы оценивают каждый пул оператора по спросу и измеренному качеству; Yuma Consensus от Bittensor превращает эти оценки в эмиссию. Внутри пула оператор ранжирует своих майнеров по обслуженным контрактам и надёжности, фиксирует Merkle-корень выплат каждый цикл, и каждый майнер получает свою долю напрямую из расчётного контракта.

Текущий подход

Вознаграждения — это эмиссия подсети UR на SN25. Майнеры каждого оператора образуют один пул с одним UID майнера. Каждый цикл (tempo) независимые валидаторы оценивают каждый пул по подразумеваемому использованию × измеренному качеству (депозит оператора за эпоху, делённый на опубликованную ставку его уровня conviction, умноженный на качество майнеров пула по собственным проходам валидатора) по схеме commit-reveal, а Yuma Consensus превращает медиану в эмиссию. Внутри пула оператор ранжирует майнеров по обслуженным контрактам × надёжности, фиксирует Merkle-корень выплат каждую эпоху, и каждый майнер получает свою долю напрямую из расчётного контракта. Ведущие флоты по охвату маршрутизируемых IP-адресов держат собственные UID и оплачиваются нативно. Пока опубликованная цена равна 0, депозиты не собираются и каждый пул несёт одинаковый подразумеваемый спрос, поэтому канал пулов направляет только измеренное качество.

Реализация

Направления исследований

θ — публикуемый параметр управления: начать с перевесом в сторону пулов (θ ≈ 0,3), измерять фактическую оплату по уровням и расширять θ по мере зрелости набора майнеров верхнего уровня и консенсуса независимых валидаторов о качестве — при условии, что самый низкооплачиваемый майнер верхнего уровня по-прежнему зарабатывает не меньше самого высокооплачиваемого майнера пула. Влияние качества на вес пула на старте ограничено и наращивается постепенно. Премия валидаторам за усилия спроектирована, но отложена: её построят, только если работающая сеть покажет, что независимое покрытие в ней нуждается. Децентрализация набора валидаторов за пределы большинства владельца — осознанный более поздний шаг управления.

UR-CONTRACT

Разрешение

Передача между сторонами требует зашифрованного контракта с эскроу-балансом и набором разрешений. Обе стороны должны закрыть контракт с подтверждёнными счётчиками байтов; разногласия запускают процесс принудительного разрешения.

Текущий подход

Передача между инициатором и компаньоном требует контракта, зашифрованного секретным ключом клиента-получателя. Контракт удерживает фиксированный баланс передачи в эскроу и определяет разрешения между обеими сторонами. Компаньон может создавать парные контракты для обратного трафика, а многоузловые пути отправляют промежуточным узлам события открытия и закрытия потока. После использования обе стороны закрывают контракт с подтверждённым счётчиком байтов. Если одна из сторон не закрывает контракт или итоги расходятся, исход определяет разрешение контракта; если одна из сторон сообщает о злоупотреблении, дальнейшая передача между этими сторонами блокируется.

Реализация

Направления исследований

Обслуженные контракты × надёжность — это также основа по умолчанию для списка выплат пула оператора, поэтому точность закрытых счётчиков байтов влияет на вознаграждения. Открытые вопросы: как урегулировать расхождение между двумя счётчиками закрытия без доверенного третьего итога, как рассчитывать размер парных обратных контрактов для асимметричного трафика и как взвешивать сообщение о злоупотреблении, если счётчики двух сторон расходились и раньше.

UR-SEC1

Безопасность

Список блокировки портов и список блокировки IP-адресов, защищающие сеть майнеров. Не выполняет инспекцию протоколов — майнеры маршрутизируют только зашифрованный трафик.

Текущий подход

Уровень безопасности использует списки блокировки портов и IP-адресов. Он не инспектирует протоколы приложений: майнеры маршрутизируют только зашифрованный трафик, так что инспектировать нечего, а именно списки блокировки позволяют майнеру отклонять трафик, противоречащий общим нормативным требованиям, таким как CFAA и DMCA, и отбрасывать известные вредоносные адреса назначения. Списки применяются на майнере, поэтому трафик пользователя встречает одни и те же правила на каждом выходе.

Реализация

Направления исследований

Открытые вопросы: как распространять и обновлять списки блокировки по флоту без центральной точки, способной видеть трафик; должен ли уровень безопасности учиться репутации адресов назначения на анонимизированных данных выхода вместо статических списков; и что майнер должен иметь право добавлять в собственные списки, не раскалывая поведение сети между выходами.

UR-VERIFY1

Верификация маршрутизации

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

Текущий подход

Валидатор начинает проход через выбранного им майнера и вызывает /verify; сервер определяет узел по IP-адресу источника запроса, а не по заявлению. Каждый следующий узел выбирается равномерно случайно, без повторений, и раскрывается только после подтверждения текущего узла, поэтому путь нельзя вычислить заранее. Проход скрепляют четыре подписи Ed25519: SEED и EXTEND от валидатора, ASSIGN и FINAL от сервера, который также проставляет время каждого узла. Сбой относится к тому единственному узлу, который так и не был достигнут, задержка записывается по каждому шагу в момент подтверждения, выбранный валидатором стартовый узел исключается, и каждый майнер, набравший достаточную экспозицию, описывается интервалом Уилсона для завершения и перцентилями задержки.

Реализация

Направления исследований

Завершённый проход доказывает живой последовательный транзит к одному известному адресату, а не честную пересылку пользовательского трафика, а самообслуживание на уровне узла ограничено лишь статистически — независимой популяцией валидаторов. Дорожная карта к измерениям, пригодным для выплат: proof-of-routing через аттестацию соседей, разнообразие адресатов, чтобы майнер не мог оптимизировать единственный измеряемый путь, Sybil-устойчивость валидаторов через стейк и иерархическая модель рисков для атрибуции. До тех пор статистика — это мониторинг активности и задержки и предварительная оценка.

Анонимизация

Блок выплат сети составляет 7 дней, и экспорты входных и выходных данных каждого алгоритма анонимизируются по блокам. Каждый идентификатор клиента и каждый хеш IP-подсети заменяется простым целочисленным счётчиком, поэтому идентичность последовательна внутри одного блока, но не переносится между блоками и не ведёт обратно к производственному идентификатору. Метаданные о городах не включаются. Экспорты блоков подготовлены к публикации, но ещё не опубликованы; эта страница даст на них ссылки, когда они появятся.

Исследователям и разработчикам

UR хочет, чтобы пользователи могли выбирать экспериментальные алгоритмы через федеративных сетевых операторов. Новый оператор присоединяется к той же системе стимулов, которая сегодня платит майнерам, а майнер может обслуживать столько операторов, сколько захочет. Приложение предложит каждому пользователю возможность ввести домен альтернативного оператора. Детали доступа к экспериментальным операторам будут опубликованы, когда программа откроется, а эта страница отслеживает текущий алгоритм по умолчанию и экспериментальные направления. Для исследований безопасности действует Политика раскрытия уязвимостей.

Аудиты

Экспертные аудиты протокола и его реализаций.

  • ЗапланированАудит шифрования 2026Cure53Запланирован на ноябрь – декабрь 2026Объём: дизайн шифрования и корректность реализации.Результаты будут опубликованы UR и Cure53.
  • Экспертный аудитMASA L2 2025Leviathan Security GroupЗавершён в мае 2025