Как работает шардинг в базах данных?

Как работает шардинг в базах данных?

  • 1

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

    Шардинг — метод разделения и хранения единого логического набора данных в виде множества баз данных. Другое определение шардинга — горизонтальное разделение данных.

  • 2

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

    Концепция шардинга применялась в управлении традиционными централизованными базами данных с конца 1990-х годов. Термин «шард» (фрагмент) получил распространение благодаря одной из первых многопользовательских ролевых онлайн-игр, Ultima Online , в которой разработчики распределили игроков по различным серверам (разным «мирам» в игре), чтобы справиться с трафиком.

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

  • 3

    Что такое шардинг в контексте блокчейна?

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

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

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

Объяснение на примере Ethereum:

Блокчейн Ethereum состоит из тысяч компьютеров или нод, каждая из которых «одалживает» сети определенный объем хешрейта. Именно этот хешрейт позволяет Ethereum Virtual Machine (EVM) функционировать — выполнять смарт-контракты и управлять децентрализованными приложениями (DApps).

В настоящее время Ethereum работает на основе последовательного выполнения, в котором каждая из нод должна рассчитывать каждую операцию и обрабатывать каждую транзакцию. Поэтому прохождение транзакцией верификационного процесса требует значительного времени: Ethereum осуществляет приблизительно 10 транзакций в секунду, тогда как у Visa, например, этот показатель в районе 24 000.

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

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

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

5

Какие проблемы решает шардинг?

  • Шардинг — потенциальное решение проблемы масштабирования.

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

  • Рост транзакционной активности требует от нод интенсифицировать процесс верификации транзакций. Существует угроза того, что эти блокчейны могут «закупориться», как это произошло с Ethereum в период бума CryptoKitties, когда на долю игры приходилось 11% транзакций сети.

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

6

Каковы недостатки шардинга?

Проблемы шардинга: коммуникация и безопасность.

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

Решение Ethereum: рандомизированная выборка для подтверждения аутентификации блоков.

7

Альтернативы шардингу:

  • Увеличение размера блока для увеличения числа транзакций в секунду, но это требует большей вычислительной мощности.
  • Второе решение не указано в тексте.

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

  • Единый блокчейн не будет перегружен
  • Риск взлома сети возрастет
  • Вычислительная мощность будет распределена по нескольким блокчейнам
  • Риск атаки 51% будет гораздо меньше

Zilliqa является первой платформой, которая внедрила шардинг и смогла достичь показателя в 2828 транзакций в секунду на стадии тестнета. Near является шардированным блокчейном на PoS, который позволяет нодам оставаться достаточно небольшими для функционирования на устройствах невысокой производительности, в том числе на мобильных телефонах.

Кто использует шардинг?

Ethereum предлагает экосистему блокчейна для внедрения DApps на основе смарт-контрактов. Ethereum Foundation планирует включить шардинг в обновленную версию протокола Ethereum 2.0 .

Среди прочих работающих с шардингом проектов: Cardano , QuarkChain и PChain .

9

Каково будущее шардинга ?

Технология шардинга фигурирует в white paper цифровой валюты Libra . В преддверии запуска компания Facebook приобрела компанию Chainspace , чья команда разработчиков специализируется на шардинге . Конкретные детали пока неизвестны, но можно предположить, что в блокчейн Libra внедрят разновидность шардинга .

Шардинг теоретически может стать решением так называемой трилеммы блокчейна.

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

Подписывайтесь на новости Cryptoit в Facebook !

CryptoIt