Что такое масштабирование в криптовалюте
Перейти к содержимому

Что такое масштабирование в криптовалюте

  • автор:

Layer-2 решения: что это?

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

Ключевые выводы

  • Термин «Уровень-1 (Layer-1)» означает сам блокчейн, а уровень-2 (Layer-2)- к сети, которая располагается поверх основного блокчейна.
  • Решения Layer-2 призваны решить проблему масштабируемости путем обработки транзакций вне основной сети.
  • Преимущества решений Layer-2 включают увеличение количества транзакций в секунду (TPS), снижение платы за газ, поддержание безопасности и сети, ориентированные на конкретные приложения.

Подписывайтесь на мой телеграм-канал. Там я публикую эксклюзивный контент и свои сделки!

Что такое решения масштабирования второго уровня (L2 solutions)?

С момента своего появления в 2013 году Ethereum стал катализатором огромного роста в индустрии блокчейна — от использования его в качестве валюты для транзакций (ETH) до использования его неизменности для ведения записей и криптографической защиты.

Но, как и многие другие блокчейны, Ethereum достиг своего предела в масштабируемости. По состоянию на лето 2022 года Ethereum обрабатывает примерно 500 000 транзакций в день, что соответствует 30 транзакциям в секунду. Для сравнения, платежная система Visa способна обрабатывать до 150 миллионов транзакций в день и 65 000 транзакций в секунду, что значительно превосходит возможности Ethereum.

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

Появился второй уровень, иногда называемый уровнем связи данных (Data Link Layer). Это решение призвано решить проблему масштабируемости блокчейна путем обработки транзакций в сторонних сетях (side-chains) вместо основной сети Ethereum (Layer-1). Это не только снижает нагрузку на сеть, но и сохраняет стандарты безопасности и децентрализации основного блокчейна.

Блокчейн Layer-1 против блокчейн Layer-2

Layer-1 относится к самой распределенной базе данных — сети, которая объединяет все узлы блокчейна в единую систему с лежащими в ее основе механизмами консенсуса. Например, Layer-1 в Bitcoin — это сеть Bitcoin, а Layer-1 в Ethereum — это сеть Ethereum.

Layer-2, однако, является оверлейной сетью, которая располагается поверх блокчейна. Lightning Network — это решение Layer-2 для Bitcoin. Plasma, Polygon, Optimism и Arbitrum — это лишь некоторые из сетей второго уровня, созданных на Ethereum.

Почему они важны?

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

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

При использовании Layer-2 базовой сети (mainnet) не нужно обрабатывать такие большие объемы данных, поскольку она отправляет эти данные по различным каналам обработки (третьим лицам), записывая только конечный результат в блокчейн Layer-1.

Преимущества решений второго уровня

  • Увеличение количества транзакций в секунду (TPS) позволяет улучшить пользовательский опыт и снизить перегрузку сети.
  • Транзакции консолидируются в один пакет перед записью в основной сети, что снижает плату за газ.
  • Любые обновления в решении Layer-2 не изменяют базовый блокчейн, поскольку Layer-2 построен поверх блокчейна, что помогает обеспечить безопасность сети.
  • Позволяет создавать сети Layer-2 для конкретных приложений, которые специально разработаны для оптимизации определенных функций.

Недостатки решений Layer-2

  • Вероятен отток ликвидность из основного блокчейна
  • Потенциальные уязвимости безопасности и конфиденциальности; пользователям следует провести собственное исследование (DYOR) перед использованием решений Layer-2
  • Может затруднить взаимодействие с другими приложениями на базе Ethereum (например, при использовании L-2).

Какие существуют типы решений Layer-2?

Решения Layer-2 в основном направлены на то, чтобы перенести большинство транзакций из основной сети на сайдчейны. За короткий период появилось множество проектов Layer-2, направленных на решение этой задачи. Однако лишь немногим из них удалось решить наиболее важные проблемы. Ниже приведены три примера решений по масштабированию блокчейна второго уровня:

Каналы состояния

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

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

Примеры: Lightning Network в Bitcoin, Raiden Network в Ethereum.

Преимущества

  • Управление сложными взаимодействиями
  • Обрабатывает чрезвычайно высокую пропускную способность транзакций при очень низкой стоимости

Недостатки

  • Высокие затраты на настройку и расчетные каналы
  • Средства должны быть заблокированы в открытых платежных каналах
  • Не поддерживает открытое участие

Роллапы с нулевым знанием (Zero-Knowledge Rollups)

Роллапы с нулевым значением (ZK-Rollups) объединяют транзакции, взятые с основного блокчейна, и генерируют криптографическое доказательство, известное как SNARK (Succinct Non-Interactive Argument of Knowledge, краткий неинтерактивный аргумент о знании). Это доказательство, также называемое доказательством достоверности, является единственной записью, требуемой для внесения в основной блокчейн; следовательно, снижается плата за газ, которую пользователи понесли бы от обработки всех данных по отдельности.

Примеры: Immutable X, Polygon Hermez, Starkware.

Преимущества

  • Безопасная и децентрализованная
  • Почти мгновенные переводы

Недостатки

  • Сложность вычисления для небольших приложений с меньшей активностью на цепи
  • Не все ZK-роллапы обеспечивают совместимость с виртуальной машиной Ethereum (EVM)
  • На порядок транзакций может влиять пользователь

Оптимистические роллапы

В отличие от ZK-роллапов, оптимистические роллапы полагаются на доказательства мошенничества. Проще говоря, агрегаторы публикуют минимальную информацию на Уровне-1 и предполагают, что данные верны.

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

Примеры: Arbitrum, Boba, Cartesi, Fuel Network, Optimism.

Преимущества

  • Низкая плата за газ
  • Повышенная пропускная способность
  • Возможность заключения смарт-контрактов
  • Безопасность

Недостатки

  • Длительное время вывода средств
  • Потенциальное несоответствие стимулов и поощрений между участниками сети
  • Базовый уровень-1 может подвергать транзакции цензуре.

Что ждет масштабируемость блокчейна?

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

Решения Layer-2, представленные выше, являются первой попыткой индустрии решить проблемы масштабируемости.

Подписывайтесь на мой телеграм-канал. Там я публикую эксклюзивный контент и свои сделки!

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

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

Что такое трилемма блокчейна?

Что такое трилемма блокчейна

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

Как возникла трилемма блокчейна?

Еще в 90-х годах ученый Эрик Брюэр разработал так называемую теорему CAP. Согласно ей, у децентрализованной базы данных (к которой относится и блокчейн) может быть только два из трех основных свойств — согласованность (Consistency), доступность (Availability) и устойчивость к делению (Partition).

Таким образом, теорема ставит проблему: создатели децентрализованной базы данных должны пожертвовать одним из трех свойств, чтобы достичь должного уровня остальных двух. Это ставит долгосрочное расширение БД под угрозу.

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

Что такое трилемма блокчейна?

Существует три группы примеров, по-разному отражающих это правило:

  1. Традиционные блокчейны: биткоин, Ethereum или Litecoin. Каждый их участник управляет полной нодой, которая подтверждает каждую транзакцию. Такие сети обладают высоким уровнем безопасности и децентрализации, но низкой пропускной способностью.
  2. Скоростные блокчейны, включая сети, работающие на алгоритмах Delegated Proof-of-Stake. В них работает небольшое число нод (10-100). При этом к каждой из них предъявляют высокие требования — необходимость иметь дорогое серверное оборудование или большую сумму нативных монет. Это производительные и безопасные, но не достаточно децентрализованные сети.
  3. Мультичейн-системы, в которых приложения связаны с различными блокчейнами, а те, в свою очередь, взаимодействуют между собой через протоколы кроссчейн-коммуникации. Это пример децентрализованной и масштабируемой сети, но не безопасной. Ведь для атаки нужно завладеть большинством нод всего в одном блокчейне системы, чтобы «сломать» привычную структуру и вызвать негативные последствия у всех остальных участников.

Как решить трилемму блокчейна?

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

Решения второго уровня

Это своеобразные надстройки «поверх» децентрализованных сетей, которые выходят за пределы ончейн-активности. Одним из примеров является Lightning Network — сеть для микроплатежей в биткоине.

Классические переводы в сети биткоина могут быть дорогими и медленными, что лишает экономического смысла транзакции на небольшую сумму. Для мелких P2P-переводов и сферы торговли придумали Lightning Network. Это сеть, в которой пользователи могут открывать каналы. Переводы между такими каналами дешевые и происходят в считанные секунды. Верификация переводов происходит сначала на уровне приложения, а не блокчейна. Решение второго уровня считается своеобразной полумерой и не позволяет достичь целей блокчейна.

Решения первого уровня

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

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

Что на самом деле означает «масштабируемость» в мире блокчейна?

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

Что на самом деле означает «масштабируемость» в мире блокчейна? Фото.

Независимо от того, исследуете ли вы блокчейн в академических кругах или просто тащитесь от происходящего в мире крипты, вы наверняка слышали термин «масштабируемость» (scalability) или «масштабируемый блокчейн» (scalable blockchain). Об этом так много говорят, столько шума. Однако в большинстве случаев за «масштабируемым» блокчейном скрывается обычная цепочка блоков, способная достигать высоких показателей TPS (транзакций в секунду). Иногда бывает даже так, что истинный смысл «масштабируемости» искажается или даже намеренно меняется, чтобы ввести людей в заблуждение и получить незаслуженные преимущества. С другой стороны, мы видели массу докладов и статей, написанных исследовательскими институтами, компаниями или СМИ, в которых пытаются объективно сравнить масштабируемость разных блокчейнов. Однако вряд ли хоть кто-то из них способен отличить лживые утверждения от имеющих под собой почву.

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

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

И всё же, в области блокчейна у слова «масштабируемость» гораздо более широкий диапазон значений. Да что там говорить — даже термин «блокчейн» пока не получил хорошего определения с академической точки зрения. К примеру, если говорить про Bitcoin, многие до сих пор считают «масштабированием» любое улучшение пропускной способности, задержки, времени начальной загрузки или стоимости транзакций.

В наши дни есть много различных систем блокчейна, которые можно считать «масштабируемым», однако их пропускная способность сильно отличается. Обратите внимание, что слово «масштабируемый» является сравнительным термином в блокчейне. Когда система называется масштабируемой, это значит, что она достигает более высокого значения TPS, чем другие существующие системы, путём изменения механизма консенсуса и/или уточнения некоторых параметров системы.

Фактически, мы можем классифицировать масштабируемые блокчейны на четыре типа:

  • 1. Масштабирование Bitcoin: решения для повышения пропускной способности Bitcoin за счёт увеличения размера блока или сокращения интервала блока без изменений в POW-алгоритме консенсуса
  • 2. Масштабирование POW: решения, которые всё еще укладываются в структуру консенсуса Сатоши Накамото, но достигают более высокой пропускной способности, чем POW-алгоритм в Биткоине, за счёт изменения алгоритма
  • 3. Масштабирование алгоритмов византийской отказоустойчивости (Byzantine Fault Tolerance, BFT): решения, основанные на BFT-алгоритмах, но с более простыми сообщениями, нежели в алгоритмах Practical Byzantine Fault Tolerance, PBFT
  • 4. Масштабируемые блокчейны: решения, которые ослабляют требование того, что узлы валидации/майнинга должны знать всю историю транзакций. Благодаря этому пропускная способность системы может возрастать с увеличением размера сети и, следовательно, лучше масштабироваться, чем системы трёх вышеупомянутых типов

