Разбиение блокчейна на части: что такое шардинг
Администраторы баз данных и любители MMORPG знакомы с термином шардинг. В контексте криптовалют это понятие было предложено Виталием Бутериным, основателем Ethereum. Так что же такое шардинг в блокчейне? «Распределение нагрузки в блокчейн-проектах через шардинг»
Шардинг (sharding) — метод распределения нагрузки на сеть, путем её равномерного распределения между отдельными серверами или сегментами сети. Потребность в данной технологии возникла для решения одного из наиболее существенных ограничений сети Ethereum — скорости обработки транзакций. Данное ограничение стоит на пути масштабируемости Эфириума, вычислительная сеть которого способна обрабатывать до 20 транзакций в секунду. Для сравнения, платежная система Visa способна обрабатывать около 24 тыс. транзакций в секунду.
Разбиение данных на части: шардинг в действии
Существующая технология Ethereum использует Proof-of-Work для проверки новой информации, что замедляет процесс обработки транзакций из-за масштаба сети. Шардинг решает эту проблему, распределяя вычислительную и накопительную нагрузку между узлами сети так, чтобы каждый узел обрабатывал и хранил информацию только о своем шарде.
«Разбиение базы данных на фрагменты: что такое шард?»
Один блокчейн программным образом делится на несколько обособленных цепочек, фрагмент — это такая цепочка блоков. Отдельные фрагменты объединяются в рамках общего блокчейна при помощи сети валидаторов. Этот процесс может осуществляться на основании алгоритма Proof-of-Work или Proof-of-Stake. Начиная с анонса в 2017 году технологии фрагментации ходят слухи о переходе к Ethereum 2.0. Первой фазой перехода должно стать внедрение протокола Casper, который сделает возможным использование гибридного протокола PoW и PoS и тестирование базовой модели фрагментации в рамках 64 отдельных фрагментов внутри блокчейна Beacon Chain (основной блокчейн цепи Ethereum 2.0).
Ограничения и проблемы шардинга
Две главные проблемы технологии:
- Безопасность . Сегментация блокчейна делает каждый шард уязвимым для хакеров, которые могут захватить его с помощью меньших вычислительных ресурсов. В таком случае ложные данные поступают в основной блокчейн, а данные в захваченном шарде могут быть уничтожены.
- Коммуникация . Для взаимодействия пользователей и приложений, находящихся в разных шардах, необходимы дополнительные программные решения.
Третья проблема — необходимость проводить хардфорк для внедрения шардинга. Если первые две проблемы могут быть решены техническими средствами, то хардфорк может привести к расколу внутри сообщества.
Увеличение масштабируемости блокчейна с помощью шардинга
Возможно, шардинг поможет преодолеть трилемму блокчейна, описанную Виталием Бутериным. Эта проблема заключается в том, что блокчейн должен быть безопасным, децентрализованным и масштабируемым одновременно. Но блокчейн может обеспечить только две из трех этих функций одновременно. Если шардинг будет успешно внедрен и устранены его недостатки, то можно будет обеспечить масштабируемость без ущерба для безопасности или децентрализации.