Шардинг
1 минута
НовичокШардинг как способ масштабирования блокчейна
Шардинг или шардирование - это способ масштабирования баз данных за счет разделения их на независимые сегменты (шарды) с целью снижения нагрузки на сервера.
В контексте блокчейна о шардинге заговорили с подачи Виталика Бутерина, основателя блокчейн-платформы Ethereum. Он предложил шардинговую архитектуру в качестве одного из вариантов решения проблемы масштабирования распределенных сетей.
Зачем масштабировать блокчейн?
За высокий уровень децентрализации и безопасности в крупных открытых блокчейнах отвечают полные ноды и мастерноды. Каждая из таких нод внутри сети хранит информацию о блокчейне и верифицирует текущие транзакции. Это огромные объемы данных и нагрузки, которые сказываются на пропускной способности и скорости проведения операций. И здесь на помощь приходит шардинг.
Шардинг: в чем идея?
Идея применения шардинга в блокчейне состоит в разделении сети на независимые шарды — сегменты. Такое разделение помогает снизить нагрузку на ноды и повысить скорость валидации транзакций за счет разделения общей задачи на маленькие подзадачи для разных нод. В результате ноды обрабатывают не все транзакции в сети, а только те, которые происходят в их шарде.
Проблемы шардинга: коммуникации и безопасность
Если разделить блокчейн на независимые сегменты, то каждый сегмент-шард фактически станет отдельной сетью. Поэтому при внедрении шардинга важно наладить эффективный механизм коммуникации между шардами.
Еще одна проблема, которая становится актуальной при дроблении сети на мелкие части — уязвимость шардов к угрозам извне. Получив контроль над одним шардом, злоумышленники смогут осуществить атаку на весь блокчейн. Поэтому вопрос безопасности при использования шардинга тоже заслуживает особого внимания.