Масштабирование Bitcoin

Все мы знаем, что Биткоин плохо масштабируется. Потому что дизайн POW (proof-of-work), лежащий в основе работы Биткоина, это не позволяет. В Биткоине POW используется как метод случайного определения следующего действительного (valid) блока, то есть все узлы «работают» (обеспечивают доказательство проделанной работы, POW) в течение определённого времени, чтобы определить победителя. Более того, новый блок должен быть синхронизирован со всей сетью, чтобы каждый узел мог (плюс-минус) конкурировать с другими в гонке за следующий блок. По сути, POW Биткоина обладает каскадной структурой, как на рисунке ниже.

Что на самом деле означает «масштабируемость» в мире блокчейна? Масштабирование Bitcoin. Фото.

Каскадная структура POW Биткоина запускает алгоритм консенсуса только после того, как все узлы закончат получать и проверять все блоки.

То, что синхронизация занимает 1 минуту, когда длительность работы POW составляет 10 минут (как в Биткоине) — это нормально. Но Биткоин больше не будет честным и безопасным, если время синхронизации будет сопоставимо с каждым циклом POW, что произойдёт, если размер блока увеличится или интервал блока значительно уменьшится — например, до 1 минуты. В таком случае в сети появится много форков, ответвлений, что в итоге приведёт к очень долгому времени подтверждения и снижению уровня безопасности.

Другими словами, неочевидное ограничение Биткоина заключается в том, что время каждого раунда работы алгоритма консенсуса должно быть значительно больше периода синхронизации. Сколько времени уйдёт на синхронизацию — зависит не только от дизайна алгоритма консенсуса, но и в значительной степени от характеристик основной сети, например, от пропускной способности, задержки, топологии, уровня децентрализации. В работе ‘On scaling decentralized blockchains‘ (О масштабировании децентрализованных блокчейнов) подсчитано, что Bitcoin мог обеспечить не больше 27 транзакций в секунду на сети Bitcoin в 2016 году. Это ограничение может быть неприменимо к отдельному альткоину, использующему тот же алгоритм POW для достижения консенсуса, или даже к современному Bitcoin, так как сети отличаются по размеру или уровню децентрализации. Однако вышеупомянутое ограничение остается в силе. Следовательно, «наивные» подходы, которые увеличивают блок (привет BCH — от редакции) или уменьшают интервал между блоками, могут «масштабировать» Биткоин совсем чуть-чуть.

Масштабирование POW

Для решения проблемы, изложенной выше, предлагаются новые схемы POW, в которых безопасность системы не зависит от синхронизации новых блоков, как показано на рисунке ниже. Другими словами, период согласования (достижения консенсуса) не обязательно должен быть значительно больше времени синхронизации, его можно оставить примерно или в точности таким же. Например, в Bitcoin-NG консенсус используется только для определения лидера раунда вместо целого набора транзакций. Таким образом, синхронизация транзакций может выполняться параллельно и может использоваться больший размер блока. Другие похожие блокчейны в этой категории имеют Hybrid Consensus, Byzcoin и GHOST.

Что на самом деле означает «масштабируемость» в мире блокчейна? Масштабирование POW. Фото.

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

POS (proof-of-stake)

Мы можем включить некоторые новые схемы POS в категорию масштабируемого POW с точки зрения масштабируемости. Всё потому, что в таких системах консенсус в сети достигается с помощью механизмов выбора лидера, которые основаны на генераторах случайных чисел и которым не требуется много времени для достижения справедливого выбора. Следовательно, у них нет ограничения в том, что «период консенсуса должен быть значительно больше времени синхронизации», и можно сразу перейти к большому размеру блока, как в решениях масштабирования POW. Среди известных проектов: Ouroboros, Snow White, Dfinity и Algorand.

Масштабирование BFT

