Cryptocurrency news

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

Forklog / 10.01.2025 / 13:29
Tycho: как работает новый DAG-протокол от Broxus

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

Source
Recently News

© Token Radar 2024. All Rights Reserved.
IMPORTANT DISCLAIMER: All content provided herein our website, hyperlinked sites, associated applications, forums, blogs, social media accounts and other platforms (“Site”) is for your general information only, procured from third party sources. We make no warranties of any kind in relation to our content, including but not limited to accuracy and updatedness. No part of the content that we provide constitutes financial advice, legal advice or any other form of advice meant for your specific reliance for any purpose. Any use or reliance on our content is solely at your own risk and discretion. You should conduct your own research, review, analyse and verify our content before relying on them. Trading is a highly risky activity that can lead to major losses, please therefore consult your financial advisor before making any decision. No content on our Site is meant to be a solicitation or offer.