MMS

Масштабируемость блокчейна всегда была горячей темой. Почти каждая сеть блокчейнов рекламирует большое количество транзакций в секунду (TPS) как аргумент в пользу продажи. Однако TPS не является допустимой метрикой для сравнения сетей блокчейна, что затрудняет оценку их относительной производительности. Более того, за большие значения TPS обычно приходится платить, что ставит вопрос: действительно ли эти сети масштабируются или они просто увеличивают свою пропускную способность?

Итак, давайте рассмотрим, как определить масштабируемость, какие компромиссы используются для ее достижения и почему Validity Rollups являются идеальным решением для масштабируемости.

Не все транзакции одинаковы

Во-первых, нам нужно обосновать наше утверждение, что простая и удобная метрика TPS не является точной мерой масштабируемости.

Чтобы компенсировать узлам выполнение транзакций (и удержать пользователей от спама в сети ненужными вычислениями), блокчейны взимают комиссию, пропорциональную вычислительной нагрузке, возлагаемой на блокчейн. В Ethereum сложность вычислительной нагрузки измеряется в газе. Поскольку газ является очень удобной мерой сложности транзакций, этот термин будет использоваться в этой статье и для блокчейнов, отличных от Эфириума, хотя обычно он специфичен для Эфириума.

Транзакции существенно различаются по сложности и, следовательно, по тому, сколько газа они потребляют. Биткойн, пионер одноранговых транзакций без доверия, поддерживает только рудиментарный биткойн-скрипт. Эти простые переводы с адреса на адрес потребляют мало газа. Напротив, цепочки смарт-контрактов, такие как Ethereum или Solana, поддерживают виртуальную машину и полные по Тьюрингу языки программирования, которые позволяют выполнять гораздо более сложные транзакции. Следовательно, dApps, такие как Uniswap, требуют гораздо больше газа.

Вот почему нет смысла сравнивать TPS разных блокчейнов. Вместо этого мы должны сравнить вычислительную мощность или пропускную способность.

Все блокчейны имеют (переменный) размер блока и время блока, которые определяют, сколько единиц вычислений может быть обработано в каждом блоке и как быстро может быть добавлен новый блок. Вместе эти две переменные определяют пропускную способность блокчейна.

Что ограничивает масштабируемость?

Блокчейны стремятся быть максимально децентрализованными, инклюзивными сетями. Чтобы добиться этого, необходимо контролировать два основных свойства.

1. Требования к оборудованию

Децентрализация сети блокчейна определяется способностью самого слабого узла в сети проверять блокчейн и сохранять его состояние. Следовательно, затраты на эксплуатацию узла (аппаратное обеспечение, полоса пропускания и хранилище) должны быть как можно ниже, чтобы как можно больше людей могли стать неограниченными участниками сети без доверия.

Государственный рост

Рост состояния относится к тому, насколько быстро растет блокчейн. Чем больше пропускная способность блокчейна в единицу времени, тем быстрее растет блокчейн. Полные узлы хранят историю сети, и они должны иметь возможность проверять состояние сети. Состояние Ethereum сохраняется и на него ссылаются с помощью эффективных структур, таких как деревья. По мере роста состояния к нему добавляются новые листья и ветви, что делает его все более сложным и трудоемким для выполнения определенных действий. По мере того, как цепочка увеличивается в размерах, она ухудшает выполнение узлов в наихудшем случае, что приводит к постоянно растущему времени проверки новых блоков. Со временем это также увеличивает общее время, необходимое для полной синхронизации узла.

Пагубные последствия увеличения пропускной способности

1. Количество узлов

Минимальные требования для запуска узла и количества узлов:

  • Биткойн¹: 350 ГБ места на жестком диске, скорость соединения 5 Мбит/с, 1 ГБ ОЗУ, ЦП > 1 ГГц. Количество узлов: ~10 000
  • Ethereum²: 500 ГБ+ место на диске SSD, скорость соединения 25 Мбит/с, 4–8 ГБ ОЗУ, ЦП 2–4 ядра. Количество узлов: ~6000
  • Solana³: 1,5 ТБ + место на диске SSD, скорость соединения 300 Мбит/с, 128 ГБ ОЗУ. ЦП 12+ ядер. Количество узлов: ~1200

Обратите внимание, что чем выше требования к ЦП, пропускной способности и хранилищу для узлов, необходимых для пропускной способности блокчейна, тем меньше узлов в сети, что приводит к более слабой децентрализации и менее инклюзивной сети.

2. Время для синхронизации полного узла

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

Взяв в качестве индикатора тесты биткойн-узла Джеймсона Лоппа 2020 года и синхронизации узла 2021 года, в таблице 1 сравнивается время, необходимое для синхронизации полного узла биткойнов, эфириума и соланы на среднем ПК потребительского уровня.

Таблица 1. Сравнение пропускной способности блокчейна и синхронизации узлов

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

В то время как программное обеспечение узлов постоянно совершенствуется, чтобы смягчить проблему растущего блокчейна (уменьшение занимаемого места на диске, более высокая скорость синхронизации, более высокая устойчивость к сбоям, модульность определенных компонентов и т. д.), узлы, очевидно, все еще не успевают за ростом. к пропускной способности.

Как следует определять масштабируемость?

Масштабируемость — это термин, который чаще всего неверно истолковывают в пространстве блокчейна. Хотя увеличение пропускной способности желательно, это только одна часть головоломки.

Масштабируемость означает большее количество транзакций для одного и того же оборудования .

По этой причине масштабируемость можно разделить на две категории.

Масштабируемость секвенсора

Последовательность описывает акт упорядочения и обработки транзакций в сети. Как было установлено ранее, любой блокчейн может тривиально увеличить свою пропускную способность, увеличив размер блока и сократив время его блокировки — до момента, когда негативное влияние на его децентрализацию будет сочтено слишком значительным. Но настройка этих простых параметров не дает необходимых улучшений. Теоретически EVM Ethereum может обрабатывать до ~ 2000 TPS ., что недостаточно для обслуживания долгосрочного спроса на блочное пространство. Чтобы масштабировать секвенирование, Солана ввел несколько впечатляющих нововведений: воспользовавшись преимуществами среды выполнения с возможностью распараллеливания и умным механизмом консенсуса, который обеспечивает гораздо более эффективную пропускную способность. Но, несмотря на его улучшения, он не является ни достаточным, ни масштабируемым. По мере того, как Solana увеличивает свою пропускную способность, затраты на оборудование для запуска узла и обработки транзакций также увеличиваются.

Масштабируемость проверки

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

Что такое накопительный пакет валидности?

Сводки достоверности (также известные как «ZK-свертки») перемещают вычисления и хранилище состояний вне цепочки, но сохраняют небольшой объем определенных данных в цепочке. Смарт-контракт на базовой цепочке блоков поддерживает состояние корня Rollup. В Rollup пакет сильно сжатых транзакций вместе с текущим корнем состояния отправляется на офчейн-проверку. Доказывающий вычисляет транзакции, генерирует подтверждение достоверности результатов и нового корня состояния и отправляет его в верификатор в цепочке. Верификатор проверяет доказательство действительности, а смарт-контракт, который поддерживает состояние свертки, обновляет его до нового состояния, предоставленного проверяющим.

Как масштабируются Validity Rollups при тех же требованиях к оборудованию?

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

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

Верификаторы (узлы Ethereum) не требуют высокопроизводительного оборудования, а размер пакетов не увеличивает требования к оборудованию. Узлам необходимо обрабатывать и сохранять только переходы между состояниями и небольшой объем данных вызовов. Это позволяет всем узлам Ethereum проверять пакеты Validity Rollup, используя свое существующее оборудование.

Чем больше транзакций, тем дешевле

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

Для накопительного пакета достоверности эта динамика обратная. Проверка пакета транзакций на Ethereum требует определенных затрат. По мере роста количества транзакций внутри пакета стоимость проверки пакета растет экспоненциально медленнее. Добавление большего количества транзакций в пакет приводит к снижению комиссий за транзакции, даже несмотря на то, что стоимость проверки пакета увеличивается, поскольку она амортизируется среди всех транзакций внутри пакета. Сводки валидности хотят, чтобы в пакете было как можно больше транзакций, чтобы плата за проверку могла быть разделена между всеми пользователями. По мере того, как размер пакета увеличивается до бесконечности, амортизированная комиссия за транзакцию стремится к нулю, т. е. чем больше транзакций в Validity Rollup, тем дешевле он становится для всех.

dYdX, децентрализованное приложение на основе Validity Rollup, часто видит пакеты размером более 12 000 транзакций. Сравнение потребления газа при одних и тех же транзакциях в основной сети и в накопительном пакете достоверности иллюстрирует выигрыш в масштабируемости:

Расчет транзакции dYdX в основной сети Ethereum: 200 000 газа

Расчет транзакции dYdX на StarkEx: <500 газа

Другой способ взглянуть на это: основные затраты Validity Rollups линейно масштабируются с количеством пользователей в одном и том же пакете.

Почему Optimistic Rollups не так масштабируемы, как может показаться

Теоретически Optimistic Rollups обеспечивают почти те же преимущества масштабируемости, что и Validity Rollups. Но есть одно важное отличие: Оптимистические накопительные пакеты оптимизируются для среднего случая, а накопительные пакеты достоверности оптимизируются для наихудшего случая. Поскольку системы блокчейна работают в крайне неблагоприятных условиях, оптимизация для наихудшего случая — единственный способ обеспечить безопасность.

В худшем случае Optimistic Rollup транзакции пользователя не будут проверяться средствами проверки на мошенничество. Таким образом, чтобы бороться с мошенничеством, пользователь должен синхронизировать полный узел Ethereum, полный узел L2 и самостоятельно вычислить подозрительную транзакцию.

В худшем случае Validity Rollup пользователю нужно будет только синхронизировать полный узел Ethereum, чтобы проверить подтверждение достоверности, избавляя себя от вычислительной нагрузки.

В отличие от Validity Rollups, стоимость Optimistic Rollups линейно зависит от количества транзакций, а не от количества пользователей, что делает их более дорогими.

Последняя часть головоломки — доступ без разрешения к состоянию свертки

Чтобы гарантировать действительность транзакций, пользователям необходимо запустить только узел Ethereum. Однако пользователи и разработчики могут захотеть просмотреть и запустить состояние и выполнение накопительного пакета для различных целей. Узел индексации L2 идеально удовлетворяет эту потребность. Он не только позволяет пользователям видеть транзакции в сети, но также является важной частью инфраструктуры, необходимой для функционирования инфраструктуры экосистемы. Индексаторы, такие как The Graph, Alchemy, Infura; Сети Oracle, такие как Chainlink и обозреватели блоков, полностью поддерживаются индексирующим узлом L2 без прав доступа.

Вывод

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

С появлением надежной криптографии блокчейн может достичь истинной масштабируемости , которая не обременяет узлы постоянно растущими затратами и обеспечивает широкую децентрализацию. Теперь возможно больше транзакций с мощными и более сложными вычислениями для одного и того же оборудования, что решает дилемму рынка комиссий в процессе — чем больше активности в Validity Rollup, тем дешевле он становится!

SwagtimusPrime.eth и Луис Гутманн

¹ Из https://bitcoin.org/en/bitcoin-core/features/requirements

² Из https://ethereum.org/en/developers/docs/nodes-and-clients/

³ Из https://docs.solana.com/running-validator/validator-reqs

⁴ Сильно упрощено и скорректировано для средних размеров динамических блоков

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *