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

4 hours ago 7

Лонг_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.

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

  1. Коллатор создает блок и распространяет его по сети.
  2. Валидаторы проверяют блок и подписывают его.
  3. Новый блок создается только после завершения этого цикла.

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

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

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

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

  1. Коллатор обрабатывает входящие сообщения, создавая транзакции.
  2. Выполнение транзакций происходит параллельно с соблюдением порядка сообщений.
  3. При достижении лимита блок выпускается. После этого сразу начинается создание следующего.

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

Валидация в Tycho

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

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

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

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

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

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

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

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

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

Разработчики запустили нагрузочные тесты с диапазоном от 20 до 20 000 TPS (со средним значением 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) и добавлять ликвидность на DEX FlatQube;
  • NFT на маркетплейсе Tokstock.

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

Выводы

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

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

Read Entire Article