Что такое шардинг?

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

Что такое шардинг?

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

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

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

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

Что такое шардинг?


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

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

Как работает шардинг?


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

Следите за нашей группой TELEGRAM

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

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

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

Преимущества шардинга


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

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

Например, Ethereum может обрабатывать всего 15-30 транзакций в секунду (TPS). Представьте себе, насколько полезным было бы это, если бы он мог обрабатывать 100 транзакций в секунду. Для сравнения: Visa обрабатывает примерно 1000-4000 транзакций в секунду. Таким образом, блокчейнам еще предстоит пройти долгий путь.

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

Риски шардинга


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

Риски централизации

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

Несогласованность данных

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

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

Шардинг на Ethereum


Итак, теперь вы знаете все о шардинге, но знаете ли вы, что Ethereum планирует реализовать это решение для масштабирования? Ну, это так! Цель состоит в том, чтобы улучшить способность сети обрабатывать больше транзакций одновременно и на более высокой скорости.

Но зачем нужен шардинг?



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

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

Планы шардинга Эфириума и его Surge


Ethereum планирует внедрить этот механизм во время «Surge», обновления сети, описанного в блоге Виталика Бутерина. Как только он пройдет этот процесс, цепочка маяков возьмет на себя роль координационного уровня, а параллельно с ней будут работать 64 других цепочки сегментов.



Пример Виталика Бутерина о том, как будет работать шардинг блокчейна Ethereum


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

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

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

Примечательно, что выпуск Surge планировался во второй половине 2023 года. Но поскольку слияние будет запущено намного позже, чем ожидалось, в этот график могут быть внесены некоторые изменения.

Шардинг, второй уровень, rollups: в чем разница?


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

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

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