Gulf Stream: Протокол пересылки транзакций без Mempool в Solana

Узнайте об одной из 7 ключевых технологий, которые делают позволяют Solana достичь производительности 50 000 TPS.

Solana — самый производительный permissionless блокчейн в мире. На текущих итерациях сеть Solana Testnet из 200 физических отдельных узлов поддерживает устойчивую пропускную способность более 50 000 транзакций в секунду при работе с графическими процессорами.

7 ключевых технических инноваций, которые делают сеть Solana возможной:

  • Proof of History (POH)— часы перед консенсусом;
  • Tower BFT — PoH-оптимизированная версия PBFT;
  • Turbine — протокол распространения блоков;
  • Gulf Stream — протокол пересылки транзакций без Mempool;
  • Pipeline VM— Параллельно исполняемые смарт-контракты;
  • Cloudbreak — База данных горизонтально масштабируемых учетных записей;
  • Репликаторы — Распределенное хранение реестра

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

Что такое Mempool

Mempool — это набор транзакций, которые были отправлены, но еще не были обработаны сетью. Прямо сейчас вы можете увидеть живые Mempool Bitcoin и Ethereum.

30-day Bitcoin mempool as measured in bytes.30-дневный Mempool Bitcoin, измеряемый в байтах.

30-day Ethereum mempool as measured in transactions30-дневный mempool Ethereum, измеренный в транзакциях

Для Bitcoin и Ethereum количество неподтвержденных транзакций обычно составляет порядка 20–100 тыс., как показано выше. Размер mempool, который чаще всего измеряется как число неподтвержденных транзакций, зависит от спроса и предложения на пространство блоков. Даже в первые дни эры блокчейнов это приводит к появлению значительных узких мест во всех сетях, когда увеличивается уровень Mempool.

Как Solana решает эту проблему? Без увеличения пропускной способности сети валидаторы Solana могут управлять размером mempool в 100 000. Это означает, что при пропускной способности сети в 50000 TPS за выполняется 100 000 транзакций из mempool за несколько секунд. Эта особенность делает Solana самым быстрым permissionless блокчейном в мире.

Впечатляет, правда? Но этот простой анализ игнорирует множество важных факторов…

Mempool в Ethereum и Bitcoin распределяется между случайными узлами одноранговой сети с использованием протокола gossip. Узлы в сети периодически создают фильтр bloom, представляющий собой локальный mempool, и запрашивают любые транзакции, которые не соответствуют этому фильтру (наряду с несколькими другими, такими как минимальная плата), от других узлов в сети. Распространение одной транзакции на остальную часть сети занимает как минимум log(N) шагов, оно занимает полосу пропускания, память и вычислительные ресурсы, необходимые для ее фильтрации.

Когда клиент оценки производительности начинает генерировать 100 000 транзакций в секунду, протоколы gossip просто перегружаются. Стоимость вычисления фильтра и применения фильтра между компьютерами при сохранении всех транзакций в памяти становится чрезмерно высокой. Лидеры (производители блоков) также должны повторно передавать одни и те же транзакции в блоке, что означает, что каждая транзакция распространяется по крайней мере дважды по сети. Это не эффективно и не функционально.

Представляем Gulf Stream

Нашим решением этой проблемы в сети Solana является сдвиг кеширования транзакций и перенаправление их на край сети. Мы называем это Gulf Stream. Так как каждый валидатор знает порядок будущих лидеров, клиенты и валидаторы перенаправляют транзакции ожидаемому лидеру заранее. Это позволяет валидаторам выполнять транзакции заблаговременно, сокращать время подтверждения, быстрее переключать лидеров и уменьшать нагрузку на память валидаторов из пула неподтвержденных транзакций. Это решение невозможно в сетях с недетерминированным лидером.

Как это работает? Клиенты, такие как кошельки, подписывают транзакции, которые ссылаются на определенный хеш блоков. Клиенты выбирают недавний хеш блоков, который был полностью подтвержден сетью. Блоки предлагаются примерно каждые 800 мс и требуют экспоненциально увеличивающегося времени ожидания для развертывания каждого дополнительного блока. Используя нашу кривую времени ожидания по умолчанию, полностью подтвержденные хэши блоков в худшем варианте старше на 32 блока. Транзакция действительна только для дочерних блоков и действительна только для X блоков. Хотя X еще не завершены, мы ожидаем, что хеш-блок имеет TTL (time to live, время жизни) около 32 блоков. Если время обработки блока 800 мс, это займет 24 секунды.

Как только транзакция передается любому валидатору, валидатор передает ее одному из будущих лидеров. Клиенты могут подписаться на подтверждение транзакций от валидаторов. Клиенты знают, что срок действия хэша блоков истекает в течение определенного периода времени, либо транзакция подтверждается сетью. Это позволяет клиентам подписывать транзакции, которые гарантированно выполняются или не выполняются. После того, как сеть перешагнет точку отката, истечет срок жизни хеша блока транзакции, клиенты получат гарантию, что транзакция теперь недействительна и никогда не будет выполнена в цепочке.
‎Off the Chain: Анатолий Яковенко, генеральный директор и соучредитель Solana: Что на самом деле означает «шардинг»…
‎Анатолий Яковенко является генеральным директором и соучредителем Solana. В этом разговоре Анатолий и Энтони Помплиано обсуждают…podcasts.apple.com

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

К настоящему моменту стало ясно, что функциональность сети блокчейна определяется размером ее mempool. В то время как сети с ограниченной пропускной способностью предпринимают благородные попытки использовать совершенно новые технологии масштабирования для решения постоянно растущих mempool, Solana разрабатывает такие технологии оптимизации, как Proof of History, Gulf Stream и Pipeline VM, которые позволяют решить проблемы первого порядка сетей блокчейна и обеспечивают огромную пропускную способность. Это невероятная скорость в глобальном масштабе с самого начала, а также фундаментальный прорыв в создании высокофункциональной децентрализованной инфраструктуры для бизнеса, экономики и людей во всем мире.