Шардинг блокчейна. Рискованный способ масштабирования сети?
В основе концепции блокчейна есть принцип, который поддерживает его децентрализацию и безопасность, но усложняет производительность по мере расширения сети.
Заключается он в том, что каждая нода (компьютерный узел), отвечающая за функционирование распределенного реестра, должна обрабатывать все новые транзакции и хранить копию всех блоков цепи.
Такая особенность хоть и является исконной, но не соответствует современным реалиям, мешая масштабированию сети, поэтому в последнее время растет актуальность преодоления этого барьера. Например, с помощью шардинга, который является ественным явлением для обычных баз данных.
Шардинг блокчейна — это разделение сети на множество независимых сегментов (шардов) со своими полномочиями, каждый из которых отвечает за вычисление и хранение определенной части данных. Благодаря этому ресурсы блокчейна используются более эффективно. Нагрузка между узлами распределяется равномерно, нодам не нужно выполнять одну и ту же объемную работу.
Чтобы сохранялась безопасность и децентрализация, разные подразделения реестра синхронизированы друг с другом: могут обмениваться данными и просматривать записи соседних шардов. Вот некоторые блокчейны, которые успешно применяют шардинг, – Near Protocol, Polkadot и Zilliqa.
Преимущества шардинга блокчейна
Сегментация имеет множество положительных вытекающих последствий. Во-первых, становится легче масштабировать блокчейн, его способность к расширению практически не ограничивается, что приводит к большей производительности. При шардинге каждый новый компьютерный узел, который подключается к сети, не становится дополнительным грузом для реестра, а наоборот, упрощает его работу. В целом блокчейн может вбирать в себя гораздо больше информации, если в нем практикуется шардинг.
Это приводит к основному преимуществу — для запуска ноды не требуется мощное оборудование. Этот процесс становится гораздо проще, так как будет достаточно персонального компьютера.
Из данной характеристики вытекает следующее: к обеспечению блокчейна может присоединиться больше пользователей, на нем можно запустить больше децентрализованных приложений.
На конец, распределение обязанностей в сети снижает задержку обработки транзакций, увеличивает количество сделок в секунду и сокращает размер комиссий. Блокчейн становится легче, подвижнее и рентабельнее.
Опасности шардинга
Перечисленные выгоды сегментирования не исключают наличие опасностей, скрывающихся за его применением.
Как отмечалось в начале, именно специфическая особенность блокчейна хранить всю историю транзакций и затрачивать вычислительную мощность на обработку одной и той же информации на разных узлах обеспечивает его децентрализацию и безопасность.
Когда блокчейн разделен на разные сегменты каждый со своими данными, а запуск узла не требует больших усилий, хакерам проще его атаковать. Гораздо проще взять под контроль определенный шард, чем 51% сети. И если отдельный сегмент начнет распространять вредоносные транзакции, то под угрозой может оказаться весь распределенный реестр.
Впрочем, важно понимать, что риск взлома сохраняется при любых условиях, даже если блокчейн качественно защищен.
Есть ли шардинг в блокчейне Ethereum?
На самом деле разработчики Ethereum задумывались о шардинге еще с тех пор, как их блокчейн только появился. Сейчас, когда он является вторым по величине распределенным реестром, это является обязательным шагом для избежания перегрузки сети. Поэтому шардинг — часть плана обновлений Ethereum.
Кроме того, частично он уже функционирует в сети. Не все об этом знают, но сегментирование применяется в одной из его второстепенных цепочек под названием Beacon Chain. Именно с ее помощью блокчейн удачно перешел на алгоритм консенсуса Proof-of-Stake. Cеть отвечает за обработку перекрестных ссылок, хранилище, поддерживает систему валидаторов. Можно сказать, что она является опорой основного блокчейна.
Согласно дорожной карте Ethereum, полноценное распределение сети на сегменты должно произойти до конца 2023 года. У разработчиков блокчейна даже есть свое решение проблемы излишней уязвимости. Они предлагают случайным образом распределять валидаторов в независимые части блокчейна и постоянно менять их положение и обязанности. Из-за этого злоумышленникам будет тяжело сориентироваться в системе и навредить инфраструктуре.
В конечном итоге шардинг — это не самое плохое решение в случае Ethereum. Согласно обозревателю Etherscan, полные ноды Ethereum весят около 5 терабайт, это в 10 раз превышает вместительность домашнего компьютера. По мере увеличения числа пользователей компьютерные узлы будут становится еще более тяжеловеснее, что будет усложнять их запуск.
Без разделения блокчейна на сегменты с отдельным набором данных сложно достичь масштабирования, не прибегая к использованию сайдчейнов и решений второго уровня, работающих поверх основной сети.