В ноябре 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 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.