
Шардинг (Sharding) — способ масштабирования баз данных и приложений за счёт разделения нагрузки. На русский термин переводится как «сегментирование», а в криптосообществе прижилось выражение «технология осколков». Смысл в том, чтобы не заставлять каждый узел обрабатывать весь объём данных. Вместо этого сеть делится на части, которые работают параллельно.
Единый логический набор данных хранится в виде множества баз. Информация распределяется по серверам — шардам. Процесс называют шардированием, а иногда партиционированием, хотя это более узкий термин. Важно понимать: транзакция не разрезается на куски. Разделяются состояние, хранение и вычисления.
Технология шардинга — основные характеристики
Проекты рано или поздно упираются в предел одного сервера. Когда база перестаёт отвечать на запросы с нужной скоростью, её делят на части и разносят по узлам. Часто вместе с шардингом применяют репликацию: каждый шард получает копии. Это повышает отказоустойчивость, но увеличивает расходы на инфраструктуру.
Шардинг использовали в централизованных базах с конца 1990-х. Термин «шард» популяризировала многопользовательская игра Ultima Online, где игроков распределили по разным «мирам», чтобы справиться с трафиком.
Разделение бывает вертикальным и горизонтальным. Вертикальный шардинг делит таблицу по столбцам: одни поля уходят на один сервер, другие — на второй. Горизонтальный делит по строкам: часть записей хранится на одном узле, часть — на другом. В блокчейнах чаще используют горизонтальный подход.

В криптовалютах шардинг означает разбиение сети на сегменты. Каждый шард хранит свой набор счетов, контрактов и истории. Узел отвечает за проверку операций в своём сегменте, а не во всей сети. Это снижает нагрузку, но требует механизма связи между шардами.
Данные в шардах уникальны, а доступ к ним организуется через маршрутизацию. Пользователь или приложение обращается к нужному сегменту, а не перебирает всю цепь. Чем лучше продумана маршрутизация, тем выше пропускная способность. Ошибка в маршруте приводит к задержкам и рассинхронизации.
Разделение на сегменты увеличивает число транзакций в секунду. Это особенно важно для сетей, где каждая нода обязана хранить полное состояние. Однако рост пропускной способности не бесплатен: усложняется консенсус и проверка данных.
Шардинг полезен и крупным корпорациям с распределёнными базами. Многонациональная компания может хранить данные в разных юрисдикциях, не смешивая их. Это упрощает соблюдение локальных требований. Но добавляет задачи по синхронизации и защите каналов.
Применение шардинга на примере Ethereum
Долгое время Ethereum масштабировали за счёт разделения состояния. Идея была в том, чтобы узлы обрабатывали только часть сети. Транзакция при этом остаётся целой: она относится к конкретному аккаунту и шарду. Разделяются не операции, а данные и вычисления.

В классической модели каждый узел хранит глобальное состояние: балансы, код контрактов и вспомогательные данные. Все узлы проверяют все транзакции. Это даёт высокую безопасность, но ограничивает скорость. Фактически пропускная способность упирается в мощность одного узла.
Именно поэтому появились проекты сегментирования. Предполагалось, что узел будет проверять только свой шард, а не всю историю. Это ускорило бы обработку и снизило требования к оборудованию. Но одновременно усложнило доказательство корректности.
Ethereum пошёл по другому пути. В 2022 году сеть перешла на Proof-of-Stake, а в 2024-м активировала proto-danksharding (EIP-4844). Вместо исполнения транзакций в шардах появились блобы — дешёвое пространство для данных rollup-сетей. Полноценный danksharding остаётся в планах, но исполнение масштабируют rollup’ы, а не отдельные шарды.

Пример с адресами помогает понять идею, но не описывает текущую архитектуру. Раньше предлагали распределять адреса по префиксам: 0x00 — один шард, 0x01 — другой. В такой модели операции в шарде X влияли только на состояние X. Сейчас акцент сместился на данные и доказательства доступности.
В ранних схемах Ethereum адреса с префиксом 0x00 попадали в один осколок, с 0x01 — в другой. Каждый шард имел собственную историю, а эффект транзакции ограничивался его состоянием. На практике такая модель требовала сложной связи между сегментами.
Обработка ограничивалась бы данными одного шарда. Это ускоряет работу и снижает нагрузку на узел. Но пользователю, чьи активы распределены между сегментами, нужен атомарный переход. Без него переводы становятся медленнее и дороже.
Условие «шардинг только после PoS» уже выполнено, однако сам подход изменился. Execution sharding не внедрён. Вместо него развивают модульную архитектуру: rollup’ы выполняют транзакции, Ethereum обеспечивает безопасность и доступность данных. Это компромисс между децентрализацией и масштабом.
Координацию между сегментами обеспечивает консенсусный слой. В ранних проектах говорили о «контракте диспетчеризации», который связывал основную цепь и шарды. Сейчас эту роль выполняют beacon chain, комитеты валидаторов и механизмы доказательств. Детали зависят от конкретной реализации.
Сложности в реализации и недостатки шардинга
Главные проблемы — коммуникация и безопасность. Изолированные сегменты превращаются в отдельные сети. Приложениям из разных шардов нужен мост или общий протокол. Чем больше шардов, тем сложнее синхронизация и выше задержки.

К этому добавляются технические ограничения:
- Нужен надёжный механизм маршрутизации. Он определяет, какой узел обрабатывает операцию, и не должен становиться узким местом.
- Требуется протокол доверия между узлами. В блокчейне нельзя просто доверять контрагенту: нужен консенсус и подтверждение завершённости.
- Шардинг сложнее совместить с Proof-of-Work. Большинство современных реализаций опираются на PoS и случайные комитеты.
Сегментированная сеть уязвима к атаке на отдельный шард. Если для контроля сегмента нужно меньше ресурсов, злоумышленник может захватить его дешевле, чем всю цепь. Это называют атакой 1%. Защита строится на случайном распределении валидаторов и периодической ротации.
После захвата сегмента атакующий может отправить недействительные транзакции в основную сеть. Данные шарда рискуют быть потеряны или подменены. Поэтому проекты используют проверки доступности и штрафы. Полностью исключить риск нельзя, но можно сделать атаку дорогой.
Будущее шардинг технологии
Шардинг остаётся одним из способов масштабирования, хотя интерес сместился к модульным решениям. Проекты используют сегментирование там, где нужна высокая пропускная способность. Технология способна снять часть барьеров, но требует зрелой инфраструктуры.
Для широкого внедрения нужны два условия. Разработчики должны стандартизировать обмен данными между шардами. Кроме того, требуется надёжный протокол связи, который выдержит нагрузку и атаки. Без этого сегменты останутся плохо совместимыми.
Если условия выполнены, шардинг помогает повысить пропускную способность и снизить стоимость операций. Но он не заменяет оптимизацию клиентов и сжатие данных. Масштабирование — это совокупность решений, а не один механизм.
Среди известных проектов с шардингом — Harmony, Zilliqa и IOST. К ним добавляются сети с модульной архитектурой и комитетами валидаторов. Выбор зависит от модели безопасности и требований к совместимости.