Tycho: как работает новый DAG-протокол от Broxus

Лонг_Broxus__Tycho

В ноябре 2024 года компания Broxus запустила публичный тестнетTycho― протокола для созданияTVM-сетей первого и второго уровней на базе технологии направленного ациклического графа (directed acyclic graph, DAG). Broxus является одним из ключевых разработчиков в экосистеме блокчейна Everscale (ранее Free TON).

Вместе с командой проекта рассказываем о работе протокола и том, как присоединиться к тестированию Tycho.

История создания Tycho

В третьем квартале 2023 года командаBroxusсосредоточилась на исследовании проблем проектирования TVM-сетей, в частности, вопросе быстрой финализации (fast finality).

«Каждая транзакция в блокчейне не выполняется мгновенно. При отправке токенов на другой адрес ее сначала должны подтвердить майнеры (в сетяхProof-of-Work) или валидатораы (Proof-of-Stake) наряду с другими переводами и дополнительными данными. После подтверждения транзакция включается в следующий блок, становясь неотъемлемой частью распределенного реестра. Такое состояние называется финализацией», ― комментируют представители Broxus.

В рамках исследования эксперты изучали современные DAG-протоколы вродеMysticeti,Narwhal и Tusk.

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

  • консенсус.Получает сообщения от пользователей и согласовывает их порядок в сети;
  • коллатор.Выпускает блоки;
  • валидатор.Создает и распространяет подписи для мастер-блоков.

Tycho стал реализацией этого предложения.

«В случае успеха Tycho сможет значительно увеличить пропускную способность TVM-блокчейнов. Протокол обеспечит финализацию транзакций менее чем за три секунды при сохранении стабильности сети», ― комментируют в Broxus.

Ниже мы более подробно рассмотрим решения, которые предлагает Tycho.

Проблемы консенсуса

Как правило, консенсусы в блокчейнах функционируют не на уровнемемпула, а на уровне их выполнения.

«Например, в классическомBFT-консенсусе это работает так: инициатор предлагает блок другим участникам, а те его проверяют. Если две трети участников подтверждают корректность блока, он принимается как валидный», ― комментируют представители Broxus.

Этот подход удваивает время, необходимое для обработки транзакций в блокчейне. На практике задержки еще больше из-за передачи данных по сети.

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

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

«Большую часть проблем можно решить с помощью DAG-мемпула. Эта идея была впервые предложена в рамках проектаLibra, а затем развита в блокчейнахAptosиSui», ― отмечают в Broxus.

Вторая фундаментальная проблема — параллельность вычислений. В большинстве блокчейнов используется синхронная архитектура, при которой возникают блокировки в точках пересечения транзакций. Чтобы убедиться в отсутствии конфликта, их необходимо выполнить по очереди. Если же он обнаруживается, приходится повторно обрабатывать обе транзакции.

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

Каждый смарт-контракт ― это отдельный актор, который выполняет свои задачи изолированно. У него есть:

  • методы для определения логики работы;
  • локальное хранилище для данных;
  • способность к взаимодействию, включая асинхронные вызовы других смарт-контрактов и создание новых акторов.

«Они обмениваются сообщениями без ожидания ответа. Например, в процессе работы один контракт может отправлять транзакции другим контрактам. Эти вызовы выполняются параллельно, что исключает конфликты и задержки. Протокол обеспечивает гарантированную доставку и выполнение всех сообщений», ― комментируют в Broxus.

Консенсус Tycho

Главное отличие Tycho от других протоколов заключается в том, что консенсус переносится на входящие сообщения. Это позволяет значительно снизить нагрузку на сеть, обеспечивая более высокую скорость работы.

«Пользователи отправляют валидаторам сообщения, которые публикуются в протоколе консенсуса. Каждые 1,2 секунды Tycho формирует согласованную очередь сообщений. Консенсус достигается, если более двух третей валидаторов работают честно. Все валидаторы имеют равные права в протоколе, независимо от размера их стейка», ― утверждает командаBroxus.

Полученную очередь сообщений валидаторы очищают от дублей и передают в коллатор.

Коллатор Tycho

Коллатор отвечает за:

  • выполнение сообщений;
  • выпуск блоков;
  • обновление состояния блокчейна.

Для работы коллатору требуется очередь сообщений от протокола консенсуса, а также информация о текущем состоянии блокчейна.

«Коллатор не согласовывает свою работу с другими нодами. Благодаря этому он может выпускать блоки непрерывно, эффективно используя вычислительные мощности сервера», ― отмечают в Broxus.

В традиционных блокчейн-протоколах процесс выглядит так:

В Tycho все ноды одновременно производят идентичные блоки. Они не передаются по сети: генерация следующего начинается сразу после завершения предыдущего. Такой подход исключает задержки между выпуском блоков и оптимизирует использование вычислительных ресурсов.

Коллатор параллельно создает два типа блоков:

  • шард-блоки. Содержат результаты выполнения транзакций;
  • мастер-блоки.Могут содержать транзакции, быть помеченными как ключевые и использоваться для синхронизации новых нод. Финальность сети достигается при выпуске мастер-блока каждые 2,5 секунды.

Процесс создания блока в Tycho:

Мастер-блоки передаются на валидацию.

Валидация в Tycho

В Tycho нет отдельной роли валидатора, так как все ноды создают одинаковый блок в одно и то же время.

Процесс верификации правильности работы блокчейна называется валидацией. Этот компонент проверяет, что хеш мастер-блока совпадает у более чем 2/3 нод.

После создания мастер-блока ноды обмениваютсяподписями хеша.

«Эта небольшая деталь содержит важную логику: нода не может уклоняться от работы — получить хеш от соседней ноды, подписать его и при этом не участвовать в создании блока, чтобы сэкономить вычислительные ресурсы. Хеш остается закрытым, пока более 2/3 нод не завершат процесс создания блока, самостоятельно получив его хеш», ― отмечают в Broxus.

Задачи компонента:

  • убедиться, что ноды получили одинаковое состояние сети после создания блоков;
  • после сбора подписей передать блоки клиентам сети.

Результаты тестирования Tycho

После старта публичного тестнета в ноябре и подключения нод независимых валидаторов Broxus запустила несколько децентрализованных приложений.

«Мы развернули DEX FlatQube и NFT-маркетплейс Tokstok, а также создалиTelegram-бота, который выдает тестовые токены. Для поддержки тестнета был доработан кошелекSparX, что позволило пользователям проводить привычные операции в сети», ― комментируют в Broxus.

Разработчики запустили нагрузочные тесты с диапазоном от 20 до 20 000TPS(со средним значением 2000 TPS). По их словам, такая интенсивность поддерживается почти весь период работы тестнета, при этом пользователи DEX и NFT-маркетплейса не испытывают дискомфорта.

С начала публичного тестирования команда Broxusвыпустилапять релизов, включая:

  • оптимизацию производительности;
  • доработку механизма синхронизации нод под большой нагрузкой;
  • новый механизм расчета импорта данных из консенсуса;
  • стабилизацию процесса ротации валидаторов.

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

Что делать в тестнете

Для участия в тестнете нужно:

  • установить кошелекSparX;
  • в списке сетей выбрать Tycho Testnet;
  • в Telegram-ботеTycho Testnet Giverввести команду /give и адрес кошелька. Бот начислит 1000 TYCHO.

Подробная инструкция ― вблогеBroxus.

Кроме TYCHO в тестнете есть и другие активы. Пользователи могут торговать:

  • токенами USDT (ttUSDT), USDC (ttUSDC), DAI (ttDAI) и Wrapped Tycho (WTYCHO) и добавлять ликвидность на DEXFlatQube;
  • NFT на маркетплейсеTokstock.

В Broxus подчеркивают, что все взаимозаменяемые и невзаимозаменяемые активы в тестнете Tycho не имеют ценности.

Выводы

Tycho― новый протокол для TVM-блокчейнов, призванный обеспечить высокую производительность и эффективное использование ресурсов в L1/L2-сетях с помощью DAG-консенсуса.

С сентября 2024 года протокол проходит тестирование. После его ожидаемого завершения в 2025 году Tycho могут внедрить проекты вроде Everscale и Venom.

Источник: https://forklog.com/exclusive/tycho-kak-rabotaet-novyj-dag-protokol-ot-broxus

Наверх