Алгоритмы византийской отказоустойчивости (BFT) — это семейство алгоритмов консенсуса, которые могут допускать произвольное поведение ненадежных узлов, что позволяет честным узлам достигать консенсуса в ненадёжных сетях. Всё началось с задачи византийских генералов, предложенной Лесли Лэмпортом в начале 80-х. Однако из-за отсутствия «реальных» случаев применения практическая версия BFT появилась только в 1995 году и получила название «практической византийской отказоустойчивости» (PBFT).

PBFT — это алгоритм, имеющий сложность сообщения O(N²), как показано на следующем рисунке. N здесь — это общее число узлов проверки/майнинга в сети. На рисунке ниже показаны пять шагов в каждом раунде согласования (консенсуса), а стрелка представляет сообщение, отправляемого с одного узла на другой. Можно заметить, что для достижения консенсуса по одному сообщению это сообщение сперва должно быть передано всем узлам сети, а затем каждая нода (узел) должна оповестить каждую другую о сообщении.

Что на самом деле означает «масштабируемость» в мире блокчейна? Масштабирование BFT. Фото.

Одним из главных недостатков PBFT является то, что он плохо масштабируется в зависимости от размера сети из-за сложности сообщения O(N²). Легко обнаружить, что количество сообщений, отправляемых между узлами для каждой транзакции, будет расти в квадрате относительно роста количества проверяющих сеть узлов. И поскольку пропускная способность может расти только пропорционально количеству узлов, пропускная способность будет уменьшаться по мере роста сети, и в принципе её нельзя будет использовать в сети с более чем, скажем, 50 узлами.

Для решения этой проблемы было предложено несколько идей, масштабирующих классические алгоритмы BFT. Первая попытка получила название спекулятивной (или предположительной) BFT. Идея очень проста: сперва узлы предполагают, что состояние сети хорошее и что среда доверенная, и используют более простые и эффективные схемы для достижения консенсуса. Если попытка в таком случае не удаётся, они переключаются обратно на более «дорогостоящий» PBFT. Это эквивалентно размену «худшей из задержек» на «лучшую из возможных пропускную способность». Отметим, что этот тип BFT на примере, допустим, Zyzzyva, существовал еще до концепции блокчейна. Поскольку проблема масштабируемости становится всё более и более важной, идея спекулятивной византийской отказоустойчивости была пересмотрена и принята на вооружение практиками и исследователями блокчейна для построения таких систем, как Byzcoin, Algorand и Thunderella.

Что на самом деле означает «масштабируемость» в мире блокчейна? Масштабирование BFT. Фото.

Zyzzyva спекулятивно использует схему сложности сообщения O(N) для достижения консенсуса

Вторая идея заключается в намеренном удалении избыточности в процессе BFT за счёт использования информационно-теоретического инструмента — кодирования со стиранием. Он может повысить эффективность использования пропускной полосы. К примеру, Honeybadger-BFT попадает в эту категорию.

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

Что лучше: масштабируемый POW (POS) или масштабируемая BFT

Хотя схемы масштабируемого POW (POS) и масштабируемой BFT, упомянутые выше, могут отличаться как по форме, так и по концепции, они могут иметь схожую производительность с точки зрения пропускной способности. В идеале оба подхода должны максимально использовать пропускную способность для передачи сообщений и обеспечивать беспрепятственную сложность сообщений O(N). 100-1000 транзакций в секунду (TPS) в сети с сотнями узлов (нод) будет грубым приближением пропускной способности масштабируемого POW (POS) или масштабируемой BFT. Другими словами, если вы видите термин «масштабируемый блокчейн», скорее всего, он будет относиться к двум этим типам «масштабируемости».

Направленные ациклические графы (DAG)

Многих удивит, что алгоритмы консенсуса на базе DAG также попадают в эту категорию, поскольку многие считают, что их вполне можно масштабировать горизонтально. Но факт заключается в том, что большинство DAG, независимо от того, являются они академическими предложениями по типу Phantom, Conflux или Avalanche, или промышленными проектами по типу IOTA и Hedera Hashgraph, они требуют, что все сообщения были известны каждому углу. Phantom, Conflux и IOTA можно рассматривать как усовершенствованные версии GHOST (масштабируемый POW), обеспечивающие лучшее распараллеливание консенсуса и синхронизацию. Avalanche и Hedera Hashgraph можно рассматривать как алгоритмы спекулятивной BFT, которые выдают высокую пропускную способность с менее строгими предположениями BFT.

Горизонтальные блокчейны (scale-out)

Эта концепция больше напоминает первоначальное определение «масштабируемого» в распределённых системах, в том смысле, что как масштабируемый горизонтально (scale-out) блокчейн, так и масштабируемая распределённая система с радостью предлагают более высокую пропускную способность по мере роста сети. Принципиальное различие между ними заключается в том, что масштабируемость в распределённых системах требует линейного роста производительности системы вместе с числом серверов (узлов), а это по сути является недостижимым для блокчейна по причине децентрализации.

И поэтому исследователи блокчейна стремились к более низкому уровню масштабируемости, чтобы пропускная способность сети росла сублинейно с увеличением размера сети. В результате получались схемы, которые сегодня называются «масштабируемыми горизонтально блокчейнами». Возможно, вы не слышали об этом самом горизонтальном масштабировании (scale-out), но наверняка слышали о «шардинге», Lightning Network и Ethereum Plasma. Их все можно рассматривать как горизонтальные подходы к решению вопроса масштабируемости блокчейна.

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

Что на самом деле означает «масштабируемость» в мире блокчейна? Горизонтальные блокчейны (scale-out). Фото.

Трилемма масштабируемости блокчейна

Как мы уже упомянули в некоторых схемах горизонтального масштабирования, есть две популярные стратегии разработки и реализации горизонтального блокчейна: одна — через шардинг и другая — через off-chain схемы, то есть такие, которые проводятся не на основном блокчейне.

Шардинг (sharding) — это разделение всей сети на подсети, «шарды» или сегменты, где узлы в каждой подсети используют локальный ledger, то есть книгу блоков. В идеале каждому узлу нужно знать, проверять и хранить сообщения, передаваемые только в пределах его собственного сегмента, а не все. Можно представить шардинг как разбиение исходного блокчейна на меньшие блокчейны, которые менее безопасны, так как меньше узлов проверяют транзакции и участвуют в консенсусе.

Таким образом, самые большие проблемы стратегии шардинга следующие: 1) как защитить каждый шард; 2) как шарды могли бы эффективно и безопасно взаимодействовать для обработки транзакций между шардами. Например, если какие-нибудь криптовалюты перемещаются из шарда А в шард Б, получатель в шарде Б должен запросить действительность валют у множества узлов из шарда А, чтобы не попасться на уловку злоумышленников. Для решения этих двух проблем предлагалось много решений, достаточно перечислить некоторые: Omniledger, Chainspace, Rchain, шардинг для Ethereum, распространяться о них мы будем в другой статье.

Схемы вне блокчейна (off-chain), внешние решения надстройки, в значительной степени базируются на идеях Lightning Network, которая использует некоторые хитрые приёмы для активации отдельного канала вне блокчейна между двумя узлами для быстрых переводов — без необходимости регистрировать каждую транзакцию между ними на блокчейне Bitcoin. Однако такое удобство сопряжено с некоторыми издержками, а именно: обе стороны должны заранее внести депозит на блокчейн, чтобы открыть оффчейн-канал между собой. С тех пор предлагалось множество подобных внеблокчейновых схем, предлагающих проведение быстрых платежей. В частности, сторонам позволяли взаимодействовать посредством других типов сообщений, например, транзакций с множеством сторон (multi-party transactions), транзакций условных платежей (conditional payment transactions) и транзакций на смарт-контрактах (smart contract transactions). Таким образом, остаётся лишь задача спроектировать и эффективно развернуть такие механизмы за пределами блокчейна с применением принудительных мер на блокчейне для различных типов сообщений. Из обсуждаемых проектов: Plasma, Polkadot, Liquidity.

Что лучше: шардинг или внеблокчейновые платежи?

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

Фактически, термин «консенсус» состоит из двух свойств: согласованность (соглашение) и жизнеспособность (доступность). Первое означает, что два честных узла не должны иметь разногласий по поводу содержания сообщения. Последнее означает, что если честный узел знает сообщение, все остальные честные узлы в конечном счете тоже о нём узнают. Как для шардинга, так и для внеблокчейновых схем жизнеспособность оказывается скомпрометированной, поскольку о некоторых сообщениях узнают не все честные узлы. Разница между ними в том, как они достигают согласованности. В частности, шардинг гарантирует согласованность в шарде с определённым ухудшением безопасности. С другой стороны, решения вне цепи блоков не дают жёсткой гарантии согласованности. Вместо этого согласованность зависит от некоторого экономического принуждения, такого как депозит на основной цепи, и штрафного механизма, если кто-то ведёт себя плохо за пределами блокчейна.

VAPOR

Помимо шардингового и внеблокчейнового подходов, мы недавно предложили ещё одно решение для горизонтального масштабирования: VAPOR. Эта система основана на важном допущении под названием «рациональность», которое мы наблюдали на имеющихся системах блокчейна. В частности, мы находим, что большинство систем блокчейна рассматривают особый тип сообщений — транзакций, и большинство систем по умолчанию подразумевают, что участники блокчейна рациональны в отношении транзакций. К примеру, если Алиса рациональна и если она хочет что-то купить у Боба, после того, как она осуществит платежную транзакцию Бобу, ей нужно будет предоставить подлинность этой транзакции Бобу. И Боб, если он разумен и рационален, продаст свой товар только после того, как проверит, что сделка действительно подтверждена и подлинна. Мы называем это «рациональностью в передачи ценности». VAPOR использует «рациональность» в системе передачи ценности для масштабирования без ущерба для безопасности и децентрализации. Другими словами, VAPOR может использоваться в качестве полностью защищённой и децентрализованной системы ценностей, то есть в качестве криптовалюты, без необходимости каждого узла знать, подтверждать и хранить все транзакции. Однако у этой системы есть ограничение в функциональности, поскольку её можно использовать только для передачи ценности — в качестве «денег», чтобы допущение о «рациональности» соблюдалось.

Обсуждение

Мы надеемся, что теперь концепция масштабируемости блокчейна стала вам понятнее. Самое важное, что нужно из этого всего вынести: так называемый «масштабируемый блокчейн» ничего не скажет вам о его подлинной масштабирумости, если только его не сравнивают с Биткоином, POW Биткоина, классическим BFT или негоризонтальным блокчейном.

Критерии определения масштабируемости блокчейна

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

      Использует ли блокчейн POW Биткоина в качестве типа консенсуса? Если да, есть ли ограничение, что узлы всегда должны синхронизироваться с новейшими блоками, иначе их мощность майнинга будет потрачена впустую? Если да, это не масштабируемый POW.
      Использует ли блокчейн византийскую отказоустойчивость (BFT) в качестве типа консенсуса? Если да, есть ли какая-нибудь хитрая уловка, которая позволяет уменьшить сложность сообщения? Если нет, это не масштабируемая BFT.
      Нужно ли знать каждый кусочек сообщения каждому проверяющему узлу/майнеру? Узел в данном случае означает узлы, которые участвуют в консенсусе, то есть узлы, которые могут генерировать блоки — например, майнеры в контексте криптовалют. Если да, это не горизонтально масштабируемый блокчейн.

Так сколько транзакций в секунду может быть на блокчейне?

А теперь позвольте мне дать чуть более конкретное представление о масштабируемости с точки зрения TPS, проводимых транзакций в секунду. Как мы все знаем, если блокчейн не масштабируется горизонтально, каждый узел, участвующий в консенсусе, должен получить все сообщения. Следовательно, пропускная способность системы будет ограничена наименее способным узлом в сети. Следовательно, пропускная способность домашнего персонального компьютера, то есть 100-1000 TPS, будет вполне разумным ожиданием максимального уровня TPS, который может достичь полностью децентрализованный блокчейн. Другими словами, если не масштабируемый горизонтально блокчейн заявляет о пропускной способности в 10 тысяч TPS, это говорит о том, что система должна быть достаточно централизованной, поскольку узлы с меньшей пропускной способностью не смогут к ней присоединиться. С другой стороны, если блокчейн масштабируется горизонтально, его пропускная способность в теории не ограничена. Однако стоит остерегаться компромиссов между безопасностью, децентрализацией и функциональностью, поскольку невозможно одновременно угодить им всем.

Слой 1 или слой 2?

«Что будет лучшим решением для масштабирования блокчейна, слой 1 или слой 2?» — этот вопрос вызывает столько горячих споров, что мы не могли его не задать, обсуждая «масштабируемость». Однако мы не будем называть их конкретно, поскольку определение слою 1 и слою 2 (layer 1/layer 2), как таковое, не существует. Ограничимся кратким описанием.

В частности, layer 1 используется для представления всех усилий по масштабированию блокчейнов путем изменения существующих алгоритмов консенсуса или предложения новых алгоритмов консенсуса, которые включают все алгоритмы, описанные в этой статье, за исключением внеблокчейновых схем. Однако, как мы уже объяснили, их достижимая «масштабируемость» сильно разнится. С другой стороны, подходы layer 2 по большей части представлены внеблокчейновыми схемами. Будет неуместно сравнивать «слой 1» и «слой 2» с точки зрения масштабируемости, поскольку только одна категория «слоя 1», а именно шардинг, приближается к тому уровню «масштабируемости», что и «слой 2».

На сегодняшний день масштабируемость блокчейна остаётся открытой проблемой без идеального решения. Теоретически, все существующие схемы имеют свои плюсы и минусы и плохо масштабируются во всех ситуациях. Более того, безопасность некоторых схем либо не доказана, либо доказана при определённых теоретических условиях. Да что там говорить: ни одна масштабируемая схема, особенно обладающая строгими доказательствами безопасности, не была успешно реализована и протестирована в реальной жизни из-за трудностей реализации.

И поскольку масштабируемость как задача не решена даже близко, в будущем мы определённо увидим новые системы масштабируемых блокчейнов.

Что такое размер блока и как он влияет на масштабируемость?

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

Почему размер блока важен?

Размер блока важен для максимизации эффективности хранения и пропускной способности транзакций в файловых системах и контексте блокчейна.

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

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

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

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

Что такое масштабируемость в блокчейне и почему она важна?

В контексте блокчейна термин «масштабируемость» относится к способности системы обслуживать растущее число участников или транзакций при сохранении ее децентрализованных характеристик и общей производительности.

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

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

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

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

Как связаны масштабируемость и размер блока?

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

Например, во времена повышенного спроса перегрузка возникала из-за первоначального размера блока Биткоина в 1 МБ, что ограничивало количество транзакций, обрабатываемых за блок. Bitcoin Cash (BCH), форк Биткоина, увеличил размер своего блока до 8 МБ, стремясь улучшить масштабируемость за счет размещения большего количества транзакций в каждом блоке.

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

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

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

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

Как найти оптимальный размер блока для блокчейна?

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

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

Кроме того, очень важно, чтобы исследования и разработки продолжали изучать такие новинки, как решения для масштабирования уровня 2, например государственные каналы для Ethereum или Lightning Network для Bitcoin. Эти автономные методы решают проблемы масштабируемости без ущерба для децентрализации, позволяя выполнять большое количество транзакций без заполнения основного блокчейна ненужными данными.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *